From: Sven Eden Date: Tue, 13 Mar 2018 07:17:29 +0000 (+0100) Subject: Prep v236: Apply missing upstream updates to the build system X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=aaae10b1838c7cb84608fe905e6360b9b8544e1b;p=elogind.git Prep v236: Apply missing upstream updates to the build system --- diff --git a/man/meson.build b/man/meson.build index c64a50112..b40a97dba 100644 --- a/man/meson.build +++ b/man/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + # This is lame, I know, but meson has no other include mechanism subdir('rules') diff --git a/meson.build b/meson.build index 73001279f..cd9405ad6 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,22 @@ project('elogind', 'c', - version : '235.3', +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + + version : '236', license : 'LGPLv2+', default_options: [ 'c_std=gnu99', @@ -7,10 +24,15 @@ project('elogind', 'c', 'sysconfdir=/etc', 'localstatedir=/var', ], - meson_version : '>= 0.40', + meson_version : '>= 0.41', ) -libelogind_version = '0.19.1' +#if 0 /// UNNEEDED by elogind - libudev is external +# libsystemd_version = '0.20.0' +# libudev_version = '1.6.8' +#else +libelogind_version = '0.20.0' +#endif // 0 # We need the same data in three different formats, ugh! # Also, for hysterical reasons, we use different variable @@ -21,15 +43,19 @@ conf.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_ve conf.set_quoted('PACKAGE_VERSION', meson.project_version()) substs = configuration_data() +#if 0 /// Set elogind Package PACKAGE_URL +# substs.set('PACKAGE_URL', 'https://www.freedesktop.org/wiki/Software/systemd') +#else substs.set('PACKAGE_URL', 'https://github.com/elogind/elogind') +#endif // 0 substs.set('PACKAGE_VERSION', meson.project_version()) m4_defines = [] ##################################################################### #if 0 /// elogind does not need this -# -# # Try to install the git pre-commit hook +# +# Try to install the git pre-commit hook # git_hook = run_command(join_paths(meson.source_root(), 'tools/add-git-hook.sh')) # if git_hook.returncode() == 0 # message(git_hook.stdout().strip()) @@ -44,12 +70,15 @@ m4_defines = [] ##################################################################### +split_usr = get_option('split-usr') +conf.set10('HAVE_SPLIT_USR', split_usr) + rootprefixdir = get_option('rootprefix') -conf.set10('HAVE_SPLIT_USR', get_option('split-usr')) -if get_option('split-usr') - rootprefixdir = rootprefixdir != '' ? rootprefixdir : '/' -else - rootprefixdir = rootprefixdir != '' ? rootprefixdir : '/usr' +# Unusual rootprefixdir values are used by some distros +# (see https://github.com/systemd/systemd/pull/7461). +rootprefix_default = get_option('split-usr') ? '/' : '/usr' +if rootprefixdir == '' + rootprefixdir = rootprefix_default endif #if 0 /// UNNEEDED by elogind @@ -98,8 +127,11 @@ varlogdir = join_paths(localstatedir, 'log') #if 0 /// UNNEEDED by elogind # xinitrcdir = join_paths(sysconfdir, 'X11/xinit/xinitrc.d') # rpmmacrosdir = get_option('rpmmacrosdir') -# modprobedir = join_paths(prefixdir, 'lib/modprobe.d') +# if rpmmacrosdir != 'no' +# rpmmacrosdir = join_paths(prefixdir, rpmmacrosdir) +# endif #endif // 0 +modprobedir = join_paths(rootprefixdir, 'lib/modprobe.d') # Our own paths #if 0 /// elogind has a bit different layout and does not need all of theses @@ -196,6 +228,8 @@ conf.set_quoted('SYSTEM_CONFIG_UNIT_PATH', join_paths(pkgsysc # conf.set_quoted('SYSTEMD_CGROUP_AGENT_PATH', join_paths(rootlibexecdir, 'systemd-cgroups-agent')) # conf.set_quoted('SYSTEMD_BINARY_PATH', join_paths(rootlibexecdir, 'systemd')) # conf.set_quoted('SYSTEMD_FSCK_PATH', join_paths(rootlibexecdir, 'systemd-fsck')) +# conf.set_quoted('SYSTEMD_MAKEFS_PATH', join_paths(rootlibexecdir, 'elogind-makefs')) +# conf.set_quoted('SYSTEMD_GROWFS_PATH', join_paths(rootlibexecdir, 'elogind-growfs')) # conf.set_quoted('SYSTEMD_SHUTDOWN_BINARY_PATH', join_paths(rootlibexecdir, 'systemd-shutdown')) # conf.set_quoted('SYSTEMD_SLEEP_BINARY_PATH', join_paths(rootlibexecdir, 'systemd-sleep')) # conf.set_quoted('SYSTEMCTL_BINARY_PATH', join_paths(rootbindir, 'systemctl')) @@ -314,6 +348,7 @@ foreach arg : ['-Wextra', '-Wstrict-prototypes', '-Wredundant-decls', '-Wmissing-noreturn', + '-Wimplicit-fallthrough=5', '-Wshadow', '-Wendif-labels', '-Wstrict-aliasing=2', @@ -469,6 +504,7 @@ foreach decl : [['IFLA_INET6_ADDR_GEN_MODE', 'linux/if_link.h'], ['IFA_FLAGS', 'linux/if_addr.h'], ['FRA_UID_RANGE', 'linux/fib_rules.h'], ['LO_FLAGS_PARTSCAN', 'linux/loop.h'], + ['VXCAN_INFO_PEER', 'linux/can/vxcan.h'], ] prefix = decl.length() > 2 ? decl[2] : '' have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix) @@ -480,7 +516,8 @@ foreach ident : ['secure_getenv', '__secure_getenv'] endforeach foreach ident : [ - ['memfd_create', '''#include '''], + ['memfd_create', '''#define _GNU_SOURCE +// #include '''], ['gettid', '''#include '''], ['pivot_root', '''#include '''], # no known header declares pivot_root ['name_to_handle_at', '''#define _GNU_SOURCE @@ -516,7 +553,6 @@ endif ##################################################################### sed = find_program('sed') -grep = find_program('grep') awk = find_program('awk') m4 = find_program('m4') stat = find_program('stat') @@ -681,10 +717,7 @@ substs.set('systemuidmax', system_uid_max) message('maximum system UID is @0@'.format(system_uid_max)) #if 0 /// UNNEEDED by elogind -# conf.set_quoted('NOBODY_USER_NAME', get_option('nobody-user')) -# conf.set_quoted('NOBODY_GROUP_NAME', get_option('nobody-group')) #endif // 0 - system_gid_max = get_option('system-gid-max') if system_gid_max == '' system_gid_max = run_command( @@ -697,21 +730,95 @@ conf.set('SYSTEM_GID_MAX', system_gid_max) substs.set('systemgidmax', system_gid_max) message('maximum system GID is @0@'.format(system_gid_max)) +dynamic_uid_min = get_option('dynamic-uid-min').to_int() +dynamic_uid_max = get_option('dynamic-uid-max').to_int() +conf.set('DYNAMIC_UID_MIN', dynamic_uid_min) +conf.set('DYNAMIC_UID_MAX', dynamic_uid_max) +substs.set('dynamicuidmin', dynamic_uid_min) +substs.set('dynamicuidmax', dynamic_uid_max) + +container_uid_base_min = get_option('container-uid-base-min').to_int() +container_uid_base_max = get_option('container-uid-base-max').to_int() +conf.set('CONTAINER_UID_BASE_MIN', container_uid_base_min) +conf.set('CONTAINER_UID_BASE_MAX', container_uid_base_max) +substs.set('containeruidbasemin', container_uid_base_min) +substs.set('containeruidbasemax', container_uid_base_max) + +nobody_user = get_option('nobody-user') +nobody_group = get_option('nobody-group') + +getent_result = run_command('getent', 'passwd', '65534') +if getent_result.returncode() == 0 + name = getent_result.stdout().split(':')[0] + if name != nobody_user + message('WARNING:\n' + + ' The local user with the UID 65534 does not match the configured user name "@0@" of the nobody user (its name is @1@).\n'.format(nobody_user, name) + + ' Your build will result in an user table setup that is incompatible with the local system.') + endif +endif +id_result = run_command('id', '-u', nobody_user) +if id_result.returncode() == 0 + id = id_result.stdout().to_int() + if id != 65534 + message('WARNING:\n' + + ' The local user with the configured user name "@0@" of the nobody user does not have UID 65534 (it has @1@).\n'.format(nobody_user, id) + + ' Your build will result in an user table setup that is incompatible with the local system.') + endif +endif + +getent_result = run_command('getent', 'group', '65534') +if getent_result.returncode() == 0 + name = getent_result.stdout().split(':')[0] + if name != nobody_group + message('WARNING:\n' + + ' The local group with the GID 65534 does not match the configured group name "@0@" of the nobody group (its name is @1@).\n'.format(nobody_group, name) + + ' Your build will result in an group table setup that is incompatible with the local system.') + endif +endif +id_result = run_command('id', '-g', nobody_group) +if id_result.returncode() == 0 + id = id_result.stdout().to_int() + if id != 65534 + message('WARNING:\n' + + ' The local group with the configured group name "@0@" of the nobody group does not have UID 65534 (it has @1@).\n'.format(nobody_group, id) + + ' Your build will result in an group table setup that is incompatible with the local system.') + endif +endif +if nobody_user != nobody_group and not (nobody_user == 'nobody' and nobody_group == 'nogroup') + message('WARNING:\n' + + ' The configured user name "@0@" and group name "@0@" of the nobody user/group are not equivalent.\n'.format(nobody_user, nobody_group) + + ' Please re-check that both "nobody-user" and "nobody-group" options are correctly set.') +endif + +conf.set_quoted('NOBODY_USER_NAME', nobody_user) +conf.set_quoted('NOBODY_GROUP_NAME', nobody_group) +substs.set('NOBODY_USER_NAME', nobody_user) +substs.set('NOBODY_GROUP_NAME', nobody_group) + tty_gid = get_option('tty-gid') conf.set('TTY_GID', tty_gid) substs.set('TTY_GID', tty_gid) #if 0 /// UNNEEDED by elogind +# Ensure provided GID argument is numeric, otherwise fallback to default assignment +# if get_option('users-gid') != '' +# users_gid = get_option('users-gid').to_int() +# else +# users_gid = '-' +# endif +# substs.set('USERS_GID', users_gid) +# # if get_option('adm-group') # m4_defines += ['-DENABLE_ADM_GROUP'] # endif - +# # if get_option('wheel-group') # m4_defines += ['-DENABLE_WHEEL_GROUP'] # endif - +# # substs.set('DEV_KVM_MODE', get_option('dev-kvm-mode')) #endif // 0 +substs.set('GROUP_RENDER_MODE', get_option('group-render-mode')) kill_user_processes = get_option('default-kill-user-processes') conf.set10('KILL_USER_PROCESSES', kill_user_processes) @@ -721,7 +828,7 @@ substs.set('KILL_USER_PROCESSES', kill_user_processes ? 'yes' : 'no') # dns_servers = get_option('dns-servers') # conf.set_quoted('DNS_SERVERS', dns_servers) # substs.set('DNS_SERVERS', dns_servers) - +# # ntp_servers = get_option('ntp-servers') # conf.set_quoted('NTP_SERVERS', ntp_servers) # substs.set('NTP_SERVERS', ntp_servers) @@ -772,7 +879,7 @@ endif #if 0 /// UNNEEDED by elogind # libmount = dependency('mount', # version : '>= 2.30') - +# # want_seccomp = get_option('seccomp') # if want_seccomp != 'false' # libseccomp = dependency('libseccomp', @@ -870,7 +977,7 @@ conf.set10('HAVE_AUDIT', have) # libblkid = [] # endif # conf.set10('HAVE_BLKID', have) - +# # want_kmod = get_option('kmod') # if want_kmod != 'false' # libkmod = dependency('libkmod', @@ -913,7 +1020,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # endif # conf.set10('HAVE_MICROHTTPD', have) # m4_defines += have ? ['-DHAVE_MICROHTTPD'] : [] - +# # want_libcryptsetup = get_option('libcryptsetup') # if want_libcryptsetup != 'false' # libcryptsetup = dependency('libcryptsetup', @@ -925,7 +1032,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libcryptsetup = [] # endif # conf.set10('HAVE_LIBCRYPTSETUP', have) - +# # want_libcurl = get_option('libcurl') # if want_libcurl != 'false' # libcurl = dependency('libcurl', @@ -938,13 +1045,13 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # endif # conf.set10('HAVE_LIBCURL', have) # m4_defines += have ? ['-DHAVE_LIBCURL'] : [] - +# # want_libidn = get_option('libidn') # want_libidn2 = get_option('libidn2') # if want_libidn == 'true' and want_libidn2 == 'true' # error('libidn and libidn2 cannot be requested simultaneously') # endif - +# # if want_libidn != 'false' and want_libidn2 != 'true' # libidn = dependency('libidn', # required : want_libidn == 'true') @@ -965,7 +1072,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # endif # conf.set10('HAVE_LIBIDN2', have) # m4_defines += have ? ['-DHAVE_LIBIDN2'] : [] - +# # want_libiptc = get_option('libiptc') # if want_libiptc != 'false' # libiptc = dependency('libiptc', @@ -977,7 +1084,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # endif # conf.set10('HAVE_LIBIPTC', have) # m4_defines += have ? ['-DHAVE_LIBIPTC'] : [] - +# # want_qrencode = get_option('qrencode') # if want_qrencode != 'false' # libqrencode = dependency('libqrencode', @@ -988,7 +1095,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libqrencode = [] # endif # conf.set10('HAVE_QRENCODE', have) - +# # want_gcrypt = get_option('gcrypt') # if want_gcrypt != 'false' # libgcrypt = cc.find_library('gcrypt', required : want_gcrypt == 'true') @@ -1003,7 +1110,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libgpg_error = [] # endif # conf.set10('HAVE_GCRYPT', have) - +# # want_gnutls = get_option('gnutls') # if want_gnutls != 'false' # libgnutls = dependency('gnutls', @@ -1015,7 +1122,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libgnutls = [] # endif # conf.set10('HAVE_GNUTLS', have) - +# # want_elfutils = get_option('elfutils') # if want_elfutils != 'false' # libdw = dependency('libdw', @@ -1026,7 +1133,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libdw = [] # endif # conf.set10('HAVE_ELFUTILS', have) - +# # want_zlib = get_option('zlib') # if want_zlib != 'false' # libz = dependency('zlib', @@ -1037,7 +1144,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libz = [] # endif # conf.set10('HAVE_ZLIB', have) - +# # want_bzip2 = get_option('bzip2') # if want_bzip2 != 'false' # libbzip2 = cc.find_library('bz2', @@ -1048,7 +1155,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libbzip2 = [] # endif # conf.set10('HAVE_BZIP2', have) - +# # want_xz = get_option('xz') # if want_xz != 'false' # libxz = dependency('liblzma', @@ -1059,7 +1166,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # libxz = [] # endif # conf.set10('HAVE_XZ', have) - +# # want_lz4 = get_option('lz4') # if want_lz4 != 'false' # liblz4 = dependency('liblz4', @@ -1070,7 +1177,7 @@ m4_defines += have ? ['-DHAVE_PAM'] : [] # liblz4 = [] # endif # conf.set10('HAVE_LZ4', have) - +# # want_xkbcommon = get_option('xkbcommon') # if want_xkbcommon != 'false' # libxkbcommon = dependency('xkbcommon', @@ -1140,7 +1247,7 @@ conf.set10('HAVE_DBUS', have) # conf.set('DEFAULT_DNSSEC_MODE', # 'DNSSEC_' + default_dnssec.underscorify().to_upper()) # substs.set('DEFAULT_DNSSEC_MODE', default_dnssec) - +# # want_importd = get_option('importd') # if want_importd != 'false' # have = (conf.get('HAVE_LIBCURL') == 1 and @@ -1155,7 +1262,7 @@ conf.set10('HAVE_DBUS', have) # have = false # endif # conf.set10('ENABLE_IMPORTD', have) - +# # want_remote = get_option('remote') # if want_remote != 'false' # have_deps = [conf.get('HAVE_MICROHTTPD') == 1, @@ -1202,6 +1309,7 @@ foreach term : ['utmp', # 'efi', # 'tpm', # 'ima', +# 'smack', # 'gshadow', # 'idn', # 'nss-systemd'] @@ -1225,7 +1333,7 @@ conf.set10('SYSTEMD_SLOW_TESTS_DEFAULT', get_option('slow-tests')) #if 0 /// UNNEEDED by elogind # if get_option('efi') # efi_arch = host_machine.cpu_family() - +# # if efi_arch == 'x86' # EFI_MACHINE_TYPE_NAME = 'ia32' # gnu_efi_arch = 'ia32' @@ -1242,10 +1350,10 @@ conf.set10('SYSTEMD_SLOW_TESTS_DEFAULT', get_option('slow-tests')) # EFI_MACHINE_TYPE_NAME = '' # gnu_efi_arch = '' # endif - +# # have = true # conf.set_quoted('EFI_MACHINE_TYPE_NAME', EFI_MACHINE_TYPE_NAME) - +# # conf.set('SD_TPM_PCR', get_option('tpm-pcrindex').to_int()) # else # have = false @@ -1322,7 +1430,7 @@ subdir('src/login') # journald_gperf_c, # include_directories : includes, # install : false) - +# # libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sym) # libsystemd = shared_library( # 'systemd', @@ -1374,7 +1482,7 @@ subdir('src/shared') # subdir('src/core') # subdir('src/udev') # subdir('src/network') - +# # subdir('src/analyze') # subdir('src/journal-remote') # subdir('src/coredump') @@ -1388,12 +1496,12 @@ subdir('src/shared') # subdir('src/timedate') # subdir('src/timesync') # subdir('src/vconsole') -# subdir('src/sulogin-shell') # subdir('src/boot/efi') #endif // 0 subdir('src/test') #if 0 /// UNNEEDED in elogind +# subdir('rules') # subdir('test') #endif // 0 @@ -1413,20 +1521,22 @@ test_dlopen = executable( # ['systemd', 'ENABLE_NSS_SYSTEMD'], # ['mymachines', 'ENABLE_MACHINED'], # ['resolve', 'ENABLE_RESOLVE']] -# +# # condition = tuple[1] == '' or conf.get(tuple[1]) == 1 # if condition # module = tuple[0] -# +# # sym = 'src/nss-@0@/nss-@0@.sym'.format(module) # version_script_arg = join_paths(meson.current_source_dir(), sym) -# +# # nss = shared_library( # 'nss_' + module, # 'src/nss-@0@/nss-@0@.c'.format(module), # version : '2', # include_directories : includes, -# link_args : ['-shared', +# # Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned +# link_args : ['-Wl,-z,nodelete', +# '-shared', # '-Wl,--version-script=' + version_script_arg, # '-Wl,--undefined'], # link_with : [libsystemd_internal, @@ -1436,13 +1546,13 @@ test_dlopen = executable( # link_depends : sym, # install : true, # install_dir : rootlibdir) -# +# # # We cannot use shared_module because it does not support version suffix. # # Unfortunately shared_library insists on creating the symlink… # meson.add_install_script('sh', '-c', # 'rm $DESTDIR@0@/libnss_@1@.so' # .format(rootlibdir, module)) -# +# # test('dlopen-nss_' + module, # test_dlopen, # args : [nss.full_path()]) # path to dlopen must include a slash @@ -1467,7 +1577,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-analyze', # systemd_analyze_sources, # include_directories : includes, @@ -1482,7 +1592,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # executable('systemd-journald', # systemd_journald_sources, # include_directories : includes, @@ -1495,7 +1605,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-cat', # systemd_cat_sources, # include_directories : includes, @@ -1505,7 +1615,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('journalctl', # journalctl_sources, # include_directories : includes, @@ -1518,7 +1628,7 @@ test_dlopen = executable( # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # executable('systemd-getty-generator', # 'src/getty-generator/getty-generator.c', # include_directories : includes, @@ -1526,7 +1636,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # executable('systemd-debug-generator', # 'src/debug-generator/debug-generator.c', # include_directories : includes, @@ -1534,7 +1644,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # executable('systemd-fstab-generator', # 'src/fstab-generator/fstab-generator.c', # 'src/core/mount-setup.c', @@ -1543,7 +1653,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # if conf.get('ENABLE_ENVIRONMENT_D') == 1 # executable('30-systemd-environment-d-generator', # 'src/environment-d-generator/environment-d-generator.c', @@ -1552,12 +1662,12 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : userenvgeneratordir) -# +# # meson.add_install_script(meson_make_symlink, # join_paths(sysconfdir, 'environment'), # join_paths(environmentdir, '99-environment.conf')) # endif -# +# # if conf.get('ENABLE_HIBERNATE') == 1 # executable('systemd-hibernate-resume-generator', # 'src/hibernate-resume/hibernate-resume-generator.c', @@ -1566,7 +1676,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # executable('systemd-hibernate-resume', # 'src/hibernate-resume/hibernate-resume.c', # include_directories : includes, @@ -1575,7 +1685,7 @@ test_dlopen = executable( # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('HAVE_BLKID') == 1 # executable('systemd-gpt-auto-generator', # 'src/gpt-auto-generator/gpt-auto-generator.c', @@ -1586,7 +1696,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # exe = executable('systemd-dissect', # 'src/dissect/dissect.c', # include_directories : includes, @@ -1596,7 +1706,7 @@ test_dlopen = executable( # install_dir : rootlibexecdir) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_RESOLVE') == 1 # executable('systemd-resolved', # systemd_resolved_sources, @@ -1611,7 +1721,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-resolve', # systemd_resolve_sources, # gcrypt_util_sources, @@ -1626,7 +1736,7 @@ test_dlopen = executable( # install : true) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_LOGIND') == 1 # executable('systemd-logind', # systemd_logind_sources, @@ -1638,7 +1748,7 @@ test_dlopen = executable( # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('loginctl', # loginctl_sources, # include_directories : includes, @@ -1650,7 +1760,7 @@ test_dlopen = executable( # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # exe = executable('systemd-inhibit', # 'src/login/inhibit.c', # include_directories : includes, @@ -1659,7 +1769,7 @@ test_dlopen = executable( # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # if conf.get('HAVE_PAM') == 1 # version_script_arg = join_paths(meson.current_source_dir(), pam_systemd_sym) # pam_systemd = shared_library( @@ -1677,7 +1787,7 @@ test_dlopen = executable( # link_depends : pam_systemd_sym, # install : true, # install_dir : pamlibdir) -# +# # test('dlopen-pam_systemd', # test_dlopen, # args : [pam_systemd.full_path()]) # path to dlopen must include a slash @@ -1741,7 +1851,6 @@ if conf.get('HAVE_PAM') == 1 args : [pam_elogind.full_path()]) # path to dlopen must include a slash endif #endif // 0 - #if 0 /// UNNEEDED by elogind # executable('systemd-user-sessions', # 'src/user-sessions/user-sessions.c', @@ -1751,7 +1860,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('ENABLE_EFI') == 1 and conf.get('HAVE_BLKID') == 1 # exe = executable('bootctl', # 'src/boot/bootctl.c', @@ -1762,7 +1871,7 @@ endif # install : true) # public_programs += [exe] # endif -# +# # exe = executable('systemd-socket-activate', 'src/activate/activate.c', # include_directories : includes, # link_with : [libshared], @@ -1770,7 +1879,7 @@ endif # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemctl', 'src/systemctl/systemctl.c', # include_directories : includes, # link_with : [libshared], @@ -1783,7 +1892,7 @@ endif # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # if conf.get('ENABLE_BACKLIGHT') == 1 # executable('systemd-backlight', # 'src/backlight/backlight.c', @@ -1793,7 +1902,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('ENABLE_RFKILL') == 1 # executable('systemd-rfkill', # 'src/rfkill/rfkill.c', @@ -1803,7 +1912,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # executable('systemd-system-update-generator', # 'src/system-update-generator/system-update-generator.c', # include_directories : includes, @@ -1811,7 +1920,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # if conf.get('HAVE_LIBCRYPTSETUP') == 1 # executable('systemd-cryptsetup', # 'src/cryptsetup/cryptsetup.c', @@ -1821,7 +1930,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-cryptsetup-generator', # 'src/cryptsetup/cryptsetup-generator.c', # include_directories : includes, @@ -1830,7 +1939,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # executable('systemd-veritysetup', # 'src/veritysetup/veritysetup.c', # include_directories : includes, @@ -1839,7 +1948,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-veritysetup-generator', # 'src/veritysetup/veritysetup-generator.c', # include_directories : includes, @@ -1849,7 +1958,7 @@ endif # install : true, # install_dir : systemgeneratordir) # endif -# +# # if conf.get('HAVE_SYSV_COMPAT') == 1 # executable('systemd-sysv-generator', # 'src/sysv-generator/sysv-generator.c', @@ -1858,7 +1967,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : systemgeneratordir) -# +# # executable('systemd-rc-local-generator', # 'src/rc-local-generator/rc-local-generator.c', # include_directories : includes, @@ -1867,7 +1976,7 @@ endif # install : true, # install_dir : systemgeneratordir) # endif -# +# # if conf.get('ENABLE_HOSTNAMED') == 1 # executable('systemd-hostnamed', # 'src/hostname/hostnamed.c', @@ -1876,7 +1985,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('hostnamectl', # 'src/hostname/hostnamectl.c', # include_directories : includes, @@ -1885,7 +1994,7 @@ endif # install : true) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_LOCALED') == 1 # if conf.get('HAVE_XKBCOMMON') == 1 # # logind will load libxkbcommon.so dynamically on its own @@ -1893,7 +2002,7 @@ endif # else # deps = [] # endif -# +# # executable('systemd-localed', # systemd_localed_sources, # include_directories : includes, @@ -1902,7 +2011,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('localectl', # localectl_sources, # include_directories : includes, @@ -1911,7 +2020,7 @@ endif # install : true) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_TIMEDATED') == 1 # executable('systemd-timedated', # 'src/timedate/timedated.c', @@ -1920,7 +2029,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('timedatectl', # 'src/timedate/timedatectl.c', # include_directories : includes, @@ -1929,7 +2038,7 @@ endif # install : true) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_TIMESYNCD') == 1 # executable('systemd-timesyncd', # systemd_timesyncd_sources, @@ -1941,7 +2050,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('ENABLE_MACHINED') == 1 # executable('systemd-machined', # systemd_machined_sources, @@ -1951,7 +2060,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('machinectl', # 'src/machine/machinectl.c', # include_directories : includes, @@ -1964,7 +2073,7 @@ endif # install_dir : rootbindir) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_IMPORTD') == 1 # executable('systemd-importd', # systemd_importd_sources, @@ -1974,7 +2083,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # systemd_pull = executable('systemd-pull', # systemd_pull_sources, # include_directories : includes, @@ -1987,7 +2096,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # systemd_import = executable('systemd-import', # systemd_import_sources, # include_directories : includes, @@ -1999,7 +2108,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # systemd_export = executable('systemd-export', # systemd_export_sources, # include_directories : includes, @@ -2013,7 +2122,7 @@ endif # install_dir : rootlibexecdir) # public_programs += [systemd_pull, systemd_import, systemd_export] # endif -# +# # if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_LIBCURL') == 1 # exe = executable('systemd-journal-upload', # systemd_journal_upload_sources, @@ -2029,7 +2138,7 @@ endif # install_dir : rootlibexecdir) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1 # s_j_remote = executable('systemd-journal-remote', # systemd_journal_remote_sources, @@ -2043,7 +2152,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # s_j_gatewayd = executable('systemd-journal-gatewayd', # systemd_journal_gatewayd_sources, # include_directories : includes, @@ -2058,7 +2167,7 @@ endif # install_dir : rootlibexecdir) # public_programs += [s_j_remote, s_j_gatewayd] # endif -# +# # if conf.get('ENABLE_COREDUMP') == 1 # executable('systemd-coredump', # systemd_coredump_sources, @@ -2072,7 +2181,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('coredumpctl', # coredumpctl_sources, # include_directories : includes, @@ -2084,7 +2193,7 @@ endif # install : true) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_BINFMT') == 1 # exe = executable('systemd-binfmt', # 'src/binfmt/binfmt.c', @@ -2094,13 +2203,13 @@ endif # install : true, # install_dir : rootlibexecdir) # public_programs += [exe] -# +# # meson.add_install_script('sh', '-c', # mkdir_p.format(binfmtdir)) # meson.add_install_script('sh', '-c', # mkdir_p.format(join_paths(sysconfdir, 'binfmt.d'))) # endif -# +# # if conf.get('ENABLE_VCONSOLE') == 1 # executable('systemd-vconsole-setup', # 'src/vconsole/vconsole-setup.c', @@ -2110,7 +2219,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('ENABLE_RANDOMSEED') == 1 # executable('systemd-random-seed', # 'src/random-seed/random-seed.c', @@ -2120,7 +2229,7 @@ endif # install : true, # install_dir : rootlibexecdir) # endif -# +# # if conf.get('ENABLE_FIRSTBOOT') == 1 # executable('systemd-firstboot', # 'src/firstboot/firstboot.c', @@ -2131,7 +2240,7 @@ endif # install : true, # install_dir : rootbindir) # endif -# +# # executable('systemd-remount-fs', # 'src/remount-fs/remount-fs.c', # 'src/core/mount-setup.c', @@ -2141,7 +2250,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-machine-id-setup', # 'src/machine-id-setup/machine-id-setup-main.c', # 'src/core/machine-id-setup.c', @@ -2151,7 +2260,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootbindir) -# +# # executable('systemd-fsck', # 'src/fsck/fsck.c', # include_directories : includes, @@ -2159,7 +2268,24 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# +# executable('elogind-growfs', +# 'src/partition/growfs.c', +# include_directories : includes, +# link_with : [libshared], +# dependencies : [libcryptsetup], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# +# executable('elogind-makefs', +# 'src/partition/makefs.c', +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +# # executable('systemd-sleep', # 'src/sleep/sleep.c', # include_directories : includes, @@ -2167,7 +2293,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-sysctl', # 'src/sysctl/sysctl.c', # include_directories : includes, @@ -2176,7 +2302,7 @@ endif # install : true, # install_dir : rootlibexecdir) # public_programs += [exe] -# +# # executable('systemd-ac-power', # 'src/ac-power/ac-power.c', # include_directories : includes, @@ -2184,7 +2310,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-detect-virt', # 'src/detect-virt/detect-virt.c', # include_directories : includes, @@ -2192,7 +2318,7 @@ endif # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemd-delta', # 'src/delta/delta.c', # include_directories : includes, @@ -2200,7 +2326,7 @@ endif # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemd-escape', # 'src/escape/escape.c', # include_directories : includes, @@ -2209,7 +2335,7 @@ endif # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # exe = executable('systemd-notify', # 'src/notify/notify.c', # include_directories : includes, @@ -2218,7 +2344,7 @@ endif # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # executable('systemd-volatile-root', # 'src/volatile-root/volatile-root.c', # include_directories : includes, @@ -2226,7 +2352,7 @@ endif # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-cgroups-agent', # 'src/cgroups-agent/cgroups-agent.c', # include_directories : includes, @@ -2252,7 +2378,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemd-ask-password', # 'src/ask-password/ask-password.c', # include_directories : includes, @@ -2261,7 +2387,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # executable('systemd-reply-password', # 'src/reply-password/reply-password.c', # include_directories : includes, @@ -2269,7 +2395,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-tty-ask-password-agent', # 'src/tty-ask-password-agent/tty-ask-password-agent.c', # include_directories : includes, @@ -2278,7 +2404,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # exe = executable('systemd-cgls', # 'src/cgls/cgls.c', # include_directories : includes, @@ -2286,7 +2412,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemd-cgtop', # 'src/cgtop/cgtop.c', # include_directories : includes, @@ -2294,7 +2420,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # executable('systemd-initctl', # 'src/initctl/initctl.c', # include_directories : includes, @@ -2302,7 +2428,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('systemd-mount', # 'src/mount/mount-tool.c', # include_directories : includes, @@ -2310,10 +2436,10 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # meson.add_install_script(meson_make_symlink, # 'systemd-mount', join_paths(bindir, 'systemd-umount')) -# +# # exe = executable('systemd-run', # 'src/run/run.c', # include_directories : includes, @@ -2321,7 +2447,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('systemd-stdio-bridge', # 'src/stdio-bridge/stdio-bridge.c', # include_directories : includes, @@ -2329,7 +2455,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # exe = executable('busctl', # 'src/busctl/busctl.c', # 'src/busctl/busctl-introspect.c', @@ -2339,7 +2465,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # if conf.get('ENABLE_SYSUSERS') == 1 # exe = executable('systemd-sysusers', # 'src/sysusers/sysusers.c', @@ -2350,7 +2476,7 @@ executable('elogind-cgroups-agent', # install_dir : rootbindir) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_TMPFILES') == 1 # exe = executable('systemd-tmpfiles', # 'src/tmpfiles/tmpfiles.c', @@ -2361,8 +2487,13 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootbindir) # public_programs += [exe] +# +# test('test-elogind-tmpfiles', +# test_elogind_tmpfiles_py, +# args : exe.full_path()) +# # https://github.com/mesonbuild/meson/issues/2681 # endif -# +# # if conf.get('ENABLE_HWDB') == 1 # exe = executable('systemd-hwdb', # 'src/hwdb/hwdb.c', @@ -2374,7 +2505,7 @@ executable('elogind-cgroups-agent', # install_dir : rootbindir) # public_programs += [exe] # endif -# +# # if conf.get('ENABLE_QUOTACHECK') == 1 # executable('systemd-quotacheck', # 'src/quotacheck/quotacheck.c', @@ -2384,7 +2515,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootlibexecdir) # endif -# +# # exe = executable('systemd-socket-proxyd', # 'src/socket-proxy/socket-proxyd.c', # include_directories : includes, @@ -2394,7 +2525,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootlibexecdir) # public_programs += [exe] -# +# # exe = executable('systemd-udevd', # systemd_udevd_sources, # include_directories : includes, @@ -2411,7 +2542,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootlibexecdir) # public_programs += [exe] -# +# # exe = executable('udevadm', # udevadm_sources, # include_directories : includes, @@ -2427,7 +2558,7 @@ executable('elogind-cgroups-agent', # install : true, # install_dir : rootbindir) # public_programs += [exe] -# +# # executable('systemd-shutdown', # systemd_shutdown_sources, # include_directories : includes, @@ -2435,7 +2566,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-update-done', # 'src/update-done/update-done.c', # include_directories : includes, @@ -2443,7 +2574,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-update-utmp', # 'src/update-utmp/update-utmp.c', # include_directories : includes, @@ -2452,7 +2583,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # if conf.get('HAVE_KMOD') == 1 # executable('systemd-modules-load', # 'src/modules-load/modules-load.c', @@ -2462,13 +2593,13 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # meson.add_install_script('sh', '-c', # mkdir_p.format(modulesloaddir)) # meson.add_install_script('sh', '-c', # mkdir_p.format(join_paths(sysconfdir, 'modules-load.d'))) # endif -# +# # exe = executable('systemd-nspawn', # systemd_nspawn_sources, # 'src/core/mount-setup.c', # FIXME: use a variable? @@ -2484,7 +2615,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true) # public_programs += [exe] -# +# # if conf.get('ENABLE_NETWORKD') == 1 # executable('systemd-networkd', # systemd_networkd_sources, @@ -2497,7 +2628,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # executable('systemd-networkd-wait-online', # systemd_networkd_wait_online_sources, # include_directories : includes, @@ -2506,7 +2637,7 @@ executable('elogind-cgroups-agent', # install_rpath : rootlibexecdir, # install : true, # install_dir : rootlibexecdir) -# +# # exe = executable('networkctl', # networkctl_sources, # include_directories : includes, @@ -2517,8 +2648,15 @@ executable('elogind-cgroups-agent', # install_dir : rootbindir) # public_programs += [exe] # endif -#endif // 0 - +# +# executable('systemd-sulogin-shell', +# ['src/sulogin-shell/sulogin-shell.c'], +# include_directories : includes, +# link_with : [libshared], +# install_rpath : rootlibexecdir, +# install : true, +# install_dir : rootlibexecdir) +#else executable('elogind-uaccess-command', 'src/uaccess-command/uaccess-command.c', include_directories : includes, @@ -2526,9 +2664,7 @@ executable('elogind-uaccess-command', libshared_static], dependencies: [libacl, libudev], - install_rpath : rootlibexecdir, - install : true, - install_dir : rootlibexecdir) +#endif // 0 ############################################################ @@ -2584,7 +2720,7 @@ endforeach # install_dir : testsdir) # test('test-libsystemd-sym', # test_libsystemd_sym) -# +# # test_libudev_sym = executable( # 'test-libudev-sym', # test_libudev_sym_c, @@ -2614,12 +2750,12 @@ make_man_index_py = find_program('tools/make-man-index.py') xml_helper_py = find_program('tools/xml_helper.py') #if 0 /// UNNEEDED by elogind # hwdb_update_sh = find_program('tools/meson-hwdb-update.sh') - +# # subdir('units') # subdir('sysctl.d') # subdir('sysusers.d') # subdir('tmpfiles.d') -# subdir('rules') +# subdir('presets') # subdir('hwdb') # subdir('network') #endif // 0 @@ -2640,8 +2776,6 @@ install_subdir('factory/etc', #if 0 /// UNNEEDED by elogind # install_data('xorg/50-systemd-user.sh', # install_dir : xinitrcdir) -# install_data('system-preset/90-systemd.preset', -# install_dir : systempresetdir) # install_data('modprobe.d/systemd.conf', # install_dir : modprobedir) #endif // 0 @@ -2724,47 +2858,53 @@ endif status = [ '@0@ @1@'.format(meson.project_name(), meson.project_version()), - 'prefix: @0@'.format(prefixdir), - 'rootprefix: @0@'.format(rootprefixdir), - 'sysconf dir: @0@'.format(sysconfdir), - 'includedir: @0@'.format(includedir), - 'lib dir: @0@'.format(libdir), - 'rootlib dir: @0@'.format(rootlibdir), #if 0 /// UNSUPPORTED by elogind +# 'prefix directory: @0@'.format(prefixdir), +# 'rootprefix directory: @0@'.format(rootprefixdir), +# 'sysconf directory: @0@'.format(sysconfdir), +# 'include directory: @0@'.format(includedir), +# 'lib directory: @0@'.format(libdir), +# 'rootlib directory: @0@'.format(rootlibdir), # 'SysV init scripts: @0@'.format(sysvinit_path), # 'SysV rc?.d directories: @0@'.format(sysvrcnd_path), #else 'rootexeclib dir: @0@'.format(rootlibexecdir), #endif // 0 - 'PAM modules dir: @0@'.format(pamlibdir), - 'PAM configuration dir: @0@'.format(pamconfdir), #if 0 /// UNSUPPORTED by elogind -# 'RPM macros dir: @0@'.format(rpmmacrosdir), -# 'modprobe.d dir: @0@'.format(modprobedir), -#endif // 0 - 'D-Bus policy dir: @0@'.format(dbuspolicydir), - 'D-Bus session dir: @0@'.format(dbussessionservicedir), - 'D-Bus system dir: @0@'.format(dbussystemservicedir), - 'bash completions dir: @0@'.format(bashcompletiondir), - 'zsh completions dir: @0@'.format(zshcompletiondir), +#endif // 0 #if 0 /// UNSUPPORTED by elogind +# 'PAM modules directory: @0@'.format(pamlibdir), +# 'PAM configuration directory: @0@'.format(pamconfdir), +# 'RPM macros directory: @0@'.format(rpmmacrosdir), +# 'modprobe.d directory: @0@'.format(modprobedir), +# 'D-Bus policy directory: @0@'.format(dbuspolicydir), +# 'D-Bus session directory: @0@'.format(dbussessionservicedir), +# 'D-Bus system directory: @0@'.format(dbussystemservicedir), +# 'bash completions directory: @0@'.format(bashcompletiondir), +# 'zsh completions directory: @0@'.format(zshcompletiondir), # 'extra start script: @0@'.format(get_option('rc-local')), # 'extra stop script: @0@'.format(get_option('halt-local')), # 'debug shell: @0@ @ @1@'.format(get_option('debug-shell'), # get_option('debug-tty')), #endif // 0 'TTY GID: @0@'.format(tty_gid), + 'users GID: @0@'.format(users_gid), 'maximum system UID: @0@'.format(system_uid_max), 'maximum system GID: @0@'.format(system_gid_max), #if 0 /// UNSUPPORTED by elogind +# 'minimum dynamic UID: @0@'.format(dynamic_uid_min), +# 'maximum dynamic UID: @0@'.format(dynamic_uid_max), +# 'minimum container UID base: @0@'.format(container_uid_base_min), +# 'maximum container UID base: @0@'.format(container_uid_base_max), # '/dev/kvm access mode: @0@'.format(get_option('dev-kvm-mode')), -# 'certificate root: @0@'.format(get_option('certificate-root')), +# 'render group access mode: @0@'.format(get_option('group-render-mode')), +# 'certificate root directory: @0@'.format(get_option('certificate-root')), # 'support URL: @0@'.format(support_url), -# 'nobody user name: @0@'.format(get_option('nobody-user')), -# 'nobody group name: @0@'.format(get_option('nobody-group')), +# 'nobody user name: @0@'.format(nobody_user), +# 'nobody group name: @0@'.format(nobody_group), # 'fallback hostname: @0@'.format(get_option('fallback-hostname')), # 'symbolic gateway hostnames: @0@'.format(', '.join(gateway_hostnames)), - +# # 'default DNSSEC mode: @0@'.format(default_dnssec), # 'default cgroup hierarchy: @0@'.format(default_hierarchy), #endif // 0 @@ -2776,7 +2916,7 @@ status = [ # status += [ # 'default DNS servers: @0@'.format(alt_dns_servers), # 'default NTP servers: @0@'.format(alt_ntp_servers)] - +# # alt_time_epoch = run_command('date', '-Is', '-u', '-d', # '@@0@'.format(time_epoch)).stdout().strip() # status += [ @@ -2792,14 +2932,14 @@ status = [ # if conf.get('ENABLE_EFI') == 1 # status += [ # 'efi arch: @0@'.format(efi_arch)] - +# # if have_gnu_efi # status += [ # 'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME), # 'EFI CC @0@'.format(efi_cc), -# 'EFI libdir: @0@'.format(efi_libdir), -# 'EFI ldsdir: @0@'.format(efi_ldsdir), -# 'EFI includedir: @0@'.format(efi_incdir)] +# 'EFI lib directory: @0@'.format(efi_libdir), +# 'EFI lds directory: @0@'.format(efi_ldsdir), +# 'EFI include directory: @0@'.format(efi_incdir)] # endif # endif #endif // 0 @@ -2919,3 +3059,10 @@ status += [ 'disabled features: @0@'.format(', '.join(missing)), ''] message('\n '.join(status)) + +if rootprefixdir != rootprefix_default + message('WARNING:\n' + + ' Note that the installation prefix was changed to "@0@".\n'.format(rootprefixdir) + + ' elogind used fixed names for unit file directories and other paths, so anything\n' + + ' except the default ("@0@") is strongly discouraged.'.format(rootprefix_default)) +endif diff --git a/meson_options.txt b/meson_options.txt index 6c7eb739f..f0bacde37 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,4 +1,20 @@ # -*- mode: meson -*- +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . option('split-usr', type : 'boolean', value : false, description : '''assume that /bin, /sbin aren't symlinks into /usr''') @@ -9,7 +25,7 @@ option('rootprefix', type : 'string', #if 0 /// UNNEEDED by elogind # option('link-udev-shared', type : 'boolean', # description : 'link systemd-udev and its helpers to libsystemd-shared.so') - +# # option('sysvinit-path', type : 'string', value : '/etc/init.d', # description : 'the directory where the SysV init scripts are located') # option('sysvrcnd-path', type : 'string', value : '/etc/rc.d', @@ -19,7 +35,7 @@ option('rootprefix', type : 'string', # value : '/etc/rc.local') # option('halt-local', type : 'string', # value : '/usr/sbin/halt.local') - +# # option('quotaon-path', type : 'string', description : 'path to quotaon') # option('quotacheck-path', type : 'string', description : 'path to quotacheck') # option('kill-path', type : 'string', description : 'path to kill') @@ -48,7 +64,7 @@ option('kexec-path', type : 'string', description : 'path to kexec') # option('umount-path', type : 'string', description : 'path to umount') # option('loadkeys-path', type : 'string', description : 'path to loadkeys') # option('setfont-path', type : 'string', description : 'path to setfont') - +# # option('debug-shell', type : 'string', value : '/bin/sh', # description : 'path to debug shell binary') # option('debug-tty', type : 'string', value : '/dev/tty9', @@ -155,15 +171,16 @@ option('fallback-hostname', type : 'string', value : 'localhost', #endif // 0 option('default-hierarchy', type : 'combo', choices : ['legacy', 'hybrid', 'unified'], value : 'hybrid', - description : 'default cgroup hierarchy +#if 0 /// elogind interprets this a bit different +# description : 'default cgroup hierarchy') +# option('time-epoch', type : 'string', +# description : 'time epoch for time clients') +#else + description : 'Wanted cgroup hierarchy if elogind has to be a cgroup controller: "legacy" assumes cgroups version 1 mounted on /sys/fs/cgroup "hybrid" assumes cgroups version 2 mounted on /sys/fs/cgroup/unified and cgroups version 1 mounted on /sys/fs/cgroup. "unified" assumes cgroups version 2 on /sys/fs/cgroup') -#if 0 /// UNNEEDED by elogind -# option('time-epoch', type : 'string', -# description : 'time epoch for time clients') -#else option('cgroup-controller', type : 'string', description : 'Name of the cgroup controller to use') #endif // 0 @@ -171,10 +188,26 @@ option('system-uid-max', type : 'string', description : 'maximum system UID') option('system-gid-max', type : 'string', description : 'maximum system GID') +#if 0 /// UNNEEDED by elogind +# option('dynamic-uid-min', type : 'string', +# description : 'minimum dynamic UID', +# value : '61184') # That's → 0x0000EF00 in hex +# option('dynamic-uid-max', type : 'string', +# description : 'maximum dynamic UID', +# value : '65519') # That's → 0x0000FFEF in hex +# option('container-uid-base-min', type : 'string', +# description : 'minimum container UID base', +# value : '524288') # That's → 0x00080000 in hex +# option('container-uid-base-max', type : 'string', +# description : 'maximum container UID base', +# value : '1878982656') # That's → 0x6FFF0000 in hex +#endif // 0 option('tty-gid', type : 'string', description : 'the numeric GID of the "tty" group', value : '5') #if 0 /// UNNEEDED by elogind +# option('users-gid', type : 'string', +# description : 'the numeric GID of the "users" group') # option('adm-group', type : 'boolean', # description : 'the ACL for adm group should be added') # option('wheel-group', type : 'boolean', @@ -185,8 +218,10 @@ option('tty-gid', type : 'string', # option('nobody-group', type : 'string', # description : 'The name of the nobody group (the one with GID 65534)', # value : 'nobody') -# option('dev-kvm-mode', type : 'string', value : '0660', +# option('dev-kvm-mode', type : 'string', value : '0666', # description : '/dev/kvm access mode') +# option('group-render-mode', type : 'string', value : '0666', +# description : 'Access mode for devices owned by render group (e.g. /dev/dri/renderD*, /dev/kfd).') #endif // 0 option('default-kill-user-processes', type : 'boolean', description : 'the default value for KillUserProcesses= setting') @@ -210,7 +245,7 @@ option('gshadow', type : 'boolean', # option('www-target', type : 'string', # description : 'the address and dir to upload docs too', # value : 'www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd') - +# # option('seccomp', type : 'combo', choices : ['auto', 'true', 'false'], # description : 'SECCOMP support') #endif // 0 diff --git a/shell-completion/bash/meson.build b/shell-completion/bash/meson.build index 734bd8fff..bd93be8a3 100644 --- a/shell-completion/bash/meson.build +++ b/shell-completion/bash/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + bashcompletiondir = get_option('bashcompletiondir') if bashcompletiondir == '' bash_completion = dependency('bash-completion', required : false) diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build index b4277330c..462480429 100644 --- a/shell-completion/zsh/meson.build +++ b/shell-completion/zsh/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + zshcompletiondir = get_option('zshcompletiondir') if zshcompletiondir == '' zshcompletiondir = join_paths(datadir, 'zsh/site-functions') diff --git a/src/basic/meson.build b/src/basic/meson.build index 987ca0a97..88000bfb3 100644 --- a/src/basic/meson.build +++ b/src/basic/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + #if 0 /// elogind has a shorter list # basic_sources_plain = files(''' # MurmurHash2.c @@ -45,6 +62,8 @@ # copy.h # cpu-set-util.c # cpu-set-util.h +# crypt-util.c +# crypt-util.h # def.h # device-nodes.c # device-nodes.h @@ -114,6 +133,7 @@ # mkdir-label.c # mkdir.c # mkdir.h +# module-util.h # mount-util.c # mount-util.h # nss-util.h @@ -184,6 +204,8 @@ # unaligned.h # unit-name.c # unit-name.h +# unit-def.c +# unit-def.h # user-util.c # user-util.h # utf8.c diff --git a/src/core/meson.build b/src/core/meson.build index 8da7c391a..ce8c0f647 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + #if 0 /// elogind has only two of the parts here in it... # libcore_la_sources = ''' # audit-fd.c @@ -207,26 +224,16 @@ libcore_la_sources = files(''' # output : 'org.freedesktop.systemd1.policy.in', # configuration : substs) # -# custom_target( +# i18n.merge_file( # 'org.freedesktop.systemd1.policy', # input : policy_in, # output : 'org.freedesktop.systemd1.policy', -# command : intltool_command, +# po_dir : po_dir, +# data_dirs : po_dir, # install : install_polkit, # install_dir : polkitpolicydir) #endif // 0 -# TODO: this might work with meson from git, see -# https://github.com/mesonbuild/meson/issues/1441#issuecomment-283585493 -# -# i18n.merge_file( -# 'org.freedesktop.systemd1.policy', -# po_dir : po_dir, -# input : policy_in, -# output : 'org.freedesktop.systemd1.policy', -# install : install_polkit, -# install_dir : polkitpolicydir) - #if 0 /// totally UNNEEDED in elogind # install_data('system.conf', # 'user.conf', diff --git a/src/libelogind/meson.build b/src/libelogind/meson.build index 098a8a34b..d4306bba0 100644 --- a/src/libelogind/meson.build +++ b/src/libelogind/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + sd_login_c = files('sd-login/sd-login.c') #if 0 /// elogind has a shorter list, of course... diff --git a/src/login/meson.build b/src/login/meson.build index b46576d68..401741e6b 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -1,4 +1,22 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + #if 0 /// rename to elogind +# # systemd_logind_sources = files(''' # logind.c # logind.h @@ -105,11 +123,12 @@ loginctl_sources += files(''' # install_data('org.freedesktop.login1.service', # install_dir : dbussystemservicedir) # -# custom_target( +# i18n.merge_file( # 'org.freedesktop.login1.policy', # input : 'org.freedesktop.login1.policy.in', # output : 'org.freedesktop.login1.policy', -# command : intltool_command, +# po_dir : po_dir, +# data_dirs : po_dir, # install : install_polkit, # install_dir : polkitpolicydir) # @@ -156,11 +175,12 @@ logind_service = configure_file( install_data(logind_service, install_dir : dbussystemservicedir) -custom_target( +i18n.merge_file( 'org.freedesktop.login1.policy', input : 'org.freedesktop.login1.policy.in', output : 'org.freedesktop.login1.policy', - command : intltool_command, + po_dir : po_dir, + data_dirs : po_dir, install : install_polkit, install_dir : polkitpolicydir) diff --git a/src/shared/meson.build b/src/shared/meson.build index bb4024888..ad134c143 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + #if 0 /// elogind has a much shorter list # shared_sources = ''' # acl-util.h @@ -11,6 +28,8 @@ # base-filesystem.h # boot-timestamps.c # boot-timestamps.h +# bootspec.c +# bootspec.h # bus-unit-util.c # bus-unit-util.h # bus-util.c @@ -89,6 +108,8 @@ # sysctl-util.h # tests.c # tests.h +# tomoyo-util.c +# tomoyo-util.h # udev-util.h # udev-util.c # uid-range.c diff --git a/src/systemd/meson.build b/src/systemd/meson.build index 8499f16c4..7d6398714 100644 --- a/src/systemd/meson.build +++ b/src/systemd/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + #if 0 /// No systemd-journal in elogind ... # _systemd_headers = ''' # sd-bus.h diff --git a/src/test/meson.build b/src/test/meson.build index 89d742a80..6daef1f20 100644 --- a/src/test/meson.build +++ b/src/test/meson.build @@ -1,3 +1,20 @@ +# SPDX-License-Identifier: LGPL-2.1+ +# +# Copyright 2017 Zbigniew Jędrzejewski-Szmek +# +# elogind is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# elogind is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with elogind; If not, see . + awkscript = 'test-hashmap-ordered.awk' test_hashmap_ordered_c = custom_target( 'test-hashmap-ordered.c', @@ -41,6 +58,12 @@ test_dlopen_c = files('test-dlopen.c') ############################################################ +#if 0 /// UNNEEDED by elogind +# test_elogind_tmpfiles_py = find_program('test-elogind-tmpfiles.py') +#endif // 0 + +############################################################ + tests += [ #if 0 /// UNNEEDED in elogind # [['src/test/test-device-nodes.c'], @@ -145,7 +168,8 @@ tests += [ # # [['src/test/test-async.c'], # [], -# []], +# [], +# '', 'timeout=120'], #endif // 0 [['src/test/test-locale-util.c'], @@ -440,7 +464,7 @@ tests += [ # [], # []], # -# [['src/test/test-time.c'], +# [['src/test/test-time-util.c'], # [], # []], # @@ -702,7 +726,8 @@ tests += [ # libshared], # [threads, # libxz, -# liblz4]], +# liblz4], +# '', 'timeout=360'], # # [['src/journal/test-journal-stream.c'], # [libjournal_core,