From fa9b776f47ad90a7d63ad6964eb1f798b98a03e70537f262b272f88e03db67c6 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 17 Apr 2020 22:29:56 +0000 Subject: [PATCH] Accepting request 794369 from Base:System OBS-URL: https://build.opensuse.org/request/show/794369 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=306 --- ...-mark-as-redundant-if-deps-are-relev.patch | 155 ++++++++++++++++++ ...of-udev-path_id_compat-builtin-with-.patch | 27 +++ systemd-mini.changes | 64 ++++++++ systemd-mini.spec | 14 +- systemd-v244+suse.138.gf8adabc2b1.tar.xz | 3 - systemd-v245+suse.83.gc5aa158173.tar.xz | 3 + systemd.changes | 64 ++++++++ systemd.spec | 14 +- 8 files changed, 337 insertions(+), 7 deletions(-) create mode 100644 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch create mode 100644 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch delete mode 100644 systemd-v244+suse.138.gf8adabc2b1.tar.xz create mode 100644 systemd-v245+suse.83.gc5aa158173.tar.xz diff --git a/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch new file mode 100644 index 00000000..8208646f --- /dev/null +++ b/0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch @@ -0,0 +1,155 @@ +From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Wed, 18 Mar 2020 16:18:46 +0100 +Subject: [PATCH 1/1] Revert "job: Don't mark as redundant if deps are + relevant" + +This reverts commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533, which involves a +significant behavior change which at least impacts plymouth [1] and some of the +services shipped by systemd (systemd-vconsole-setup.service). + +Of course some other units shipped by other packages might rely on the old +behavior [2], which makes me wonder why this patch wasn't simply reverted until +the situation gets clarified, at least that what the author of the change +thinks too [3]. + +[1] https://bugzilla.redhat.com/show_bug.cgi?id=1807771 +[2] https://github.com/systemd/systemd/issues/15091#issuecomment-598238061 +[3] https://github.com/systemd/systemd/pull/14086#issuecomment-598600479 +--- + src/core/job.c | 51 +++++++------------------------------------------- + src/core/job.h | 3 +-- + src/core/transaction.c | 8 ++++---- + 3 files changed, 12 insertions(+), 50 deletions(-) + +diff --git a/src/core/job.c b/src/core/job.c +index 9fe30359df..8610496109 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -383,62 +383,25 @@ JobType job_type_lookup_merge(JobType a, JobType b) { + return job_merging_table[(a - 1) * a / 2 + b]; + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation) { +- JobDependency *l; +- +- assert(j); +- +- j->generation = generation; +- +- LIST_FOREACH(subject, l, j->subject_list) { +- UnitActiveState state = _UNIT_ACTIVE_STATE_INVALID; +- +- /* Have we seen this before? */ +- if (l->object->generation == generation) +- continue; +- +- state = unit_active_state(l->object->unit); +- switch (type) { +- +- case JOB_START: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) || +- job_later_link_matters(l->object, type, generation); +- +- case JOB_STOP: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) || +- job_later_link_matters(l->object, type, generation); +- +- default: +- assert_not_reached("Invalid job type"); +- } +- } +- +- return false; +-} +- +-bool job_is_redundant(Job *j, unsigned generation) { +- +- assert(j); +- +- UnitActiveState state = unit_active_state(j->unit); +- switch (j->type) { ++bool job_type_is_redundant(JobType a, UnitActiveState b) { ++ switch (a) { + + case JOB_START: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING) && !job_later_link_matters(j, JOB_START, generation); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_STOP: +- return IN_SET(state, UNIT_INACTIVE, UNIT_FAILED) && !job_later_link_matters(j, JOB_STOP, generation); ++ return IN_SET(b, UNIT_INACTIVE, UNIT_FAILED); + + case JOB_VERIFY_ACTIVE: +- return IN_SET(state, UNIT_ACTIVE, UNIT_RELOADING); ++ return IN_SET(b, UNIT_ACTIVE, UNIT_RELOADING); + + case JOB_RELOAD: + return +- state == UNIT_RELOADING; ++ b == UNIT_RELOADING; + + case JOB_RESTART: + return +- state == UNIT_ACTIVATING; ++ b == UNIT_ACTIVATING; + + case JOB_NOP: + return true; +diff --git a/src/core/job.h b/src/core/job.h +index 02b057ee06..03ad640618 100644 +--- a/src/core/job.h ++++ b/src/core/job.h +@@ -196,8 +196,7 @@ _pure_ static inline bool job_type_is_superset(JobType a, JobType b) { + return a == job_type_lookup_merge(a, b); + } + +-bool job_later_link_matters(Job *j, JobType type, unsigned generation); +-bool job_is_redundant(Job *j, unsigned generation); ++bool job_type_is_redundant(JobType a, UnitActiveState b) _pure_; + + /* Collapses a state-dependent job type into a simpler type by observing + * the state of the unit which it is going to be applied to. */ +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 49f43e0327..6dc4e95beb 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -279,7 +279,7 @@ static int transaction_merge_jobs(Transaction *tr, sd_bus_error *e) { + return 0; + } + +-static void transaction_drop_redundant(Transaction *tr, unsigned generation) { ++static void transaction_drop_redundant(Transaction *tr) { + bool again; + + /* Goes through the transaction and removes all jobs of the units whose jobs are all noops. If not +@@ -299,7 +299,7 @@ static void transaction_drop_redundant(Transaction *tr, unsigned generation) { + + LIST_FOREACH(transaction, k, j) + if (tr->anchor_job == k || +- !job_is_redundant(k, generation) || ++ !job_type_is_redundant(k->type, unit_active_state(k->unit)) || + (k->unit->job && job_type_is_conflicting(k->type, k->unit->job->type))) { + keep = true; + break; +@@ -732,7 +732,7 @@ int transaction_activate( + transaction_minimize_impact(tr); + + /* Third step: Drop redundant jobs */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + for (;;) { + /* Fourth step: Let's remove unneeded jobs that might +@@ -774,7 +774,7 @@ int transaction_activate( + } + + /* Eights step: Drop redundant jobs again, if the merging now allows us to drop more. */ +- transaction_drop_redundant(tr, generation++); ++ transaction_drop_redundant(tr); + + /* Ninth step: check whether we can actually apply this */ + r = transaction_is_destructive(tr, mode, e); +-- +2.16.4 + diff --git a/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch new file mode 100644 index 00000000..eec892b1 --- /dev/null +++ b/0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch @@ -0,0 +1,27 @@ +From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001 +From: Franck Bui +Date: Mon, 6 Apr 2020 11:50:29 +0200 +Subject: [PATCH 1/1] meson: fix build of udev 'path_id_compat' builtin with + meson 0.54 + +Since meson 0.54, branch compats/udev-compat-symlinks needs this fix but it +should be applied while merging compats/udev-compat-symlinks branch. +--- + src/udev/compat/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/udev/compat/meson.build b/src/udev/compat/meson.build +index 3d683c7ce9..18df75222d 100644 +--- a/src/udev/compat/meson.build ++++ b/src/udev/compat/meson.build +@@ -4,7 +4,6 @@ foreach prog : ['path_id_compat.c'] + prog, + include_directories : includes, + c_args : ['-DLOG_REALM=LOG_REALM_UDEV'], +- link_with : [libudev_internal], + link_with : [libudev_static], + install_rpath : udev_rpath, + install : true, +-- +2.16.4 + diff --git a/systemd-mini.changes b/systemd-mini.changes index d82f8db4..c744640f 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd-mini.spec b/systemd-mini.spec index 8bca5950..df5cbc16 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -26,7 +26,7 @@ ##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### %define mini -mini %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -55,7 +55,7 @@ Name: systemd-mini URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -167,6 +167,8 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -514,6 +516,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ @@ -1093,6 +1101,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1537,6 +1546,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service diff --git a/systemd-v244+suse.138.gf8adabc2b1.tar.xz b/systemd-v244+suse.138.gf8adabc2b1.tar.xz deleted file mode 100644 index 39fec5db..00000000 --- a/systemd-v244+suse.138.gf8adabc2b1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5 -size 5784940 diff --git a/systemd-v245+suse.83.gc5aa158173.tar.xz b/systemd-v245+suse.83.gc5aa158173.tar.xz new file mode 100644 index 00000000..87332152 --- /dev/null +++ b/systemd-v245+suse.83.gc5aa158173.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8 +size 6156740 diff --git a/systemd.changes b/systemd.changes index d82f8db4..c744640f 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,67 @@ +------------------------------------------------------------------- +Wed Apr 15 19:06:27 UTC 2020 - Franck Bui + +- Switch back to the hybrid hierarchy + + Unfortunately Kubernetes and runc are not yet ready for + cgroupsv2. Let's reconsider the unified hierarchy in a couple of + months. + +------------------------------------------------------------------- +Mon Apr 6 12:42:01 UTC 2020 - Franck Bui + +- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4) + +------------------------------------------------------------------- +Mon Apr 6 10:02:33 UTC 2020 - Franck Bui + +- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch + +------------------------------------------------------------------- +Thu Mar 19 09:32:41 UTC 2020 - Franck Bui + +- Import commit 31f82b39c811b4f731c80c2c2e7c56a0ca924a5b (merge v245.2) + + d1d3f2aa15 docs: Add syntax for templated units to systemd.preset man page + 3c69813c69 man: add a tiny bit of markup + bf595e788c home: fix segfault when parsing arguments in PAM module + e110f4dacb test: wait a bit after starting the test service + e8df08cfdb fix journalctl regression (#15099) + eb3a38cc23 NEWS: add late note about job trimming issue + 405f0fcfdd systemctl: hide the 'glyph' column when --no-legend is requested + 1c7de81f89 format-table: allow hiding a specific column + b7f2308bda core: transition to FINAL_SIGTERM state after ExecStopPost= + 2867dfbf70 journalctl: show duplicate entries if they are from the same file (#14898) + [...] + +------------------------------------------------------------------- +Wed Mar 18 14:09:57 UTC 2020 - Franck Bui + +- Upgrade to v245 (commit 74e2e834b4282c9bbdc12014f6ccf8d86e542b8d) + + See https://github.com/openSUSE/systemd/blob/SUSE/v245/NEWS for + details. + + The new tools provided by systemd repart, userdb, homed, fdisk, + pwquality, p11kit feature have been disabled for now as they require + reviews first. + + Default to the "unified" cgroup hierarchy. Indeed most prominent + users of cgroup (such as libvirt, kubic) should be ready for such + change. It's still possible to switch back to the old "hybrid" + hierarchy by passing "systemd.unified_cgroup_hierarchy=0" option to + the kernel command line though. + + Added 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch: + upstream commit 097537f07a2fab3cb73aef7bc59f2a66aa93f533 has been + reverted for now on as it introduced a behavior change which has + impacted plymouth at least. + +------------------------------------------------------------------- +Fri Mar 13 13:15:10 UTC 2020 - Elisei Roca + +- add systemd-network-generator.service file together with systemd-network-generator binary + ------------------------------------------------------------------- Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel diff --git a/systemd.spec b/systemd.spec index 2e36aa55..293d7fef 100644 --- a/systemd.spec +++ b/systemd.spec @@ -24,7 +24,7 @@ %define bootstrap 0 %define mini %nil %define min_kernel_version 4.5 -%define suse_version +suse.138.gf8adabc2b1 +%define suse_version +suse.83.gc5aa158173 %bcond_with gnuefi %if 0%{?bootstrap} @@ -53,7 +53,7 @@ Name: systemd URL: http://www.freedesktop.org/wiki/Software/systemd -Version: 244 +Version: 245 Release: 0 Summary: A System and Session Manager License: LGPL-2.1-or-later @@ -165,6 +165,8 @@ Source102: scripts-systemd-migrate-sysconfig-i18n.sh # merged by upstream. Patch1: 0001-SUSE-policy-do-not-clean-tmp-by-default.patch Patch2: 0001-Fix-run-lock-group-to-follow-openSUSE-policy.patch +Patch3: 0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch +Patch4: 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -512,6 +514,12 @@ ntp_servers=({0..3}.suse.pool.ntp.org) -Dima=false \ -Delfutils=auto \ -Dpstore=false \ + -Drepart=false \ + -Duserdb=false \ + -Dhomed=false \ + -Dfdisk=false \ + -Dpwquality=false \ + -Dp11kit=false \ %if ! 0%{?bootstrap} -Dman=true \ -Dhtml=true \ @@ -1091,6 +1099,7 @@ fi %exclude %{_prefix}/lib/systemd/systemd-network-generator %exclude %{_prefix}/lib/systemd/systemd-networkd %exclude %{_prefix}/lib/systemd/systemd-networkd-wait-online +%exclude %{_unitdir}/systemd-network-generator.service %exclude %{_unitdir}/systemd-networkd.service %exclude %{_unitdir}/systemd-networkd.socket %exclude %{_unitdir}/systemd-networkd-wait-online.service @@ -1535,6 +1544,7 @@ fi %{_prefix}/lib/systemd/systemd-network-generator %{_prefix}/lib/systemd/systemd-networkd %{_prefix}/lib/systemd/systemd-networkd-wait-online +%{_unitdir}/systemd-network-generator.service %{_unitdir}/systemd-networkd.service %{_unitdir}/systemd-networkd.socket %{_unitdir}/systemd-networkd-wait-online.service