Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb45921' into 'master'
[systemd] Upgrade systemd to v238. Contributes to JB#45921

See merge request mer-core/systemd!32
  • Loading branch information
Matti Kosola committed Dec 18, 2020
2 parents ad830ac + 186b850 commit bc5e334
Show file tree
Hide file tree
Showing 54 changed files with 6,062 additions and 3,145 deletions.
34 changes: 13 additions & 21 deletions rpm/0001-aarch64-Force-udev-path.-Contributes-to-JB-49681.patch
Expand Up @@ -3,24 +3,16 @@ From: Niels Breet <niels.breet@jolla.com>
Date: Mon, 6 Jul 2020 12:25:23 +0300
Subject: [PATCH] [aarch64] Force udev path. Contributes to JB#49681

---
Makefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index c2973c0..2a969fe 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -100,7 +100,8 @@ systemshutdowndir=$(rootlibexecdir)/system-shutdown
systemsleepdir=$(rootlibexecdir)/system-sleep
systemunitdir=$(rootprefix)/lib/systemd/system
systempresetdir=$(rootprefix)/lib/systemd/system-preset
-udevlibexecdir=$(rootprefix)/lib/udev
+#Force this to udevlibexecdir to /lib/udev for now, to make transition easier
+udevlibexecdir=/lib/udev
udevhomedir=$(udevlibexecdir)
udevrulesdir=$(udevlibexecdir)/rules.d
udevhwdbdir=$(udevlibexecdir)/hwdb.d
--
1.9.1

diff -purN systemd00/meson.build systemd-izh/meson.build
--- systemd00/meson.build 2020-10-13 13:34:00.082952034 +0300
+++ systemd-izh/meson.build 2020-10-13 16:55:27.214675827 +0300
@@ -143,7 +143,8 @@ systemshutdowndir = join_paths(rootlibex
systemsleepdir = join_paths(rootlibexecdir, 'system-sleep')
systemunitdir = join_paths(rootprefixdir, 'lib/systemd/system')
systempresetdir = join_paths(rootprefixdir, 'lib/systemd/system-preset')
-udevlibexecdir = join_paths(rootprefixdir, 'lib/udev')
+# Force this to udevlibexecdir to /lib/udev for now, to make transition easier
+udevlibexecdir = '/lib/udev'
udevhomedir = udevlibexecdir
udevrulesdir = join_paths(udevlibexecdir, 'rules.d')
udevhwdbdir = join_paths(udevlibexecdir, 'hwdb.d')
30 changes: 12 additions & 18 deletions rpm/0002-We-do-not-have-a-clean-environment-where-HAVE_SPIT_U.patch
Expand Up @@ -4,23 +4,17 @@ Date: Mon, 6 Jul 2020 15:11:42 +0300
Subject: [PATCH] We do not have a clean environment where HAVE_SPIT_USR will
actually work, so adding /sbin and /bin to path

---
src/basic/path-util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/basic/path-util.h b/src/basic/path-util.h
index 1eac89c..e58469f 100644
--- a/src/basic/path-util.h
+++ b/src/basic/path-util.h
@@ -26,7 +26,7 @@
#include "macro.h"
#include "time-util.h"
diff -purN systemd41/src/basic/path-util.h systemd42/src/basic/path-util.h
--- systemd/src/basic/path-util.h 2020-10-13 13:34:00.118952190 +0300
+++ systemd-izh/src/basic/path-util.h 2020-10-13 18:09:42.674740348 +0300
@@ -34,8 +34,8 @@
# define PATH_SBIN_BIN(x) x "bin"
#endif

-#define DEFAULT_PATH_NORMAL "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
+#define DEFAULT_PATH_NORMAL "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
#define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":/sbin:/bin"
-#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/")
-#define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL ":" PATH_SBIN_BIN("/")
+#define DEFAULT_PATH_NORMAL PATH_SBIN_BIN("/usr/local/") ":" PATH_SBIN_BIN("/usr/") ":" PATH_SBIN_BIN("/")
+#define DEFAULT_PATH_SPLIT_USR DEFAULT_PATH_NORMAL

#ifdef HAVE_SPLIT_USR
--
1.9.1

#if HAVE_SPLIT_USR
# define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
2 changes: 1 addition & 1 deletion rpm/systemd-187-remove-display-manager.service.patch
Expand Up @@ -12,7 +12,7 @@ diff --git a/units/graphical.target b/units/graphical.target
index 65f2521..7c6ebd4 100644
--- a/units/graphical.target
+++ b/units/graphical.target
@@ -9,7 +9,6 @@
@@ -11,7 +11,6 @@
Description=Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
Expand Down
37 changes: 10 additions & 27 deletions rpm/systemd-208-count-only-restarts.patch
Expand Up @@ -12,51 +12,34 @@ diff --git a/src/core/service.c b/src/core/service.c
index 35053be..9d5f4c6 100644
--- a/src/core/service.c
+++ b/src/core/service.c
@@ -1728,6 +1728,8 @@ fail:
service_enter_dead(s, SERVICE_FAILURE_RESOURCES, true);
}

