SHA256
1
0
forked from pool/systemd

- Upgrade to v254.1 (commit 208a21833b6953a2517a6c3f8f4849c6664b01be)

See https://github.com/openSUSE/systemd/blob/SUSE/v254/NEWS for details.
  This includes the following bug fixes:
   - upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141)
   - upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340)
   - upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606)
   - upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185)
  * Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix
    for https://github.com/systemd/systemd/issues/26839 has been integrated in
    v254.
  * Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's
    part of v254.
  * Drop 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch, it's
    no more needed these days.
  * Rebase 0001-conf-parser-introduce-early-drop-ins.patch

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1420
This commit is contained in:
Franck Bui 2023-08-16 10:29:27 +00:00 committed by Git OBS Bridge
parent 1fa6c3fc5b
commit f9d0cf843b
13 changed files with 172 additions and 297 deletions

View File

@ -1,4 +1,4 @@
From 77391d9baf86f10daf210ccf5527e0155a33fc73 Mon Sep 17 00:00:00 2001
From 503da4e49107f6c20e3fce05506f8b107894a5af Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Fri, 22 Jan 2021 14:57:08 +0100
Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins
@ -61,12 +61,12 @@ drop this feature at any time.
Fixes: #2121
---
src/shared/conf-parser.c | 55 ++++++++++--
src/test/test-conf-parser.c | 166 +++++++++++++++++++++++++++++++++++-
2 files changed, 215 insertions(+), 6 deletions(-)
src/shared/conf-parser.c | 56 ++++++++++++++--
src/test/test-conf-parser.c | 125 +++++++++++++++++++++++++++++++++++-
2 files changed, 175 insertions(+), 6 deletions(-)
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index 29051ca0e3..72935030ea 100644
index ec4b53b2e8..982172dfa0 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -477,6 +477,7 @@ int hashmap_put_stats_by_path(Hashmap **stats_by_path, const char *path, const s
@ -123,61 +123,68 @@ index 29051ca0e3..72935030ea 100644
+ return 0;
+}
+
/* Parse each config file in the directories specified as nulstr. */
int config_parse_many_nulstr(
const char *conf_file,
@@ -544,15 +580,19 @@ int config_parse_many_nulstr(
void *userdata,
Hashmap **ret_stats_by_path) {
/* Parse one main config file located in /etc/systemd and its drop-ins, which is what all systemd daemons
* do. */
int config_parse_config_file(
@@ -543,7 +579,8 @@ int config_parse_config_file(
ConfigParseFlags flags,
void *userdata) {
- _cleanup_strv_free_ char **files = NULL;
+ _cleanup_strv_free_ char **files = NULL, **early_files = NULL, **late_files = NULL;
- _cleanup_strv_free_ char **dropins = NULL, **dropin_dirs = NULL;
+ _cleanup_strv_free_ char **dropins = NULL, **early_dropins = NULL, **dropin_dirs = NULL;
+ _cleanup_strv_free_ char **files = NULL;
char **conf_paths = CONF_PATHS_STRV("");
int r;
r = conf_files_list_nulstr(&files, ".conf", NULL, 0, conf_file_dirs);
if (r < 0)
return r;
@@ -571,13 +608,17 @@ int config_parse_config_file(
dropin_dirs[i++] = d;
}
- return config_parse_many_files(STRV_MAKE_CONST(conf_file),
- files, sections, lookup, table, flags, userdata,
+ r = config_parse_split_conf_files(files, &early_files, &late_files);
- r = conf_files_list_strv(&dropins, ".conf", NULL, 0, (const char**) dropin_dirs);
+ r = conf_files_list_strv(&files, ".conf", NULL, 0, (const char**) dropin_dirs);
+ if (r < 0)
+ return r;
+
+ return config_parse_many_files(STRV_MAKE_CONST(conf_file), early_files, late_files,
+ sections, lookup, table, flags, userdata,
ret_stats_by_path);
+ r = config_parse_split_conf_files(files, &early_dropins, &dropins);
if (r < 0)
return r;
const char *sysconf_file = strjoina(PKGSYSCONFDIR, "/", conf_file);
- return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), dropins,
+ return config_parse_many_files(STRV_MAKE_CONST(sysconf_file), early_dropins, dropins,
sections, lookup, table, flags, userdata, NULL);
}
@@ -590,6 +630,7 @@ int config_parse_many(
@@ -595,6 +636,7 @@ int config_parse_many(
Hashmap **ret_stats_by_path,
char ***ret_dropin_files) {
+ _cleanup_strv_free_ char **early_files = NULL, **late_files = NULL;
+ _cleanup_strv_free_ char **early_dropins = NULL, **dropins = NULL;
_cleanup_strv_free_ char **files = NULL;
int r;
@@ -602,12 +643,16 @@ int config_parse_many(
@@ -607,12 +649,16 @@ int config_parse_many(
if (r < 0)
return r;
- r = config_parse_many_files(conf_files, files, sections, lookup, table, flags, userdata, ret_stats_by_path);
+ r = config_parse_split_conf_files(files, &early_files, &late_files);
+ r = config_parse_split_conf_files(files, &early_dropins, &dropins);
if (r < 0)
return r;
+ r = config_parse_many_files(conf_files, early_files, late_files,
+ r = config_parse_many_files(conf_files, early_dropins, dropins,
+ sections, lookup, table, flags, userdata, ret_stats_by_path);
+
+
if (ret_dropin_files)
- *ret_dropin_files = TAKE_PTR(files);
+ *ret_dropin_files = TAKE_PTR(late_files);
+ *ret_dropin_files = TAKE_PTR(dropins);
return 0;
}
diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c
index 0acb4131b5..96a52e759f 100644
index 0acb4131b5..88f8ff11be 100644
--- a/src/test/test-conf-parser.c
+++ b/src/test/test-conf-parser.c
@@ -5,7 +5,10 @@
@ -192,16 +199,11 @@ index 0acb4131b5..96a52e759f 100644
#include "strv.h"
#include "tests.h"
#include "tmpfile-util.h"
@@ -390,4 +393,165 @@ TEST(config_parse) {
@@ -390,4 +393,124 @@ 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) {
+
+ /* If 'is_main' is true then 'conf_files' should only contain an entry
+ * for the main conf file. */
+ if (is_main)
+ assert_se(strv_length(conf_files) <= 1);
+static void setup_conf_files(const char *root, char **conf_files, char ***ret_conf_dirs) {
+
+ STRV_FOREACH(path, conf_files) {
+ _cleanup_free_ char *abspath = NULL;
@ -219,12 +221,6 @@ index 0acb4131b5..96a52e759f 100644
+ "name=%s\n",
+ *path);
+
+ if (!is_main)
+ fprintf(f,
+ "%s=%s\n",
+ startswith(basename(*path), "__") ? "early" : "late",
+ *path);
+
+ if (ret_conf_dirs) {
+ _cleanup_free_ char *d = NULL;
+
@ -239,122 +235,92 @@ index 0acb4131b5..96a52e759f 100644
+ }
+}
+
+static void test_config_parse_many_nulstr_one(bool nulstr, const char *main, char **conf_files,
+ const char *name, const char *early, const char *late) {
+static void test_config_parse_many_one(const char *main, char **dropins, const char *expected) {
+
+ _cleanup_free_ char *parsed_name = NULL, *parsed_early = NULL, *parsed_late = NULL;
+ _cleanup_strv_free_ char **conf_dirs = NULL;
+ _cleanup_free_ char *conf_dirs_nulstr = NULL;
+ _cleanup_free_ char *parsed = NULL;
+ char *conf_file;
+ char *tmp_dir;
+ size_t size;
+ int r;
+
+ const ConfigTableItem items[] = {
+ { "Section", "name", config_parse_string, 0, &parsed_name},
+ { "Section", "late", config_parse_string, 0, &parsed_late},
+ { "Section", "early", config_parse_string, 0, &parsed_early},
+ { "Section", "Field", config_parse_string, 0, &parsed},
+ };
+
+ tmp_dir = strdupa("/tmp/test-conf-parser-XXXXXX");
+ assert_se(mkdtemp(tmp_dir));
+
+ setup_conf_files(tmp_dir, true, STRV_MAKE(main), NULL);
+ setup_conf_files(tmp_dir, false, conf_files, &conf_dirs);
+ setup_conf_files(tmp_dir, STRV_MAKE(main), NULL);
+ setup_conf_files(tmp_dir, dropins, &conf_dirs);
+
+ conf_file = main ? strjoina(tmp_dir, "/", main) : NULL;
+
+ if (nulstr) {
+ r = strv_make_nulstr(conf_dirs, &conf_dirs_nulstr, &size);
+ assert_se(r == 0);
+ /* Since commit bdb2d3c6889408c7, 'conf_file_dirs' can't be NULL anymore. */
+
+ r = config_parse_many_nulstr(conf_file, conf_dirs_nulstr,
+ "Section\0",
+ config_item_table_lookup, items,
+ CONFIG_PARSE_WARN,
+ 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 ?: STRV_MAKE_EMPTY),
+ "",
+ "Section\0",
+ config_item_table_lookup, items,
+ CONFIG_PARSE_WARN,
+ NULL, /* userdata= */
+ NULL, /* ret_stats_by_path= */
+ NULL); /* ret_dropin_files= */
+ }
+ r = config_parse_many(STRV_MAKE_CONST(conf_file),
+ (const char * const*)(conf_dirs ?: STRV_MAKE_EMPTY),
+ /* dropin_dirname= */ "",
+ /* root= */ NULL,
+ "Section\0",
+ config_item_table_lookup,
+ items,
+ CONFIG_PARSE_WARN,
+ /* userdata= */ NULL,
+ /* ret_stats_by_path= */ NULL,
+ /* ret_dropin_files= */ NULL);
+
+ assert_se(r == 0);
+
+ 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((!!expected == !!parsed));
+ assert_se(!expected || streq(expected, parsed));
+
+ assert_se(rm_rf(tmp_dir, REMOVE_ROOT|REMOVE_PHYSICAL) == 0);
+}
+
+static void test_config_parse_many_nulstr(bool nulstr) {
+ log_info("== %s%s ==", __func__, nulstr ? "_nulstr" : "");
+TEST(config_parse_many) {
+ log_info("== %s ==", __func__);
+
+ test_config_parse_many_nulstr_one(nulstr, NULL, NULL, NULL, NULL, NULL);
+ test_config_parse_many_one(/* main= */ NULL,
+ /* dropins */ NULL,
+ /* expected_name= */ NULL);
+
+ test_config_parse_many_nulstr_one(nulstr,
+ "dir/main.conf", NULL,
+ "dir/main.conf", NULL, NULL);
+ test_config_parse_many_one("dir/main.conf", NULL, "dir/main.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ NULL, STRV_MAKE("dir1/50-foo.conf"),
+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf");
+ test_config_parse_many_one(NULL,
+ STRV_MAKE("dir1/50-foo.conf"),
+ "dir1/50-foo.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ NULL, STRV_MAKE("dir1/__50-foo.conf"),
+ "dir1/__50-foo.conf", "dir1/__50-foo.conf", NULL);
+ test_config_parse_many_one(NULL,
+ STRV_MAKE("dir1/__50-foo.conf"),
+ "dir1/__50-foo.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"),
+ "dir1/50-bar.conf", NULL, "dir1/50-bar.conf");
+ test_config_parse_many_one(NULL,
+ STRV_MAKE("dir1/10-foo.conf", "dir1/50-bar.conf"),
+ "dir1/50-bar.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ NULL, STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"),
+ "dir1/50-foo.conf", NULL, "dir1/50-foo.conf");
+ test_config_parse_many_one(NULL,
+ STRV_MAKE("dir1/50-foo.conf", "dir2/10-bar.conf"),
+ "dir1/50-foo.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ NULL, STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"),
+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf");
+ test_config_parse_many_one(NULL,
+ STRV_MAKE("dir1/10-foo.conf", "dir2/10-foo.conf"),
+ "dir1/10-foo.conf");
+
+ /* Early conf files should never override the main one whatever their
+ * priority/location. */
+ test_config_parse_many_nulstr_one(nulstr,
+ "dir/10-main.conf",
+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"),
+ "dir/10-main.conf", "dir2/__99-foo.conf", NULL);
+ test_config_parse_many_one("dir/10-main.conf",
+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf"),
+ "dir/10-main.conf");
+
+ /* Late conf files always take precendence over the early conf files
+ * and the main one. */
+ test_config_parse_many_nulstr_one(nulstr,
+ "dir/50-main.conf", STRV_MAKE("dir1/10-foo.conf"),
+ "dir1/10-foo.conf", NULL, "dir1/10-foo.conf");
+ test_config_parse_many_one("dir/50-main.conf",
+ STRV_MAKE("dir1/10-foo.conf"),
+ "dir1/10-foo.conf");
+
+ test_config_parse_many_nulstr_one(nulstr,
+ "dir/10-main.conf",
+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf",
+ "dir2/10-foo.conf"),
+ "dir2/10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf");
+}
+
+TEST(config_parse_many) {
+ test_config_parse_many_nulstr(true);
+ test_config_parse_many_nulstr(false);
+ test_config_parse_many_one("dir/10-main.conf",
+ STRV_MAKE("dir1/__10-foo.conf", "dir2/__99-foo.conf", "dir2/10-foo.conf"),
+ "dir2/10-foo.conf");
+}
+
DEFINE_TEST_MAIN(LOG_INFO);

View File

@ -1,80 +0,0 @@
From 9ab58f2dbcbbafc10a1b4de046a9b0e03bb08595 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat@suse.com>
Date: Mon, 29 Oct 2012 13:01:20 +0000
Subject: [PATCH 02/11] restore /var/run and /var/lock bind mount if they
aren't symlink
---
units/meson.build | 2 ++
units/var-lock.mount | 19 +++++++++++++++++++
units/var-run.mount | 19 +++++++++++++++++++
3 files changed, 40 insertions(+)
create mode 100644 units/var-lock.mount
create mode 100644 units/var-run.mount
diff --git a/units/meson.build b/units/meson.build
index a9bf28f6d9..739fd84d2c 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -165,6 +165,8 @@ units = [
['umount.target', ''],
['usb-gadget.target', ''],
['user.slice', ''],
+ ['var-run.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'],
+ ['var-lock.mount', 'HAVE_SYSV_COMPAT', 'local-fs.target.wants/'],
['var-lib-machines.mount', 'ENABLE_MACHINED',
'remote-fs.target.wants/ machines.target.wants/'],
['systemd-oomd.socket', 'ENABLE_OOMD'],
diff --git a/units/var-lock.mount b/units/var-lock.mount
new file mode 100644
index 0000000000..07277adac3
--- /dev/null
+++ b/units/var-lock.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Lock Directory
+Before=local-fs.target
+# skip mounting if the directory does not exist or is a symlink
+ConditionPathIsDirectory=/var/lock
+ConditionPathIsSymbolicLink=!/var/lock
+
+[Mount]
+What=/run/lock
+Where=/var/lock
+Type=bind
+Options=bind
diff --git a/units/var-run.mount b/units/var-run.mount
new file mode 100644
index 0000000000..ab4da424c9
--- /dev/null
+++ b/units/var-run.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+[Unit]
+Description=Runtime Directory
+Before=local-fs.target
+# skip mounting if the directory does not exist or is a symlink
+ConditionPathIsDirectory=/var/run
+ConditionPathIsSymbolicLink=!/var/run
+
+[Mount]
+What=/run
+Where=/var/run
+Type=bind
+Options=bind
--
2.34.1

View File

@ -1,75 +0,0 @@
From 7e094b534978a8c5e980271a00ebccdba98ae6f7 Mon Sep 17 00:00:00 2001
From: Franck Bui <fbui@suse.com>
Date: Wed, 15 Mar 2023 19:48:52 +0100
Subject: [PATCH 5001/5001] Revert "core: propagate stop too if restart is
issued"
This reverts commit 017a7ba4f406adcf69d6b3ec15b9f2d9ed5ad853.
Until https://github.com/systemd/systemd/issues/26839 is properly fixed.
---
src/core/transaction.c | 42 +++++++++++++++---------------------------
1 file changed, 15 insertions(+), 27 deletions(-)
diff --git a/src/core/transaction.c b/src/core/transaction.c
index a6fd184e33..9689d5faab 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -1047,39 +1047,27 @@ int transaction_add_job_and_dependencies(
}
if (IN_SET(type, JOB_STOP, JOB_RESTART)) {
- _cleanup_set_free_ Set *propagated_restart = NULL;
+ UnitDependencyAtom atom;
+ JobType ptype;
+
/* We propagate STOP as STOP, but RESTART only as TRY_RESTART, in order not to start
* dependencies that are not around. */
+ if (type == JOB_RESTART) {
+ atom = UNIT_ATOM_PROPAGATE_RESTART;
+ ptype = JOB_TRY_RESTART;
+ } else {
+ ptype = JOB_STOP;
+ atom = UNIT_ATOM_PROPAGATE_STOP;
+ }
- if (type == JOB_RESTART)
- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_RESTART) {
- JobType nt;
-
- r = set_ensure_put(&propagated_restart, NULL, dep);
- if (r < 0)
- return r;
-
- nt = job_type_collapse(JOB_TRY_RESTART, dep);
- if (nt == JOB_NOP)
- continue;
-
- r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e);
- if (r < 0) {
- if (r != -EBADR) /* job type not applicable */
- return r;
-
- sd_bus_error_free(e);
- }
- }
+ UNIT_FOREACH_DEPENDENCY(dep, ret->unit, atom) {
+ JobType nt;
- /* The 'stop' part of a restart job is also propagated to
- * units with UNIT_ATOM_PROPAGATE_STOP */
- UNIT_FOREACH_DEPENDENCY(dep, ret->unit, UNIT_ATOM_PROPAGATE_STOP) {
- /* Units experienced restart propagation are skipped */
- if (set_contains(propagated_restart, dep))
+ nt = job_type_collapse(ptype, dep);
+ if (nt == JOB_NOP)
continue;
- r = transaction_add_job_and_dependencies(tr, JOB_STOP, dep, ret, true, false, false, ignore_order, e);
+ r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, false, false, ignore_order, e);
if (r < 0) {
if (r != -EBADR) /* job type not applicable */
return r;
--
2.35.3

View File

@ -21,6 +21,7 @@
%{_mandir}/man3/SD_BUS_ERROR_INCONSISTENT_MESSAGE.3.gz
%{_mandir}/man3/SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED.3.gz
%{_mandir}/man3/SD_BUS_ERROR_INVALID_ARGS.3.gz
%{_mandir}/man3/SD_BUS_ERROR_INVALID_FILE_CONTENT.3.gz
%{_mandir}/man3/SD_BUS_ERROR_INVALID_SIGNATURE.3.gz
%{_mandir}/man3/SD_BUS_ERROR_IO_ERROR.3.gz
%{_mandir}/man3/SD_BUS_ERROR_LIMITS_EXCEEDED.3.gz
@ -35,8 +36,11 @@
%{_mandir}/man3/SD_BUS_ERROR_NO_REPLY.3.gz
%{_mandir}/man3/SD_BUS_ERROR_NO_SERVER.3.gz
%{_mandir}/man3/SD_BUS_ERROR_NULL.3.gz
%{_mandir}/man3/SD_BUS_ERROR_OBJECT_PATH_IN_USE.3.gz
%{_mandir}/man3/SD_BUS_ERROR_PROPERTY_READ_ONLY.3.gz
%{_mandir}/man3/SD_BUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN.3.gz
%{_mandir}/man3/SD_BUS_ERROR_SERVICE_UNKNOWN.3.gz
%{_mandir}/man3/SD_BUS_ERROR_TIMED_OUT.3.gz
%{_mandir}/man3/SD_BUS_ERROR_TIMEOUT.3.gz
%{_mandir}/man3/SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN.3.gz
%{_mandir}/man3/SD_BUS_ERROR_UNKNOWN_INTERFACE.3.gz
@ -108,9 +112,11 @@
%{_mandir}/man3/SD_JOURNAL_RUNTIME_ONLY.3.gz
%{_mandir}/man3/SD_JOURNAL_SUPPRESS_LOCATION.3.gz
%{_mandir}/man3/SD_JOURNAL_SYSTEM.3.gz
%{_mandir}/man3/SD_JOURNAL_TAKE_DIRECTORY_FD.3.gz
%{_mandir}/man3/SD_LISTEN_FDS_START.3.gz
%{_mandir}/man3/SD_NOTICE.3.gz
%{_mandir}/man3/SD_WARNING.3.gz
%{_mandir}/man3/libsystemd.3.gz
%{_mandir}/man3/libudev.3.gz
%{_mandir}/man3/sd-bus-errors.3.gz
%{_mandir}/man3/sd-bus.3.gz
@ -454,6 +460,7 @@
%{_mandir}/man3/sd_event_add_inotify.3.gz
%{_mandir}/man3/sd_event_add_inotify_fd.3.gz
%{_mandir}/man3/sd_event_add_io.3.gz
%{_mandir}/man3/sd_event_add_memory_pressure.3.gz
%{_mandir}/man3/sd_event_add_post.3.gz
%{_mandir}/man3/sd_event_add_signal.3.gz
%{_mandir}/man3/sd_event_add_time.3.gz
@ -508,6 +515,7 @@
%{_mandir}/man3/sd_event_source_get_time_clock.3.gz
%{_mandir}/man3/sd_event_source_get_userdata.3.gz
%{_mandir}/man3/sd_event_source_is_ratelimited.3.gz
%{_mandir}/man3/sd_event_source_leave_ratelimit.3.gz
%{_mandir}/man3/sd_event_source_ref.3.gz
%{_mandir}/man3/sd_event_source_send_child_signal.3.gz
%{_mandir}/man3/sd_event_source_set_child_pidfd_own.3.gz
@ -520,6 +528,8 @@
%{_mandir}/man3/sd_event_source_set_io_events.3.gz
%{_mandir}/man3/sd_event_source_set_io_fd.3.gz
%{_mandir}/man3/sd_event_source_set_io_fd_own.3.gz
%{_mandir}/man3/sd_event_source_set_memory_pressure_period.3.gz
%{_mandir}/man3/sd_event_source_set_memory_pressure_type.3.gz
%{_mandir}/man3/sd_event_source_set_prepare.3.gz
%{_mandir}/man3/sd_event_source_set_priority.3.gz
%{_mandir}/man3/sd_event_source_set_ratelimit.3.gz
@ -531,6 +541,7 @@
%{_mandir}/man3/sd_event_source_unref.3.gz
%{_mandir}/man3/sd_event_source_unrefp.3.gz
%{_mandir}/man3/sd_event_time_handler_t.3.gz
%{_mandir}/man3/sd_event_trim_memory.3.gz
%{_mandir}/man3/sd_event_unref.3.gz
%{_mandir}/man3/sd_event_unrefp.3.gz
%{_mandir}/man3/sd_event_wait.3.gz
@ -591,6 +602,7 @@
%{_mandir}/man3/sd_journal_get_fd.3.gz
%{_mandir}/man3/sd_journal_get_monotonic_usec.3.gz
%{_mandir}/man3/sd_journal_get_realtime_usec.3.gz
%{_mandir}/man3/sd_journal_get_seqnum.3.gz
%{_mandir}/man3/sd_journal_get_timeout.3.gz
%{_mandir}/man3/sd_journal_get_usage.3.gz
%{_mandir}/man3/sd_journal_has_persistent_files.3.gz
@ -627,6 +639,7 @@
%{_mandir}/man3/sd_journal_sendv.3.gz
%{_mandir}/man3/sd_journal_sendv_with_location.3.gz
%{_mandir}/man3/sd_journal_set_data_threshold.3.gz
%{_mandir}/man3/sd_journal_step_one.3.gz
%{_mandir}/man3/sd_journal_stream_fd.3.gz
%{_mandir}/man3/sd_journal_test_cursor.3.gz
%{_mandir}/man3/sd_journal_wait.3.gz
@ -664,8 +677,10 @@
%{_mandir}/man3/sd_pid_get_user_slice.3.gz
%{_mandir}/man3/sd_pid_get_user_unit.3.gz
%{_mandir}/man3/sd_pid_notify.3.gz
%{_mandir}/man3/sd_pid_notify_barrier.3.gz
%{_mandir}/man3/sd_pid_notify_with_fds.3.gz
%{_mandir}/man3/sd_pid_notifyf.3.gz
%{_mandir}/man3/sd_pid_notifyf_with_fds.3.gz
%{_mandir}/man3/sd_pidfd_get_cgroup.3.gz
%{_mandir}/man3/sd_pidfd_get_machine_name.3.gz
%{_mandir}/man3/sd_pidfd_get_owner_uid.3.gz
@ -681,18 +696,22 @@
%{_mandir}/man3/sd_session_get_class.3.gz
%{_mandir}/man3/sd_session_get_desktop.3.gz
%{_mandir}/man3/sd_session_get_display.3.gz
%{_mandir}/man3/sd_session_get_leader.3.gz
%{_mandir}/man3/sd_session_get_remote_host.3.gz
%{_mandir}/man3/sd_session_get_remote_user.3.gz
%{_mandir}/man3/sd_session_get_seat.3.gz
%{_mandir}/man3/sd_session_get_service.3.gz
%{_mandir}/man3/sd_session_get_start_time.3.gz
%{_mandir}/man3/sd_session_get_state.3.gz
%{_mandir}/man3/sd_session_get_tty.3.gz
%{_mandir}/man3/sd_session_get_type.3.gz
%{_mandir}/man3/sd_session_get_uid.3.gz
%{_mandir}/man3/sd_session_get_username.3.gz
%{_mandir}/man3/sd_session_get_vt.3.gz
%{_mandir}/man3/sd_session_is_active.3.gz
%{_mandir}/man3/sd_session_is_remote.3.gz
%{_mandir}/man3/sd_uid_get_display.3.gz
%{_mandir}/man3/sd_uid_get_login_time.3.gz
%{_mandir}/man3/sd_uid_get_seats.3.gz
%{_mandir}/man3/sd_uid_get_sessions.3.gz
%{_mandir}/man3/sd_uid_get_state.3.gz

View File

@ -42,6 +42,9 @@
%{_mandir}/man8/systemd-sysupdate.8.gz
%{_mandir}/man8/systemd-sysupdate.service.8.gz
%{_mandir}/man8/systemd-sysupdate.timer.8.gz
%if %{with sd_boot}
%{_prefix}/lib/kernel/install.d/60-ukify.install
%endif
%{_systemd_util_dir}/system/initrd-root-fs.target.wants/systemd-repart.service
%{_systemd_util_dir}/system/sysinit.target.wants/systemd-repart.service
%if %{with sd_boot}

View File

@ -101,6 +101,7 @@
%{_bindir}/systemd-cat
%{_bindir}/systemd-cgls
%{_bindir}/systemd-cgtop
%{_bindir}/systemd-confext
%{_bindir}/systemd-creds
%{_bindir}/systemd-delta
%{_bindir}/systemd-detect-virt
@ -226,8 +227,8 @@
%{_libdir}/libnss_myhostname.so.2
%{_libdir}/libnss_systemd.so.2
%endif
%{_libdir}/systemd/libsystemd-core-253.so
%{_libdir}/systemd/libsystemd-shared-253.so
%{_libdir}/systemd/libsystemd-core-254.so
%{_libdir}/systemd/libsystemd-shared-254.so
%if %{without bootstrap}
%{_mandir}/man1/busctl.1.gz
%{_mandir}/man1/hostnamectl.1.gz
@ -235,6 +236,7 @@
%{_mandir}/man1/journalctl.1.gz
%{_mandir}/man1/localectl.1.gz
%{_mandir}/man1/loginctl.1.gz
%{_mandir}/man1/mount.ddi.1.gz
%{_mandir}/man1/systemctl.1.gz
%{_mandir}/man1/systemd-ac-power.1.gz
%{_mandir}/man1/systemd-analyze.1.gz
@ -350,10 +352,13 @@
%{_mandir}/man8/systemd-binfmt.service.8.gz
%{_mandir}/man8/systemd-boot-check-no-failures.8.gz
%{_mandir}/man8/systemd-boot-check-no-failures.service.8.gz
%{_mandir}/man8/systemd-confext.8.gz
%{_mandir}/man8/systemd-confext.service.8.gz
%{_mandir}/man8/systemd-debug-generator.8.gz
%{_mandir}/man8/systemd-environment-d-generator.8.gz
%{_mandir}/man8/systemd-getty-generator.8.gz
%{_mandir}/man8/systemd-halt.service.8.gz
%{_mandir}/man8/systemd-hibernate-resume.service.8.gz
%{_mandir}/man8/systemd-hostnamed.8.gz
%{_mandir}/man8/systemd-hostnamed.service.8.gz
%{_mandir}/man8/systemd-journald-audit.socket.8.gz
@ -375,6 +380,7 @@
%{_mandir}/man8/systemd-run-generator.8.gz
%{_mandir}/man8/systemd-shutdown.8.gz
%{_mandir}/man8/systemd-socket-proxyd.8.gz
%{_mandir}/man8/systemd-soft-reboot.service.8.gz
%{_mandir}/man8/systemd-sysctl.8.gz
%{_mandir}/man8/systemd-sysctl.service.8.gz
%{_mandir}/man8/systemd-sysext.8.gz
@ -405,6 +411,7 @@
%{_pam_vendordir}/systemd-user
%{_sbindir}/halt
%{_sbindir}/init
%{_sbindir}/mount.ddi
%{_sbindir}/poweroff
%{_sbindir}/reboot
%{_sbindir}/shutdown
@ -551,6 +558,7 @@
%{_unitdir}/sockets.target
%{_unitdir}/sockets.target.wants/systemd-journald-dev-log.socket
%{_unitdir}/sockets.target.wants/systemd-journald.socket
%{_unitdir}/soft-reboot.target
%{_unitdir}/sound.target
%{_unitdir}/swap.target
%{_unitdir}/sys-fs-fuse-connections.mount
@ -587,6 +595,7 @@
%{_unitdir}/systemd-ask-password-wall.service
%{_unitdir}/systemd-binfmt.service
%{_unitdir}/systemd-boot-check-no-failures.service
%{_unitdir}/systemd-confext.service
%{_unitdir}/systemd-exit.service
%{_unitdir}/systemd-halt.service
%{_unitdir}/systemd-hostnamed.service
@ -604,6 +613,7 @@
%{_unitdir}/systemd-logind.service
%{_unitdir}/systemd-machine-id-commit.service
%{_unitdir}/systemd-poweroff.service
%{_unitdir}/systemd-soft-reboot.service
%{_unitdir}/systemd-sysctl.service
%{_unitdir}/systemd-sysext.service
%{_unitdir}/systemd-sysusers.service

View File

@ -22,8 +22,6 @@
%{_systemdgeneratordir}/systemd-rc-local-generator
%{_systemdgeneratordir}/systemd-sysv-generator
%{_unitdir}/graphical.target.wants/systemd-update-utmp-runlevel.service
%{_unitdir}/local-fs.target.wants/var-lock.mount
%{_unitdir}/local-fs.target.wants/var-run.mount
%{_unitdir}/multi-user.target.wants/systemd-update-utmp-runlevel.service
%{_unitdir}/rc-local.service
%{_unitdir}/rescue.target.wants/systemd-update-utmp-runlevel.service
@ -38,8 +36,6 @@
%{_unitdir}/systemd-initctl.service
%{_unitdir}/systemd-initctl.socket
%{_unitdir}/systemd-update-utmp-runlevel.service
%{_unitdir}/var-lock.mount
%{_unitdir}/var-run.mount
%if %{with split_usr}
/sbin/runlevel
/sbin/telinit

View File

@ -4,6 +4,7 @@
%config(noreplace) %{_sysconfdir}/systemd/pstore.conf
%config(noreplace) %{_sysconfdir}/systemd/sleep.conf
%config(noreplace) %{_sysconfdir}/systemd/timesyncd.conf
%config(noreplace) %{_sysconfdir}/udev/iocost.conf
%config(noreplace) %{_sysconfdir}/udev/udev.conf
%if %{without bootstrap}
%dir %{_libdir}/cryptsetup
@ -22,6 +23,7 @@
%dir %{_systemd_util_dir}/system-sleep
%dir %{_udevhwdbdir}
%dir %{_udevrulesdir}
%dir %{_unitdir}/initrd.target.wants
%doc %{_udevhwdbdir}/README
%doc %{_udevrulesdir}/README
%ghost %attr(0600,root,root) %{_localstatedir}/lib/systemd/random-seed
@ -55,6 +57,7 @@
%{_mandir}/man1/systemd-cryptenroll.1.gz
%{_mandir}/man5/crypttab.5.gz
%{_mandir}/man5/integritytab.5.gz
%{_mandir}/man5/iocost.conf.5.gz
%{_mandir}/man5/modules-load.d.5.gz
%{_mandir}/man5/pstore.conf.5.gz
%{_mandir}/man5/pstore.conf.d.5.gz
@ -66,10 +69,14 @@
%{_mandir}/man5/vconsole.conf.5.gz
%{_mandir}/man5/veritytab.5.gz
%{_mandir}/man7/hwdb.7.gz
%{_mandir}/man7/smbios-type-11.7.gz
%{_mandir}/man7/systemd.image-policy.7.gz
%{_mandir}/man7/udev.7.gz
%{_mandir}/man8/kernel-install.8.gz
%{_mandir}/man8/systemd-backlight.8.gz
%{_mandir}/man8/systemd-backlight@.service.8.gz
%{_mandir}/man8/systemd-battery-check.8.gz
%{_mandir}/man8/systemd-battery-check.service.8.gz
%{_mandir}/man8/systemd-cryptsetup-generator.8.gz
%{_mandir}/man8/systemd-cryptsetup.8.gz
%{_mandir}/man8/systemd-cryptsetup@.service.8.gz
@ -84,7 +91,6 @@
%{_mandir}/man8/systemd-growfs@.service.8.gz
%{_mandir}/man8/systemd-hibernate-resume-generator.8.gz
%{_mandir}/man8/systemd-hibernate-resume.8.gz
%{_mandir}/man8/systemd-hibernate-resume@.service.8.gz
%{_mandir}/man8/systemd-hibernate.service.8.gz
%{_mandir}/man8/systemd-hwdb.8.gz
%{_mandir}/man8/systemd-hybrid-sleep.service.8.gz
@ -140,12 +146,14 @@
%{_prefix}/lib/udev/dmi_memory_id
%endif
%{_prefix}/lib/udev/fido_id
%{_prefix}/lib/udev/iocost
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_systemd_util_dir}/network/99-default.link
%{_systemd_util_dir}/ntp-units.d/80-systemd-timesync.list
%{_systemd_util_dir}/systemd-backlight
%{_systemd_util_dir}/systemd-battery-check
%if %{without bootstrap}
%{_systemd_util_dir}/systemd-cryptsetup
%endif
@ -220,6 +228,7 @@
%{_udevrulesdir}/60-autosuspend.rules
%{_udevrulesdir}/60-block.rules
%{_udevrulesdir}/60-cdrom_id.rules
%{_udevrulesdir}/60-dmi-id.rules
%{_udevrulesdir}/60-drm.rules
%{_udevrulesdir}/60-evdev.rules
%{_udevrulesdir}/60-fido-id.rules
@ -249,6 +258,7 @@
%endif
%{_udevrulesdir}/80-net-setup-link.rules
%{_udevrulesdir}/81-net-dhcp.rules
%{_udevrulesdir}/90-iocost.rules
%{_udevrulesdir}/90-vconsole.rules
%if %{without bootstrap}
%{_unitdir}/cryptsetup-pre.target
@ -261,6 +271,7 @@
%{_unitdir}/initrd-root-device.target.wants/remote-veritysetup.target
%endif
%{_unitdir}/initrd-udevadm-cleanup-db.service
%{_unitdir}/initrd.target.wants/systemd-battery-check.service
%if %{without bootstrap}
%{_unitdir}/integritysetup-pre.target
%{_unitdir}/integritysetup.target
@ -289,14 +300,15 @@
%if %{without bootstrap}
%{_unitdir}/sysinit.target.wants/veritysetup.target
%{_unitdir}/system-systemd\x2dcryptsetup.slice
%{_unitdir}/system-systemd\x2dveritysetup.slice
%endif
%{_unitdir}/systemd-backlight@.service
%{_unitdir}/systemd-battery-check.service
%{_unitdir}/systemd-firstboot.service
%{_unitdir}/systemd-fsck-root.service
%{_unitdir}/systemd-fsck@.service
%{_unitdir}/systemd-growfs-root.service
%{_unitdir}/systemd-growfs@.service
%{_unitdir}/systemd-hibernate-resume@.service
%{_unitdir}/systemd-hibernate.service
%{_unitdir}/systemd-hwdb-update.service
%{_unitdir}/systemd-hybrid-sleep.service

View File

@ -22,8 +22,8 @@
%{_mandir}/man8/systemd-boot-random-seed.service.8.gz
%endif
# These are the few exceptions where glob pattern is allowed.
%{_systemd_util_dir}/boot/efi/addon*.efi.stub
%{_systemd_util_dir}/boot/efi/linux*.efi.stub
%{_systemd_util_dir}/boot/efi/linux*.elf.stub
%{_systemd_util_dir}/boot/efi/systemd-boot*.efi
%{_systemd_util_dir}/systemd-bless-boot
%{_systemdgeneratordir}/systemd-bless-boot-generator

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f98d7387f9ec510d76d955a6353a5033ca8102d624dbd0dbc0b0831743f09ce
size 8282492

3
systemd-v254.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:48f946c3057a8eb2c31ec71ead9d526ec3ce90460fc397b1e84316f99380f148
size 10345996

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Wed Aug 16 08:48:58 UTC 2023 - Franck Bui <fbui@suse.com>
- Upgrade to v254.1 (commit 208a21833b6953a2517a6c3f8f4849c6664b01be)
See https://github.com/openSUSE/systemd/blob/SUSE/v254/NEWS for details.
This includes the following bug fixes:
- upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141)
- upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340)
- upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606)
- upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185)
* Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix
for https://github.com/systemd/systemd/issues/26839 has been integrated in
v254.
* Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's
part of v254.
* Drop 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch, it's
no more needed these days.
* Rebase 0001-conf-parser-introduce-early-drop-ins.patch
-------------------------------------------------------------------
Fri Aug 11 08:31:12 UTC 2023 - Franck Bui <fbui@suse.com>

View File

@ -19,7 +19,7 @@
%global flavor @BUILD_FLAVOR@%{nil}
%define min_kernel_version 4.5
%define archive_version +suse.32.gfcdb2dd2c9
%define archive_version %{nil}
%define _testsuitedir %{_systemd_util_dir}/tests
%define xinitconfdir %{?_distconfdir}%{!?_distconfdir:%{_sysconfdir}}/X11/xinit
@ -75,7 +75,7 @@
Name: systemd%{?mini}
URL: http://www.freedesktop.org/wiki/Software/systemd
Version: 253.8
Version: 254.1
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1-or-later
@ -196,12 +196,11 @@ Source209: files.homed
# All changes backported from upstream are tracked by the git repository, which
# can be found at: https://github.com/openSUSE/systemd.
#
# Patches listed below are openSUSE specific and should be kept at its
# Patches listed below are openSUSE specific ones and should be kept at its
# minimum. We try hard to push our changes to upstream but sometimes they are
# only relevant for SUSE distros. Special rewards for those who will manage to
# get rid of one of them !
#
Patch1: 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch
Patch2: 0001-conf-parser-introduce-early-drop-ins.patch
Patch3: 0009-pid1-handle-console-specificities-weirdness-for-s390.patch
%if %{with sysvcompat}
@ -215,7 +214,6 @@ Patch5: 0008-sysv-generator-translate-Required-Start-into-a-Wants.patch
# worked around quickly. In these cases, the patches are added temporarily and
# will be removed as soon as a proper fix will be merged by upstream.
Patch5000: 5000-core-manager-run-generators-directly-when-we-are-in-.patch
Patch5001: 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -402,8 +400,8 @@ Visit https://systemd.io/COREDUMP for more details.
%package boot
Summary: A simple UEFI boot manager
License: LGPL-2.1-or-later
BuildRequires: gnu-efi
BuildRequires: pesign-obs-integration
BuildRequires: python3-pyelftools
%description boot
This package provides systemd-boot (short: sd-boot), which is a simple UEFI boot
@ -770,7 +768,7 @@ export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"
-Dportabled=%{when portabled} \
-Dremote=%{when journal_remote} \
\
-Dgnu-efi=%{when sd_boot} \
-Dbootloader=%{when sd_boot} \
-Defi-color-highlight="black,green" \
\
-Dsbat-distro="%{?sbat_distro}" \
@ -1337,13 +1335,13 @@ fi
%defattr(-,root,root)
%license LICENSE.LGPL2.1
%{_libdir}/libsystemd.so.0
%{_libdir}/libsystemd.so.0.36.0
%{_libdir}/libsystemd.so.0.37.0
%files -n libudev%{?mini}1
%defattr(-,root,root)
%license LICENSE.LGPL2.1
%{_libdir}/libudev.so.1
%{_libdir}/libudev.so.1.7.6
%{_libdir}/libudev.so.1.7.7
%if %{with coredump}
%files coredump