Merge pull request #17812 from poettering/systemctl-version-feature-update

build.h: add a bunch of missing features strings
This commit is contained in:
Lennart Poettering 2020-12-03 14:34:08 +01:00 committed by GitHub
commit 03d8ebb935
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 228 additions and 166 deletions

216
src/basic/build.c Normal file
View File

@ -0,0 +1,216 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "build.h"
const char* const systemd_features =
/* PAM and MAC frameworks */
#if HAVE_PAM
"+PAM"
#else
"-PAM"
#endif
#if HAVE_AUDIT
" +AUDIT"
#else
" -AUDIT"
#endif
#if HAVE_SELINUX
" +SELINUX"
#else
" -SELINUX"
#endif
#if HAVE_APPARMOR
" +APPARMOR"
#else
" -APPARMOR"
#endif
#if ENABLE_IMA
" +IMA"
#else
" -IMA"
#endif
#if ENABLE_SMACK
" +SMACK"
#else
" -SMACK"
#endif
#if HAVE_SECCOMP
" +SECCOMP"
#else
" -SECCOMP"
#endif
/* crypto libraries */
#if HAVE_GCRYPT
" +GCRYPT"
#else
" -GCRYPT"
#endif
#if HAVE_GNUTLS
" +GNUTLS"
#else
" -GNUTLS"
#endif
#if HAVE_OPENSSL
" +OPENSSL"
#else
" -OPENSSL"
#endif
/* all other libraries, sorted alphabetically */
#if HAVE_ACL
" +ACL"
#else
" -ACL"
#endif
#if HAVE_BLKID
" +BLKID"
#else
" -BLKID"
#endif
#if HAVE_LIBCURL
" +CURL"
#else
" -CURL"
#endif
#if HAVE_ELFUTILS
" +ELFUTILS"
#else
" -ELFUTILS"
#endif
#if HAVE_LIBFIDO2
" +FIDO2"
#else
" -FIDO2"
#endif
#if HAVE_LIBIDN2
" +IDN2"
#else
" -IDN2"
#endif
#if HAVE_LIBIDN
" +IDN"
#else
" -IDN"
#endif
#if HAVE_LIBIPTC
" +IPTC"
#else
" -IPTC"
#endif
#if HAVE_KMOD
" +KMOD"
#else
" -KMOD"
#endif
#if HAVE_LIBCRYPTSETUP
" +LIBCRYPTSETUP"
#else
" -LIBCRYPTSETUP"
#endif
#if HAVE_LIBFDISK
" +LIBFDISK"
#else
" -LIBFDISK"
#endif
#if HAVE_PCRE2
" +PCRE2"
#else
" -PCRE2"
#endif
#if HAVE_PWQUALITY
" +PWQUALITY"
#else
" -PWQUALITY"
#endif
#if HAVE_P11KIT
" +P11KIT"
#else
" -P11KIT"
#endif
#if HAVE_QRENCODE
" +QRENCODE"
#else
" -QRENCODE"
#endif
/* compressors */
#if HAVE_BZIP2
" +BZIP2"
#else
" -BZIP2"
#endif
#if HAVE_LZ4
" +LZ4"
#else
" -LZ4"
#endif
#if HAVE_XZ
" +XZ"
#else
" -XZ"
#endif
#if HAVE_ZLIB
" +ZLIB"
#else
" -ZLIB"
#endif
#if HAVE_ZSTD
" +ZSTD"
#else
" -ZSTD"
#endif
/* other stuff that doesn't fit above */
#if HAVE_XKBCOMMON
" +XKBCOMMON"
#else
" -XKBCOMMON"
#endif
#if ENABLE_UTMP
" +UTMP"
#else
" -UTMP"
#endif
#if HAVE_SYSV_COMPAT
" +SYSVINIT"
#else
" -SYSVINIT"
#endif
" default-hierarchy=" DEFAULT_HIERARCHY_NAME
;

View File

