Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package systemd for openSUSE:Factory checked 
in at 2021-11-08 17:23:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
 and      /work/SRC/openSUSE:Factory/.systemd.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "systemd"

Mon Nov  8 17:23:58 2021 rev:339 rq:928747 version:249.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd.changes  2021-10-20 
20:22:41.985319388 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new.1890/systemd.changes        
2021-11-08 17:24:16.268696727 +0100
@@ -1,0 +2,28 @@
+Tue Nov  2 10:26:58 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Add 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch
+
+  Temporarly revert commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979
+  until the regression it introduced [1] is addressed by upstream and
+  a fix is released via the stable tree.
+
+  [1] https://github.com/systemd/systemd/issues/21025
+
+-------------------------------------------------------------------
+Tue Oct 19 14:41:37 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Disable nss-systemd and translations features for the mini flavour
+
+-------------------------------------------------------------------
+Mon Oct 18 13:01:01 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Really enable libiptc for masquerading support (bsc#1191651)
+
+  Currently used by systemd-nspawn and systemd-networkd.
+
+-------------------------------------------------------------------
+Mon Oct 18 10:06:08 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Convert systemd package to multibuild
+
+-------------------------------------------------------------------
@@ -4,0 +33,3 @@
+
+  8de173ff93 mount-util: fix fd_is_mount_point() when both the parent and 
directory are network fs (bsc#1190984)
+  [...]

Old:
----
  pre_checkin.sh
  systemd-mini-rpmlintrc
  systemd-mini.changes
  systemd-mini.spec

New:
----
  0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch
  _multibuild

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.25yJ4i/_old  2021-11-08 17:24:17.260697378 +0100
+++ /var/tmp/diff_new_pack.25yJ4i/_new  2021-11-08 17:24:17.264697380 +0100
@@ -21,8 +21,16 @@
 # found at: https://github.com/openSUSE/systemd.
 #
 
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%if "%{flavor}" == "mini"
+%define bootstrap 1
+%define mini -mini
+%else
 %define bootstrap 0
 %define mini %nil
+%endif
+
 %define min_kernel_version 4.5
 %define suse_version +suse.47.g8521f8d22f
 %define _testsuitedir /usr/lib/systemd/tests
@@ -59,7 +67,7 @@
 # Kept to ease migrations toward SLE
 %bcond_with     split_usr
 
-Name:           systemd
+Name:           systemd%{?mini}
 URL:            http://www.freedesktop.org/wiki/Software/systemd
 Version:        249.5
 Release:        0
@@ -80,6 +88,7 @@
 BuildRequires:  pkgconfig(libcryptsetup) >= 1.6.0
 BuildRequires:  pkgconfig(libdw)
 BuildRequires:  pkgconfig(libfido2)
+BuildRequires:  pkgconfig(libiptc)
 BuildRequires:  pkgconfig(liblz4)
 BuildRequires:  pkgconfig(liblzma)
 BuildRequires:  pkgconfig(libpcre2-8)
@@ -163,7 +172,7 @@
 Obsoletes:      suspend <= 1.0
 Obsoletes:      systemd-analyze < 201
 Source0:        systemd-v%{version}%{suse_version}.tar.xz
-Source1:        %{name}-rpmlintrc
+Source1:        systemd-rpmlintrc
 Source2:        systemd-user
 %if %{with sysvcompat}
 Source3:        systemd-sysv-convert
@@ -200,6 +209,7 @@
 # upstream and need an urgent fix. Even in this case, the patches are
 # temporary and should be removed as soon as a fix is merged by
 # upstream.
+Patch100:       0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -643,7 +653,9 @@
         -Duserdb=false \
 %endif
 %if 0%{?bootstrap}
+        -Dtranslations=false \
         -Dnss-myhostname=false \
+        -Dnss-systemd=false \
 %else
         -Dtpm2=true \
         -Dman=true \
@@ -698,11 +710,6 @@
 %install
 %meson_install
 
-%if 0%{?bootstrap}
-rm %{buildroot}%{_libdir}/libnss_systemd.so*
-rm -r %{buildroot}%{_datadir}/locale
-%endif
-
 # Don't ship resolvconf symlink for now as it conflicts with the
 # binary shipped by openresolv and provides limited compatibility
 # only

++++++ 0001-Revert-core-Check-unit-start-rate-limiting-earlier.patch ++++++
>From 4fa9d8f14523982482386d398d2b2669902f2098 Mon Sep 17 00:00:00 2001
From: Yu Watanabe <watanabe.yu+git...@gmail.com>
Date: Mon, 18 Oct 2021 14:11:53 +0900
Subject: [PATCH 1/1] Revert "core: Check unit start rate limiting earlier"

This reverts commit ed8fbbf1745c6a2dc0b8cd560ac8a3353f72e979.

This was causing problems during boot, see
https://bodhi.fedoraproject.org/updates/FEDORA-2021-a1a52487e6,
https://bugzilla.redhat.com/show_bug.cgi?id=2013386.
https://github.com/systemd/systemd/issues/21025
---
 src/core/automount.c                   | 23 ++++++-----------------
 src/core/mount.c                       | 23 ++++++-----------------
 src/core/path.c                        | 23 ++++++-----------------
 src/core/service.c                     | 25 +++++++------------------
 src/core/socket.c                      | 23 ++++++-----------------
 src/core/swap.c                        | 23 ++++++-----------------
 src/core/timer.c                       | 23 ++++++-----------------
 src/core/unit.c                        |  7 -------
 src/core/unit.h                        |  4 ----
 test/TEST-63-ISSUE-17433/Makefile      |  1 -
 test/TEST-63-ISSUE-17433/test.sh       |  9 ---------
 test/meson.build                       |  2 --
 test/testsuite-10.units/test10.service |  3 ---
 test/testsuite-63.units/test63.path    |  2 --
 test/testsuite-63.units/test63.service |  5 -----
 test/units/testsuite-63.service        | 16 ----------------
 16 files changed, 43 insertions(+), 169 deletions(-)
 delete mode 120000 test/TEST-63-ISSUE-17433/Makefile
 delete mode 100755 test/TEST-63-ISSUE-17433/test.sh
 delete mode 100644 test/testsuite-63.units/test63.path
 delete mode 100644 test/testsuite-63.units/test63.service
 delete mode 100644 test/units/testsuite-63.service

diff --git a/src/core/automount.c b/src/core/automount.c
index 0722abef23..edc9588165 100644
--- a/src/core/automount.c
+++ b/src/core/automount.c
@@ -814,6 +814,12 @@ static int automount_start(Unit *u) {
         if (r < 0)
                 return r;
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -1059,21 +1065,6 @@ static bool automount_supported(void) {
         return supported;
 }
 
-static int automount_test_start_limit(Unit *u) {
-        Automount *a = AUTOMOUNT(u);
-        int r;
-
-        assert(a);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                automount_enter_dead(a, AUTOMOUNT_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const automount_result_table[_AUTOMOUNT_RESULT_MAX] = {
         [AUTOMOUNT_SUCCESS] = "success",
         [AUTOMOUNT_FAILURE_RESOURCES] = "resources",
@@ -1136,6 +1127,4 @@ const UnitVTable automount_vtable = {
                         [JOB_FAILED]     = "Failed to unset automount %s.",
                 },
         },
-
-        .test_start_limit = automount_test_start_limit,
 };
diff --git a/src/core/mount.c b/src/core/mount.c
index 9bec190cb6..af39db214b 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -1168,6 +1168,12 @@ static int mount_start(Unit *u) {
 
         assert(IN_SET(m->state, MOUNT_DEAD, MOUNT_FAILED));
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -2137,21 +2143,6 @@ static int mount_can_clean(Unit *u, ExecCleanMask *ret) {
         return exec_context_get_clean_mask(&m->exec_context, ret);
 }
 
-static int mount_test_start_limit(Unit *u) {
-        Mount *m = MOUNT(u);
-        int r;
-
-        assert(m);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                mount_enter_dead(m, MOUNT_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const mount_exec_command_table[_MOUNT_EXEC_COMMAND_MAX] = {
         [MOUNT_EXEC_MOUNT] = "ExecMount",
         [MOUNT_EXEC_UNMOUNT] = "ExecUnmount",
@@ -2249,6 +2240,4 @@ const UnitVTable mount_vtable = {
                         [JOB_TIMEOUT]    = "Timed out unmounting %s.",
                 },
         },
-
-        .test_start_limit = mount_test_start_limit,
 };
diff --git a/src/core/path.c b/src/core/path.c
index 2b659696a4..e098e83a31 100644
--- a/src/core/path.c
+++ b/src/core/path.c
@@ -590,6 +590,12 @@ static int path_start(Unit *u) {
         if (r < 0)
                 return r;
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -805,21 +811,6 @@ static void path_reset_failed(Unit *u) {
         p->result = PATH_SUCCESS;
 }
 
-static int path_test_start_limit(Unit *u) {
-        Path *p = PATH(u);
-        int r;
-
-        assert(p);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                path_enter_dead(p, PATH_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const path_type_table[_PATH_TYPE_MAX] = {
         [PATH_EXISTS] = "PathExists",
         [PATH_EXISTS_GLOB] = "PathExistsGlob",
@@ -874,6 +865,4 @@ const UnitVTable path_vtable = {
         .reset_failed = path_reset_failed,
 
         .bus_set_property = bus_path_set_property,
-
-        .test_start_limit = path_test_start_limit,
 };
diff --git a/src/core/service.c b/src/core/service.c
index 701c145565..7b90822f68 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -2456,6 +2456,13 @@ static int service_start(Unit *u) {
 
         assert(IN_SET(s->state, SERVICE_DEAD, SERVICE_FAILED));
 
+        /* Make sure we don't enter a busy loop of some kind. */
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -4451,22 +4458,6 @@ static const char *service_finished_job(Unit *u, JobType 
t, JobResult result) {
         return NULL;
 }
 
-static int service_test_start_limit(Unit *u) {
-        Service *s = SERVICE(u);
-        int r;
-
-        assert(s);
-
-        /* Make sure we don't enter a busy loop of some kind. */
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const service_restart_table[_SERVICE_RESTART_MAX] = {
         [SERVICE_RESTART_NO] = "no",
         [SERVICE_RESTART_ON_SUCCESS] = "on-success",
@@ -4629,6 +4620,4 @@ const UnitVTable service_vtable = {
                 },
                 .finished_job = service_finished_job,
         },
-
-        .test_start_limit = service_test_start_limit,
 };
diff --git a/src/core/socket.c b/src/core/socket.c
index 31d88b71ff..f362a5baa8 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -2515,6 +2515,12 @@ static int socket_start(Unit *u) {
 
         assert(IN_SET(s->state, SOCKET_DEAD, SOCKET_FAILED));
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -3423,21 +3429,6 @@ static int socket_can_clean(Unit *u, ExecCleanMask *ret) 
{
         return exec_context_get_clean_mask(&s->exec_context, ret);
 }
 
-static int socket_test_start_limit(Unit *u) {
-        Socket *s = SOCKET(u);
-        int r;
-
-        assert(s);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                socket_enter_dead(s, SOCKET_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const socket_exec_command_table[_SOCKET_EXEC_COMMAND_MAX] = 
{
         [SOCKET_EXEC_START_PRE] = "ExecStartPre",
         [SOCKET_EXEC_START_CHOWN] = "ExecStartChown",
@@ -3564,6 +3555,4 @@ const UnitVTable socket_vtable = {
                         [JOB_TIMEOUT]    = "Timed out stopping %s.",
                 },
         },
-
-        .test_start_limit = socket_test_start_limit,
 };
diff --git a/src/core/swap.c b/src/core/swap.c
index b25f68fb7d..3843b19500 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -933,6 +933,12 @@ static int swap_start(Unit *u) {
                 if (UNIT(other)->job && UNIT(other)->job->state == JOB_RUNNING)
                         return -EAGAIN;
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -1582,21 +1588,6 @@ static int swap_can_clean(Unit *u, ExecCleanMask *ret) {
         return exec_context_get_clean_mask(&s->exec_context, ret);
 }
 
-static int swap_test_start_limit(Unit *u) {
-        Swap *s = SWAP(u);
-        int r;
-
-        assert(s);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                swap_enter_dead(s, SWAP_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const swap_exec_command_table[_SWAP_EXEC_COMMAND_MAX] = {
         [SWAP_EXEC_ACTIVATE] = "ExecActivate",
         [SWAP_EXEC_DEACTIVATE] = "ExecDeactivate",
@@ -1692,6 +1683,4 @@ const UnitVTable swap_vtable = {
                         [JOB_TIMEOUT]    = "Timed out deactivating swap %s.",
                 },
         },
-
-        .test_start_limit = swap_test_start_limit,
 };
diff --git a/src/core/timer.c b/src/core/timer.c
index 5ecc9f35cf..e064ad9a2d 100644
--- a/src/core/timer.c
+++ b/src/core/timer.c
@@ -635,6 +635,12 @@ static int timer_start(Unit *u) {
         if (r < 0)
                 return r;
 
+        r = unit_test_start_limit(u);
+        if (r < 0) {
+                timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT);
+                return r;
+        }
+
         r = unit_acquire_invocation_id(u);
         if (r < 0)
                 return r;
@@ -895,21 +901,6 @@ static int timer_can_clean(Unit *u, ExecCleanMask *ret) {
         return 0;
 }
 
-static int timer_test_start_limit(Unit *u) {
-        Timer *t = TIMER(u);
-        int r;
-
-        assert(t);
-
-        r = unit_test_start_limit(u);
-        if (r < 0) {
-                timer_enter_dead(t, TIMER_FAILURE_START_LIMIT_HIT);
-                return r;
-        }
-
-        return 0;
-}
-
 static const char* const timer_base_table[_TIMER_BASE_MAX] = {
         [TIMER_ACTIVE] = "OnActiveSec",
         [TIMER_BOOT] = "OnBootSec",
@@ -969,6 +960,4 @@ const UnitVTable timer_vtable = {
         .timezone_change = timer_timezone_change,
 
         .bus_set_property = bus_timer_set_property,
-
-        .test_start_limit = timer_test_start_limit,
 };
diff --git a/src/core/unit.c b/src/core/unit.c
index 69ed43578e..38d3eb703f 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -1851,13 +1851,6 @@ int unit_start(Unit *u) {
 
         assert(u);
 
-        /* Check start rate limiting early so that failure conditions don't 
cause us to enter a busy loop. */
-        if (UNIT_VTABLE(u)->test_start_limit) {
-                int r = UNIT_VTABLE(u)->test_start_limit(u);
-                if (r < 0)
-                        return r;
-        }
-
         /* If this is already started, then this will succeed. Note that this 
will even succeed if this unit
          * is not startable by the user. This is relied on to detect when we 
need to wait for units and when
          * waiting is finished. */
diff --git a/src/core/unit.h b/src/core/unit.h
index 9babd07188..759104ffa7 100644
--- a/src/core/unit.h
+++ b/src/core/unit.h
@@ -649,10 +649,6 @@ typedef struct UnitVTable {
          * of this type will immediately fail. */
         bool (*supported)(void);
 
-        /* If this function is set, it's invoked first as part of starting a 
unit to allow start rate
-         * limiting checks to occur before we do anything else. */
-        int (*test_start_limit)(Unit *u);
-
         /* The strings to print in status messages */
         UnitStatusMessageFormats status_message_formats;
 
diff --git a/test/TEST-63-ISSUE-17433/Makefile 
b/test/TEST-63-ISSUE-17433/Makefile
deleted file mode 120000
index e9f93b1104..0000000000
--- a/test/TEST-63-ISSUE-17433/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-../TEST-01-BASIC/Makefile
\ No newline at end of file
diff --git a/test/TEST-63-ISSUE-17433/test.sh b/test/TEST-63-ISSUE-17433/test.sh
deleted file mode 100755
index c595a9f2de..0000000000
--- a/test/TEST-63-ISSUE-17433/test.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/17433";
-
-# shellcheck source=test/test-functions
-. "${TEST_BASE_DIR:?}/test-functions"
-
-do_test "$@"
diff --git a/test/meson.build b/test/meson.build
index 6f8f257c2d..47c7f4d49a 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -33,8 +33,6 @@ if install_tests
                        install_dir : testdata_dir)
         install_subdir('testsuite-52.units',
                        install_dir : testdata_dir)
-        install_subdir('testsuite-63.units',
-                       install_dir : testdata_dir)
 
         testsuite08_dir = testdata_dir + '/testsuite-08.units'
         install_data('testsuite-08.units/-.mount',
diff --git a/test/testsuite-10.units/test10.service 
b/test/testsuite-10.units/test10.service
index 2fb476b986..d0be786b01 100644
--- a/test/testsuite-10.units/test10.service
+++ b/test/testsuite-10.units/test10.service
@@ -1,9 +1,6 @@
 [Unit]
 Requires=test10.socket
 ConditionPathExistsGlob=/tmp/nonexistent
-# Make sure we hit the socket trigger limit in the test and not the service 
start limit.
-StartLimitInterval=1000
-StartLimitBurst=1000
 
 [Service]
 ExecStart=true
diff --git a/test/testsuite-63.units/test63.path 
b/test/testsuite-63.units/test63.path
deleted file mode 100644
index a6573bda0a..0000000000
--- a/test/testsuite-63.units/test63.path
+++ /dev/null
@@ -1,2 +0,0 @@
-[Path]
-PathExists=/tmp/test63
diff --git a/test/testsuite-63.units/test63.service 
b/test/testsuite-63.units/test63.service
deleted file mode 100644
index c83801874d..0000000000
--- a/test/testsuite-63.units/test63.service
+++ /dev/null
@@ -1,5 +0,0 @@
-[Unit]
-ConditionPathExists=!/tmp/nonexistent
-
-[Service]
-ExecStart=true
diff --git a/test/units/testsuite-63.service b/test/units/testsuite-63.service
deleted file mode 100644
index 04122723d4..0000000000
--- a/test/units/testsuite-63.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=TEST-63-ISSUE-17433
-
-[Service]
-ExecStartPre=rm -f /failed /testok
-Type=oneshot
-ExecStart=rm -f /tmp/nonexistent
-ExecStart=systemctl start test63.path
-ExecStart=touch /tmp/test63
-# Make sure systemd has sufficient time to hit the start limit for 
test63.service.
-ExecStart=sleep 2
-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = 
failed'
-ExecStart=sh -x -c 'test "$(systemctl show test63.service -P Result)" = 
start-limit-hit'
-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = 
failed'
-ExecStart=sh -x -c 'test "$(systemctl show test63.path -P Result)" = 
unit-start-limit-hit'
-ExecStart=sh -x -c 'echo OK >/testok'
-- 
2.31.1

++++++ _multibuild ++++++
<multibuild>
    <package>mini</package>
</multibuild>

Reply via email to