+static int service_start_limit_test(Service *s);
+
static void service_enter_restart(Service *s) {
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
int r;
@@ -1745,6 +1747,13 @@ static void service_enter_restart(Servic
@@ -2065,6 +2065,13 @@ static void service_enter_restart(Servic
return;
}

+ /* Make sure we don't start services too frequently */
+ r = service_start_limit_test(s);
+ /* Make sure we don't enter a busy loop of some kind. */
+ r = unit_start_limit_test(UNIT(s));
+ if (r < 0) {
+ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT, false);
+ service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false);
+ return;
+ }
+
/* Any units that are bound to this service must also be
* restarted. We use JOB_RESTART (instead of the more obvious
* JOB_START) here so that those dependency jobs will be added
@@ -1898,7 +1907,6 @@ static int service_start_limit_test(Serv

static int service_start(Unit *u) {
Service *s = SERVICE(u);
- int r;

assert(s);

@@ -1925,13 +1933,6 @@ static int service_start(Unit *u) {
@@ -2250,13 +2257,6 @@ 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 = service_start_limit_test(s);
- r = unit_start_limit_test(u);
- if (r < 0) {
- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT, false);
- service_enter_dead(s, SERVICE_FAILURE_START_LIMIT_HIT, false);
- return r;
- }
-
s->result = SERVICE_SUCCESS;
s->reload_result = SERVICE_SUCCESS;
s->main_pid_known = false;
r = unit_acquire_invocation_id(u);
if (r < 0)
return r;

--
1.7.9.5
Expand Down
Expand Up @@ -12,16 +12,17 @@ diff --git a/src/journal/test-journal-send.c b/src/journal/test-journal-send.c
index 3e986ed..7aa913f 100644
--- a/src/journal/test-journal-send.c
+++ b/src/journal/test-journal-send.c
@@ -25,8 +25,9 @@
@@ -26,8 +26,9 @@

#include "log.h"
#include "macro.h"

+static char huge[4096*1024];
+
int main(int argc, char *argv[]) {
- char huge[4096*1024];

log_set_max_level(LOG_DEBUG);
/* utf-8 and non-utf-8, message-less and message-ful iovecs */
struct iovec graph1[] = {

--
1.9.1
Expand Down
27 changes: 0 additions & 27 deletions rpm/systemd-208-install-test-binaries.patch

This file was deleted.

13 changes: 0 additions & 13 deletions rpm/systemd-208-pkgconfigdir.patch

This file was deleted.

10 changes: 5 additions & 5 deletions rpm/systemd-208-video.patch
@@ -1,8 +1,8 @@
diff --git a/rules/50-udev-default.rules b/rules/50-udev-default.rules
diff --git a/rules/50-udev-default.rules.in b/rules/50-udev-default.rules.in
index f764789..7f38a03 100644
--- a/rules/50-udev-default.rules
+++ b/rules/50-udev-default.rules
@@ -18,7 +18,7 @@ ACTION!="add", GOTO="default_end"
--- a/rules/50-udev-default.rules.in
+++ b/rules/50-udev-default.rules.in
@@ -17,7 +17,7 @@ ACTION!="add", GOTO="default_end"

SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
Expand All @@ -11,7 +11,7 @@ index f764789..7f38a03 100644
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
@@ -28,7 +28,7 @@ KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|irco
@@ -27,7 +27,7 @@ KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|irco
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"

SUBSYSTEM=="input", GROUP="input"
Expand Down
20 changes: 10 additions & 10 deletions rpm/systemd-225-add-pam-systemd-timeout-argument.patch
Expand Up @@ -26,7 +26,7 @@ diff --git a/src/libsystemd/sd-bus/bus-convenience.c b/src/libsystemd/sd-bus/bus
index af5f7da..90d9034 100644
--- a/src/libsystemd/sd-bus/bus-convenience.c
+++ b/src/libsystemd/sd-bus/bus-convenience.c
@@ -136,6 +136,48 @@ fail:
@@ -138,6 +138,48 @@ fail:
return sd_bus_error_set_errno(error, r);
}

