From 36f972bcd43f96ca7e922a2d732463419e65cff958f266dfff34086e921a27c2 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Wed, 29 May 2013 15:26:40 +0000 Subject: [PATCH] Accepting request 176957 from home:fcrozat:branches:Base:System - Update to release 204: + systemd-nspawn creates etc/resolv.conf in container if needed. + systemd-nspawn will store metadata about container in container cgroup including its root directory. + cgroup hierarchy has been reworked, all objects are now suffxed (with .session for user sessions, .user for users, .nspawn for containers). All cgroup names are now escaped to preven collision of object names. + systemctl list-dependencies gained --plain, --reverse, --after and --before switches. + systemd-inhibit shows processes name taking inhibitor lock. + nss-myhostname will now resolve "localhost" implicitly. + .include is not allowed recursively anymore and only in unit files. Drop-in files should be favored in most cases. + systemd-analyze gained "critical-chain" command, to get slowest chain of units run during boot-up. + systemd-nspawn@.service has been added to easily run nspawn container for system services. Just start "systemd-nspawn@foobar.service" and container from /var/lib/container/foobar" will be booted. + systemd-cgls has new --machine parameter to list processes from one container. + ConditionSecurity= can now check for apparmor and SMACK. + /etc/systemd/sleep.conf has been introduced to configure which kernel operation will be execute when "suspend", "hibernate" or "hybrid-sleep" is requrested. It allow new kernel "freeze" state to be used too. (This setting won't have any effect if pm-utils is installed). + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape passed argument if applicable. OBS-URL: https://build.opensuse.org/request/show/176957 OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=388 --- Ensure-debugshell-has-a-correct-value.patch | 22 --- ...-suspend-hibernate-calls-to-pm-utils.patch | 146 +++++++++--------- Start-ctrl-alt-del.target-irreversibly.patch | 27 ++++ apply-ACL-for-nvidia-device-nodes.patch | 27 +++- ...alid-address-familily-is-passed-to-g.patch | 24 +-- ...rtname-is-set-as-hostname-bnc-820213.patch | 34 ++++ ...t-after-cryptsetup-target-is-reached.patch | 14 +- handle-etc-HOSTNAME.patch | 2 +- hostname-setup-shortname.patch | 25 --- ...lly-warn-if-nss-myhostname-is-called.patch | 59 ++++--- ...nf-and-adds-dependencies-accordingly.patch | 12 +- ...script-heuristic-and-add-new-LSB-hea.patch | 6 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 6 +- ...oes-not-expand-u-so-revert-back-to-I.patch | 27 ++++ systemd-202.tar.xz | 3 - systemd-204.tar.xz | 3 + systemd-mini.changes | 46 ++++++ systemd-mini.spec | 20 ++- systemd.changes | 46 ++++++ systemd.spec | 20 ++- 20 files changed, 357 insertions(+), 212 deletions(-) delete mode 100644 Ensure-debugshell-has-a-correct-value.patch create mode 100644 Start-ctrl-alt-del.target-irreversibly.patch create mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch delete mode 100644 hostname-setup-shortname.patch create mode 100644 systemctl-does-not-expand-u-so-revert-back-to-I.patch delete mode 100644 systemd-202.tar.xz create mode 100644 systemd-204.tar.xz diff --git a/Ensure-debugshell-has-a-correct-value.patch b/Ensure-debugshell-has-a-correct-value.patch deleted file mode 100644 index 0babbb0d..00000000 --- a/Ensure-debugshell-has-a-correct-value.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Frederic Crozat -Date: Tue, 4 Dec 2012 16:51:32 +0000 -Subject: Ensure debugshell has a correct value - -use /bin/bash if sushell isn't installed (bnc#789052). ---- - units/debug-shell.service.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/units/debug-shell.service.in b/units/debug-shell.service.in -index a6acad3..64b5e0d 100644 ---- a/units/debug-shell.service.in -+++ b/units/debug-shell.service.in -@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes - - [Service] - Environment=TERM=linux --ExecStart=@SUSHELL@ -+ExecStart=/bin/bash -c '[ -x @SUSHELL@ ] && exec @SUSHELL@ || exec /bin/bash' - Restart=always - RestartSec=0 - StandardInput=tty diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 8abce1db..7e6b7b44 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -4,99 +4,93 @@ Subject: Forward suspend / hibernate calls to pm-utils forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) --- - src/sleep/sleep.c | 27 ++++++++++++++++++++++++--- - 1 file changed, 24 insertions(+), 3 deletions(-) + src/sleep/sleep.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c -index f5e78c1..8d91117 100644 +index a56ab89..232ab67 100644 --- a/src/sleep/sleep.c +++ b/src/sleep/sleep.c -@@ -22,6 +22,7 @@ - #include +@@ -24,6 +24,7 @@ #include #include + #include +#include - #include "log.h" - #include "util.h" -@@ -32,6 +33,9 @@ - int main(int argc, char *argv[]) { - const char *verb; - char* arguments[4]; -+ const char *pmtools; -+ bool delegate_to_pmutils = false; -+ struct stat buf; - int r; - FILE *f; + #include "systemd/sd-id128.h" + #include "systemd/sd-messages.h" +@@ -35,6 +36,8 @@ + #include "sleep-config.h" -@@ -45,17 +49,27 @@ int main(int argc, char *argv[]) { - goto finish; + static char* arg_verb = NULL; ++static bool delegate_to_pmutils = false; ++static const char *pmtools; + + static int write_mode(char **modes) { + int r = 0; +@@ -50,9 +53,6 @@ static int write_mode(char **modes) { + r = k; } -- if (streq(argv[1], "suspend")) -+ if (streq(argv[1], "suspend")) { - verb = "mem"; -- else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) +- if (r < 0) +- log_error("Failed to write mode to /sys/power/disk: %s", +- strerror(-r)); + + return r; + } +@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) { + FILE *f; + const char* note = strappenda("SLEEP=", arg_verb); + ++ if (!delegate_to_pmutils) { ++ + /* This file is opened first, so that if we hit an error, + * we can abort before modyfing any state. */ + f = fopen("/sys/power/state", "we"); +@@ -102,6 +104,7 @@ static int execute(char **modes, char **states) { + r = write_mode(modes); + if (r < 0) + return r; ++ } + + arguments[0] = NULL; + arguments[1] = (char*) "pre"; +@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) { + "MESSAGE=Suspending system...", + note, + NULL); +- ++ if (!delegate_to_pmutils) + r = write_state(f, states); ++ else ++ r = -system(pmtools); + if (r < 0) + return r; + +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) { + }; + + int c; ++ struct stat buf; + + assert(argc >= 0); + assert(argv); +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) { + return -EINVAL; + } + ++ if (streq(arg_verb, "suspend")) { + pmtools = "/usr/sbin/pm-suspend"; + } -+ else if (streq(argv[1], "hibernate") || streq(argv[1], "hybrid-sleep")) { - verb = "disk"; -+ if (streq(argv[1], "hibernate")) ++ else if (streq(arg_verb, "hibernate") || streq(arg_verb, "hybrid-sleep")) { ++ if (streq(arg_verb, "hibernate")) + pmtools = "/usr/sbin/pm-hibernate"; + else + pmtools = "/usr/sbin/pm-suspend-hybrid"; + } - else { - log_error("Unknown action '%s'.", argv[1]); - r = -EINVAL; - goto finish; - } - ++ + delegate_to_pmutils = (stat(pmtools, &buf) >= 0 && S_ISREG(buf.st_mode) && (buf.st_mode & 0111)); + - /* Configure the hibernation mode */ -+ if (!delegate_to_pmutils) { - if (streq(argv[1], "hibernate")) { - if (write_string_file("/sys/power/disk", "platform") < 0) - write_string_file("/sys/power/disk", "shutdown"); -@@ -65,13 +79,14 @@ int main(int argc, char *argv[]) { - write_string_file("/sys/power/disk", "shutdown"); - } + return 1 /* work to do */; + } -+ - f = fopen("/sys/power/state", "we"); - if (!f) { - log_error("Failed to open /sys/power/state: %m"); - r = -errno; - goto finish; - } -- -+ } - arguments[0] = NULL; - arguments[1] = (char*) "pre"; - arguments[2] = argv[1]; -@@ -97,11 +112,16 @@ int main(int argc, char *argv[]) { - "SLEEP=hybrid-sleep", - NULL); - -+ if (delegate_to_pmutils) { -+ r = -system(pmtools); -+ } -+ else { - fputs(verb, f); - fputc('\n', f); - fflush(f); - - r = ferror(f) ? -errno : 0; -+ } - - if (streq(argv[1], "suspend")) - log_struct(LOG_INFO, -@@ -119,6 +139,7 @@ int main(int argc, char *argv[]) { - arguments[1] = (char*) "post"; - execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments); - -+ if (!delegate_to_pmutils) - fclose(f); - - finish: diff --git a/Start-ctrl-alt-del.target-irreversibly.patch b/Start-ctrl-alt-del.target-irreversibly.patch new file mode 100644 index 00000000..68a94293 --- /dev/null +++ b/Start-ctrl-alt-del.target-irreversibly.patch @@ -0,0 +1,27 @@ +From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Tue, 7 May 2013 14:16:53 +0200 +Subject: [PATCH] Start ctrl-alt-del.target irreversibly + +This makes ctrl-alt-del reboots more robust, just like "systemctl +reboot". +--- + src/core/manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/manager.c b/src/core/manager.c +index c7f8f20..0508628 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) { + + case SIGINT: + if (m->running_as == SYSTEMD_SYSTEM) { +- manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE); ++ manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY); + break; + } + +-- +1.8.1.4 + diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index 5d5f7b83..e89708a3 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -11,12 +11,33 @@ diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c index cb045a9..51093f2 100644 --- a/src/login/logind-acl.c +++ b/src/login/logind-acl.c -@@ -240,6 +240,9 @@ int devnode_acl_all(struct udev *udev, +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include "logind-acl.h" + #include "util.h" +@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev, goto finish; } -+ devnode_acl("/dev/nvidia0", flush, del, old_uid, add, new_uid); -+ devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid); ++ /* only search for nvidia* if /dev/nvidiactl exists */ ++ if (!devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid)) { ++ char** directory; ++ char **f, *resolved; ++ ++ if (get_files_in_directory ("/dev", &directory)) { ++ STRV_FOREACH(f,directory) ++ if (startswith(*f,"nvidia")) { ++ resolved = strjoin("/dev/", *f, NULL); ++ devnode_acl(resolved, flush, del, old_uid, add, new_uid); ++ free(resolved); ++ } ++ } ++ strv_free(directory); ++ } + finish: if (e) diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch index b184dde6..b33c5589 100644 --- a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -4,16 +4,16 @@ Subject: avoid assertion if invalid address familily is passed to gethostbyaddr_r (bnc#791101) --- - src/nss-myhostname/nss-myhostname.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) + src/nss-myhostname/nss-myhostname.c | 6 ++++++ + 1 file changed, 6 insertions(+) diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index 16ccb3e..884eb99 100644 +index 60e256d..e97d4e5 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c -@@ -383,6 +383,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( - struct address *a; - unsigned n_addresses = 0, n; +@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( + uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; + const char *canonical = NULL, *additional = NULL; + if (af != AF_INET && af != AF_INET6) { + *errnop = EAFNOSUPPORT; @@ -24,15 +24,3 @@ index 16ccb3e..884eb99 100644 if (len != PROTO_ADDRESS_SIZE(af)) { *errnop = EINVAL; *h_errnop = NO_RECOVERY; -@@ -398,11 +404,6 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( - - if (memcmp(addr, LOCALADDRESS_IPV6, 16) == 0) - goto found; -- -- } else { -- *errnop = EAFNOSUPPORT; -- *h_errnop = NO_DATA; -- return NSS_STATUS_UNAVAIL; - } - - ifconf_acquire_addresses(&addresses, &n_addresses); diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch new file mode 100644 index 00000000..007e6010 --- /dev/null +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -0,0 +1,34 @@ +From: Frederic Crozat +Date: Tue, 28 May 2013 15:17:35 +0200 +Subject: ensure shortname is set as hostname (bnc#820213) + +strip hostname so the domain part isn't set as part of the hostname +--- + src/core/hostname-setup.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c +index 0ce683b..1c8e555 100644 +--- a/src/core/hostname-setup.c ++++ b/src/core/hostname-setup.c +@@ -32,7 +32,7 @@ + #include "fileio.h" + + static int read_and_strip_hostname(const char *path, char **hn) { +- char *s; ++ char *s, *domain; + int r; + + assert(path); +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) { + return -ENOENT; + } + ++ /* strip any leftover of a domain name */ ++ if (domain = strchr(s, '.')) { ++ *domain = NULL; ++ } ++ + *hn = s; + return 0; + } diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch index ccfaf3f0..8b4f879c 100644 --- a/force-lvm-restart-after-cryptsetup-target-is-reached.patch +++ b/force-lvm-restart-after-cryptsetup-target-is-reached.patch @@ -7,7 +7,7 @@ Subject: force lvm restart after cryptsetup target is reached 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index ac0ed58..9b8e229 100644 +index 81b7708..1940985 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -22,6 +22,7 @@ @@ -73,17 +73,17 @@ index ac0ed58..9b8e229 100644 static int create_disk( const char *name, const char *device, -@@ -331,6 +380,7 @@ int main(int argc, char *argv[]) { +@@ -334,6 +383,7 @@ int main(int argc, char *argv[]) { _cleanup_fclose_ FILE *f = NULL; unsigned n = 0; int r = EXIT_SUCCESS; + bool no_crypttab = false; char **i; - _cleanup_strv_free_ char **arg_proc_cmdline_disks_done = NULL; - _cleanup_strv_free_ char **arg_proc_cmdline_disks = NULL; -@@ -360,8 +410,10 @@ int main(int argc, char *argv[]) { - f = fopen("/etc/crypttab", "re"); + if (argc > 1 && argc != 4) { +@@ -361,8 +411,10 @@ int main(int argc, char *argv[]) { + + f = fopen("/etc/crypttab", "re"); if (!f) { - if (errno == ENOENT) + if (errno == ENOENT) { @@ -93,7 +93,7 @@ index ac0ed58..9b8e229 100644 else { r = EXIT_FAILURE; log_error("Failed to open /etc/crypttab: %m"); -@@ -445,5 +497,8 @@ int main(int argc, char *argv[]) { +@@ -464,5 +516,8 @@ next: r = EXIT_FAILURE; } diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index a547f9f3..075d67d8 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -9,7 +9,7 @@ Subject: handle /etc/HOSTNAME 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index ac508af..15d206c 100644 +index 8aa1cff..0ce683b 100644 --- a/src/core/hostname-setup.c +++ b/src/core/hostname-setup.c @@ -61,12 +61,24 @@ int hostname_setup(void) { diff --git a/hostname-setup-shortname.patch b/hostname-setup-shortname.patch deleted file mode 100644 index 37f7440e..00000000 --- a/hostname-setup-shortname.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: systemd-202/src/core/hostname-setup.c -=================================================================== ---- systemd-202.orig/src/core/hostname-setup.c -+++ systemd-202/src/core/hostname-setup.c -@@ -32,7 +32,7 @@ - #include "fileio.h" - - static int read_and_strip_hostname(const char *path, char **hn) { -- char *s; -+ char *s, *domain; - int r; - - assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const - return -ENOENT; - } - -+ /* strip any leftover of a domain name */ -+ if (domain = strchr(s, '.')) { -+ *domain = NULL; -+ } -+ - *hn = s; - return 0; - } diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 7a75fad5..93f8c8bf 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -4,14 +4,14 @@ Subject: optionally warn if nss-myhostname is called --- configure.ac | 11 +++++++++++ - src/nss-myhostname/nss-myhostname.c | 35 +++++++++++++++++++++++++++++++++++ - 2 files changed, 46 insertions(+) + src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ + 2 files changed, 43 insertions(+) diff --git a/configure.ac b/configure.ac -index 5173783..e58d694 100644 +index e1278e8..06eb98d 100644 --- a/configure.ac +++ b/configure.ac -@@ -714,6 +714,17 @@ if test "x$enable_myhostname" != "xno"; then +@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -30,10 +30,10 @@ index 5173783..e58d694 100644 AC_ARG_WITH(firmware-path, AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]], diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c -index 884eb99..dbd9a2d 100644 +index e97d4e5..a2a6de8 100644 --- a/src/nss-myhostname/nss-myhostname.c +++ b/src/nss-myhostname/nss-myhostname.c -@@ -30,6 +30,9 @@ +@@ -29,6 +29,9 @@ #include #include #include @@ -43,7 +43,7 @@ index 884eb99..dbd9a2d 100644 #include "ifconf.h" #include "macro.h" -@@ -44,6 +47,10 @@ +@@ -47,6 +50,10 @@ #define LOCALADDRESS_IPV6 &in6addr_loopback #define LOOPBACK_INTERFACE "lo" @@ -54,40 +54,37 @@ index 884eb99..dbd9a2d 100644 enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, struct gaih_addrtuple **pat, -@@ -115,6 +122,10 @@ enum nss_status _nss_myhostname_gethostbyname4_r( - return NSS_STATUS_NOTFOUND; +@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostbyname4_r( + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + /* If this fails, n_addresses is 0. Which is fine */ + ifconf_acquire_addresses(&addresses, &n_addresses); + +@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostbyname3_r( + local_address_ipv4 = LOCALADDRESS_IPV4; } +#ifdef LOG_NSS_MY_HOSTNAME_WARNING + warn(hn); +#endif -+ - /* If this fails, n_addresses is 0. Which is fine */ - ifconf_acquire_addresses(&addresses, &n_addresses); - -@@ -334,6 +345,10 @@ enum nss_status _nss_myhostname_gethostbyname3_r( - return NSS_STATUS_NOTFOUND; + return fill_in_hostent( + canonical, additional, + af, +@@ -509,6 +522,9 @@ found: + canonical = hn; } +#ifdef LOG_NSS_MY_HOSTNAME_WARNING + warn(hn); +#endif -+ - return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, canonp); - } - -@@ -429,6 +444,10 @@ found: - return NSS_STATUS_UNAVAIL; - } - -+#ifdef LOG_NSS_MY_HOSTNAME_WARNING -+ warn(hn); -+#endif -+ - return fill_in_hostent(hn, af, host, buffer, buflen, errnop, h_errnop, ttlp, NULL); - - } -@@ -448,3 +467,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( + return fill_in_hostent( + canonical, additional, + af, +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( errnop, h_errnop, NULL); } diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch index e1f7405e..ec213871 100644 --- a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +++ b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch @@ -1,7 +1,6 @@ -From 0d4db3c514f1fe3fe13acb7a34a5a517db9ccb2d Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Fri, 30 Sep 2011 13:55:31 +0000 -Subject: [PATCH] parse /etc/insserv.conf and adds dependencies accordingly +Subject: parse /etc/insserv.conf and adds dependencies accordingly (bnc#721428) --- @@ -9,10 +8,10 @@ Subject: [PATCH] parse /etc/insserv.conf and adds dependencies accordingly 1 file changed, 104 insertions(+) diff --git a/src/core/service.c b/src/core/service.c -index cf0bbe0..471ce8d 100644 +index 3617c24..3c66cdb 100644 --- a/src/core/service.c +++ b/src/core/service.c -@@ -3440,6 +3440,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { +@@ -3443,6 +3443,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { } #ifdef HAVE_SYSV_COMPAT @@ -121,7 +120,7 @@ index cf0bbe0..471ce8d 100644 static int service_enumerate(Manager *m) { char **p; -@@ -3600,6 +3702,8 @@ static int service_enumerate(Manager *m) { +@@ -3603,6 +3705,8 @@ static int service_enumerate(Manager *m) { r = 0; @@ -130,6 +129,3 @@ index cf0bbe0..471ce8d 100644 finish: for (i = 0; i < ELEMENTSOF(rcnd_table); i++) --- -1.8.1.4 - diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 3efed705..2e13936d 100644 --- a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -12,7 +12,7 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/core/service.c b/src/core/service.c -index 5118b06..c13ff35 100644 +index a8b0d9d..c357b33 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { @@ -68,7 +68,7 @@ index 5118b06..c13ff35 100644 s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2074,7 +2104,7 @@ static void service_enter_running(Service *s, ServiceResult f) { +@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) { if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -78,7 +78,7 @@ index 5118b06..c13ff35 100644 #endif service_set_state(s, SERVICE_RUNNING); diff --git a/src/core/service.h b/src/core/service.h -index d1e53bf..4cd1a79 100644 +index 703d3fa..dc52e8c 100644 --- a/src/core/service.h +++ b/src/core/service.h @@ -176,6 +176,7 @@ struct Service { diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch index f57a2748..e5c85f0c 100644 --- a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -11,10 +11,10 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-run.mount diff --git a/Makefile.am b/Makefile.am -index e82d092..38309a9 100644 +index 8730f66..b8cf696 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -406,6 +406,12 @@ dist_systemunit_DATA = \ +@@ -409,6 +409,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -27,7 +27,7 @@ index e82d092..38309a9 100644 nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4018,6 +4024,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service diff --git a/systemctl-does-not-expand-u-so-revert-back-to-I.patch b/systemctl-does-not-expand-u-so-revert-back-to-I.patch new file mode 100644 index 00000000..6502fa49 --- /dev/null +++ b/systemctl-does-not-expand-u-so-revert-back-to-I.patch @@ -0,0 +1,27 @@ +From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001 +From: Auke Kok +Date: Thu, 9 May 2013 09:39:15 -0700 +Subject: [PATCH] systemctl does not expand %u, so revert back to %I + +The description field is only displayed by systemctl, and +it can't expand %u properly (it will always display "root"). +--- + units/user@.service.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/units/user@.service.in b/units/user@.service.in +index 3cf1347..ece671d 100644 +--- a/units/user@.service.in ++++ b/units/user@.service.in +@@ -6,7 +6,7 @@ + # (at your option) any later version. + + [Unit] +-Description=User Manager for %u ++Description=User Manager for %I + After=systemd-user-sessions.service + + [Service] +-- +1.8.1.4 + diff --git a/systemd-202.tar.xz b/systemd-202.tar.xz deleted file mode 100644 index a2ff6a2e..00000000 --- a/systemd-202.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c43073252a52eb9f9ab9bd698be0192bcb2175ba5daba6057250083dd64e059 -size 2149860 diff --git a/systemd-204.tar.xz b/systemd-204.tar.xz new file mode 100644 index 00000000..ae11dd5d --- /dev/null +++ b/systemd-204.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b +size 2186264 diff --git a/systemd-mini.changes b/systemd-mini.changes index 9d5e6d73..8e060a7a 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + ------------------------------------------------------------------- Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd-mini.spec b/systemd-mini.spec index 92bf3ba5..63e1a7ba 100644 --- a/systemd-mini.spec +++ b/systemd-mini.spec @@ -25,7 +25,7 @@ Name: systemd-mini Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 202 +Version: 204 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -137,8 +137,6 @@ Patch18: fix-owner-of-var-log-btmp.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch19: Ensure-debugshell-has-a-correct-value.patch # PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin @@ -153,8 +151,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch -# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: hostname-setup-shortname.patch +# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -168,6 +166,10 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. +Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch +# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. +Patch43: Start-ctrl-alt-del.target-irreversibly.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -388,7 +390,6 @@ cp %{SOURCE7} m4/ %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -403,6 +404,8 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 %build autoreconf -fiv @@ -428,6 +431,7 @@ export V=1 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -768,6 +772,10 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system diff --git a/systemd.changes b/systemd.changes index 9d5e6d73..8e060a7a 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,49 @@ +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + ------------------------------------------------------------------- Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org diff --git a/systemd.spec b/systemd.spec index 55910a07..ace3191d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 202 +Version: 204 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -132,8 +132,6 @@ Patch18: fix-owner-of-var-log-btmp.patch # PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch -# PATCH-FIX-OPENSUSE Ensure-debugshell-has-a-correct-value.patch fcrozat@suse.com bnc#789052 -- use bash if sushell isn't available -Patch19: Ensure-debugshell-has-a-correct-value.patch # PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch # PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin @@ -148,8 +146,8 @@ Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch Patch39: systemd-tmp-safe-defaults.patch # PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch -# PATCH-FIX-OPENSUSE hostname-setup-shortname.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname -Patch41: hostname-setup-shortname.patch +# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname +Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id @@ -163,6 +161,10 @@ Patch24: handle-etc-HOSTNAME.patch Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch # PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors. +Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch +# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability. +Patch43: Start-ctrl-alt-del.target-irreversibly.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -383,7 +385,6 @@ cp %{SOURCE7} m4/ %patch16 -p1 %patch17 -p1 %patch18 -p1 -%patch19 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -398,6 +399,8 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 %build autoreconf -fiv @@ -423,6 +426,7 @@ export V=1 --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ --with-rc-local-script-path-start=/etc/init.d/boot.local \ --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ CFLAGS="%{optflags}" make %{?_smp_mflags} @@ -763,6 +767,10 @@ rm -rf %{buildroot} %{_bindir}/systemd-cgls %{_bindir}/systemd-cgtop %{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install %dir %{_prefix}/lib/systemd %dir %{_prefix}/lib/systemd/user %dir %{_prefix}/lib/systemd/system