]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journalctl: allow statically linked build
authorJames Hilliard <james.hilliard1@gmail.com>
Wed, 27 Jul 2022 21:28:09 +0000 (15:28 -0600)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 29 Jul 2022 00:22:54 +0000 (09:22 +0900)
The journalctl tool may be needed on cross compilation hosts in order
to run --update-catalog against a target rootfs.

To avoid reliability issues caused by shared linking allow journalctl
to be linked statically.

meson.build
meson_options.txt

index 692ee1ed4df96a0b3f24d40429670f31c95bdc3d..87e67c9c323c18ac0f4d63a552474d9e0205a4fc 100644 (file)
@@ -2263,11 +2263,19 @@ public_programs += executable(
         install_rpath : rootpkglibdir,
         install : true)
 
+if get_option('link-journalctl-shared')
+        journalctl_link_with = [libshared]
+else
+        journalctl_link_with = [libsystemd_static,
+                                libshared_static,
+                                libbasic_gcrypt]
+endif
+
 public_programs += executable(
         'journalctl',
         journalctl_sources,
         include_directories : includes,
-        link_with : [libshared],
+        link_with : [journalctl_link_with],
         dependencies : [threads,
                         libdl,
                         libxz,
@@ -4288,7 +4296,7 @@ foreach tuple : [
         # components
         ['backlight'],
         ['binfmt'],
-        ['bpf-framework',         conf.get('BPF_FRAMEWORK') == 1],
+        ['bpf-framework',          conf.get('BPF_FRAMEWORK') == 1],
         ['coredump'],
         ['environment.d'],
         ['efi'],
@@ -4318,7 +4326,7 @@ foreach tuple : [
         ['resolve'],
         ['rfkill'],
         ['sysext'],
-        ['systemd-analyze',       conf.get('ENABLE_ANALYZE') == 1],
+        ['systemd-analyze',        conf.get('ENABLE_ANALYZE') == 1],
         ['sysupdate'],
         ['sysusers'],
         ['timedated'],
@@ -4332,36 +4340,37 @@ foreach tuple : [
         ['idn'],
         ['polkit'],
         ['nscd'],
-        ['legacy-pkla',           install_polkit_pkla],
+        ['legacy-pkla',            install_polkit_pkla],
         ['kmod'],
         ['dbus'],
         ['glib'],
         ['tpm'],
-        ['man pages',             want_man],
-        ['html pages',            want_html],
-        ['man page indices',      want_man and have_lxml],
+        ['man pages',              want_man],
+        ['html pages',             want_html],
+        ['man page indices',       want_man and have_lxml],
         ['SysV compat'],
         ['compat-mutable-uid-boundaries'],
         ['utmp'],
         ['ldconfig'],
-        ['adm group',             get_option('adm-group')],
-        ['wheel group',           get_option('wheel-group')],
+        ['adm group',              get_option('adm-group')],
+        ['wheel group',            get_option('wheel-group')],
         ['gshadow'],
         ['debug hashmap'],
         ['debug mmap cache'],
         ['debug siphash'],
-        ['valgrind',              conf.get('VALGRIND') == 1],
-        ['trace logging',         conf.get('LOG_TRACE') == 1],
-        ['install tests',         install_tests],
-        ['link-udev-shared',      get_option('link-udev-shared')],
-        ['link-systemctl-shared', get_option('link-systemctl-shared')],
-        ['link-networkd-shared',  get_option('link-networkd-shared')],
-        ['link-timesyncd-shared', get_option('link-timesyncd-shared')],
-        ['link-boot-shared',      get_option('link-boot-shared')],
+        ['valgrind',               conf.get('VALGRIND') == 1],
+        ['trace logging',          conf.get('LOG_TRACE') == 1],
+        ['install tests',          install_tests],
+        ['link-udev-shared',       get_option('link-udev-shared')],
+        ['link-systemctl-shared',  get_option('link-systemctl-shared')],
+        ['link-networkd-shared',   get_option('link-networkd-shared')],
+        ['link-timesyncd-shared',  get_option('link-timesyncd-shared')],
+        ['link-journalctl-shared', get_option('link-journalctl-shared')],
+        ['link-boot-shared',       get_option('link-boot-shared')],
         ['first-boot-full-preset'],
         ['fexecve'],
-        ['standalone-binaries',   get_option('standalone-binaries')],
-        ['coverage',              get_option('b_coverage')],
+        ['standalone-binaries',    get_option('standalone-binaries')],
+        ['coverage',               get_option('b_coverage')],
 ]
 
         if tuple.length() >= 2
index 628ca1d797c2b695b01c52feee86824458043677..d8c0c581c2ab847cf427561fcd862cea29ead37d 100644 (file)
@@ -25,6 +25,8 @@ option('link-networkd-shared', type: 'boolean',
        description : 'link systemd-networkd and its helpers to libsystemd-shared.so')
 option('link-timesyncd-shared', type: 'boolean',
        description : 'link systemd-timesyncd and its helpers to libsystemd-shared.so')
+option('link-journalctl-shared', type: 'boolean',
+       description : 'link journalctl against libsystemd-shared.so')
 option('link-boot-shared', type: 'boolean',
        description : 'link bootctl and systemd-bless-boot against libsystemd-shared.so')
 option('first-boot-full-preset', type: 'boolean', value: false,