@ -3,164 +3,7 @@
#include "version.h"
#if HAVE_PAM
#define _PAM_FEATURE_ "+PAM"
#else
#define _PAM_FEATURE_ "-PAM"
#endif
#if HAVE_AUDIT
#define _AUDIT_FEATURE_ "+AUDIT"
#else
#define _AUDIT_FEATURE_ "-AUDIT"
#endif
#if HAVE_SELINUX
#define _SELINUX_FEATURE_ "+SELINUX"
#else
#define _SELINUX_FEATURE_ "-SELINUX"
#endif
#if HAVE_APPARMOR
#define _APPARMOR_FEATURE_ "+APPARMOR"
#else
#define _APPARMOR_FEATURE_ "-APPARMOR"
#endif
#if ENABLE_IMA
#define _IMA_FEATURE_ "+IMA"
#else
#define _IMA_FEATURE_ "-IMA"
#endif
#if ENABLE_SMACK
#define _SMACK_FEATURE_ "+SMACK"
#else
#define _SMACK_FEATURE_ "-SMACK"
#endif
#if HAVE_SYSV_COMPAT
#define _SYSVINIT_FEATURE_ "+SYSVINIT"
#else
#define _SYSVINIT_FEATURE_ "-SYSVINIT"
#endif
#if ENABLE_UTMP
#define _UTMP_FEATURE_ "+UTMP"
#else
#define _UTMP_FEATURE_ "-UTMP"
#endif
#if HAVE_LIBCRYPTSETUP
#define _LIBCRYPTSETUP_FEATURE_ "+LIBCRYPTSETUP"
#else
#define _LIBCRYPTSETUP_FEATURE_ "-LIBCRYPTSETUP"
#endif
#if HAVE_GCRYPT
#define _GCRYPT_FEATURE_ "+GCRYPT"
#else
#define _GCRYPT_FEATURE_ "-GCRYPT"
#endif
#if HAVE_GNUTLS
#define _GNUTLS_FEATURE_ "+GNUTLS"
#else
#define _GNUTLS_FEATURE_ "-GNUTLS"
#endif
#if HAVE_ACL
#define _ACL_FEATURE_ "+ACL"
#else
#define _ACL_FEATURE_ "-ACL"
#endif
#if HAVE_XZ
#define _XZ_FEATURE_ "+XZ"
#else
#define _XZ_FEATURE_ "-XZ"
#endif
#if HAVE_LZ4
#define _LZ4_FEATURE_ "+LZ4"
#else
#define _LZ4_FEATURE_ "-LZ4"
#endif
#if HAVE_ZSTD
#define _ZSTD_FEATURE_ "+ZSTD"
#else
#define _ZSTD_FEATURE_ "-ZSTD"
#endif
#if HAVE_SECCOMP
#define _SECCOMP_FEATURE_ "+SECCOMP"
#else
#define _SECCOMP_FEATURE_ "-SECCOMP"
#endif
#if HAVE_BLKID
#define _BLKID_FEATURE_ "+BLKID"
#else
#define _BLKID_FEATURE_ "-BLKID"
#endif
#if HAVE_ELFUTILS
#define _ELFUTILS_FEATURE_ "+ELFUTILS"
#else
#define _ELFUTILS_FEATURE_ "-ELFUTILS"
#endif
#if HAVE_KMOD
#define _KMOD_FEATURE_ "+KMOD"
#else
#define _KMOD_FEATURE_ "-KMOD"
#endif
#if HAVE_LIBIDN2
#define _IDN2_FEATURE_ "+IDN2"
#else
#define _IDN2_FEATURE_ "-IDN2"
#endif
#if HAVE_LIBIDN
#define _IDN_FEATURE_ "+IDN"
#else
#define _IDN_FEATURE_ "-IDN"
#endif
#if HAVE_PCRE2
#define _PCRE2_FEATURE_ "+PCRE2"
#else
#define _PCRE2_FEATURE_ "-PCRE2"
#endif
#define _CGROUP_HIERARCHY_ "default-hierarchy=" DEFAULT_HIERARCHY_NAME
#define SYSTEMD_FEATURES \
_PAM_FEATURE_ " " \
_AUDIT_FEATURE_ " " \
_SELINUX_FEATURE_ " " \
_IMA_FEATURE_ " " \
_APPARMOR_FEATURE_ " " \
_SMACK_FEATURE_ " " \
_SYSVINIT_FEATURE_ " " \
_UTMP_FEATURE_ " " \
_LIBCRYPTSETUP_FEATURE_ " " \
_GCRYPT_FEATURE_ " " \
_GNUTLS_FEATURE_ " " \
_ACL_FEATURE_ " " \
_XZ_FEATURE_ " " \
_LZ4_FEATURE_ " " \
_ZSTD_FEATURE_ " " \
_SECCOMP_FEATURE_ " " \
_BLKID_FEATURE_ " " \
_ELFUTILS_FEATURE_ " " \
_KMOD_FEATURE_ " " \
_IDN2_FEATURE_ " " \
_IDN_FEATURE_ " " \
_PCRE2_FEATURE_ " " \
_CGROUP_HIERARCHY_
extern const char* const systemd_features;
enum {
BUILD_MODE_DEVELOPER,

View File

@ -19,6 +19,7 @@ basic_sources = files('''
blockdev-util.h
btrfs-util.c
btrfs-util.h
build.c
build.h
bus-label.c
bus-label.h

View File

@ -193,8 +193,8 @@ int container_get_leader(const char *machine, pid_t *pid) {
}
int version(void) {
puts("systemd " STRINGIFY(PROJECT_VERSION) " (" GIT_VERSION ")\n"
SYSTEMD_FEATURES);
printf("systemd " STRINGIFY(PROJECT_VERSION) " (" GIT_VERSION ")\n%s\n",
systemd_features);
return 0;
}

View File

@ -49,7 +49,7 @@ static UnitFileFlags unit_file_bools_to_flags(bool runtime, bool force) {
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_oom_policy, oom_policy, OOMPolicy);
static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_version, "s", GIT_VERSION);
static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_features, "s", SYSTEMD_FEATURES);
static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_features, "s", systemd_features);
static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_architecture, "s", architecture_to_string(uname_architecture()));
static BUS_DEFINE_PROPERTY_GET2(property_get_system_state, "s", Manager, manager_state, manager_state_to_string);
static BUS_DEFINE_PROPERTY_GET_GLOBAL(property_get_timer_slack_nsec, "t", (uint64_t) prctl(PR_GET_TIMERSLACK));

View File

@ -1987,8 +1987,9 @@ static void log_execution_mode(bool *ret_first_boot) {
if (arg_system) {
int v;
log_info("systemd " GIT_VERSION " running in %ssystem mode. (" SYSTEMD_FEATURES ")",
arg_action == ACTION_TEST ? "test " : "" );
log_info("systemd " GIT_VERSION " running in %ssystem mode. (%s)",
arg_action == ACTION_TEST ? "test " : "",
systemd_features);
v = detect_virtualization();
if (v > 0)
@ -2026,8 +2027,9 @@ static void log_execution_mode(bool *ret_first_boot) {
_cleanup_free_ char *t;
t = uid_to_name(getuid());
log_debug("systemd " GIT_VERSION " running in %suser mode for user " UID_FMT "/%s. (" SYSTEMD_FEATURES ")",
arg_action == ACTION_TEST ? " test" : "", getuid(), strna(t));
log_debug("systemd " GIT_VERSION " running in %suser mode for user " UID_FMT "/%s. (%s)",
arg_action == ACTION_TEST ? " test" : "",
getuid(), strna(t), systemd_features);
}
*ret_first_boot = false;

View File

@ -18,7 +18,7 @@ static void test_is_wanted_print(bool header) {
assert_se(proc_cmdline(&cmdline) >= 0);
log_info("cmdline: %s", cmdline);
if (header) {
log_info(_CGROUP_HIERARCHY_);
log_info("default-hierarchy=" DEFAULT_HIERARCHY_NAME);
(void) system("findmnt -n /sys/fs/cgroup");
}