Expand All @@ -41,7 +41,7 @@ index af5f7da..90d9034 100644
+ sd_bus_message **reply,
+ const char *types, ...) {
+
+ _cleanup_bus_message_unref_ sd_bus_message *m = NULL;
+ _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
+ int r;
+
+ bus_assert_return(bus, -EINVAL, error);
Expand All @@ -60,7 +60,7 @@ index af5f7da..90d9034 100644
+ va_list ap;
+
+ va_start(ap, types);
+ r = bus_message_append_ap(m, types, ap);
+ r = sd_bus_message_appendv(m, types, ap);
+ va_end(ap);
+ if (r < 0)
+ goto fail;
Expand All @@ -79,7 +79,7 @@ diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
index f83d18b..e85b640 100644
--- a/src/login/pam_systemd.c
+++ b/src/login/pam_systemd.c
@@ -50,7 +50,8 @@ static int parse_argv(
@@ -54,7 +54,8 @@ static int parse_argv(
int argc, const char **argv,
const char **class,
const char **type,
Expand All @@ -89,7 +89,7 @@ index f83d18b..e85b640 100644

unsigned i;

@@ -79,6 +80,9 @@ static int parse_argv(
@@ -83,6 +84,9 @@ static int parse_argv(
else if (debug)
*debug = k;

Expand All @@ -99,15 +99,15 @@ index f83d18b..e85b640 100644
} else
pam_syslog(handle, LOG_WARNING, "Unknown parameter '%s', ignoring", argv[i]);
}
@@ -217,6 +221,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
_cleanup_bus_flush_close_unref_ sd_bus *bus = NULL;
@@ -229,6 +233,7 @@ _public_ PAM_EXTERN int pam_sm_open_sess
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int session_fd = -1, existing, r;
bool debug = false, remote;
+ unsigned timeout = 0;
struct passwd *pw;
uint32_t vtnr = 0;
uid_t original_uid;
@@ -231,7 +236,8 @@ _public_ PAM_EXTERN int pam_sm_open_session(
@@ -243,7 +248,8 @@ _public_ PAM_EXTERN int pam_sm_open_sess
argc, argv,
&class_pam,
&type_pam,
Expand All @@ -117,7 +117,7 @@ index f83d18b..e85b640 100644
return PAM_SESSION_ERR;

if (debug)
@@ -377,11 +383,15 @@ _public_ PAM_EXTERN int pam_sm_open_session(
@@ -383,11 +389,15 @@ _public_ PAM_EXTERN int pam_sm_open_sess
strempty(seat), vtnr, strempty(tty), strempty(display),
yes_no(remote), strempty(remote_user), strempty(remote_host));

Expand All @@ -138,7 +138,7 @@ diff --git a/src/systemd/sd-bus.h b/src/systemd/sd-bus.h
index 5439a19..a8f3d4f 100644
--- a/src/systemd/sd-bus.h
+++ b/src/systemd/sd-bus.h
@@ -300,6 +300,7 @@ int sd_bus_get_name_machine_id(sd_bus *bus, const char *name, sd_id128_t *machin
@@ -326,6 +326,7 @@ int sd_bus_get_name_machine_id(sd_bus *b
/* Convenience calls */

int sd_bus_call_method(sd_bus *bus, const char *destination, const char *path, const char *interface, const char *member, sd_bus_error *ret_error, sd_bus_message **reply, const char *types, ...);
Expand Down

0 comments on commit bc5e334

Please sign in to comment.