forked from pool/systemd
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
This commit is contained in:
commit
db5ab5bbd4
155
0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch
Normal file
155
0001-Revert-job-Don-t-mark-as-redundant-if-deps-are-relev.patch
Normal file
@ -0,0 +1,155 @@
|
||||
From a9906d1f4aeeaa39a2d57563d23cb7cdd9283bf8 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
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
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 525cbb666e260770ad191d06dac0ab79e341bbe2 Mon Sep 17 00:00:00 2001
|
||||
From: Franck Bui <fbui@suse.com>
|
||||
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
|
||||
|
@ -1,3 +1,67 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 15 19:06:27 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- 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 <fbui@suse.com>
|
||||
|
||||
- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 6 10:02:33 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 19 09:32:41 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- 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 <fbui@suse.com>
|
||||
|
||||
- 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 <eroca@suse.com>
|
||||
|
||||
- add systemd-network-generator.service file together with systemd-network-generator binary
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c7c4ae099d4a421225778043d0ce9bb9f3d3a59186eb7da173e5f35edbc218c5
|
||||
size 5784940
|
3
systemd-v245+suse.83.gc5aa158173.tar.xz
Normal file
3
systemd-v245+suse.83.gc5aa158173.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3b009a26844f93454787168fceccca97ab585f628ec937bbc4be501d6c6ab3f8
|
||||
size 6156740
|
@ -1,3 +1,67 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 15 19:06:27 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- 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 <fbui@suse.com>
|
||||
|
||||
- Import commit c5aa158173ced05201182d1cc18632a25cf43b94 (merge v245.4)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 6 10:02:33 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- Add 0001-meson-fix-build-of-udev-path_id_compat-builtin-with-.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 19 09:32:41 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||
|
||||
- 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 <fbui@suse.com>
|
||||
|
||||
- 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 <eroca@suse.com>
|
||||
|
||||
- add systemd-network-generator.service file together with systemd-network-generator binary
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 19 17:24:35 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
|
||||
|
||||
|
14
systemd.spec
14
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
|
||||
|
Loading…
Reference in New Issue
Block a user