# SPDX-License-Identifier: LGPL-2.1+
project('systemd', 'c',
- version : '245',
+ version : '246',
license : 'LGPLv2+',
default_options: [
'c_std=gnu99',
meson_version : '>= 0.46',
)
-libsystemd_version = '0.28.0'
-libudev_version = '1.6.17'
+libsystemd_version = '0.29.0'
+libudev_version = '1.6.18'
# We need the same data in two different formats, ugh!
# Also, for hysterical reasons, we use different variable
time_epoch = get_option('time-epoch')
if time_epoch == -1
- source_date_epoch = run_command('sh', ['-c', 'echo "$SOURCE_DATE_EPOCH"']).stdout().strip()
- if source_date_epoch != ''
- time_epoch = source_date_epoch.to_int()
- else
+ time_epoch = run_command('sh', ['-c', 'echo "$SOURCE_DATE_EPOCH"']).stdout().strip()
+ if time_epoch == '' and git.found() and run_command('test', '-e', '.git').returncode() == 0
+ # If we're in a git repository, use the creation time of the latest git tag.
+ latest_tag = run_command('git', 'describe', '--abbrev=0', '--tags').stdout().strip()
+ time_epoch = run_command('git', 'log', '-1', '--format=%at', latest_tag).stdout()
+ endif
+ if time_epoch == ''
NEWS = files('NEWS')
- time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout().to_int()
+ time_epoch = run_command(stat, '-c', '%Y', NEWS).stdout()
endif
+ time_epoch = time_epoch.to_int()
endif
conf.set('TIME_EPOCH', time_epoch)
conf.set('TTY_GID', tty_gid)
substs.set('TTY_GID', tty_gid)
-# Ensure provided GID argument is numeric, otherwise fallback to default assignment
+# Ensure provided GID argument is numeric, otherwise fall back to default assignment
users_gid = get_option('users-gid')
substs.set('USERS_GID', users_gid < 0 ? '-' : users_gid)
want_libfdisk = get_option('fdisk')
if want_libfdisk != 'false' and not skip_deps
libfdisk = dependency('fdisk',
+ version : '>= 2.33',
required : want_libfdisk == 'true')
have = libfdisk.found()
else
endif
conf.set10('HAVE_P11KIT', have)
+want_libfido2 = get_option('libfido2')
+if want_libfido2 != 'false' and not skip_deps
+ libfido2 = dependency('libfido2',
+ required : want_libfido2 == 'true')
+ have = libfido2.found()
+else
+ have = false
+ libfido2 = []
+endif
+conf.set10('HAVE_LIBFIDO2', have)
+
want_elfutils = get_option('elfutils')
if want_elfutils != 'false' and not skip_deps
libdw = dependency('libdw',
endif
conf.set10('ENABLE_REMOTE', have)
-foreach term : ['utmp',
- 'hibernate',
- 'environment-d',
+foreach term : ['analyze',
+ 'backlight',
'binfmt',
'coredump',
- 'pstore',
- 'resolve',
- 'logind',
+ 'efi',
+ 'environment-d',
+ 'firstboot',
+ 'gshadow',
+ 'hibernate',
'hostnamed',
+ 'hwdb',
+ 'idn',
+ 'ima',
+ 'initrd',
+ 'ldconfig',
'localed',
+ 'logind',
'machined',
- 'portabled',
- 'userdb',
'networkd',
- 'timedated',
- 'timesyncd',
- 'firstboot',
- 'randomseed',
- 'backlight',
- 'vconsole',
+ 'nss-myhostname',
+ 'nss-systemd',
+ 'portabled',
+ 'pstore',
'quotacheck',
+ 'randomseed',
+ 'resolve',
+ 'rfkill',
+ 'smack',
'sysusers',
+ 'timedated',
+ 'timesyncd',
'tmpfiles',
- 'hwdb',
- 'rfkill',
- 'xdg-autostart',
- 'ldconfig',
- 'efi',
'tpm',
- 'ima',
- 'smack',
- 'gshadow',
- 'idn',
- 'initrd',
- 'nss-myhostname',
- 'nss-systemd']
+ 'userdb',
+ 'utmp',
+ 'vconsole',
+ 'xdg-autostart']
have = get_option(term)
name = 'ENABLE_' + term.underscorify().to_upper()
conf.set10(name, have)
libgcrypt],
c_args : libsystemd_c_args + (static_libsystemd_pic ? [] : ['-fno-PIC']))
-# Generate autosuspend rules
+############################################################
+
+autosuspend_update_sh = find_program('tools/autosuspend-update.sh')
+hwdb_update_sh = find_program('tools/hwdb-update.sh')
make_autosuspend_rules_py = find_program('tools/make-autosuspend-rules.py')
+make_directive_index_py = find_program('tools/make-directive-index.py')
+make_man_index_py = find_program('tools/make-man-index.py')
+syscall_names_update_sh = find_program('tools/syscall-names-update.sh')
+xml_helper_py = find_program('tools/xml_helper.py')
############################################################
libmount,
libblkid],
install_rpath : rootlibexecdir,
- install : get_option('analyze'))
+ install : conf.get('ENABLE_ANALYZE'))
executable(
'systemd-journald',
include_directories : includes,
link_with : [libshared],
dependencies : [threads,
- libqrencode,
+ libdl,
libxz,
liblz4,
- libpcre2,
- libzstd],
+ libzstd,
+ libdl],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootbindir)
include_directories : includes,
link_with : [libshared],
install_rpath : rootlibexecdir,
- install : true,
- install_dir : rootlibexecdir)
+ install : true)
endif
if conf.get('ENABLE_RESOLVE') == 1
libcrypt,
libopenssl,
libfdisk,
- libp11kit],
+ libp11kit,
+ libfido2],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
link_with : [libshared],
dependencies : [threads,
libcrypt,
- libopenssl,
- libpwquality],
+ libopenssl],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootlibexecdir)
libcrypt,
libopenssl,
libp11kit,
- libpwquality],
+ libfido2,
+ libdl],
install_rpath : rootlibexecdir,
install : true,
install_dir : rootbindir)
install_rpath : rootlibexecdir,
install : true,
install_dir : rootbindir)
+ public_programs += exe
if want_tests != 'false'
test('test-repart',
link_with : [libshared],
dependencies : [libaudit],
install_rpath : rootlibexecdir,
- install : true,
+ install : (conf.get('ENABLE_UTMP') == 1),
install_dir : rootlibexecdir)
if conf.get('HAVE_KMOD') == 1
############################################################
-make_directive_index_py = find_program('tools/make-directive-index.py')
-make_man_index_py = find_program('tools/make-man-index.py')
-xml_helper_py = find_program('tools/xml_helper.py')
-hwdb_update_sh = find_program('tools/hwdb-update.sh')
-autosuspend_update_sh = find_program('tools/autosuspend-update.sh')
-
subdir('sysctl.d')
subdir('sysusers.d')
subdir('tmpfiles.d')
['pwquality'],
['libfdisk'],
['p11kit'],
+ ['libfido2'],
['AUDIT'],
['IMA'],
['AppArmor'],
['link-networkd-shared', get_option('link-networkd-shared')],
['link-timesyncd-shared', get_option('link-timesyncd-shared')],
['kernel-install', get_option('kernel-install')],
- ['systemd-analyze', get_option('analyze')],
+ ['systemd-analyze', conf.get('ENABLE_ANALYZE') == 1],
]
if tuple.length() >= 2