Merge branch 'master' into f33
This commit is contained in:
commit
6168715468
|
@ -1,8 +1,8 @@
|
|||
From c491e46a741ad8603aeb7ec518fefc6a307b251d Mon Sep 17 00:00:00 2001
|
||||
From 67c6ff720796bc97f262ba93c6ea87da93b04a1a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Fri, 31 Jul 2020 10:36:57 +0200
|
||||
Subject: [PATCH] test-path: do not fail the test if we fail to start a service
|
||||
because of cgroup setup
|
||||
Subject: [PATCH 3/4] test-path: do not fail the test if we fail to start some
|
||||
service
|
||||
|
||||
The test was failing because it couldn't start the service:
|
||||
|
||||
|
@ -30,25 +30,11 @@ In fact any of the services that we try to start may fail, especially
|
|||
considering that we're doing some rogue cgroup operations. See
|
||||
https://github.com/systemd/systemd/pull/16603#issuecomment-679133641.
|
||||
---
|
||||
src/core/execute.h | 2 +-
|
||||
src/test/test-path.c | 89 ++++++++++++++++++++++++++++++--------------
|
||||
2 files changed, 63 insertions(+), 28 deletions(-)
|
||||
src/test/test-path.c | 88 ++++++++++++++++++++++++++++++--------------
|
||||
1 file changed, 61 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/src/core/execute.h b/src/core/execute.h
|
||||
index fc7bc5c24b..b5653451fd 100644
|
||||
--- a/src/core/execute.h
|
||||
+++ b/src/core/execute.h
|
||||
@@ -86,7 +86,7 @@ struct ExecStatus {
|
||||
dual_timestamp exit_timestamp;
|
||||
pid_t pid;
|
||||
int code; /* as in siginfo_t::si_code */
|
||||
- int status; /* as in sigingo_t::si_status */
|
||||
+ int status; /* as in siginfo_t::si_status */
|
||||
};
|
||||
|
||||
/* Stores information about commands we execute. Covers both configuration settings as well as runtime data. */
|
||||
diff --git a/src/test/test-path.c b/src/test/test-path.c
|
||||
index 7d3e35e299..a89503ccea 100644
|
||||
index 84dcf5e37d..d6c37b77e6 100644
|
||||
--- a/src/test/test-path.c
|
||||
+++ b/src/test/test-path.c
|
||||
@@ -77,8 +77,8 @@ static Service *service_for_path(Manager *m, Path *path, const char *service_nam
|
||||
|
@ -62,12 +48,11 @@ index 7d3e35e299..a89503ccea 100644
|
|||
assert_se(m);
|
||||
assert_se(service);
|
||||
|
||||
@@ -102,11 +102,21 @@ static void _check_states(unsigned line,
|
||||
@@ -102,11 +102,20 @@ static void _check_states(unsigned line,
|
||||
service_state_to_string(service->state),
|
||||
service_result_to_string(service->result));
|
||||
|
||||
+ if (service->state == SERVICE_FAILED &&
|
||||
+ service->main_exec_status.status == EXIT_CGROUP)
|
||||
+ if (service->state == SERVICE_FAILED)
|
||||
+ return log_notice_errno(SYNTHETIC_ERRNO(ECANCELED),
|
||||
+ "Failed to start service %s, aborting test: %s/%s",
|
||||
+ UNIT(service)->id,
|
||||
|
@ -84,7 +69,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
}
|
||||
#define check_states(...) _check_states(__LINE__, __VA_ARGS__)
|
||||
|
||||
@@ -124,18 +134,22 @@ static void test_path_exists(Manager *m) {
|
||||
@@ -124,18 +133,22 @@ static void test_path_exists(Manager *m) {
|
||||
service = service_for_path(m, path, NULL);
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
@ -111,7 +96,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
|
||||
assert_se(unit_stop(unit) >= 0);
|
||||
}
|
||||
@@ -154,18 +168,22 @@ static void test_path_existsglob(Manager *m) {
|
||||
@@ -154,18 +167,22 @@ static void test_path_existsglob(Manager *m) {
|
||||
service = service_for_path(m, path, NULL);
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
@ -138,7 +123,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
|
||||
assert_se(unit_stop(unit) >= 0);
|
||||
}
|
||||
@@ -185,23 +203,28 @@ static void test_path_changed(Manager *m) {
|
||||
@@ -185,23 +202,28 @@ static void test_path_changed(Manager *m) {
|
||||
service = service_for_path(m, path, NULL);
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
@ -172,7 +157,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
|
||||
(void) rm_rf(test_path, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
assert_se(unit_stop(unit) >= 0);
|
||||
@@ -222,23 +245,28 @@ static void test_path_modified(Manager *m) {
|
||||
@@ -222,23 +244,28 @@ static void test_path_modified(Manager *m) {
|
||||
service = service_for_path(m, path, NULL);
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
@ -206,7 +191,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
|
||||
(void) rm_rf(test_path, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
assert_se(unit_stop(unit) >= 0);
|
||||
@@ -258,14 +286,17 @@ static void test_path_unit(Manager *m) {
|
||||
@@ -258,14 +285,17 @@ static void test_path_unit(Manager *m) {
|
||||
service = service_for_path(m, path, "path-mycustomunit.service");
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
@ -227,7 +212,7 @@ index 7d3e35e299..a89503ccea 100644
|
|||
|
||||
assert_se(unit_stop(unit) >= 0);
|
||||
}
|
||||
@@ -286,22 +317,26 @@ static void test_path_directorynotempty(Manager *m) {
|
||||
@@ -286,22 +316,26 @@ static void test_path_directorynotempty(Manager *m) {
|
||||
assert_se(access(test_path, F_OK) < 0);
|
||||
|
||||
assert_se(unit_start(unit) >= 0);
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
From f58b96d3e8d1cb0dd3666bc74fa673918b586612 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 14 Sep 2020 17:58:03 +0200
|
||||
Subject: [PATCH] test-mountpointutil-util: do not assert in test_mnt_id()
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1803070
|
||||
|
||||
I *think* this a kernel bug: the mnt_id as listed in /proc/self/mountinfo is different
|
||||
than the one we get from /proc/self/fdinfo/. This only matters when both statx and
|
||||
name_to_handle_at are unavailable and we hit the fallback path that goes through fdinfo:
|
||||
|
||||
(gdb) !uname -r
|
||||
5.6.19-200.fc31.ppc64le
|
||||
|
||||
(gdb) !cat /proc/self/mountinfo
|
||||
697 664 253:0 /var/lib/mock/fedora-31-ppc64le/root / rw,relatime shared:298 master:1 - xfs /dev/mapper/fedora_rh--power--vm14-root rw,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota
|
||||
698 697 253:0 /var/cache/mock/fedora-31-ppc64le/yum_cache /var/cache/yum rw,relatime shared:299 master:1 - xfs /dev/mapper/fedora_rh--power--vm14-root rw,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota
|
||||
699 697 253:0 /var/cache/mock/fedora-31-ppc64le/dnf_cache /var/cache/dnf rw,relatime shared:300 master:1 - xfs /dev/mapper/fedora_rh--power--vm14-root rw,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota
|
||||
700 697 0:32 /mock-selinux-plugin.7me9bfpi /proc/filesystems rw,nosuid,nodev shared:301 master:18 - tmpfs tmpfs rw,seclabel <==========================================================
|
||||
701 697 0:41 / /sys ro,nosuid,nodev,noexec,relatime shared:302 - sysfs sysfs ro,seclabel
|
||||
702 701 0:21 / /sys/fs/selinux ro,nosuid,nodev,noexec,relatime shared:306 master:8 - selinuxfs selinuxfs rw
|
||||
703 697 0:42 / /dev rw,nosuid shared:303 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
704 703 0:43 / /dev/shm rw,nosuid,nodev shared:304 - tmpfs tmpfs rw,seclabel
|
||||
705 703 0:45 / /dev/pts rw,nosuid,noexec,relatime shared:307 - devpts devpts rw,seclabel,gid=5,mode=620,ptmxmode=666
|
||||
706 703 0:6 /btrfs-control /dev/btrfs-control rw,nosuid shared:308 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
707 703 0:6 /loop-control /dev/loop-control rw,nosuid shared:309 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
708 703 0:6 /loop0 /dev/loop0 rw,nosuid shared:310 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
709 703 0:6 /loop1 /dev/loop1 rw,nosuid shared:311 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
710 703 0:6 /loop10 /dev/loop10 rw,nosuid shared:312 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
711 703 0:6 /loop11 /dev/loop11 rw,nosuid shared:313 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
712 703 0:6 /loop2 /dev/loop2 rw,nosuid shared:314 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
713 703 0:6 /loop3 /dev/loop3 rw,nosuid shared:315 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
714 703 0:6 /loop4 /dev/loop4 rw,nosuid shared:316 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
715 703 0:6 /loop5 /dev/loop5 rw,nosuid shared:317 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
716 703 0:6 /loop6 /dev/loop6 rw,nosuid shared:318 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
717 703 0:6 /loop7 /dev/loop7 rw,nosuid shared:319 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
718 703 0:6 /loop8 /dev/loop8 rw,nosuid shared:320 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
719 703 0:6 /loop9 /dev/loop9 rw,nosuid shared:321 master:9 - devtmpfs devtmpfs rw,seclabel,size=4107840k,nr_inodes=64185,mode=755
|
||||
720 697 0:44 / /run rw,nosuid,nodev shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
721 720 0:25 /systemd/nspawn/propagate/9cc8a155d0244558b273f773d2b92142 /run/systemd/nspawn/incoming ro master:12 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
722 697 0:32 /mock-resolv.dvml91hp /etc/resolv.conf rw,nosuid,nodev shared:322 master:18 - tmpfs tmpfs rw,seclabel
|
||||
725 697 0:47 / /proc rw,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
603 725 0:47 /sys /proc/sys ro,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
604 725 0:44 /systemd/inaccessible/reg /proc/kallsyms ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
605 725 0:44 /systemd/inaccessible/reg /proc/kcore ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
606 725 0:44 /systemd/inaccessible/reg /proc/keys ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
607 725 0:44 /systemd/inaccessible/reg /proc/sysrq-trigger ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
608 725 0:44 /systemd/inaccessible/reg /proc/timer_list ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
609 725 0:47 /bus /proc/bus ro,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
610 725 0:47 /fs /proc/fs ro,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
611 725 0:47 /irq /proc/irq ro,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
612 725 0:47 /scsi /proc/scsi ro,nosuid,nodev,noexec,relatime shared:323 - proc proc rw
|
||||
613 703 0:46 / /dev/mqueue rw,nosuid,nodev,noexec,relatime shared:324 - mqueue mqueue rw,seclabel
|
||||
614 701 0:26 / /sys/fs/cgroup rw,nosuid,nodev,noexec,relatime shared:325 - cgroup2 cgroup rw,seclabel,nsdelegate
|
||||
615 603 0:44 /.#proc-sys-kernel-random-boot-id4fbdce67af46d1c2//deleted /proc/sys/kernel/random/boot_id ro,nosuid,nodev,noexec shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
616 725 0:44 /.#proc-sys-kernel-random-boot-id4fbdce67af46d1c2//deleted /proc/sys/kernel/random/boot_id rw,nosuid,nodev shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
617 725 0:44 /.#proc-kmsg5b7a8bcfe6717139//deleted /proc/kmsg rw,nosuid,nodev shared:305 - tmpfs tmpfs rw,seclabel,mode=755
|
||||
|
||||
The test process does
|
||||
name_to_handle_at("/proc/filesystems") which returns -EOPNOTSUPP, and then
|
||||
openat(AT_FDCWD, "/proc/filesystems") which returns 4, and then
|
||||
read(open("/proc/self/fdinfo/4", ...)) which gives
|
||||
"pos:\t0\nflags:\t012100000\nmnt_id:\t725\n"
|
||||
|
||||
and the "725" is clearly inconsistent with "700" in /proc/self/mountinfo.
|
||||
|
||||
We could either drop the fallback path (and fail name_to_handle_at() is not
|
||||
avaliable) or ignore the error in the test. Not sure what is better. I think
|
||||
this issue only occurs sometimes and with older kernels, so probably continuing
|
||||
with the current flaky implementation is better than ripping out the fallback.
|
||||
|
||||
Another strace:
|
||||
writev(2</dev/pts/0>, [{iov_base="mnt ids of /proc/sys is 603", iov_len=27}, {iov_base="\n", iov_len=1}], 2mnt ids of /proc/sys is 603
|
||||
) = 28
|
||||
name_to_handle_at(AT_FDCWD, "/", {handle_bytes=128 => 12, handle_type=129, f_handle=0x52748401000000008b93e20d}, [697], 0) = 0
|
||||
writev(2</dev/pts/0>, [{iov_base="mnt ids of / is 697", iov_len=19}, {iov_base="\n", iov_len=1}], 2mnt ids of / is 697
|
||||
) = 20
|
||||
name_to_handle_at(AT_FDCWD, "/proc/kcore", {handle_bytes=128 => 12, handle_type=1, f_handle=0x92ddcfcd2e802d0100000000}, [605], 0) = 0
|
||||
writev(2</dev/pts/0>, [{iov_base="mnt ids of /proc/kcore is 605", iov_len=29}, {iov_base="\n", iov_len=1}], 2mnt ids of /proc/kcore is 605
|
||||
) = 30
|
||||
name_to_handle_at(AT_FDCWD, "/dev", {handle_bytes=128 => 12, handle_type=1, f_handle=0x8ae269160c802d0100000000}, [703], 0) = 0
|
||||
writev(2</dev/pts/0>, [{iov_base="mnt ids of /dev is 703", iov_len=22}, {iov_base="\n", iov_len=1}], 2mnt ids of /dev is 703
|
||||
) = 23
|
||||
name_to_handle_at(AT_FDCWD, "/proc/filesystems", {handle_bytes=128}, 0x7fffe36ddb84, 0) = -1 EOPNOTSUPP (Operation not supported)
|
||||
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH) = 4</proc/filesystems>
|
||||
openat(AT_FDCWD, "/proc/self/fdinfo/4", O_RDONLY|O_CLOEXEC) = 5</proc/20/fdinfo/4>
|
||||
fstat(5</proc/20/fdinfo/4>, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
|
||||
fstat(5</proc/20/fdinfo/4>, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0
|
||||
read(5</proc/20/fdinfo/4>, "pos:\t0\nflags:\t012100000\nmnt_id:\t725\n", 2048) = 36
|
||||
read(5</proc/20/fdinfo/4>, "", 1024) = 0
|
||||
close(5</proc/20/fdinfo/4>) = 0
|
||||
close(4</proc/filesystems>) = 0
|
||||
writev(2</dev/pts/0>, [{iov_base="mnt ids of /proc/filesystems are 700, 725", iov_len=41}, {iov_base="\n", iov_len=1}], 2mnt ids of /proc/filesystems are 700, 725
|
||||
) = 42
|
||||
writev(2</dev/pts/0>, [{iov_base="the other path for mnt id 725 is /proc", iov_len=38}, {iov_base="\n", iov_len=1}], 2the other path for mnt id 725 is /proc
|
||||
) = 39
|
||||
writev(2</dev/pts/0>, [{iov_base="Assertion 'path_equal(p, t)' failed at src/test/test-mountpoint-util.c:94, function test_mnt_id(). Aborting.", iov_len=108}, {iov_base="\n", iov_len=1}], 2Assertion 'path_equal(p, t)' failed at src/test/test-mountpoint-util.c:94, function test_mnt_id(). Aborting.
|
||||
) = 109
|
||||
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
|
||||
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0
|
||||
getpid() = 20
|
||||
gettid() = 20
|
||||
tgkill(20, 20, SIGABRT) = 0
|
||||
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
|
||||
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=20, si_uid=0} ---
|
||||
+++ killed by SIGABRT (core dumped) +++
|
||||
---
|
||||
src/test/test-mountpoint-util.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c
|
||||
index 30b00ae4d8b..ffe5144b04a 100644
|
||||
--- a/src/test/test-mountpoint-util.c
|
||||
+++ b/src/test/test-mountpoint-util.c
|
||||
@@ -89,8 +89,12 @@ static void test_mnt_id(void) {
|
||||
/* The ids don't match? If so, then there are two mounts on the same path, let's check if
|
||||
* that's really the case */
|
||||
char *t = hashmap_get(h, INT_TO_PTR(mnt_id2));
|
||||
- log_debug("the other path for mnt id %i is %s\n", mnt_id2, t);
|
||||
- assert_se(path_equal(p, t));
|
||||
+ log_debug("Path for mnt id %i from /proc/self/mountinfo is %s\n", mnt_id2, t);
|
||||
+
|
||||
+ if (!path_equal(p, t))
|
||||
+ /* Apparent kernel bug in /proc/self/fdinfo */
|
||||
+ log_warning("Bad mount id given for %s: %d, should be %d",
|
||||
+ p, mnt_id2, mnt_id);
|
||||
}
|
||||
}
|
||||
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (systemd-246.4.tar.gz) = f01c25defa85c3b5373b41cdfb3e940026915ec3bcd0142526be915fc79d41c7456df47128f282ede111d977bd99e93211efa45a8a7d82520622681b3e135de7
|
||||
SHA512 (systemd-246.6.tar.gz) = 1936b291d9831cf61f800fe718a4c2c2fe9b2a11fd817fe32bd48da2087a675dfc91013209a3478ea52e8ada593300ed906e248b8081dcf9141bf1cc17483ea9
|
||||
|
|
|
@ -21,8 +21,11 @@ o_pam = open('.file-list-pam', 'w')
|
|||
o_rpm_macros = open('.file-list-rpm-macros', 'w')
|
||||
o_devel = open('.file-list-devel', 'w')
|
||||
o_container = open('.file-list-container', 'w')
|
||||
o_networkd = open('.file-list-networkd', 'w')
|
||||
o_remote = open('.file-list-remote', 'w')
|
||||
o_tests = open('.file-list-tests', 'w')
|
||||
o_standalone_tmpfiles = open('.file-list-standalone-tmpfiles', 'w')
|
||||
o_standalone_sysusers = open('.file-list-standalone-sysusers', 'w')
|
||||
o_rest = open('.file-list-rest', 'w')
|
||||
for file in files(buildroot):
|
||||
n = file.path[1:]
|
||||
|
@ -51,10 +54,10 @@ for file in files(buildroot):
|
|||
o = o_pam
|
||||
elif '/rpm/' in n:
|
||||
o = o_rpm_macros
|
||||
elif re.search(r'/lib.*\.pc|/man3/|/usr/include|(?<!/libsystemd-shared-...).so$', n):
|
||||
o = o_devel
|
||||
elif '/usr/lib/systemd/tests' in n:
|
||||
o = o_tests
|
||||
elif re.search(r'/lib.*\.pc|/man3/|/usr/include|(?<!/libsystemd-shared-...).so$', n):
|
||||
o = o_devel
|
||||
elif re.search(r'''journal-(remote|gateway|upload)|
|
||||
systemd-remote\.conf|
|
||||
/usr/share/systemd/gatewayd|
|
||||
|
@ -69,10 +72,17 @@ for file in files(buildroot):
|
|||
/machine.slice|
|
||||
/machines.target|
|
||||
var-lib-machines.mount|
|
||||
network/80-container-v[ez]|
|
||||
network/80-container|
|
||||
network/80-vm|
|
||||
org.freedesktop.(import|machine)1
|
||||
''', n, re.X):
|
||||
o = o_container
|
||||
elif re.search(r'''/usr/lib/systemd/network/..-wifi|
|
||||
networkd|
|
||||
networkctl|
|
||||
org.freedesktop.network1
|
||||
''', n, re.X):
|
||||
o = o_networkd
|
||||
elif '.so.' in n:
|
||||
o = o_libs
|
||||
elif re.search(r'''udev(?!\.pc)|
|
||||
|
@ -109,6 +119,13 @@ for file in files(buildroot):
|
|||
/modprobe.d
|
||||
''', n, re.X):
|
||||
o = o_udev
|
||||
elif n.endswith('.standalone'):
|
||||
if 'tmpfiles' in n:
|
||||
o = o_standalone_tmpfiles
|
||||
elif 'sysusers' in n:
|
||||
o = o_standalone_sysusers
|
||||
else:
|
||||
assert False, 'Found .standalone not belonging to known packages'
|
||||
else:
|
||||
o = o_rest
|
||||
|
||||
|
|
92
systemd.spec
92
systemd.spec
|
@ -16,11 +16,12 @@
|
|||
# cryptsetup, e.g. when re-building cryptsetup on a json-c SONAME-bump.
|
||||
%bcond_with bootstrap
|
||||
%bcond_without tests
|
||||
%bcond_without lto
|
||||
|
||||
Name: systemd
|
||||
Url: https://www.freedesktop.org/wiki/Software/systemd
|
||||
Version: 246.4
|
||||
Release: 2%{?dist}
|
||||
Version: 246.6
|
||||
Release: 3%{?dist}
|
||||
# For a breakdown of the licensing, see README
|
||||
License: LGPLv2+ and MIT and GPLv2+
|
||||
Summary: System and Service Manager
|
||||
|
@ -78,6 +79,8 @@ Patch0005: 0004-test-path-use-Type-exec.patch
|
|||
Patch0006: 0001-test-acl-util-output-more-debug-info.patch
|
||||
Patch0007: 0001-Do-not-assert-in-test_add_acls_for_user.patch
|
||||
|
||||
Patch0009: https://github.com/systemd/systemd/pull/17050/commits/f58b96d3e8d1cb0dd3666bc74fa673918b586612.patch
|
||||
|
||||
%ifarch %{ix86} x86_64 aarch64
|
||||
%global have_gnu_efi 1
|
||||
%endif
|
||||
|
@ -119,6 +122,7 @@ BuildRequires: qrencode-devel
|
|||
BuildRequires: libmicrohttpd-devel
|
||||
BuildRequires: libxkbcommon-devel
|
||||
BuildRequires: iptables-devel
|
||||
BuildRequires: pkgconfig(libfido2)
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: docbook-style-xsl
|
||||
BuildRequires: pkgconfig
|
||||
|
@ -152,6 +156,7 @@ Requires: dbus >= 1.9.18
|
|||
Requires: %{name}-pam = %{version}-%{release}
|
||||
Requires: %{name}-rpm-macros = %{version}-%{release}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Recommends: %{name}-networkd = %{version}-%{release}
|
||||
Recommends: diffutils
|
||||
Requires: util-linux
|
||||
Recommends: libxkbcommon%{?_isa}
|
||||
|
@ -164,7 +169,7 @@ Provides: system-setup-keyboard = 0.9
|
|||
# systemd-sysv-convert was removed in f20: https://fedorahosted.org/fpc/ticket/308
|
||||
Obsoletes: systemd-sysv < 206
|
||||
# self-obsoletes so that dnf will install new subpackages on upgrade (#1260394)
|
||||
Obsoletes: %{name} < 229-5
|
||||
Obsoletes: %{name} < 246.6-2
|
||||
Provides: systemd-sysv = 206
|
||||
Conflicts: initscripts < 9.56.1
|
||||
%if 0%{?fedora}
|
||||
|
@ -172,6 +177,10 @@ Conflicts: fedora-release < 23-0.12
|
|||
%endif
|
||||
Obsoletes: timedatex < 0.6-3
|
||||
Provides: timedatex = 0.6-3
|
||||
Conflicts: %{name}-standalone-tmpfiles < %{version}-%{release}^
|
||||
Obsoletes: %{name}-standalone-tmpfiles < %{version}-%{release}^
|
||||
Conflicts: %{name}-standalone-sysusers < %{version}-%{release}^
|
||||
Obsoletes: %{name}-standalone-sysusers < %{version}-%{release}^
|
||||
|
||||
%description
|
||||
systemd is a system and service manager that runs as PID 1 and starts
|
||||
|
@ -309,6 +318,19 @@ and to write journal files from serialized journal contents.
|
|||
This package contains systemd-journal-gatewayd,
|
||||
systemd-journal-remote, and systemd-journal-upload.
|
||||
|
||||
%package networkd
|
||||
Summary: A system service that manages network configurations
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
License: LGPLv2+
|
||||
# https://src.fedoraproject.org/rpms/systemd/pull-request/34
|
||||
Obsoletes: systemd < 246.6-2
|
||||
|
||||
%description networkd
|
||||
%{summary}.
|
||||
|
||||
It detects and configures network devices as they appear,
|
||||
as well as creating virtual network devices.
|
||||
|
||||
%package tests
|
||||
Summary: Internal unit tests for systemd
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
@ -318,6 +340,24 @@ License: LGPLv2+
|
|||
"Installed tests" that are usually run as part of the build system.
|
||||
They can be useful to test systemd internals.
|
||||
|
||||
%package standalone-tmpfiles
|
||||
Summary: Standalone tmpfiles binary for use in non-systemd systems
|
||||
RemovePathPostfixes: .standalone
|
||||
|
||||
%description standalone-tmpfiles
|
||||
Standalone tmpfiles binary with no dependencies on the systemd-shared library
|
||||
or other libraries from systemd-libs. This package conflicts with the main
|
||||
systemd package and is meant for use in non-systemd systems.
|
||||
|
||||
%package standalone-sysusers
|
||||
Summary: Standalone sysusers binary for use in non-systemd systems
|
||||
RemovePathPostfixes: .standalone
|
||||
|
||||
%description standalone-sysusers
|
||||
Standalone sysusers binary with no dependencies on the systemd-shared library
|
||||
or other libraries from systemd-libs. This package conflicts with the main
|
||||
systemd package and is meant for use in non-systemd systems.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{?commit:%{name}%{?stable:-stable}-%{commit}}%{!?commit:%{name}%{?stable:-stable}-%{github_version}} -p1
|
||||
|
||||
|
@ -367,11 +407,13 @@ CONFIGURE_OPTS=(
|
|||
-Dlibidn2=true
|
||||
-Dlibiptc=true
|
||||
-Dlibcurl=true
|
||||
-Dlibfido2=true
|
||||
-Defi=true
|
||||
-Dgnu-efi=%{?have_gnu_efi:true}%{?!have_gnu_efi:false}
|
||||
-Dtpm=true
|
||||
-Dhwdb=true
|
||||
-Dsysusers=true
|
||||
-Dstandalone-binaries=true
|
||||
-Ddefault-kill-user-processes=false
|
||||
-Dtests=unsafe
|
||||
-Dinstall-tests=true
|
||||
|
@ -381,7 +423,11 @@ CONFIGURE_OPTS=(
|
|||
-Dnobody-group=nobody
|
||||
-Dsplit-usr=false
|
||||
-Dsplit-bin=true
|
||||
%if %{with lto}
|
||||
-Db_lto=true
|
||||
%else
|
||||
-Db_lto=false
|
||||
%endif
|
||||
-Db_ndebug=false
|
||||
-Dman=true
|
||||
-Dversion-tag=v%{version}-%{release}
|
||||
|
@ -484,7 +530,7 @@ EOF
|
|||
|
||||
install -Dm0755 -t %{buildroot}%{_prefix}/lib/kernel/install.d/ %{SOURCE11}
|
||||
|
||||
install -Dm0755 -t %{buildroot}%{_prefix}/lib/systemd/ %{SOURCE13}
|
||||
install -Dm0644 -t %{buildroot}%{_prefix}/lib/systemd/ %{SOURCE13}
|
||||
|
||||
install -D -t %{buildroot}/usr/lib/systemd/ %{SOURCE3}
|
||||
|
||||
|
@ -631,8 +677,6 @@ if [ $1 -eq 0 ] ; then
|
|||
serial-getty@.service \
|
||||
console-getty.service \
|
||||
debug-shell.service \
|
||||
systemd-networkd.service \
|
||||
systemd-networkd-wait-online.service \
|
||||
systemd-resolved.service \
|
||||
systemd-homed.service \
|
||||
>/dev/null || :
|
||||
|
@ -769,6 +813,14 @@ fi
|
|||
%systemd_postun_with_restart systemd-journal-upload.service
|
||||
%firewalld_reload
|
||||
|
||||
%preun networkd
|
||||
if [ $1 -eq 0 ] ; then
|
||||
systemctl disable --quiet \
|
||||
systemd-networkd.service \
|
||||
systemd-networkd-wait-online.service \
|
||||
>/dev/null || :
|
||||
fi
|
||||
|
||||
%global _docdir_fmt %{name}
|
||||
|
||||
%files -f %{name}.lang -f .file-list-rest
|
||||
|
@ -807,9 +859,37 @@ fi
|
|||
|
||||
%files journal-remote -f .file-list-remote
|
||||
|
||||
%files networkd -f .file-list-networkd
|
||||
|
||||
%files tests -f .file-list-tests
|
||||
|
||||
%files standalone-tmpfiles -f .file-list-standalone-tmpfiles
|
||||
|
||||
%files standalone-sysusers -f .file-list-standalone-sysusers
|
||||
|
||||
%changelog
|
||||
* Wed Sep 30 2020 Dusty Mabe <dusty@dustymabe.com> - 246.6-3
|
||||
- Try to make files in subpackages (especially the networkd subpackage)
|
||||
more appropriate.
|
||||
|
||||
* Thu Sep 24 2020 Filipe Brandenburger <filbranden@gmail.com> - 246.6-2
|
||||
- Build a package with standalone binaries for non-systemd systems.
|
||||
For now, only systemd-sysusers is included.
|
||||
|
||||
* Thu Sep 24 2020 Christian Glombek <lorbus@fedoraproject.org> - 246.6-2
|
||||
- Split out networkd sub-package and add to main package as recommended dependency
|
||||
|
||||
* Sun Sep 20 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 246.6-1
|
||||
- Update to latest stable release (various minor fixes: manager,
|
||||
networking, bootct, kernel-install, systemd-dissect, systemd-homed,
|
||||
fstab-generator, documentation) (#1876905)
|
||||
- Do not fail in test because of kernel bug (#1803070)
|
||||
|
||||
* Sun Sep 13 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 246.5-1
|
||||
- Update to latest stable release (a bunch of small network-related
|
||||
fixes in systemd-networkd and socket handling, documentation updates,
|
||||
a bunch of fixes for error handling).
|
||||
|
||||
* Sun Sep 13 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 246.4-2
|
||||
- Also remove existing file when creating /etc/resolv.conf symlink
|
||||
upon installation (#1873856 again)
|
||||
|
|
Loading…
Reference in New Issue