summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 08:22:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-17 08:22:35 +0000
commit6e5a89798b6c2a645b36377cb7a57114ee699899 (patch)
treed3ee39fa82e4d06fe35c39c8a4bcd3e792b566d8
parentReleasing progress-linux version 247.3-7+deb11u4progress6u1. (diff)
downloadsystemd-6e5a89798b6c2a645b36377cb7a57114ee699899.tar.xz
systemd-6e5a89798b6c2a645b36377cb7a57114ee699899.zip
Merging debian version 247.3-7+deb11u5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/meson-drop-arch-filtering-in-syscall-list.patch52
-rw-r--r--debian/patches/series2
-rw-r--r--debian/patches/test-unset-TZ-before-timezone-sensitive-unit-tests-are-ru.patch61
4 files changed, 121 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 68c531a..0f6ba1e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+systemd (247.3-7+deb11u5) bullseye; urgency=medium
+
+ * Backport patches to fix build reproducibility
+
+ -- Luca Boccassi <bluca@debian.org> Mon, 27 May 2024 14:02:03 +0100
+
systemd (247.3-7+deb11u4progress6u1) fuchur; urgency=medium
* Initial reupload to fuchur.
diff --git a/debian/patches/meson-drop-arch-filtering-in-syscall-list.patch b/debian/patches/meson-drop-arch-filtering-in-syscall-list.patch
new file mode 100644
index 0000000..11cd505
--- /dev/null
+++ b/debian/patches/meson-drop-arch-filtering-in-syscall-list.patch
@@ -0,0 +1,52 @@
+From: =?utf-8?q?Zbigniew_J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
+Date: Thu, 25 Jan 2024 13:26:21 +0100
+Subject: meson: drop arch filtering in syscall list
+
+I added the filtering in 752fedbea7c02c82287c7ff2a4139f528b3f7ba8 as a way
+to reduce the number of items in the tables. I thought it's "obvious", but
+it might not be so.
+
+One immediate problem is that the filter is broken, because on arm64,
+os.uname().machine returns "aarch64", so we incorrectly filter out the arm
+syscalls (there is just one: arm_fadvise64_64). Of course we could fix the
+filter, but I think it's better to nuke it altogether. The filter on applies to
+1 arm syscall and 5 s390 syscalls, and we have 500+ other syscalls, so this
+"optimization" doesn't really matter. OTOH, if we get the filter wrong,
+the result is bad. And also, the existence of the filter at all creates
+problems for cross-builds.
+
+I wanted to get rid of 'generate-syscall-list.py', but we need to generate a
+backslash in the output. https://github.com/mesonbuild/meson/issues/1564 makes
+this very very hard, since any attempt to put a backslash an inline argument
+results in the backslash being replaces by a forward slash, which doesn't quite
+have the same meaning. So let's use a standalone script until
+https://github.com/mesonbuild/meson/issues/1564 is resolved.
+
+(cherry picked from commit 58fcc6b013bbc8c6290348f701ddb862928cc1a0)
+(cherry picked from commit ded73e68fcbfbf82beba15a8f0280e5c010c8bde)
+(cherry picked from commit d31ac846b22dc7d1245b4df01a1868866b529447)
+(cherry picked from commit f9242887943fa2e7345f915fbfacd235d67dbed7)
+(cherry picked from commit b23b2680ff2520e760c6b0f7b285a2334a4ac1c7)
+---
+ src/shared/generate-syscall-list.py | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/src/shared/generate-syscall-list.py b/src/shared/generate-syscall-list.py
+index 030c3fe..0b90d2d 100755
+--- a/src/shared/generate-syscall-list.py
++++ b/src/shared/generate-syscall-list.py
+@@ -1,14 +1,5 @@
+ #!/usr/bin/env python3
+ import sys
+-import os
+-
+-s390 = 's390' in os.uname().machine
+-arm = 'arm' in os.uname().machine
+
+ for line in open(sys.argv[1]):
+- if line.startswith('s390_') and not s390:
+- continue
+- if line.startswith('arm_') and not arm:
+- continue
+-
+ print('"{}\\0"'.format(line.strip()))
diff --git a/debian/patches/series b/debian/patches/series
index 54eedc1..7c9368f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -39,6 +39,8 @@ machined-varlink-fix-double-free.patch
Always-free-deserialized_subscribed-on-reload.patch
shared-calendarspec-abort-calculation-after-1000-iteratio.patch
shared-calendarspec-when-mktime-moves-us-backwards-jump-f.patch
+test-unset-TZ-before-timezone-sensitive-unit-tests-are-ru.patch
+meson-drop-arch-filtering-in-syscall-list.patch
debian/Use-Debian-specific-config-files.patch
debian/Bring-tmpfiles.d-tmp.conf-in-line-with-Debian-defaul.patch
debian/Make-run-lock-tmpfs-an-API-fs.patch
diff --git a/debian/patches/test-unset-TZ-before-timezone-sensitive-unit-tests-are-ru.patch b/debian/patches/test-unset-TZ-before-timezone-sensitive-unit-tests-are-ru.patch
new file mode 100644
index 0000000..2daa999
--- /dev/null
+++ b/debian/patches/test-unset-TZ-before-timezone-sensitive-unit-tests-are-ru.patch
@@ -0,0 +1,61 @@
+From: Luca Boccassi <bluca@debian.org>
+Date: Fri, 26 Jan 2024 00:22:38 +0000
+Subject: test: unset TZ before timezone-sensitive unit tests are run
+
+Some tests have hard-coded results that need to match, and change if
+the caller has a timezone set via the TZ= environment variable, as it
+is the case during reproducible build tests. Unset it.
+
+(cherry picked from commit 1e902c3463024bb328bf0d01a5d58a69e1ccf739)
+(cherry picked from commit 85c88db9c64242f65c814f1ede467ef66066e663)
+(cherry picked from commit d7fa5b8acbb5013992ae93c120845f0dc3fcfa93)
+(cherry picked from commit 4d6d1a9f0557771e09a210ea9e83a7ed20df78de)
+(cherry picked from commit d91a1c0f2c661731bc8a2149807ed9fd613b7c80)
+---
+ src/test/test-calendarspec.c | 3 +++
+ src/test/test-date.c | 3 +++
+ src/test/test-time-util.c | 3 +++
+ 3 files changed, 9 insertions(+)
+
+diff --git a/src/test/test-calendarspec.c b/src/test/test-calendarspec.c
+index 1b04186..a3bb2d8 100644
+--- a/src/test/test-calendarspec.c
++++ b/src/test/test-calendarspec.c
+@@ -121,6 +121,9 @@ static void test_hourly_bug_4031(void) {
+ int main(int argc, char* argv[]) {
+ CalendarSpec *c;
+
++ /* Tests have hard-coded results that do not expect a specific timezone to be set by the caller */
++ assert_se(unsetenv("TZ") >= 0);
++
+ test_one("Sat,Thu,Mon-Wed,Sat-Sun", "Mon..Thu,Sat,Sun *-*-* 00:00:00");
+ test_one("Sat,Thu,Mon..Wed,Sat..Sun", "Mon..Thu,Sat,Sun *-*-* 00:00:00");
+ test_one("Mon,Sun 12-*-* 2,1:23", "Mon,Sun 2012-*-* 01,02:23:00");
+diff --git a/src/test/test-date.c b/src/test/test-date.c
+index 47b7096..cfd2338 100644
+--- a/src/test/test-date.c
++++ b/src/test/test-date.c
+@@ -65,6 +65,9 @@ static void test_one_noutc(const char *p) {
+ }
+
+ int main(int argc, char *argv[]) {
++ /* Tests have hard-coded results that do not expect a specific timezone to be set by the caller */
++ assert_se(unsetenv("TZ") >= 0);
++
+ test_setup_logging(LOG_DEBUG);
+
+ test_one("17:41");
+diff --git a/src/test/test-time-util.c b/src/test/test-time-util.c
+index 877b24c..3c673e7 100644
+--- a/src/test/test-time-util.c
++++ b/src/test/test-time-util.c
+@@ -525,6 +525,9 @@ static void test_map_clock_usec(void) {
+ int main(int argc, char *argv[]) {
+ test_setup_logging(LOG_INFO);
+
++ /* Tests have hard-coded results that do not expect a specific timezone to be set by the caller */
++ assert_se(unsetenv("TZ") >= 0);
++
+ log_info("realtime=" USEC_FMT "\n"
+ "monotonic=" USEC_FMT "\n"
+ "boottime=" USEC_FMT "\n",