- Upgrade to v251.2 (commit 949d6bb7201dd48167ee9716ed6278764d1f4c0f)

See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for
  details. 
  - Rebased 0001-conf-parser-introduce-early-drop-ins.patch
  - systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN
    relying on this module.
  - sysusers.d/systemd-network.conf has been moved to systemd-network
    sub-package since the tmpfiles configuration snippets for networkd has also
    been moved to this sub-package.

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1285
This commit is contained in:
Franck Bui 2022-06-07 18:24:43 +00:00 committed by Git OBS Bridge
parent 1e53113208
commit 7d0bdd9a7a
10 changed files with 117 additions and 46 deletions

View File

@ -1,7 +1,7 @@
From 079a6f89f9e42517cd14b488320b6302746bcf9b Mon Sep 17 00:00:00 2001
From a1c88ab7f5e5ad127833168bbb38340d1b582a88 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 22 Jan 2021 14:57:08 +0100
Subject: [PATCH 01/11] conf-parser: introduce 'early' drop-ins
Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@ -61,15 +61,15 @@ drop this feature at any time.
Fixes: #2121
---
src/shared/conf-parser.c | 48 +++++++++--
src/test/test-conf-parser.c | 154 ++++++++++++++++++++++++++++++++++++
2 files changed, 197 insertions(+), 5 deletions(-)
src/shared/conf-parser.c | 54 +++++++++++-
src/test/test-conf-parser.c | 163 ++++++++++++++++++++++++++++++++++++
2 files changed, 213 insertions(+), 4 deletions(-)
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index 1e1967d7ea..eb81732dfa 100644
index 6bd3ab38db..1722b90ca0 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -464,6 +464,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path,
@@ -478,6 +478,7 @@ static int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path,
static int config_parse_many_files(
const char* const* conf_files,
@ -77,25 +77,32 @@ index 1e1967d7ea..eb81732dfa 100644
char **files,
const char *sections,
ConfigItemLookup lookup,
@@ -481,6 +482,12 @@ static int config_parse_many_files(
stats_by_path = hashmap_new(&path_hash_ops_free_free);
if (!stats_by_path)
@@ -496,6 +497,20 @@ static int config_parse_many_files(
return -ENOMEM;
+ }
+
}
+ STRV_FOREACH(fn, early_files) {
+ r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st);
+ if (r < 0)
+ return r;
}
+ if (r == 0)
+ continue;
+
+ if (ret_stats_by_path) {
+ r = hashmap_put_stats_by_path(&stats_by_path, *fn, &st);
+ if (r < 0)
+ return r;
+ }
+ }
+
/* First read the first found main config file. */
@@ -521,6 +528,28 @@ static int config_parse_many_files(
STRV_FOREACH(fn, conf_files) {
r = config_parse(NULL, *fn, NULL, sections, lookup, table, flags, userdata, &st);
@@ -534,6 +549,27 @@ static int config_parse_many_files(
return 0;
}
+static int config_parse_split_conf_files(char **files, char ***early_files, char ***late_files) {
+ char **f;
+
+ assert(files);
+ assert(early_files);
@ -119,7 +126,7 @@ index 1e1967d7ea..eb81732dfa 100644
/* Parse each config file in the directories specified as nulstr. */
int config_parse_many_nulstr(
const char *conf_file,
@@ -532,15 +561,19 @@ int config_parse_many_nulstr(
@@ -545,15 +581,19 @@ int config_parse_many_nulstr(
void *userdata,
Hashmap **ret_stats_by_path) {
@ -142,17 +149,15 @@ index 1e1967d7ea..eb81732dfa 100644
ret_stats_by_path);
}
@@ -556,8 +589,8 @@ int config_parse_many(
@@ -590,6 +630,7 @@ int config_parse_many(
void *userdata,
Hashmap **ret_stats_by_path) {
+ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL;
_cleanup_strv_free_ char **dropin_dirs = NULL;
- _cleanup_strv_free_ char **files = NULL;
const char *suffix;
+ _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL;
_cleanup_strv_free_ char **files = NULL;
int r;
@@ -570,7 +603,12 @@ int config_parse_many(
@@ -602,7 +643,12 @@ int config_parse_many(
if (r < 0)
return r;
@ -165,9 +170,9 @@ index 1e1967d7ea..eb81732dfa 100644
+ sections, lookup, table, flags, userdata, ret_stats_by_path);
}
#define DEFINE_PARSER(type, vartype, conv_func) \
static int config_get_stats_by_path_one(
diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c
index e61932ab16..de408272f0 100644
index e61932ab16..5a5c0d73ff 100644
--- a/src/test/test-conf-parser.c
+++ b/src/test/test-conf-parser.c
@@ -5,6 +5,9 @@
@ -180,12 +185,11 @@ index e61932ab16..de408272f0 100644
#include "string-util.h"
#include "strv.h"
#include "tests.h"
@@ -391,4 +394,155 @@ TEST(config_parse) {
@@ -391,4 +394,164 @@ TEST(config_parse) {
test_config_parse_one(i, config_file[i]);
}
+static void setup_conf_files(const char *root, bool is_main, char **conf_files, char ***ret_conf_dirs) {
+ char **path;
+
+ /* If 'is_main' is true then 'conf_files' should only contain an entry
+ * for the main conf file. */
@ -264,8 +268,12 @@ index e61932ab16..de408272f0 100644
+ NULL,
+ NULL);
+ } else {
+ /* sigh... since commit bdb2d3c6889408c7f26c2eeddbe9021ac53f962c,
+ * 'conf_file_dirs' parameter can't be NULL. */
+
+ r = config_parse_many(STRV_MAKE_CONST(conf_file),
+ (const char * const*) conf_dirs, "",
+ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY),
+ "",
+ "Section\0",
+ config_item_table_lookup, items,
+ CONFIG_PARSE_WARN,
@ -274,9 +282,15 @@ index e61932ab16..de408272f0 100644
+ }
+
+ assert_se(r == 0);
+ assert_se((!name && !parsed_name) || streq(name, parsed_name));
+ assert_se((!late && !parsed_late) || streq(late, parsed_late));
+ assert_se((!early && !parsed_early) || streq(early, parsed_early));
+
+ assert_se((!!name == !!parsed_name));
+ assert_se(!name || streq(name, parsed_name));
+
+ assert_se((!!late == !!parsed_late));
+ assert_se(!late || streq(late, parsed_late));
+
+ assert_se((!!early == !!parsed_early));
+ assert_se(!early || streq(early, parsed_early));
+
+ assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0);
+}
@ -337,5 +351,5 @@ index e61932ab16..de408272f0 100644
+
DEFINE_TEST_MAIN(LOG_INFO);
--
2.34.1
2.35.3

View File

@ -87,7 +87,9 @@
%{_mandir}/man3/SD_ID128_NULL.3.gz
%{_mandir}/man3/SD_ID128_STRING_MAX.3.gz
%{_mandir}/man3/SD_ID128_TO_STRING.3.gz
%{_mandir}/man3/SD_ID128_TO_UUID_STRING.3.gz
%{_mandir}/man3/SD_ID128_UUID_FORMAT_STR.3.gz
%{_mandir}/man3/SD_ID128_UUID_STRING_MAX.3.gz
%{_mandir}/man3/SD_INFO.3.gz
%{_mandir}/man3/SD_JOURNAL_ALL_NAMESPACES.3.gz
%{_mandir}/man3/SD_JOURNAL_APPEND.3.gz
@ -112,6 +114,7 @@
%{_mandir}/man3/sd-bus-errors.3.gz
%{_mandir}/man3/sd-bus.3.gz
%{_mandir}/man3/sd-daemon.3.gz
%{_mandir}/man3/sd-device.3.gz
%{_mandir}/man3/sd-event.3.gz
%{_mandir}/man3/sd-hwdb.3.gz
%{_mandir}/man3/sd-id128.3.gz
@ -423,6 +426,20 @@
%{_mandir}/man3/sd_bus_unref.3.gz
%{_mandir}/man3/sd_bus_unrefp.3.gz
%{_mandir}/man3/sd_bus_wait.3.gz
%{_mandir}/man3/sd_device_get_devname.3.gz
%{_mandir}/man3/sd_device_get_devnum.3.gz
%{_mandir}/man3/sd_device_get_devpath.3.gz
%{_mandir}/man3/sd_device_get_devtype.3.gz
%{_mandir}/man3/sd_device_get_diskseq.3.gz
%{_mandir}/man3/sd_device_get_driver.3.gz
%{_mandir}/man3/sd_device_get_ifindex.3.gz
%{_mandir}/man3/sd_device_get_subsystem.3.gz
%{_mandir}/man3/sd_device_get_sysname.3.gz
%{_mandir}/man3/sd_device_get_sysnum.3.gz
%{_mandir}/man3/sd_device_get_syspath.3.gz
%{_mandir}/man3/sd_device_ref.3.gz
%{_mandir}/man3/sd_device_unref.3.gz
%{_mandir}/man3/sd_device_unrefp.3.gz
%{_mandir}/man3/sd_event.3.gz
%{_mandir}/man3/sd_event_add_child.3.gz
%{_mandir}/man3/sd_event_add_child_pidfd.3.gz
@ -535,6 +552,7 @@
%{_mandir}/man3/sd_id128_randomize.3.gz
%{_mandir}/man3/sd_id128_t.3.gz
%{_mandir}/man3/sd_id128_to_string.3.gz
%{_mandir}/man3/sd_id128_to_uuid_string.3.gz
%{_mandir}/man3/sd_is_fifo.3.gz
%{_mandir}/man3/sd_is_mq.3.gz
%{_mandir}/man3/sd_is_socket.3.gz

View File

@ -23,19 +23,24 @@
%{_mandir}/man5/systemd.network.5.gz
%{_mandir}/man8/systemd-networkd-wait-online.8.gz
%{_mandir}/man8/systemd-networkd-wait-online.service.8.gz
%{_mandir}/man8/systemd-networkd-wait-online@.service.8.gz
%{_mandir}/man8/systemd-networkd.8.gz
%{_mandir}/man8/systemd-networkd.service.8.gz
%{_systemd_util_dir}/network/80-6rd-tunnel.network
%{_systemd_util_dir}/network/80-container-host0.network
%{_systemd_util_dir}/network/80-container-ve.network
%{_systemd_util_dir}/network/80-container-vz.network
%{_systemd_util_dir}/network/80-ethernet.network.example
%{_systemd_util_dir}/network/80-vm-vt.network
%{_systemd_util_dir}/network/80-wifi-adhoc.network
%{_systemd_util_dir}/network/80-wifi-ap.network.example
%{_systemd_util_dir}/network/80-wifi-station.network.example
%{_systemd_util_dir}/systemd-networkd
%{_systemd_util_dir}/systemd-networkd-wait-online
%{_sysusersdir}/systemd-network.conf
%{_tmpfilesdir}/systemd-network.conf
%{_unitdir}/systemd-networkd-wait-online.service
%{_unitdir}/systemd-networkd-wait-online@.service
%{_unitdir}/systemd-networkd.service
%{_unitdir}/systemd-networkd.socket
%endif

View File

@ -183,6 +183,7 @@
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timesync1.policy
%{_datadir}/systemd/kbd-model-map
%{_datadir}/systemd/language-fallback-map
%if %{without bootstrap}
@ -301,6 +302,7 @@
%{_mandir}/man5/systemd.target.5.gz
%{_mandir}/man5/systemd.timer.5.gz
%{_mandir}/man5/systemd.unit.5.gz
%{_mandir}/man5/sysupdate.d.5.gz
%{_mandir}/man5/sysusers.d.5.gz
%{_mandir}/man5/timesyncd.conf.5.gz
%{_mandir}/man5/timesyncd.conf.d.5.gz
@ -386,6 +388,11 @@
%{_mandir}/man8/systemd-sysext.8.gz
%{_mandir}/man8/systemd-sysext.service.8.gz
%{_mandir}/man8/systemd-system-update-generator.8.gz
%{_mandir}/man8/systemd-sysupdate-reboot.service.8.gz
%{_mandir}/man8/systemd-sysupdate-reboot.timer.8.gz
%{_mandir}/man8/systemd-sysupdate.8.gz
%{_mandir}/man8/systemd-sysupdate.service.8.gz
%{_mandir}/man8/systemd-sysupdate.timer.8.gz
%{_mandir}/man8/systemd-sysusers.8.gz
%{_mandir}/man8/systemd-sysusers.service.8.gz
%{_mandir}/man8/systemd-time-wait-sync.8.gz
@ -419,7 +426,8 @@
%{_sysconfdir}/xdg/systemd/user
%{_sysctldir}/99-sysctl.conf
%{_systemd_user_env_generator_dir}/30-systemd-environment-d-generator
%{_systemd_util_dir}/libsystemd-shared-250.so
%{_systemd_util_dir}/libsystemd-core-251.so
%{_systemd_util_dir}/libsystemd-shared-251.so
%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list
%{_systemd_util_dir}/scripts/migrate-sysconfig-i18n.sh
%{_systemd_util_dir}/scripts/upgrade-from-pre-210.sh
@ -444,6 +452,9 @@
%{_systemd_util_dir}/systemd-socket-proxyd
%{_systemd_util_dir}/systemd-sulogin-shell
%{_systemd_util_dir}/systemd-sysctl
%if %{without bootstrap}
%{_systemd_util_dir}/systemd-sysupdate
%endif
%{_systemd_util_dir}/systemd-time-wait-sync
%{_systemd_util_dir}/systemd-timedated
%{_systemd_util_dir}/systemd-timesyncd
@ -483,11 +494,6 @@
%{_systemdgeneratordir}/systemd-run-generator
%{_systemdgeneratordir}/systemd-system-update-generator
%{_sysusersdir}/systemd-journal.conf
%if %{with networkd}
# Yes, systemd-network.conf really belongs here, see
# https://github.com/systemd/systemd/pull/22416#issuecomment-1029828592
%{_sysusersdir}/systemd-network.conf
%endif
%{_sysusersdir}/systemd-timesync.conf
%{_tmpfilesdir}/journal-nocow.conf
%{_tmpfilesdir}/suse.conf
@ -643,6 +649,12 @@
%{_unitdir}/systemd-suspend.service
%{_unitdir}/systemd-sysctl.service
%{_unitdir}/systemd-sysext.service
%if %{without bootstrap}
%{_unitdir}/systemd-sysupdate-reboot.service
%{_unitdir}/systemd-sysupdate-reboot.timer
%{_unitdir}/systemd-sysupdate.service
%{_unitdir}/systemd-sysupdate.timer
%endif
%{_unitdir}/systemd-sysusers.service
%{_unitdir}/systemd-time-wait-sync.service
%{_unitdir}/systemd-timedated.service

View File

@ -145,6 +145,7 @@
%{_udevhwdbdir}/70-cameras.hwdb
%{_udevhwdbdir}/70-joystick.hwdb
%{_udevhwdbdir}/70-mouse.hwdb
%{_udevhwdbdir}/70-pda.hwdb
%{_udevhwdbdir}/70-pointingstick.hwdb
%{_udevhwdbdir}/70-touchpad.hwdb
%{_udevhwdbdir}/80-ieee1394-unit-function.hwdb

View File

@ -19,6 +19,7 @@
%{_mandir}/man7/linuxia32.efi.stub.7.gz
%{_mandir}/man7/linuxx64.efi.stub.7.gz
%{_mandir}/man7/sd-boot.7.gz
%{_mandir}/man7/sd-stub.7.gz
%{_mandir}/man7/systemd-boot.7.gz
%{_mandir}/man7/systemd-stub.7.gz
%{_mandir}/man8/kernel-install.8.gz

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c00bf0607ca3a8ad8d001808741277c600db2c446bb58ce347e445dec2ff20e
size 7677168

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:38c4d708dd28c097d2bd7cbe39a3683d19b141b5795d97b8e200e16ce2213e31
size 7827148

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Wed Jun 1 07:20:05 UTC 2022 - Franck Bui <fbui@suse.com>
- Upgrade to v251.2 (commit 949d6bb7201dd48167ee9716ed6278764d1f4c0f)
See https://github.com/openSUSE/systemd/blob/SUSE/v251/NEWS for
details.
- Rebased 0001-conf-parser-introduce-early-drop-ins.patch
- systemd-testsuite now requires python3-pexpect due to TEST-69-SHUTDOWN
relying on this module.
- sysusers.d/systemd-network.conf has been moved to systemd-network
sub-package since the tmpfiles configuration snippets for networkd has also
been moved to this sub-package.
-------------------------------------------------------------------
Tue May 31 13:26:38 UTC 2022 - Franck Bui <fbui@suse.com>

View File

@ -19,7 +19,7 @@
%global flavor @BUILD_FLAVOR@%{nil}
%define min_kernel_version 4.5
%define suse_version +suse.58.g4dbc543953
%define suse_version +suse.18.g949d6bb720
%define _testsuitedir /usr/lib/systemd/tests
%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit
@ -72,7 +72,7 @@
Name: systemd%{?mini}
URL: http://www.freedesktop.org/wiki/Software/systemd
Version: 250.6
Version: 251.2
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1-or-later
@ -547,6 +547,7 @@ Requires: libtss2-rc0
Requires: lz4
Requires: make
Requires: netcat
Requires: python3-pexpect
Requires: qemu-kvm
Requires: quota
Requires: socat
@ -689,6 +690,7 @@ Have fun with these services at your own risk.
-Dnss-systemd=%{when_not bootstrap} \
-Dseccomp=%{when_not bootstrap} \
-Dselinux=%{when_not bootstrap} \
-Dsysupdate=%{when_not bootstrap} \
-Dtpm=%{when_not bootstrap} \
-Dtpm2=%{when_not bootstrap} \
-Dtranslations=%{when_not bootstrap} \
@ -975,7 +977,6 @@ pam-config --add --systemd || :
# in %%post. However this shouldn't be an issue since all files the
# main package ships are owned by root.
%sysusers_create systemd-journal.conf
%sysusers_create systemd-network.conf
%sysusers_create systemd-timesync.conf
[ -e %{_localstatedir}/lib/random-seed ] && mv %{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
@ -1197,6 +1198,8 @@ fi
%post network
%if %{with networkd}
%sysusers_create systemd-network.conf
%tmpfiles_create systemd-network.conf
%service_add_post systemd-networkd.service
%service_add_post systemd-networkd-wait-online.service
%endif
@ -1302,13 +1305,13 @@ fi
%defattr(-,root,root)
%license LICENSE.LGPL2.1
%{_libdir}/libsystemd.so.0
%{_libdir}/libsystemd.so.0.33.0
%{_libdir}/libsystemd.so.0.34.0
%files -n libudev%{?mini}1
%defattr(-,root,root)
%license LICENSE.LGPL2.1
%{_libdir}/libudev.so.1
%{_libdir}/libudev.so.1.7.3
%{_libdir}/libudev.so.1.7.4
%if %{with coredump}
%files coredump