From 4fc530766b72504338bcfe7f7372d47a9254da12bc4d7af0fe13315b7169e38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 20 Sep 2013 08:12:39 +0000 Subject: [PATCH] Split 13.1 from Factory OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd-rpm-macros?expand=0&rev=2 --- ...-missing-setting-of-variable-s-value.patch | 27 ++ ...urnal-letting-interleaved-seqnums-go.patch | 74 ---- 0002-cgroup-correct-the-log-information.patch | 26 ++ ...-last-direction-of-search-and-keep-o.patch | 122 ------ ...ix-incorrectly-setting-memory-cgroup.patch | 46 +++ ...lculate-the-ACL-mask-but-only-if-it-.patch | 87 ---- ...hould-return-errno-of-failed-loop_wr.patch | 25 ++ 0005-core-cgroup-first-print-then-free.patch | 26 ++ 0006-swap-fix-reverse-dependencies.patch | 30 ++ ...llow-nuking-of-symlinks-to-removed-u.patch | 36 -- 0007-libudev-fix-move_later-comparison.patch | 27 ++ ...port-alien-child-as-alive-when-it-s-.patch | 29 -- ...-.wants-symlink-to-auto-swap-devices.patch | 90 ++++ ...enable-by_path-links-for-ata-devices.patch | 10 +- ...ate-by-id-scsi-links-for-ATA-devices.patch | 8 +- 1003-udev-netlink-null-rules.patch | 8 +- 1004-fix-devname-prefix.patch | 22 - ...fault-links-for-primary-cd_dvd-drive.patch | 8 +- 1006-udev-always-rename-network.patch | 6 +- 1007-add-msft-compability-rules.patch | 29 -- 1007-physical-hotplug-cpu-and-memory.patch | 25 ++ 1008-add-msft-compability-rules.patch | 25 ++ ...es-permissions-to-follow-openSUSE-po.patch | 6 +- ...-suspend-hibernate-calls-to-pm-utils.patch | 16 +- ...pport-for-SysV-scripts-for-the-early.patch | 20 +- Start-ctrl-alt-del.target-irreversibly.patch | 27 -- allow-multiple-sulogin-to-be-started.patch | 18 +- apply-ACL-for-nvidia-device-nodes.patch | 14 +- ...alid-address-familily-is-passed-to-g.patch | 8 +- ...etup-after-md-dmraid-lvm-are-started.patch | 18 +- ...le-nss-myhostname-warning-bnc-783841.patch | 6 +- ...e-started-before-local-fs-pre-target.patch | 12 +- ...assword-wall-starts-after-getty-tty1.patch | 6 +- ...rtname-is-set-as-hostname-bnc-820213.patch | 8 +- ...are-applied-after-modules-are-loaded.patch | 10 +- fix-owner-of-var-log-btmp.patch | 6 +- ...-boot-prefixed-initscript-bnc-746506.patch | 8 +- ...t-after-cryptsetup-target-is-reached.patch | 104 ----- ...STEMCTL_OPTIONS-environment-variable.patch | 8 +- ...plock-and-compose_table-and-kbd_rate.patch | 10 +- handle-etc-HOSTNAME.patch | 22 +- ...lock-value-in-etc-sysconfig-keyboard.patch | 28 +- ...lang-value-in-etc-sysconfig-language.patch | 43 +- insserv-generator.patch | 383 ++++++++++++++++++ macros.systemd.upstream | 5 + ...USE-etc-sysconfig-kernel-module-list.patch | 14 +- ...lly-warn-if-nss-myhostname-is-called.patch | 20 +- ...nf-and-adds-dependencies-accordingly.patch | 131 ------ ...script-heuristic-and-add-new-LSB-hea.patch | 20 +- ...r-lock-bind-mount-if-they-aren-t-sym.patch | 24 +- ...vice-with-detected-pid-as-RemainAfte.patch | 8 +- ...ndle-boot-sysctl.conf-kernel_release.patch | 12 +- ...oes-not-expand-u-so-revert-back-to-I.patch | 27 -- systemd-204.tar.xz | 3 - systemd-207.tar.xz | 3 + systemd-dbus-system-bus-address.patch | 11 + systemd-insserv_conf | 34 -- systemd-mini-rpmlintrc | 2 + systemd-mini.changes | 299 +++++++++++++- systemd-mini.spec | 153 ++++--- systemd-pam_config.patch | 14 + systemd-rpm-macros.changes | 5 + systemd-rpm-macros.spec | 2 +- systemd-rpmlintrc | 2 + systemd-tmp-safe-defaults.patch | 6 +- systemd.changes | 297 +++++++++++++- systemd.spec | 153 ++++--- ...or-openSUSE-version-of-etc-sysconfig.patch | 6 +- ...r-sbin-sulogin-for-emergency-service.patch | 16 + 69 files changed, 1743 insertions(+), 1091 deletions(-) create mode 100644 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch delete mode 100644 0001-journal-letting-interleaved-seqnums-go.patch create mode 100644 0002-cgroup-correct-the-log-information.patch delete mode 100644 0002-journal-remember-last-direction-of-search-and-keep-o.patch create mode 100644 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch delete mode 100644 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch create mode 100644 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch create mode 100644 0005-core-cgroup-first-print-then-free.patch create mode 100644 0006-swap-fix-reverse-dependencies.patch delete mode 100644 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch create mode 100644 0007-libudev-fix-move_later-comparison.patch delete mode 100644 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch create mode 100644 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch delete mode 100644 1004-fix-devname-prefix.patch delete mode 100644 1007-add-msft-compability-rules.patch create mode 100644 1007-physical-hotplug-cpu-and-memory.patch create mode 100644 1008-add-msft-compability-rules.patch delete mode 100644 Start-ctrl-alt-del.target-irreversibly.patch delete mode 100644 force-lvm-restart-after-cryptsetup-target-is-reached.patch create mode 100644 insserv-generator.patch delete mode 100644 parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch delete mode 100644 systemctl-does-not-expand-u-so-revert-back-to-I.patch delete mode 100644 systemd-204.tar.xz create mode 100644 systemd-207.tar.xz create mode 100644 systemd-dbus-system-bus-address.patch delete mode 100644 systemd-insserv_conf create mode 100644 systemd-pam_config.patch create mode 100644 use-usr-sbin-sulogin-for-emergency-service.patch diff --git a/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch new file mode 100644 index 0000000..4883bae --- /dev/null +++ b/0001-cgroup-add-the-missing-setting-of-variable-s-value.patch @@ -0,0 +1,27 @@ +From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 11:17:05 +0800 +Subject: [PATCH 1/7] cgroup: add the missing setting of variable's value + +set the value of variable "r" to the return value +of cg_set_attribute. +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 3eeb475..fba0b2f 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -264,7 +264,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + + sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); +- cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); + if (r < 0) + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + } +-- +1.8.1.4 + diff --git a/0001-journal-letting-interleaved-seqnums-go.patch b/0001-journal-letting-interleaved-seqnums-go.patch deleted file mode 100644 index a3c6054..0000000 --- a/0001-journal-letting-interleaved-seqnums-go.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Fri, 7 Jun 2013 22:01:03 -0400 -Subject: [PATCH] journal: letting (interleaved) seqnums go - -In the following scenario: - server creates system.journal - server creates user-1000.journal -both journals share the same seqnum_id. -Then - server writes to user-1000.journal first, - and server writes to system.journal a bit later, -and everything is fine. -The server then terminates (crash, reboot, rsyslog testing, -whatever), and user-1000.journal has entries which end with -a lower seqnum than system.journal. Now - server is restarted - server opens user-1000.journal and writes entries to it... -BAM! duplicate seqnums for the same seqnum_id. - -Now, we usually don't see that happen, because system.journal -is closed last, and opened first. Since usually at least one -message is written during boot and lands in the system.journal, -the seqnum is initialized from it, and is set to a number higher -than than anything found in user journals. Nevertheless, if -system.journal is corrupted and is rotated, it can happen that -an entry is written to the user journal with a seqnum that is -a duplicate with an entry found in the corrupted system.journal~. -When browsing the journal, journalctl can fall into a loop -where it tries to follow the seqnums, and tries to go the -next location by seqnum, and is transported back in time to -to the older duplicate seqnum. There is not way to find -out the maximum seqnum used in a multiple files, without -actually looking at all of them. But we don't want to do -that because it would be slow, and actually it isn't really -possible, because a file might e.g. be temporarily unaccessible. - -Fix the problem by using different seqnum series for user -journals. Using the same seqnum series for rotated journals -is still fine, because we know that nothing will write -to the rotated journal anymore. - -Likely related: -https://bugs.freedesktop.org/show_bug.cgi?id=64566 -https://bugs.freedesktop.org/show_bug.cgi?id=59856 -https://bugs.freedesktop.org/show_bug.cgi?id=64296 -https://bugs.archlinux.org/task/35581 -https://bugzilla.novell.com/show_bug.cgi?id=817778 - -Possibly related: -https://bugs.freedesktop.org/show_bug.cgi?id=64293 - -Conflicts: - src/journal/journald-server.c ---- - src/journal/journald-server.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index cc52b8a..cde63c8 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -280,7 +280,7 @@ static JournalFile* find_journal(Server *s, uid_t uid) { - journal_file_close(f); - } - -- r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, s->system_journal, &f); -+ r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &f); - free(p); - - if (r < 0) --- -1.8.2.1 - diff --git a/0002-cgroup-correct-the-log-information.patch b/0002-cgroup-correct-the-log-information.patch new file mode 100644 index 0000000..648b5c6 --- /dev/null +++ b/0002-cgroup-correct-the-log-information.patch @@ -0,0 +1,26 @@ +From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 11:17:06 +0800 +Subject: [PATCH 2/7] cgroup: correct the log information + +it should be memory.soft_limit_in_bytes. +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index fba0b2f..aee93ba 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -266,7 +266,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); + r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); + if (r < 0) +- log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); ++ log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); + } + + if (mask & CGROUP_DEVICE) { +-- +1.8.1.4 + diff --git a/0002-journal-remember-last-direction-of-search-and-keep-o.patch b/0002-journal-remember-last-direction-of-search-and-keep-o.patch deleted file mode 100644 index b710d55..0000000 --- a/0002-journal-remember-last-direction-of-search-and-keep-o.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Thu, 6 Jun 2013 22:28:05 -0400 -Subject: [PATCH 01/13] journal: remember last direction of search and keep - offset cache - -The fields in JournalFile are moved around to avoid wasting -7 bytes because of alignment. ---- - TODO | 3 --- - src/journal/journal-file.h | 18 +++++++++++------- - src/journal/sd-journal.c | 11 +++++------ - 3 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/TODO b/TODO -index 0dd19a0..1dc585c 100644 ---- a/TODO -+++ b/TODO -@@ -77,9 +77,6 @@ Features: - - * investigate endianess issues of UUID vs. GUID - --* see if we can fix https://bugs.freedesktop.org/show_bug.cgi?id=63672 -- without dropping the location cache entirely. -- - * dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we - should be able to safely try another attempt when the bus call LoadUnit() is invoked. - -diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h -index 7b1cd42..5cc2c2d 100644 ---- a/src/journal/journal-file.h -+++ b/src/journal/journal-file.h -@@ -42,10 +42,14 @@ typedef struct JournalMetrics { - uint64_t keep_free; - } JournalMetrics; - -+typedef enum direction { -+ DIRECTION_UP, -+ DIRECTION_DOWN -+} direction_t; -+ - typedef struct JournalFile { - int fd; -- char *path; -- struct stat last_stat; -+ - mode_t mode; - - int flags; -@@ -56,6 +60,11 @@ typedef struct JournalFile { - - bool tail_entry_monotonic_valid; - -+ direction_t last_direction; -+ -+ char *path; -+ struct stat last_stat; -+ - Header *header; - HashItem *data_hash_table; - HashItem *field_hash_table; -@@ -90,11 +99,6 @@ typedef struct JournalFile { - #endif - } JournalFile; - --typedef enum direction { -- DIRECTION_UP, -- DIRECTION_DOWN --} direction_t; -- - int journal_file_open( - const char *fname, - int flags, -diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c -index 3aa9ed4..4c4cc2d 100644 ---- a/src/journal/sd-journal.c -+++ b/src/journal/sd-journal.c -@@ -102,7 +102,8 @@ static void init_location(Location *l, LocationType type, JournalFile *f, Object - l->seqnum_set = l->realtime_set = l->monotonic_set = l->xor_hash_set = true; - } - --static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, uint64_t offset) { -+static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, -+ direction_t direction, uint64_t offset) { - assert(j); - assert(type == LOCATION_DISCRETE || type == LOCATION_SEEK); - assert(f); -@@ -110,12 +111,10 @@ static void set_location(sd_journal *j, LocationType type, JournalFile *f, Objec - - init_location(&j->current_location, type, f, o); - -- if (j->current_file) -- j->current_file->current_offset = 0; -- - j->current_file = f; - j->current_field = 0; - -+ f->last_direction = direction; - f->current_offset = offset; - } - -@@ -811,7 +810,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc - assert(j); - assert(f); - -- if (f->current_offset > 0) { -+ if (f->last_direction == direction && f->current_offset > 0) { - cp = f->current_offset; - - r = journal_file_move_to_object(f, OBJECT_ENTRY, cp, &c); -@@ -908,7 +907,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) { - if (r < 0) - return r; - -- set_location(j, LOCATION_DISCRETE, new_file, o, new_offset); -+ set_location(j, LOCATION_DISCRETE, new_file, o, direction, new_offset); - - return 1; - } --- -1.8.2.1 - diff --git a/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch new file mode 100644 index 0000000..9b10393 --- /dev/null +++ b/0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch @@ -0,0 +1,46 @@ +From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001 +From: Gao feng +Date: Fri, 13 Sep 2013 14:43:04 +0800 +Subject: [PATCH 3/7] cgroup: fix incorrectly setting memory cgroup + +If the memory_limit of unit is -1, we should write "-1" +to the file memory.limit_in_bytes. not the (unit64_t) -1. + +otherwise the memory.limit_in_bytes will be set to zero. +--- + src/core/cgroup.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index aee93ba..244baff 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -257,14 +257,21 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha + + if (mask & CGROUP_MEMORY) { + char buf[DECIMAL_STR_MAX(uint64_t) + 1]; ++ if (c->memory_limit != (uint64_t) -1) { ++ sprintf(buf, "%" PRIu64 "\n", c->memory_limit); ++ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); ++ } else ++ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1"); + +- sprintf(buf, "%" PRIu64 "\n", c->memory_limit); +- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf); + if (r < 0) + log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r)); + +- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); +- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ if (c->memory_soft_limit != (uint64_t) -1) { ++ sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit); ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf); ++ } else ++ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", "-1"); ++ + if (r < 0) + log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r)); + } +-- +1.8.1.4 + diff --git a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch deleted file mode 100644 index cb24f70..0000000 --- a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Tue, 28 May 2013 20:45:34 +0200 -Subject: [PATCH 4/8] journald: DO recalculate the ACL mask, but only if it - doesn't exist - -Since 11ec7ce, journald isn't setting the ACLs properly anymore if -the files had no ACLs to begin with: acl_set_fd fails with EINVAL. - -An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is -invalid, so make sure a mask exists before trying to set the ACL. ---- - src/journal/journald-server.c | 6 ++++-- - src/shared/acl-util.c | 28 ++++++++++++++++++++++++++++ - src/shared/acl-util.h | 1 + - 3 files changed, 33 insertions(+), 2 deletions(-) - -diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c -index cc52b8a..01f23ce 100644 ---- a/src/journal/journald-server.c -+++ b/src/journal/journald-server.c -@@ -227,9 +227,11 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) { - } - } - -- /* We do not recalculate the mask here, so that the fchmod() mask above stays intact. */ -+ /* We do not recalculate the mask unconditionally here, -+ * so that the fchmod() mask above stays intact. */ - if (acl_get_permset(entry, &permset) < 0 || -- acl_add_perm(permset, ACL_READ) < 0) { -+ acl_add_perm(permset, ACL_READ) < 0 || -+ calc_acl_mask_if_needed(&acl) < 0) { - log_warning("Failed to patch ACL on %s, ignoring: %m", f->path); - goto finish; - } -diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c -index 48bb12f..fb04e49 100644 ---- a/src/shared/acl-util.c -+++ b/src/shared/acl-util.c -@@ -69,6 +69,34 @@ int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) { - return 0; - } - -+int calc_acl_mask_if_needed(acl_t *acl_p) { -+ acl_entry_t i; -+ int found; -+ -+ assert(acl_p); -+ -+ for (found = acl_get_entry(*acl_p, ACL_FIRST_ENTRY, &i); -+ found > 0; -+ found = acl_get_entry(*acl_p, ACL_NEXT_ENTRY, &i)) { -+ -+ acl_tag_t tag; -+ -+ if (acl_get_tag_type(i, &tag) < 0) -+ return -errno; -+ -+ if (tag == ACL_MASK) -+ return 0; -+ } -+ -+ if (found < 0) -+ return -errno; -+ -+ if (acl_calc_mask(acl_p) < 0) -+ return -errno; -+ -+ return 0; -+} -+ - int search_acl_groups(char*** dst, const char* path, bool* belong) { - acl_t acl; - -diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h -index 23090d9..36ef490 100644 ---- a/src/shared/acl-util.h -+++ b/src/shared/acl-util.h -@@ -24,4 +24,5 @@ - #include - - int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry); -+int calc_acl_mask_if_needed(acl_t *acl_p); - int search_acl_groups(char*** dst, const char* path, bool* belong); --- -1.8.1.4 - diff --git a/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch new file mode 100644 index 0000000..b90fbad --- /dev/null +++ b/0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch @@ -0,0 +1,25 @@ +From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:12:55 +0200 +Subject: [PATCH 4/7] random-seed: we should return errno of failed loop_write + +--- + src/random-seed/random-seed.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c +index 4776c07..afbd500 100644 +--- a/src/random-seed/random-seed.c ++++ b/src/random-seed/random-seed.c +@@ -157,7 +157,7 @@ int main(int argc, char *argv[]) { + r = loop_write(seed_fd, buf, (size_t) k, false); + if (r <= 0) { + log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write"); +- r = k == 0 ? -EIO : (int) k; ++ r = r == 0 ? -EIO : r; + } + } + +-- +1.8.1.4 + diff --git a/0005-core-cgroup-first-print-then-free.patch b/0005-core-cgroup-first-print-then-free.patch new file mode 100644 index 0000000..5aac9a8 --- /dev/null +++ b/0005-core-cgroup-first-print-then-free.patch @@ -0,0 +1,26 @@ +From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:31:17 +0200 +Subject: [PATCH 5/7] core/cgroup: first print then free + +--- + src/core/cgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 244baff..1f41efc 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -402,8 +402,8 @@ static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) { + is_in_hash = true; + + if (r < 0) { +- free(path); + log_error("cgroup %s exists already: %s", path, strerror(-r)); ++ free(path); + return r; + } + +-- +1.8.1.4 + diff --git a/0006-swap-fix-reverse-dependencies.patch b/0006-swap-fix-reverse-dependencies.patch new file mode 100644 index 0000000..4582c34 --- /dev/null +++ b/0006-swap-fix-reverse-dependencies.patch @@ -0,0 +1,30 @@ +From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Fri, 13 Sep 2013 14:46:18 +0200 +Subject: [PATCH 6/7] swap: fix reverse dependencies + +Make sure swap.target correctly requires/wants the swap units. + +This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291. + +Reported-by: Hussam Al-Tayeb +--- + src/core/swap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/swap.c b/src/core/swap.c +index 57d15eb..3950860 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) { + } + + if (!noauto) { +- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY), ++ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), + SPECIAL_SWAP_TARGET, NULL, true); + if (r < 0) + return r; +-- +1.8.1.4 + diff --git a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch deleted file mode 100644 index 4c39c95..0000000 --- a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= -Date: Mon, 3 Jun 2013 13:55:13 -0400 -Subject: [PATCH 6/8] systemctl,core: allow nuking of symlinks to removed units - -Before, one the unit file was deleted, install_context_for_removal() -would refuse to look for symlinks. But we can remove dangling symlinks -anyway. - -In principle, package installation/deinstallation scripts should do -that before the unit is uninstalled, but they don't always do. Also, -a user might have added additional symlinks manually. - -https://bugs.freedesktop.org/show_bug.cgi?id=62395 ---- - src/shared/install.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/shared/install.c b/src/shared/install.c -index edf4d2a..a695e12 100644 ---- a/src/shared/install.c -+++ b/src/shared/install.c -@@ -1413,7 +1413,9 @@ static int install_context_mark_for_removal( - assert_se(hashmap_move_one(c->have_installed, c->will_install, i->name) == 0); - - q = unit_file_search(c, i, paths, root_dir, false); -- if (q < 0) { -+ if (q == -ENOENT) { -+ /* do nothing */ -+ } else if (q < 0) { - if (r >= 0) - r = q; - --- -1.8.1.4 - diff --git a/0007-libudev-fix-move_later-comparison.patch b/0007-libudev-fix-move_later-comparison.patch new file mode 100644 index 0000000..e1e4d00 --- /dev/null +++ b/0007-libudev-fix-move_later-comparison.patch @@ -0,0 +1,27 @@ +From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001 +From: Lukas Nykryn +Date: Fri, 13 Sep 2013 14:12:54 +0200 +Subject: [PATCH 7/7] libudev: fix move_later comparison + +At the beginning move_later is set to -1, but it is set to different +value only if expression !move_later is true. +--- + src/libudev/libudev-enumerate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c +index bc1e37d..8146f27 100644 +--- a/src/libudev/libudev-enumerate.c ++++ b/src/libudev/libudev-enumerate.c +@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume + /* skip to be delayed devices, and move the to + * the point where the prefix changes. We can + * only move one item at a time. */ +- if (!move_later) { ++ if (move_later == -1) { + move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath); + + if (move_later_prefix > 0) { +-- +1.8.1.4 + diff --git a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch deleted file mode 100644 index c99f242..0000000 --- a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001 -From: Ross Lagerwall -Date: Sun, 9 Jun 2013 17:28:44 +0100 -Subject: [PATCH 8/8] service: don't report alien child as alive when it's not - -When a sigchld is received from an alien child, main_pid is set to -0 then service_enter_running calls main_pid_good to check if the -child is running. This incorrectly returned true because -kill(main_pid, 0) would return >= 0. - -This fixes an error where a service would die and the cgroup would -become empty but the service would still report as active (running). ---- - src/core/service.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c -@@ -1933,7 +1933,7 @@ static int main_pid_good(Service *s) { - - /* If it's an alien child let's check if it is still - * alive ... */ -- if (s->main_pid_alien) -+ if (s->main_pid_alien && s->main_pid > 0) - return kill(s->main_pid, 0) >= 0 || errno != ESRCH; - - /* .. otherwise assume we'll get a SIGCHLD for it, diff --git a/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch new file mode 100644 index 0000000..a81842b --- /dev/null +++ b/0008-swap-create-.wants-symlink-to-auto-swap-devices.patch @@ -0,0 +1,90 @@ +From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Mon, 16 Sep 2013 01:08:32 +0200 +Subject: [PATCH 8/8] swap: create .wants symlink to 'auto' swap devices + +As we load unit files lazily, we need to make sure something pulls in swap +units that should be started automatically, otherwise the default dependencies +will never be applied. + +This partially reinstates code removed in +commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4. + +Also don't order swap devices after swap.target when they are 'nofail'. +--- + src/core/swap.c | 8 ++++++-- + src/fstab-generator/fstab-generator.c | 18 ++++++++++++++++-- + 2 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/core/swap.c b/src/core/swap.c +index 3950860..76c7d45 100644 +--- a/src/core/swap.c ++++ b/src/core/swap.c +@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) { + } + + if (!noauto) { +- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES), +- SPECIAL_SWAP_TARGET, NULL, true); ++ if (nofail) ++ r = unit_add_dependency_by_name_inverse(UNIT(s), ++ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true); ++ else ++ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), ++ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true); + if (r < 0) + return r; + } +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index 6ebe8aa..b73dfa4 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) { + static int add_swap(const char *what, struct mntent *me) { + _cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL; + _cleanup_fclose_ FILE *f = NULL; ++ bool noauto; + int r, pri = -1; + + assert(what); +@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) { + return pri; + } + ++ noauto = !!hasmntopt(me, "noauto"); ++ + name = unit_name_from_path(what, ".swap"); + if (!name) + return log_oom(); +@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) { + fprintf(f, + "# Automatically generated by systemd-fstab-generator\n\n" + "[Unit]\n" +- "SourcePath=/etc/fstab\n" +- "\n" ++ "SourcePath=/etc/fstab\n\n" + "[Swap]\n" + "What=%s\n", + what); +@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) { + return -errno; + } + ++ if (!noauto) { ++ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL); ++ if (!lnk) ++ return log_oom(); ++ ++ mkdir_parents_label(lnk, 0755); ++ if (symlink(unit, lnk) < 0) { ++ log_error("Failed to create symlink %s: %m", lnk); ++ return -errno; ++ } ++ } ++ + return 0; + } + +-- +1.8.1.4 + diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch index 64f01c1..8d9594a 100644 --- a/1001-re-enable-by_path-links-for-ata-devices.patch +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -7,11 +7,9 @@ Fix by-path links for ATA transport (bnc#770910) src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------ 1 file changed, 80 insertions(+), 12 deletions(-) -diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c -index da02731..a77d4e8 100644 ---- a/src/udev/udev-builtin-path_id.c -+++ b/src/udev/udev-builtin-path_id.c -@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char * +--- systemd-206.orig/src/udev/udev-builtin-path_id.c ++++ systemd-206/src/udev/udev-builtin-path_id.c +@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_h return parent; } @@ -97,7 +95,7 @@ index da02731..a77d4e8 100644 static struct udev_device *handle_scsi(struct udev_device *parent, char **path) { const char *devtype; -@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path) +@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(s goto out; } diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch index c2f3186..bd7904c 100644 --- a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +++ b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -7,11 +7,9 @@ Re-enable creation of by-id scsi links for ATA devices. (bnc#769002) rules/60-persistent-storage.rules | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index a4d009a..f720c7e 100644 ---- a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="s +--- systemd-206.orig/rules/60-persistent-storage.rules ++++ systemd-206/rules/60-persistent-storage.rules +@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch index f486a13..93756c5 100644 --- a/1003-udev-netlink-null-rules.patch +++ b/1003-udev-netlink-null-rules.patch @@ -7,11 +7,9 @@ udevd race for netlink events (bnc#774646) src/udev/udevd.c | 2 ++ 1 file changed, 2 insertions(+) -Index: systemd-202/src/udev/udevd.c -=================================================================== ---- systemd-202.orig/src/udev/udevd.c -+++ systemd-202/src/udev/udevd.c -@@ -1407,6 +1407,8 @@ int main(int argc, char *argv[]) +--- systemd-206.orig/src/udev/udevd.c ++++ systemd-206/src/udev/udevd.c +@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[]) dev = udev_monitor_receive_device(monitor); if (dev != NULL) { udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); diff --git a/1004-fix-devname-prefix.patch b/1004-fix-devname-prefix.patch deleted file mode 100644 index 7ab99e9..0000000 --- a/1004-fix-devname-prefix.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Frederic Crozat -Date: Wed, 5 Dec 2012 15:13:27 +0000 -Subject: fix devname prefix - -fix modules.devname path, it isn't in /usr. ---- - src/udev/udevd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: systemd-202/src/udev/udevd.c -=================================================================== ---- systemd-202.orig/src/udev/udevd.c -+++ systemd-202/src/udev/udevd.c -@@ -824,7 +824,7 @@ static void static_dev_create_from_modul - return; - } - -- strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL); -+ strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL); - f = fopen(modules, "re"); - if (f == NULL) - return; diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch index c66a9da..e70b575 100644 --- a/1005-create-default-links-for-primary-cd_dvd-drive.patch +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -7,11 +7,9 @@ cdrom_id: created links for the default cd/dvd drive (bnc#783054). rules/60-cdrom_id.rules | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/rules/60-cdrom_id.rules b/rules/60-cdrom_id.rules -index 6eaf76a..ec0b19a 100644 ---- a/rules/60-cdrom_id.rules -+++ b/rules/60-cdrom_id.rules -@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr +--- systemd-206.orig/rules/60-cdrom_id.rules ++++ systemd-206/rules/60-cdrom_id.rules +@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr # enable the receiving of media eject button events IMPORT{program}="cdrom_id --lock-media $devnode" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch index d1c61d0..4f91c92 100644 --- a/1006-udev-always-rename-network.patch +++ b/1006-udev-always-rename-network.patch @@ -8,10 +8,8 @@ udev: ensure that the network interfaces are renamed even if they exist src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) -Index: systemd-204/src/udev/udev-event.c -=================================================================== ---- systemd-204.orig/src/udev/udev-event.c -+++ systemd-204/src/udev/udev-event.c +--- systemd-206.orig/src/udev/udev-event.c ++++ systemd-206/src/udev/udev-event.c @@ -750,6 +750,7 @@ static int rename_netif(struct udev_even struct udev_device *dev = event->dev; int sk; diff --git a/1007-add-msft-compability-rules.patch b/1007-add-msft-compability-rules.patch deleted file mode 100644 index d24b769..0000000 --- a/1007-add-msft-compability-rules.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ - rules/73-seat-numlock.rules - - # ------------------------------------------------------------------------------ -+dist_udevrules_DATA += \ -+ rules/61-msft.rules -+ -+# ------------------------------------------------------------------------------ - if ENABLE_GUDEV - if ENABLE_GTK_DOC - SUBDIRS += \ -Index: systemd-204/rules/61-msft.rules -=================================================================== ---- /dev/null -+++ systemd-204/rules/61-msft.rules -@@ -0,0 +1,9 @@ -+# MSFT compability rules -+ACTION!="add|change", GOTO="msft_end" -+ -+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" -+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode", ENV{ID_BUS}="scsi" -+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}" -+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}-part%n" -+ -+LABEL="msft_end" diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch new file mode 100644 index 0000000..7daebb2 --- /dev/null +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -0,0 +1,25 @@ +--- /dev/null ++++ systemd-206/rules/80-hotplug-cpu-mem.rules +@@ -0,0 +1,9 @@ ++# do not edit this file, it will be overwritten on update ++ ++# Hotplug physical CPU ++SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \ ++ ATTR{online}="1" ++ ++# Hotplug physical memory ++SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ ++ ATTR{state}="online" +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \ + rules/73-seat-numlock.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/80-hotplug-cpu-mem.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch new file mode 100644 index 0000000..d011737 --- /dev/null +++ b/1008-add-msft-compability-rules.patch @@ -0,0 +1,25 @@ +--- systemd-206.orig/Makefile.am ++++ systemd-206/Makefile.am +@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \ + rules/80-hotplug-cpu-mem.rules + + # ------------------------------------------------------------------------------ ++dist_udevrules_DATA += \ ++ rules/61-msft.rules ++ ++# ------------------------------------------------------------------------------ + if ENABLE_GUDEV + if ENABLE_GTK_DOC + SUBDIRS += \ +--- /dev/null ++++ systemd-206/rules/61-msft.rules +@@ -0,0 +1,9 @@ ++# MSFT compability rules ++ACTION!="add|change", GOTO="msft_end" ++ ++ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*" ++KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode" ++KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}" ++KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n" ++ ++LABEL="msft_end" diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch index 2cc1bb4..8e0a00a 100644 --- a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -8,10 +8,8 @@ disable /var/lock/{subsys,lockdev} and change default permissions on tmpfiles.d/legacy.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf -index 3fff347..81d5e47 100644 ---- a/tmpfiles.d/legacy.conf -+++ b/tmpfiles.d/legacy.conf +--- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf ++++ systemd-206_git201308300826/tmpfiles.d/legacy.conf @@ -10,12 +10,13 @@ # These files are considered legacy and are unnecessary on legacy-free # systems. diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch index 7e6b7b4..3b50d50 100644 --- a/Forward-suspend-hibernate-calls-to-pm-utils.patch +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -7,10 +7,8 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157) 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 a56ab89..232ab67 100644 ---- a/src/sleep/sleep.c -+++ b/src/sleep/sleep.c +--- systemd-206.orig/src/sleep/sleep.c ++++ systemd-206/src/sleep/sleep.c @@ -24,6 +24,7 @@ #include #include @@ -38,7 +36,7 @@ index a56ab89..232ab67 100644 return r; } -@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) { +@@ -90,6 +90,8 @@ static int execute(char **modes, char ** FILE *f; const char* note = strappenda("SLEEP=", arg_verb); @@ -47,7 +45,7 @@ index a56ab89..232ab67 100644 /* 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) { +@@ -102,6 +104,7 @@ static int execute(char **modes, char ** r = write_mode(modes); if (r < 0) return r; @@ -55,7 +53,7 @@ index a56ab89..232ab67 100644 arguments[0] = NULL; arguments[1] = (char*) "pre"; -@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) { +@@ -114,8 +117,10 @@ static int execute(char **modes, char ** "MESSAGE=Suspending system...", note, NULL); @@ -67,7 +65,7 @@ index a56ab89..232ab67 100644 if (r < 0) return r; -@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) { +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar }; int c; @@ -75,7 +73,7 @@ index a56ab89..232ab67 100644 assert(argc >= 0); assert(argv); -@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) { +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar return -EINVAL; } diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch index de856e1..137a482 100644 --- a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -10,10 +10,8 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c +--- systemd-206.orig/src/core/service.c ++++ systemd-206/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -55,7 +53,7 @@ Index: systemd-204/src/core/service.c #endif static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { -@@ -332,6 +345,9 @@ static char *sysv_translate_name(const c +@@ -334,6 +347,9 @@ static char *sysv_translate_name(const c if (endswith(name, ".sh")) /* Drop .sh suffix */ strcpy(stpcpy(r, name) - 3, ".service"); @@ -65,7 +63,7 @@ Index: systemd-204/src/core/service.c else /* Normal init script name */ strcpy(stpcpy(r, name), ".service"); -@@ -934,6 +950,13 @@ static int service_load_sysv_path(Servic +@@ -936,6 +952,13 @@ static int service_load_sysv_path(Servic if ((r = sysv_exec_commands(s, supports_reload)) < 0) goto finish; @@ -79,7 +77,7 @@ Index: systemd-204/src/core/service.c if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { /* If there a runlevels configured for this service -@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Servic +@@ -1017,6 +1040,9 @@ static int service_load_sysv_name(Servic if (endswith(name, ".sh.service")) return -ENOENT; @@ -89,7 +87,7 @@ Index: systemd-204/src/core/service.c STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) { char *path; int r; -@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Servic +@@ -1037,6 +1063,18 @@ static int service_load_sysv_name(Servic } free(path); @@ -108,7 +106,7 @@ Index: systemd-204/src/core/service.c if (r < 0) return r; -@@ -3667,7 +3705,7 @@ static int service_enumerate(Manager *m) +@@ -3587,7 +3625,7 @@ static int service_enumerate(Manager *m) if (de->d_name[0] == 'S') { @@ -117,7 +115,7 @@ Index: systemd-204/src/core/service.c SERVICE(service)->sysv_start_priority_from_rcnd = MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd); -@@ -3684,7 +3722,8 @@ static int service_enumerate(Manager *m) +@@ -3604,7 +3642,8 @@ static int service_enumerate(Manager *m) goto finish; } else if (de->d_name[0] == 'K' && @@ -127,7 +125,7 @@ Index: systemd-204/src/core/service.c r = set_ensure_allocated(&shutdown_services, trivial_hash_func, trivial_compare_func); -@@ -3724,7 +3763,9 @@ static int service_enumerate(Manager *m) +@@ -3644,7 +3683,9 @@ static int service_enumerate(Manager *m) * runlevels we assume the stop jobs will be implicitly added * by the core logic. Also, we don't really distinguish here * between the runlevels 0 and 6 and just add them to the diff --git a/Start-ctrl-alt-del.target-irreversibly.patch b/Start-ctrl-alt-del.target-irreversibly.patch deleted file mode 100644 index 68a9429..0000000 --- a/Start-ctrl-alt-del.target-irreversibly.patch +++ /dev/null @@ -1,27 +0,0 @@ -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/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch index 297b579..507d8fc 100644 --- a/allow-multiple-sulogin-to-be-started.patch +++ b/allow-multiple-sulogin-to-be-started.patch @@ -9,10 +9,8 @@ allows multiple sulogin instance (bnc#793182). units/serial-getty@.service.m4 | 1 + 3 files changed, 3 insertions(+) -diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index 083eb97..243fea5 100644 ---- a/units/getty@.service.m4 -+++ b/units/getty@.service.m4 +--- systemd-206.orig/units/getty@.service.m4 ++++ systemd-206/units/getty@.service.m4 @@ -9,6 +9,7 @@ Description=Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) @@ -21,10 +19,8 @@ index 083eb97..243fea5 100644 After=systemd-user-sessions.service plymouth-quit-wait.service m4_ifdef(`HAVE_SYSV_COMPAT', After=rc-local.service -diff --git a/units/rescue.target b/units/rescue.target -index 3f59b14..20f6841 100644 ---- a/units/rescue.target -+++ b/units/rescue.target +--- systemd-206.orig/units/rescue.target ++++ systemd-206/units/rescue.target @@ -10,6 +10,7 @@ Description=Rescue Mode Documentation=man:systemd.special(7) Requires=sysinit.target rescue.service @@ -33,10 +29,8 @@ index 3f59b14..20f6841 100644 AllowIsolate=yes [Install] -diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index 60d7737..2b18dbf 100644 ---- a/units/serial-getty@.service.m4 -+++ b/units/serial-getty@.service.m4 +--- systemd-206.orig/units/serial-getty@.service.m4 ++++ systemd-206/units/serial-getty@.service.m4 @@ -10,6 +10,7 @@ Description=Serial Getty on %I Documentation=man:agetty(8) man:systemd-getty-generator(8) Documentation=http://0pointer.de/blog/projects/serial-console.html diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch index e89708a..44d90f3 100644 --- a/apply-ACL-for-nvidia-device-nodes.patch +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -7,10 +7,8 @@ set ACL on nvidia devices (bnc#808319). src/login/logind-acl.c | 3 +++ 1 file changed, 3 insertions(+) -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 +--- systemd-206.orig/src/login/logind-acl.c ++++ systemd-206/src/login/logind-acl.c @@ -24,6 +24,7 @@ #include #include @@ -19,8 +17,8 @@ index cb045a9..51093f2 100644 #include "logind-acl.h" #include "util.h" -@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev, - goto finish; +@@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev, + r = devnode_acl(n, flush, del, old_uid, add, new_uid); } + /* only search for nvidia* if /dev/nvidiactl exists */ @@ -40,5 +38,5 @@ index cb045a9..51093f2 100644 + } + finish: - if (e) - udev_enumerate_unref(e); + udev_enumerate_unref(e); + set_free_free(nodes); 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 b33c558..04afafb 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 @@ -7,11 +7,9 @@ Subject: avoid assertion if invalid address familily is passed to 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 60e256d..e97d4e5 100644 ---- a/src/nss-myhostname/nss-myhostname.c -+++ b/src/nss-myhostname/nss-myhostname.c -@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r( +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c +@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; const char *canonical = NULL, *additional = NULL; diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch index 4cf6699..f1145b9 100644 --- a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -1,34 +1,30 @@ From: Frederic Crozat Date: Wed, 9 Nov 2011 11:10:49 +0100 -Subject: delay fsck / cryptsetup after md / dmraid / lvm are started +Subject: delay fsck / cryptsetup after md / dmraid are started --- src/cryptsetup/cryptsetup-generator.c | 1 + units/systemd-fsck@.service.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index 9b8e229..0949287 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c +--- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c ++++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c @@ -160,6 +160,7 @@ static int create_disk( "Conflicts=umount.target\n" "DefaultDependencies=no\n" "BindsTo=dev-mapper-%i.device\n" -+ "After=md.service dmraid.service lvm.service\n" ++ "After=md.service dmraid.service\n" "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); -diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in -index b3c71eb..c66a411 100644 ---- a/units/systemd-fsck@.service.in -+++ b/units/systemd-fsck@.service.in +--- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in ++++ systemd-206_git201308300826/units/systemd-fsck@.service.in @@ -10,7 +10,7 @@ Description=File System Check on %f Documentation=man:systemd-fsck@.service(8) DefaultDependencies=no BindsTo=%i.device -After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device -+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service ++After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device md.service dmraid.service Before=shutdown.target [Service] diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch index c0365d7..c20aad9 100644 --- a/disable-nss-myhostname-warning-bnc-783841.patch +++ b/disable-nss-myhostname-warning-bnc-783841.patch @@ -6,10 +6,8 @@ Subject: disable nss-myhostname warning (bnc#783841) src/hostname/hostnamed.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c -index 0437e33..c7f454c 100644 ---- a/src/hostname/hostnamed.c -+++ b/src/hostname/hostnamed.c +--- systemd-206.orig/src/hostname/hostnamed.c ++++ systemd-206/src/hostname/hostnamed.c @@ -134,6 +134,7 @@ static int read_data(void) { static bool check_nss(void) { diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch index c4e313a..d53eb94 100644 --- a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -1,19 +1,17 @@ From: Frederic Crozat Date: Thu, 9 Feb 2012 16:19:38 +0000 -Subject: ensure DM and LVM are started before local-fs-pre-target +Subject: ensure DM and dmraid are started before local-fs-pre-target -ensure md / lvm /dmraid is started before mounting partitions, +ensure md / dmraid is started before mounting partitions, if fsck was disabled for them (bnc#733283). --- units/local-fs-pre.target | 1 + 1 file changed, 1 insertion(+) -diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target -index 809f2ed..05fcbd4 100644 ---- a/units/local-fs-pre.target -+++ b/units/local-fs-pre.target +--- systemd-206_git201308300826.orig/units/local-fs-pre.target ++++ systemd-206_git201308300826/units/local-fs-pre.target @@ -9,3 +9,4 @@ Description=Local File Systems (Pre) Documentation=man:systemd.special(7) RefuseManualStart=yes -+After=md.service lvm.service dmraid.service ++After=md.service dmraid.service diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch index a0c005f..17d2e05 100644 --- a/ensure-ask-password-wall-starts-after-getty-tty1.patch +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -7,10 +7,8 @@ ensure passphrase is handled before starting getty on tty1. units/systemd-ask-password-wall.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in -index 0eaa274..ca51e4e 100644 ---- a/units/systemd-ask-password-wall.service.in -+++ b/units/systemd-ask-password-wall.service.in +--- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in ++++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in @@ -8,7 +8,7 @@ [Unit] Description=Forward Password Requests to Wall diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch index 007e601..3f6b0eb 100644 --- a/ensure-shortname-is-set-as-hostname-bnc-820213.patch +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -7,10 +7,8 @@ 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 +--- systemd-206.orig/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c @@ -32,7 +32,7 @@ #include "fileio.h" @@ -20,7 +18,7 @@ index 0ce683b..1c8e555 100644 int r; assert(path); -@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) { +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const return -ENOENT; } diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch index 186e09e..a672f33 100644 --- a/ensure-sysctl-are-applied-after-modules-are-loaded.patch +++ b/ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -7,15 +7,13 @@ Subject: ensure sysctl are applied after modules are loaded units/systemd-sysctl.service.in | 1 + 1 file changed, 1 insertion(+) -diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in -index 45e1ceb..caaaa9a 100644 ---- a/units/systemd-sysctl.service.in -+++ b/units/systemd-sysctl.service.in -@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5) +--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in ++++ systemd-206_git201308300826/units/systemd-sysctl.service.in +@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service DefaultDependencies=no Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service +After=systemd-modules-load.service Before=sysinit.target shutdown.target ConditionPathIsReadWrite=/proc/sys/ - ConditionPathExists=|/etc/sysctl.conf + ConditionDirectoryNotEmpty=|/lib/sysctl.d diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch index a28f493..fb6145c 100644 --- a/fix-owner-of-var-log-btmp.patch +++ b/fix-owner-of-var-log-btmp.patch @@ -7,10 +7,8 @@ ensure btmp is owned only by root (bnc#777405). tmpfiles.d/systemd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf -index ee86f2e..29d6e97 100644 ---- a/tmpfiles.d/systemd.conf -+++ b/tmpfiles.d/systemd.conf +--- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf ++++ systemd-206_git201308300826/tmpfiles.d/systemd.conf @@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d F /run/utmp 0664 root utmp - diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index 77a2e6b..b8fea65 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -6,11 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506) src/systemctl/systemctl.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) -Index: systemd-204/src/systemctl/systemctl.c -=================================================================== ---- systemd-204.orig/src/systemctl/systemctl.c -+++ systemd-204/src/systemctl/systemctl.c -@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args +--- systemd-206_git201308300826.orig/src/systemctl/systemctl.c ++++ systemd-206_git201308300826/src/systemctl/systemctl.c +@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args p[strlen(p) - sizeof(".service") + 1] = 0; found_sysv = access(p, F_OK) >= 0; diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch deleted file mode 100644 index 8b4f879..0000000 --- a/force-lvm-restart-after-cryptsetup-target-is-reached.patch +++ /dev/null @@ -1,104 +0,0 @@ -From: Frederic Crozat -Date: Mon, 7 Nov 2011 18:04:20 +0100 -Subject: force lvm restart after cryptsetup target is reached - ---- - src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - -diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c -index 81b7708..1940985 100644 ---- a/src/cryptsetup/cryptsetup-generator.c -+++ b/src/cryptsetup/cryptsetup-generator.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "log.h" - #include "util.h" -@@ -64,6 +65,54 @@ static bool has_option(const char *haystack, const char *needle) { - return false; - } - -+static int create_storage_after_cryptsetup (void) { -+ _cleanup_free_ char *to = NULL, *p = NULL; -+ _cleanup_fclose_ FILE *f = NULL; -+ -+ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0) -+ return log_oom(); -+ -+ if (!(f = fopen(p, "wxe"))) { -+ log_error("Failed to create unit file: %m"); -+ return -errno; -+ } -+ -+ fprintf(f, -+ "[Unit]\n" -+ "Description=Restart storage after cryptsetup\n" -+ "DefaultDependencies=no\n" -+ "After=cryptsetup.target\n" -+ "Wants=cryptsetup.target\n" -+ "Before=local-fs.target\n" -+ "Before=shutdown.target\n"); -+ -+ fprintf(f, -+ "\n[Service]\n" -+ "RemainAfterExit=true\n" -+ "Type=oneshot\n" -+ "TimeoutSec=0\n" -+ "ExecStart=/usr/bin/systemctl restart lvm.service\n"); -+ -+ fflush(f); -+ -+ if (ferror(f)) { -+ log_error("Failed to write file: %m"); -+ return -errno; -+ } -+ -+ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0) -+ return log_oom(); -+ -+ mkdir_parents(to, 0755); -+ -+ if (symlink("../storage-after-cryptsetup.service", to) < 0) { -+ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to); -+ return -errno; -+ } -+ -+ return 0; -+} -+ - static int create_disk( - const char *name, - const char *device, -@@ -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; - - 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) { -+ no_crypttab = true; - r = EXIT_SUCCESS; -+ } - else { - r = EXIT_FAILURE; - log_error("Failed to open /etc/crypttab: %m"); -@@ -464,5 +516,8 @@ next: - r = EXIT_FAILURE; - } - -+ if ((r == EXIT_SUCCESS && !no_crypttab) && (create_storage_after_cryptsetup () < 0)) -+ r = EXIT_FAILURE; -+ - return r; - } diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index d66c24f..79b99a6 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,9 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -Index: systemd-204/src/systemctl/systemctl.c -=================================================================== ---- systemd-204.orig/src/systemctl/systemctl.c -+++ systemd-204/src/systemctl/systemctl.c -@@ -5974,6 +5974,28 @@ int main(int argc, char*argv[]) { +--- systemd-206.orig/src/systemctl/systemctl.c ++++ systemd-206/src/systemctl/systemctl.c +@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) { log_parse_environment(); log_open(); diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch index 050f921..a6193b6 100644 --- a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -7,10 +7,8 @@ Subject: handle disable_caplock and compose_table and kbd_rate src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) -diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index 1bbf737..384f936 100644 ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c +--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c ++++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c @@ -40,6 +40,7 @@ #include "macro.h" #include "virt.h" @@ -30,7 +28,7 @@ index 1bbf737..384f936 100644 int i = 0; pid_t pid; -@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle, +@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c args[i++] = map; if (map_toggle) args[i++] = map_toggle; @@ -39,7 +37,7 @@ index 1bbf737..384f936 100644 args[i++] = NULL; pid = fork(); -@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) { +@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) } } diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch index 075d67d..cdcb932 100644 --- a/handle-etc-HOSTNAME.patch +++ b/handle-etc-HOSTNAME.patch @@ -8,10 +8,8 @@ Subject: handle /etc/HOSTNAME src/hostname/hostnamed.c | 12 +++++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 8aa1cff..0ce683b 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c +--- systemd-206.orig/src/core/hostname-setup.c ++++ systemd-206/src/core/hostname-setup.c @@ -61,12 +61,24 @@ int hostname_setup(void) { r = read_and_strip_hostname("/etc/hostname", &b); @@ -19,6 +17,7 @@ index 8aa1cff..0ce683b 100644 - if (r == -ENOENT) - enoent = true; - else +- log_warning("Failed to read configured hostname: %s", strerror(-r)); + if (r == -ENOENT) { + /* use SUSE fallback */ + r = read_and_strip_hostname("/etc/HOSTNAME", &b); @@ -31,21 +30,18 @@ index 8aa1cff..0ce683b 100644 + } + else + hn = b; -+ + +- hn = NULL; + } + else { - log_warning("Failed to read configured hostname: %s", strerror(-r)); -- -- hn = NULL; ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); + hn = NULL; + } } else hn = b; -diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c -index c7f454c..cfbd706 100644 ---- a/src/hostname/hostnamed.c -+++ b/src/hostname/hostnamed.c +--- systemd-206.orig/src/hostname/hostnamed.c ++++ systemd-206/src/hostname/hostnamed.c @@ -129,6 +129,10 @@ static int read_data(void) { if (r < 0 && r != -ENOENT) return r; @@ -65,7 +61,7 @@ index c7f454c..cfbd706 100644 if (isempty(data[PROP_STATIC_HOSTNAME])) { if (unlink("/etc/hostname") < 0) -@@ -290,7 +295,12 @@ static int write_data_static_hostname(void) { +@@ -290,7 +295,12 @@ static int write_data_static_hostname(vo return 0; } diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 67fe015..023e66a 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,10 +6,8 @@ Authors: Stanislav Brabec Cristian Rodríguez -Index: systemd-204/src/vconsole/vconsole-setup.c -=================================================================== ---- systemd-204.orig/src/vconsole/vconsole-setup.c -+++ systemd-204/src/vconsole/vconsole-setup.c +--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c ++++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -100,11 +98,9 @@ Index: systemd-204/src/vconsole/vconsole-setup.c #ifdef HAVE_SYSV_COMPAT free(vc_kbd_delay); free(vc_kbd_rate); -Index: systemd-204/Makefile.am -=================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \ +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -124,10 +120,8 @@ Index: systemd-204/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-204/rules/73-seat-numlock.rules -=================================================================== --- /dev/null -+++ systemd-204/rules/73-seat-numlock.rules ++++ systemd-206_git201308300826/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -137,10 +131,8 @@ Index: systemd-204/rules/73-seat-numlock.rules +# (at your option) any later version. + +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}" -Index: systemd-204/src/login/numlock-on.c -=================================================================== --- /dev/null -+++ systemd-204/src/login/numlock-on.c ++++ systemd-206_git201308300826/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -176,10 +168,8 @@ Index: systemd-204/src/login/numlock-on.c + + exit(0); +} -Index: systemd-204/units/systemd-vconsole-setup.service.in -=================================================================== ---- systemd-204.orig/units/systemd-vconsole-setup.service.in -+++ systemd-204/units/systemd-vconsole-setup.service.in +--- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in ++++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch index e2ac6c7..9450a8e 100644 --- a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -7,12 +7,10 @@ handle ROOT_USES_LANG=ctype (bnc#792182). src/core/locale-setup.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) -diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c -index d7113b9..b3fb603 100644 ---- a/src/core/locale-setup.c -+++ b/src/core/locale-setup.c -@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = { - int locale_setup(void) { +--- systemd-206_git201308300826.orig/src/core/locale-setup.c ++++ systemd-206_git201308300826/src/core/locale-setup.c +@@ -72,6 +72,11 @@ int locale_setup(char ***environment) { + char **env; char *variables[_VARIABLE_MAX] = {}; int r = 0, i; +#ifdef HAVE_SYSV_COMPAT @@ -23,32 +21,31 @@ index d7113b9..b3fb603 100644 if (detect_container(NULL) <= 0) { r = parse_env_file("/proc/cmdline", WHITESPACE, -@@ -117,6 +122,28 @@ int locale_setup(void) { +@@ -118,6 +123,27 @@ int locale_setup(char ***environment) { + if (r < 0 && r != -ENOENT) log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } - +#ifdef HAVE_SYSV_COMPAT -+ if (r <= 0 && ++ if (r <= 0 && + (r = parse_env_file("/etc/sysconfig/language", NEWLINE, + "ROOT_USES_LANG", &root_uses_lang, + "RC_LANG", &variables[VARIABLE_LANG], -+ NULL)) < 0) { ++ NULL)) < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); + -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r)); + } else { -+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { -+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) -+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; -+ else -+ free(variables[VARIABLE_LANG]); ++ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) { ++ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype")) ++ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG]; ++ else ++ free(variables[VARIABLE_LANG]); + -+ variables[VARIABLE_LANG]=strdup("POSIX"); -+ } ++ variables[VARIABLE_LANG]=strdup("POSIX"); + } ++ } + +#endif -+ - if (!variables[VARIABLE_LANG]) { - variables[VARIABLE_LANG] = strdup("C"); - if (!variables[VARIABLE_LANG]) { + + for (i = 0; i < _VARIABLE_MAX; i++) { + if (!variables[i]) diff --git a/insserv-generator.patch b/insserv-generator.patch new file mode 100644 index 0000000..44330bf --- /dev/null +++ b/insserv-generator.patch @@ -0,0 +1,383 @@ +From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 28 Jun 2013 17:54:41 +0200 +Subject: [PATCH] insserv.conf generator + +parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate +systemd unit drop-in files to add dependencies +--- + Makefile.am | 9 + + src/insserv-generator/Makefile | 28 +++ + src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++ + 3 files changed, 346 insertions(+) + create mode 100644 src/insserv-generator/Makefile + create mode 100644 src/insserv-generator/insserv-generator.c + +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \ + systemd-sleep + + systemgenerator_PROGRAMS = \ ++ systemd-insserv-generator \ + systemd-getty-generator \ + systemd-fstab-generator \ + systemd-system-update-generator +@@ -1655,6 +1656,14 @@ systemd_delta_LDADD = \ + libsystemd-shared.la + + # ------------------------------------------------------------------------------ ++systemd_insserv_generator_SOURCES = \ ++ src/insserv-generator/insserv-generator.c ++ ++systemd_insserv_generator_LDADD = \ ++ libsystemd-label.la \ ++ libsystemd-shared.la ++ ++# ------------------------------------------------------------------------------ + systemd_getty_generator_SOURCES = \ + src/getty-generator/getty-generator.c + +--- /dev/null ++++ systemd-206_git201308300826/src/insserv-generator/Makefile +@@ -0,0 +1,28 @@ ++# This file is part of systemd. ++# ++# Copyright 2010 Lennart Poettering ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU Lesser General Public License as published by ++# the Free Software Foundation; either version 2.1 of the License, or ++# (at your option) any later version. ++# ++# systemd is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++# Lesser General Public License for more details. ++# ++# You should have received a copy of the GNU Lesser General Public License ++# along with systemd; If not, see . ++ ++# This file is a dirty trick to simplify compilation from within ++# emacs. This file is not intended to be distributed. So, don't touch ++# it, even better ignore it! ++ ++all: ++ $(MAKE) -C .. ++ ++clean: ++ $(MAKE) -C .. clean ++ ++.PHONY: all clean +--- /dev/null ++++ systemd-206_git201308300826/src/insserv-generator/insserv-generator.c +@@ -0,0 +1,309 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ This file is part of systemd. ++ ++ Copyright 2012 Lennart Poettering ++ ++ systemd is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Lesser General Public License as published by ++ the Free Software Foundation; either version 2.1 of the License, or ++ (at your option) any later version. ++ ++ systemd is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public License ++ along with systemd; If not, see . ++ ***/ ++ ++#include ++#include ++#include ++#include ++ ++#include "mkdir.h" ++#include "log.h" ++#include "fileio.h" ++#include "unit-name.h" ++#include "special.h" ++#include "path-util.h" ++#include "util.h" ++#include "strv.h" ++ ++static const char *arg_dest = "/tmp"; ++ ++static char *sysv_translate_name(const char *name) { ++ char *r; ++ ++ r = new(char, strlen(name) + sizeof(".service")); ++ if (!r) ++ return NULL; ++ ++ if (endswith(name, ".sh")) ++ /* Drop .sh suffix */ ++ strcpy(stpcpy(r, name) - 3, ".service"); ++ else ++ /* Normal init script name */ ++ strcpy(stpcpy(r, name), ".service"); ++ ++ return r; ++} ++ ++static int sysv_translate_facility(const char *name, const char *filename, char **_r) { ++ ++ /* We silently ignore the $ prefix here. According to the LSB ++ * spec it simply indicates whether something is a ++ * standardized name or a distribution-specific one. Since we ++ * just follow what already exists and do not introduce new ++ * uses or names we don't care who introduced a new name. */ ++ ++ static const char * const table[] = { ++ /* LSB defined facilities */ ++ "local_fs", NULL, ++ "network", SPECIAL_NETWORK_TARGET, ++ "named", SPECIAL_NSS_LOOKUP_TARGET, ++ "portmap", SPECIAL_RPCBIND_TARGET, ++ "remote_fs", SPECIAL_REMOTE_FS_TARGET, ++ "syslog", NULL, ++ "time", SPECIAL_TIME_SYNC_TARGET, ++ }; ++ ++ unsigned i; ++ char *r; ++ const char *n; ++ ++ assert(name); ++ assert(_r); ++ ++ n = *name == '$' ? name + 1 : name; ++ ++ for (i = 0; i < ELEMENTSOF(table); i += 2) { ++ ++ if (!streq(table[i], n)) ++ continue; ++ ++ if (!table[i+1]) ++ return 0; ++ ++ r = strdup(table[i+1]); ++ if (!r) ++ return log_oom(); ++ ++ goto finish; ++ } ++ ++ /* If we don't know this name, fallback heuristics to figure ++ * out whether something is a target or a service alias. */ ++ ++ if (*name == '$') { ++ if (!unit_prefix_is_valid(n)) ++ return -EINVAL; ++ ++ /* Facilities starting with $ are most likely targets */ ++ r = unit_name_build(n, NULL, ".target"); ++ } else if (filename && streq(name, filename)) ++ /* Names equaling the file name of the services are redundant */ ++ return 0; ++ else ++ /* Everything else we assume to be normal service names */ ++ r = sysv_translate_name(n); ++ ++ if (!r) ++ return -ENOMEM; ++ ++finish: ++ *_r = r; ++ ++ return 1; ++} ++ ++ ++ ++static int parse_insserv_conf(const char* filename) { ++ _cleanup_fclose_ FILE *f = NULL; ++ int r; ++ ++ if (!(f = fopen(filename, "re"))) { ++ log_debug("Failed to open file %s", filename); ++ r = errno == ENOENT ? 0 : -errno; ++ return r; ++ } ++ ++ while (!feof(f)) { ++ char l[LINE_MAX], *t; ++ _cleanup_strv_free_ char **parsed = NULL; ++ ++ if (!fgets(l, sizeof(l), f)) { ++ if (feof(f)) ++ break; ++ ++ r = -errno; ++ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); ++ return -r; ++ } ++ ++ t = strstrip(l); ++ if (*t != '$' && *t != '<') ++ continue; ++ ++ parsed = strv_split(t,WHITESPACE); ++ /* we ignore , not used, equivalent to X-Interactive */ ++ if (parsed && !startswith_no_case (parsed[0], "")) { ++ _cleanup_free_ char *facility = NULL; ++ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) ++ continue; ++ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { ++ _cleanup_free_ char *unit = NULL; ++ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ ++ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",path_get_file_name(filename),".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ r = write_string_file(unit, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "Wants=remote-fs-pre.target\n"); ++ if (r) ++ return r; ++ free (facility); ++ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); ++ } ++ if (facility && endswith(facility, ".target")) { ++ char *name, **j; ++ FILE *file = NULL; ++ ++ STRV_FOREACH (j, parsed+1) { ++ _cleanup_free_ char *unit = NULL; ++ _cleanup_free_ char *dep = NULL; ++ ++ if (*j[0] == '+') ++ name = *j+1; ++ else ++ name = *j; ++ if (streq(name, "boot.localfs") || ++ streq(name, "boot.crypto")) ++ continue; ++ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) ++ continue; ++ ++ unit = strjoin(arg_dest, "/", dep, ".d/50-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ file = fopen(unit, "wxe"); ++ if (!file) { ++ if (errno == EEXIST) ++ log_error("Failed to create drop-in file %s", unit); ++ else ++ log_error("Failed to create drop-in file %s: %m", unit); ++ return -errno; ++ } ++ ++ fprintf(file, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "Wants=%s\n" ++ "Before=%s\n", ++ facility, facility); ++ ++ fflush(file); ++ if (ferror(file)) { ++ log_error("Failed to write unit file %s: %m", unit); ++ return -errno; ++ } ++ fclose(file); ++ ++ if (*j[0] != '+') { ++ free (unit); ++ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",path_get_file_name(filename),"-",parsed[0],".conf", NULL); ++ if (!unit) ++ return log_oom(); ++ ++ mkdir_parents_label(unit, 0755); ++ ++ file = fopen(unit, "wxe"); ++ if (!file) { ++ if (errno == EEXIST) ++ log_error("Failed to create drop-in file %s, as it already exists", unit); ++ else ++ log_error("Failed to create drop-in file %s: %m", unit); ++ return -errno; ++ } ++ ++ ++ fprintf(file, ++ "# Automatically generated by systemd-insserv-generator\n\n" ++ "[Unit]\n" ++ "SourcePath=%s\n" ++ "Requires=%s\n", ++ filename, dep); ++ fflush(file); ++ if (ferror(file)) { ++ log_error("Failed to write unit file %s: %m", unit); ++ return -errno; ++ } ++ fclose(file); ++ } ++ } ++ } ++ } ++ } ++ return r; ++} ++ ++static int parse_insserv(void) { ++ DIR *d = NULL; ++ struct dirent *de; ++ int r = 0; ++ ++ if (!(d = opendir("/etc/insserv.conf.d/"))) { ++ if (errno != ENOENT) { ++ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); ++ } ++ } else { ++ ++ while ((de = readdir(d))) { ++ char *path = NULL; ++ if (ignore_file(de->d_name)) ++ continue; ++ ++ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL); ++ parse_insserv_conf(path); ++ free(path); ++ } ++ closedir (d); ++ } ++ ++ r = parse_insserv_conf("/etc/insserv.conf"); ++ ++ return r; ++} ++ ++int main(int argc, char *argv[]) { ++ int r = 0; ++ ++ if (argc > 1 && argc != 4) { ++ log_error("This program takes three or no arguments."); ++ return EXIT_FAILURE; ++ } ++ ++ if (argc > 1) ++ arg_dest = argv[1]; ++ ++ log_set_target(LOG_TARGET_SAFE); ++ log_parse_environment(); ++ log_open(); ++ ++ umask(0022); ++ ++ r = parse_insserv(); ++ ++ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; ++} diff --git a/macros.systemd.upstream b/macros.systemd.upstream index dc19f93..323d1d4 100644 --- a/macros.systemd.upstream +++ b/macros.systemd.upstream @@ -20,6 +20,7 @@ # RPM macros for packages installing systemd unit files %_unitdir @systemunitdir@ +%_userunitdir @userunitdir@ %_presetdir @systempresetdir@ %_udevhwdbdir @udevhwdbdir@ %_udevrulesdir @udevrulesdir@ @@ -71,3 +72,7 @@ fi \ %journal_catalog_update() \ @rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ %{nil} + +%tmpfiles_create() \ +@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \ +%{nil} diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch index 238d23b..4037a74 100644 --- a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -7,11 +7,9 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list units/systemd-modules-load.service.in | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) -diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c -index 7b19ee0..36b1a68 100644 ---- a/src/modules-load/modules-load.c -+++ b/src/modules-load/modules-load.c -@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) { +--- systemd-206_git201308300826.orig/src/modules-load/modules-load.c ++++ systemd-206_git201308300826/src/modules-load/modules-load.c +@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar int main(int argc, char *argv[]) { int r, k; struct kmod_ctx *ctx; @@ -52,10 +50,8 @@ index 7b19ee0..36b1a68 100644 finish: kmod_unref(ctx); strv_free(arg_proc_cmdline_modules); -diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in -index 32deb52..2e26d2f 100644 ---- a/units/systemd-modules-load.service.in -+++ b/units/systemd-modules-load.service.in +--- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in ++++ systemd-206_git201308300826/units/systemd-modules-load.service.in @@ -13,6 +13,7 @@ Conflicts=shutdown.target After=systemd-readahead-collect.service systemd-readahead-replay.service Before=sysinit.target shutdown.target diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 93f8c8b..5b296a1 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -7,11 +7,9 @@ Subject: optionally warn if nss-myhostname is called src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) -diff --git a/configure.ac b/configure.ac -index e1278e8..06eb98d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then +--- systemd-206_git201308300826.orig/configure.ac ++++ systemd-206_git201308300826/configure.ac +@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno"; fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -29,10 +27,8 @@ index e1278e8..06eb98d 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 e97d4e5..a2a6de8 100644 ---- a/src/nss-myhostname/nss-myhostname.c -+++ b/src/nss-myhostname/nss-myhostname.c +--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c @@ -29,6 +29,9 @@ #include #include @@ -54,7 +50,7 @@ index e97d4e5..a2a6de8 100644 enum nss_status _nss_myhostname_gethostbyname4_r( const char *name, struct gaih_addrtuple **pat, -@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostbyname4_r( +@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb return NSS_STATUS_NOTFOUND; } @@ -64,7 +60,7 @@ index e97d4e5..a2a6de8 100644 /* 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( +@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb local_address_ipv4 = LOCALADDRESS_IPV4; } @@ -84,7 +80,7 @@ index e97d4e5..a2a6de8 100644 return fill_in_hostent( canonical, additional, af, -@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb 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 deleted file mode 100644 index ec21387..0000000 --- a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +++ /dev/null @@ -1,131 +0,0 @@ -From: Frederic Crozat -Date: Fri, 30 Sep 2011 13:55:31 +0000 -Subject: parse /etc/insserv.conf and adds dependencies accordingly - -(bnc#721428) ---- - src/core/service.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 104 insertions(+) - -diff --git a/src/core/service.c b/src/core/service.c -index 3617c24..3c66cdb 100644 ---- a/src/core/service.c -+++ b/src/core/service.c -@@ -3443,6 +3443,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { - } - - #ifdef HAVE_SYSV_COMPAT -+static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) { -+ FILE *f = NULL; -+ int r; -+ -+ if (!(f = fopen(filename, "re"))) { -+ log_debug("Failed to open file %s", filename); -+ r = errno == ENOENT ? 0 : -errno; -+ goto finish; -+ } -+ -+ while (!feof(f)) { -+ char l[LINE_MAX], *t; -+ char **parsed = NULL; -+ -+ if (!fgets(l, sizeof(l), f)) { -+ if (feof(f)) -+ break; -+ -+ r = -errno; -+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r)); -+ goto finish; -+ } -+ -+ t = strstrip(l); -+ if (*t != '$' && *t != '<') -+ continue; -+ -+ parsed = strv_split(t,WHITESPACE); -+ /* we ignore , not used, equivalent to X-Interactive */ -+ if (parsed && !startswith_no_case (parsed[0], "")) { -+ char *facility; -+ Unit *u; -+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0) -+ continue; -+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) { -+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */ -+ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET); -+ if (u) { -+ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true); -+ free (facility); -+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET); -+ } -+ } -+ u = manager_get_unit(mgr, facility); -+ if (u && (u->type == UNIT_TARGET)) { -+ char *dep = NULL, *name, **j; -+ -+ STRV_FOREACH (j, parsed+1) { -+ if (*j[0] == '+') -+ name = *j+1; -+ else -+ name = *j; -+ if (streq(name, "boot.localfs") || -+ streq(name, "boot.crypto")) -+ continue; -+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep) -+ continue; -+ -+ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true); -+ if (*j[0] != '+') -+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true); -+ free(dep); -+ } -+ } -+ free(facility); -+ } -+ strv_free(parsed); -+ } -+finish: -+ if (f) -+ fclose(f); -+ -+} -+ -+static void sysv_facility_in_insserv_conf(Manager *mgr) { -+ DIR *d =NULL; -+ struct dirent *de; -+ -+#ifdef TARGET_DEBIAN -+ if (!(d = opendir("/etc/insserv.conf.d/"))) -+ if (errno != ENOENT) { -+ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno)); -+ goto finish; -+ } -+ -+ while ((de = readdir(d))) { -+ char *path = NULL; -+ if (ignore_file(de->d_name)) -+ continue; -+ -+ path = join("/etc/insserv.conf.d/", de->d_name, NULL); -+ sysv_parse_insserv_conf(mgr, path); -+ free(path); -+ } -+finish: -+ if (d) -+ closedir(d); -+#endif -+ -+ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf"); -+} -+ - - static int service_enumerate(Manager *m) { - char **p; -@@ -3603,6 +3705,8 @@ static int service_enumerate(Manager *m) { - - r = 0; - -+ sysv_facility_in_insserv_conf (m); -+ - finish: - - for (i = 0; i < ELEMENTSOF(rcnd_table); i++) 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 2e13936..8f95318 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 @@ -11,10 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it. src/core/service.h | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) -diff --git a/src/core/service.c b/src/core/service.c -index a8b0d9d..c357b33 100644 ---- a/src/core/service.c -+++ b/src/core/service.c +--- systemd-206_git201308300826.orig/src/core/service.c ++++ systemd-206_git201308300826/src/core/service.c @@ -135,6 +135,7 @@ static void service_init(Unit *u) { #ifdef HAVE_SYSV_COMPAT s->sysv_start_priority = -1; @@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644 #endif s->socket_fd = -1; s->guess_main_pid = true; -@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) { +@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644 } else if (state == LSB_DESCRIPTION) { if (startswith(l, "#\t") || startswith(l, "# ")) { -@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) { +@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644 s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; s->exec_context.ignore_sigpipe = false; -@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) { +@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && (s->bus_name_good || s->type != SERVICE_DBUS)) { #ifdef HAVE_SYSV_COMPAT @@ -77,11 +75,9 @@ index a8b0d9d..c357b33 100644 s->remain_after_exit = false; #endif service_set_state(s, SERVICE_RUNNING); -diff --git a/src/core/service.h b/src/core/service.h -index 703d3fa..dc52e8c 100644 ---- a/src/core/service.h -+++ b/src/core/service.h -@@ -176,6 +176,7 @@ struct Service { +--- systemd-206_git201308300826.orig/src/core/service.h ++++ systemd-206_git201308300826/src/core/service.h +@@ -177,6 +177,7 @@ struct Service { bool is_sysv:1; bool sysv_has_lsb:1; bool sysv_enabled:1; 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 e5c85f0..422f23c 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 @@ -10,11 +10,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink create mode 100644 units/var-lock.mount create mode 100644 units/var-run.mount -diff --git a/Makefile.am b/Makefile.am -index 8730f66..b8cf696 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -409,6 +409,12 @@ dist_systemunit_DATA = \ +--- systemd-206_git201308300826.orig/Makefile.am ++++ systemd-206_git201308300826/Makefile.am +@@ -419,6 +419,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644 nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644 + var-run.mount \ + var-lock.mount endif - SHUTDOWN_TARGET_WANTS += \ - systemd-update-utmp-shutdown.service -diff --git a/units/var-lock.mount b/units/var-lock.mount -new file mode 100644 -index 0000000..07277ad + SYSINIT_TARGET_WANTS += \ + systemd-update-utmp.service --- /dev/null -+++ b/units/var-lock.mount ++++ systemd-206_git201308300826/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -62,11 +57,8 @@ index 0000000..07277ad +Where=/var/lock +Type=bind +Options=bind -diff --git a/units/var-run.mount b/units/var-run.mount -new file mode 100644 -index 0000000..ab4da42 --- /dev/null -+++ b/units/var-run.mount ++++ systemd-206_git201308300826/units/var-run.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch index fb00b6d..d0e907b 100644 --- a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -12,11 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426 src/core/service.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -Index: systemd-204/src/core/service.c -=================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c -@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic +--- systemd-206_git201308300826.orig/src/core/service.c ++++ systemd-206_git201308300826/src/core/service.c +@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic cgroup_ok = cgroup_good(s); if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch index 3ca7dc2..45f1ad5 100644 --- a/sysctl-handle-boot-sysctl.conf-kernel_release.patch +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -10,10 +10,8 @@ configuration), needed by openSUSE (bnc#809420). units/systemd-sysctl.service.in | 1 + 2 files changed, 9 insertions(+) -Index: systemd-204/src/sysctl/sysctl.c -=================================================================== ---- systemd-204.orig/src/sysctl/sysctl.c -+++ systemd-204/src/sysctl/sysctl.c +--- systemd-206.orig/src/sysctl/sysctl.c ++++ systemd-206/src/sysctl/sysctl.c @@ -26,6 +26,7 @@ #include #include @@ -36,10 +34,8 @@ Index: systemd-204/src/sysctl/sysctl.c r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); if (r < 0) { -Index: systemd-204/units/systemd-sysctl.service.in -=================================================================== ---- systemd-204.orig/units/systemd-sysctl.service.in -+++ systemd-204/units/systemd-sysctl.service.in +--- systemd-206.orig/units/systemd-sysctl.service.in ++++ systemd-206/units/systemd-sysctl.service.in @@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d ConditionDirectoryNotEmpty=|/etc/sysctl.d 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 deleted file mode 100644 index 6502fa4..0000000 --- a/systemctl-does-not-expand-u-so-revert-back-to-I.patch +++ /dev/null @@ -1,27 +0,0 @@ -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-204.tar.xz b/systemd-204.tar.xz deleted file mode 100644 index ae11dd5..0000000 --- a/systemd-204.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b -size 2186264 diff --git a/systemd-207.tar.xz b/systemd-207.tar.xz new file mode 100644 index 0000000..d97bd0f --- /dev/null +++ b/systemd-207.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942 +size 2363804 diff --git a/systemd-dbus-system-bus-address.patch b/systemd-dbus-system-bus-address.patch new file mode 100644 index 0000000..3d252dc --- /dev/null +++ b/systemd-dbus-system-bus-address.patch @@ -0,0 +1,11 @@ +--- systemd-207.orig/src/core/dbus.c ++++ systemd-207/src/core/dbus.c +@@ -50,7 +50,7 @@ + #define CONNECTIONS_MAX 512 + + /* Well-known address (http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types) */ +-#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/var/run/dbus/system_bus_socket" ++#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/run/dbus/system_bus_socket" + /* Only used as a fallback */ + #define DBUS_SESSION_BUS_DEFAULT_ADDRESS "autolaunch:" + diff --git a/systemd-insserv_conf b/systemd-insserv_conf deleted file mode 100644 index 5bdebd1..0000000 --- a/systemd-insserv_conf +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -[ -r /etc/insserv.conf ] || exit 0 - -declare -A facilities -facilities["local_fs"]="local-fs.target" -facilities["localfs"]="local-fs.target" -facilities["named"]="nss-lookup.target" -facilities["network"]="network.target" -# done in systemd code -#facilities["portmap"]="rpcbind.target" -facilities["remote_fs"]="remote-fs.target" -facilities["syslog"]="syslog.target" -facilities["time"]="time-sync.target" - -while read line ; do - case "$line" in - \#*|"" ) continue;; - \<* ) continue;; - \$*) t=${line%% *} - target=${facilities[${t:1}]} - [ -z $target ] && continue - mkdir -p $1/$target.{requires,wants} - for dep in ${line##* } ; do - stripped_dep=${dep/boot./} - case "$stripped_dep" in - +*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;; - *) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.requires/ ;; - esac - done - ;; - esac -done < /etc/insserv.conf - diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc index 219445d..87518f9 100644 --- a/systemd-mini-rpmlintrc +++ b/systemd-mini-rpmlintrc @@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") + diff --git a/systemd-mini.changes b/systemd-mini.changes index 0a35d39..fdbda22 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,5 +1,296 @@ ------------------------------------------------------------------- -Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com +Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org + +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous + commit & the opensuse-factory mailing list. + +------------------------------------------------------------------- +Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org + +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch + missing important check on return value. +- 0002-cgroup-correct-the-log-information.patch fix misleading + log information. +- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix + setting memory cgroup +- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch + should fail if write fails. +- 0005-core-cgroup-first-print-then-free.patch use-after-free + will trigger if there is an error condition. +- 0006-swap-fix-reverse-dependencies.patch reported in + opensuse-factory list, topic "swap isn't activated" +- 0007-libudev-fix-move_later-comparison.patch libudev + invalid usage of "move_later". + +------------------------------------------------------------------- +Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org + +- while testing this new release I get in the logs ocassionally + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: + No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + is defined to /var/run/dbus/system_bus_socket instead of + /run/dbus/system_bus_socket and that does not fly when /var/run + is not yet available. (systemd-dbus-system-bus-address.patch) + +------------------------------------------------------------------- +Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com + +- Enable Predictable Network interface names (bnc#829526). + +------------------------------------------------------------------- +Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org + +- version 207, distribution specific changes follow, for overall + release notes see NEWS. +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: + Operation not permitted + * Fix shutdown hang "a stop job is running for Session 1 of user root" + that was reported in opensuse-factory list. +- systemd-sysctl no longer reads /etc/sysctl.conf however backward + compatbility is to be provides by a symlink created at %post. +- removed previously disabled upstream patches (merged): + 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, + 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, + 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, + 0006-suppress-status-message-output-at-shutdown-when-quie.patch, +- removed upstream merged patches: + exclude-dev-from-tmpfiles.patch, + logind_update_state_file_after_generating_....patch +- Add systemd-pam_config.patch: use correct include name for PAM + configuration on openSUSE. + +------------------------------------------------------------------- +Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com + +- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from + tmpfiles (bnc#835813). + +------------------------------------------------------------------- +Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com + +- Remove + force-lvm-restart-after-cryptsetup-target-is-reached.patch and + remove additional dependencies on LVM in other patches: LVM has + now systemd support, no need to work around it anymore in + systemd. + +------------------------------------------------------------------- +Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com + +- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch + to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 + +------------------------------------------------------------------- +Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de + +- explicitly enable getty@tty1.service instead of getty@.service as + the tty1 alias has been removed from the file (bnc#833494) + +------------------------------------------------------------------- +Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com + +- Ensure /usr/lib/systemd/system/shutdown.target.wants is created + and owned by systemd package. + +------------------------------------------------------------------- +Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com + +- Fix drop-in for getty@tty1.service + +------------------------------------------------------------------- +Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com + +- Move systemd-journal-gateway to subpackage to lower dependencies + in default install. + +------------------------------------------------------------------- +Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org + +- version 206 , highlights: +* Unit files now understand the new %v specifier which + resolves to the kernel version string as returned by "uname-r". +* "journalctl -b" may now be used to look for boot output of a + specific boot. Try "journalctl -b -1" +* Creation of "dead" device nodes has been moved from udev + into kmod and tmpfiles. +* The udev "keymap" data files and tools to apply keyboard + specific mappings of scan to key codes, and force-release + scan code lists have been entirely replaced by a udev + "keyboard" builtin and a hwdb data file. + +- remove patches now in upstream +- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 +- systemd now require the kmod tool in addition to the library. + +------------------------------------------------------------------- +Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com + +- use-usr-sbin-sulogin-for-emergency-service.patch + emergency.service failed to start because sulogin is in /usr/sbin now + +------------------------------------------------------------------- +Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de + +- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, + not a directory + +------------------------------------------------------------------- +Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org + +- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch + fix segfault at shutdown +- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch + disable the cgroups release agent when shutting down. +- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch + remove ancient fallback code; turn connection error into warning +- 006-suppress-status-message-output-at-shutdown-when-quie.patch + make shutdown honour "quiet" kernel cmdline. + +------------------------------------------------------------------- +Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org + +- fix broken symlink, service is called systemd-random-seed now. + +------------------------------------------------------------------- +Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com + +- Update to release 205: + + two new unit types have been introduced: + - Scope units are very similar to service units, however, are + created out of pre-existing processes -- instead of PID 1 + forking off the processes. + - Slice units may be used to partition system resources in an + hierarchial fashion and then assign other units to them. By + default there are now three slices: system.slice (for all + system services), user.slice (for all user sessions), + machine.slice (for VMs and containers). + + new concept of "transient" units, which are created at runtime + using an API and not based on configuration from disk. + + logind has been updated to make use of scope and slice units to + manage user sessions. Logind will no longer create cgroups + hierchies itself but will relying on PID 1. + + A new mini-daemon "systemd-machined" has been added which + may be used by virtualization managers to register local + VMs/containers. machinectl tool has been added to query + meta-data from systemd-machined. + + Low-level cgroup configuration options ControlGroup=, + ControlGroupModify=, ControlGroupPersistent=, + ControlGroupAttribute= have been removed. High-level attribute + settings or slice units should be used instead? + + A new bus call SetUnitProperties() has been added to alter + various runtime parameters of a unit, including cgroup + parameters. systemctl gained set-properties command to wrap + this call. + + A new tool "systemd-run" has been added which can be used to + run arbitrary command lines as transient services or scopes, + while configuring a number of settings via the command + line. + + nspawn will now inform the user explicitly that kernels with + audit enabled break containers, and suggest the user to turn + off audit. + + Support for detecting the IMA and AppArmor security + frameworks with ConditionSecurity= has been added. + + journalctl gained a new "-k" switch for showing only kernel + messages, mimicking dmesg output; in addition to "--user" + and "--system" switches for showing only user's own logs + and system logs. + + systemd-delta can now show information about drop-in + snippets extending unit files. + + systemd will now look for the "debug" argument on the kernel + command line and enable debug logging, similar to + "systemd.log_level=debug" already did before. + + "systemctl set-default", "systemctl get-default" has been + added to configure the default.target symlink, which + controls what to boot into by default. + + "systemctl set-log-level" has been added as a convenient + way to raise and lower systemd logging threshold. + + "systemd-analyze plot" will now show the time the various + generators needed for execution, as well as information + about the unit file loading. + + libsystemd-journal gained a new sd_journal_open_files() call + for opening specific journal files. journactl also gained a + new switch to expose this new functionality (useful for + debugging). + + systemd gained the new DefaultEnvironment= setting in + /etc/systemd/system.conf to set environment variables for + all services. + + If a privileged process logs a journal message with the + OBJECT_PID= field set, then journald will automatically + augment this with additional OBJECT_UID=, OBJECT_GID=, + OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if + system services want to log events about specific client + processes. journactl/systemctl has been updated to make use + of this information if all log messages regarding a specific + unit is requested. +- Remove 0001-journal-letting-interleaved-seqnums-go.patch, + 0002-journal-remember-last-direction-of-search-and-keep-o.patch, + 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, + 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, + 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, + 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, + 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, + Start-ctrl-alt-del.target-irreversibly.patch, + systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged + upstream. +- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, + 1008-add-msft-compability-rules.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, + fix-support-for-boot-prefixed-initscript-bnc-746506.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch, + insserv-generator.patch, + optionally-warn-if-nss-myhostname-is-called.patch, + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, + service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. +- Update macros.systemd.upstream with latest upstream revision. + +------------------------------------------------------------------- +Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com + +- Replace + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch + patch with insserv-generator.patch: no longer patch systemd main + binary but generate systemd drop-in files using a generator, for + insserv.conf compatibility. + +------------------------------------------------------------------- +Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com + +- systemd-mini doesn't need dbus-1, only dbus-1-devel + +------------------------------------------------------------------- +Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com + +- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). + add: 1008-add-msft-compability-rules.patch + +------------------------------------------------------------------- +Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com + +- Drop 1007-add-msft-compability-rules.patch, breaks boot and links + in /dev/disk/by-id, will need proper rework (bnc#826528). + +------------------------------------------------------------------- +Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org + +- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another + case where we are trying to umount the root directory at shutdown. +- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists + +------------------------------------------------------------------- +Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com + +- Automatically online CPUs/Memory on CPU/Memory hotplug add events + (bnc#703100, fate#311831). + add: 1008-physical-hotplug-cpu-and-memory.patch + +------------------------------------------------------------------- +Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com - Dropped backward compatibility - Added check for upstream rpm macros changes @@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 ------------------------------------------------------------------- Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de diff --git a/systemd-mini.spec b/systemd-mini.spec index 024ccfe..791d8bb 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: 204 +Version: 207 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -35,8 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: %{real} = %{version}-%{release} BuildRequires: audit-devel -BuildRequires: dbus-1 %if ! 0%{?bootstrap} +BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif -BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(libkmod) >= 14 BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -80,6 +80,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} +#!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi @@ -89,6 +90,7 @@ Conflicts: kiwi Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd +Requires: kmod >= 14 Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -105,7 +107,6 @@ Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd -Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -123,11 +124,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -155,7 +155,7 @@ Patch39: systemd-tmp-safe-defaults.patch Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.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 - +Patch42: systemd-pam_config.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -168,20 +168,25 @@ 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 -# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument -Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch -# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks -Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch -# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. -Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch -# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops -Patch47: 0001-journal-letting-interleaved-seqnums-go.patch -# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops -Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch47: systemd-dbus-system-bus-address.patch + +# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. +Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. +Patch49: 0002-cgroup-correct-the-log-information.patch +# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. +Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. +Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free +Patch52: 0005-core-cgroup-first-print-then-free.patch +# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly +Patch53: 0006-swap-fix-reverse-dependencies.patch +# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units +Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -190,14 +195,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1004: 1004-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch -Patch1007: 1007-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM libudev: fix move_later comparison +Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -365,6 +372,18 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package journal-gateway +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-gateway +systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep @@ -390,7 +409,6 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 @@ -414,28 +432,31 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 # udev patches %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 -%patch1004 -p1 %patch1005 -p1 %patch1006 -p1 # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif +%patch1009 -p1 %build autoreconf -fiv - # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -496,11 +517,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -# do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -532,7 +551,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -591,7 +610,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -599,15 +618,11 @@ EOF %fdupes -s %{buildroot}%{_mandir} -# disable predictable network interface naming until it has been reviewed by network team -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf -F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" -EOF +# packaged in systemd-rpm-macros +rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -630,7 +645,7 @@ fi if [ "$1" -eq 1 ]; then # Enable these services by default. /usr/bin/systemctl enable \ - getty@.service \ + getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : @@ -643,6 +658,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -756,6 +777,21 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%pre journal-gateway +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +exit 0 + +%post journal-gateway +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%preun journal-gateway +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%postun journal-gateway +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + %endif %files @@ -767,11 +803,13 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%{_bindir}/machinectl %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify +%{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password @@ -805,8 +843,10 @@ fi %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target %{_prefix}/lib/systemd/system/*.mount %{_prefix}/lib/systemd/system/*.timer @@ -816,6 +856,7 @@ fi %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -841,7 +882,10 @@ fi %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so +/etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -861,7 +905,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/xdg/systemd/user +%{_sysconfdir}/xdg/systemd/user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -869,6 +913,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -882,6 +927,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -890,6 +936,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%exclude %{_datadir}/systemd/gatewayd %{_datadir}/systemd %if ! 0%{?bootstrap} @@ -902,7 +949,7 @@ fi %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* - +%exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -932,6 +979,9 @@ fi %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog %dir /var/lib/systemd/coredump +%dir /usr/share/zsh +%dir /usr/share/zsh/site-functions +/usr/share/zsh/site-functions/* %files devel %defattr(-,root,root,-) @@ -984,15 +1034,10 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/findkeyboards -%{_prefix}/lib/udev/keymap %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%dir %{_prefix}/lib/udev/keymaps -%{_prefix}/lib/udev/keymaps/* -%{_prefix}/lib/udev/keyboard-force-release.sh %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1071,6 +1116,12 @@ fi %{_sbindir}/nss-myhostname-config /%{_lib}/*nss_myhostname* +%files journal-gateway +%defattr(-, root, root) +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_datadir}/systemd/gatewayd %endif %changelog diff --git a/systemd-pam_config.patch b/systemd-pam_config.patch new file mode 100644 index 0000000..85027c5 --- /dev/null +++ b/systemd-pam_config.patch @@ -0,0 +1,14 @@ +diff --git a/src/login/systemd-user b/src/login/systemd-user +index 7b57dbf..c0fc793 100644 +--- a/src/login/systemd-user ++++ b/src/login/systemd-user +@@ -2,7 +2,7 @@ + + # Used by systemd when launching systemd user instances. + +-account include system-auth +-session include system-auth ++account include common-account ++session include common-session + auth required pam_deny.so + password required pam_deny.so diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes index 3d222ce..165b84c 100644 --- a/systemd-rpm-macros.changes +++ b/systemd-rpm-macros.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jul 4 13:59:43 CEST 2013 - fcrozat@suse.com + +- Resync with systemd v205 macros + ------------------------------------------------------------------- Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec index 0268d06..4c7b714 100644 --- a/systemd-rpm-macros.spec +++ b/systemd-rpm-macros.spec @@ -19,7 +19,7 @@ #!BuildIgnore: util-linux Name: systemd-rpm-macros -Version: 1 +Version: 2 Release: 0 Summary: RPM macros for systemd License: LGPL-2.1+ diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc index 219445d..87518f9 100644 --- a/systemd-rpmlintrc +++ b/systemd-rpmlintrc @@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*") addFilter(".*suse-filelist-forbidden-systemd-userdirs.*") addFilter("libudev-mini.*shlib-policy-name-error.*") addFilter("nss-myhostname.*shlib-policy-name-error.*") +addFilter("systemd-logger.*useless-provides sysvinit(syslog).*") + diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch index 4c957df..492ab22 100644 --- a/systemd-tmp-safe-defaults.patch +++ b/systemd-tmp-safe-defaults.patch @@ -8,10 +8,8 @@ SUSE policy is to not clean /tmp by default. tmpfiles.d/tmp.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf -index 3b534a1..99eb6f2 100644 ---- a/tmpfiles.d/tmp.conf -+++ b/tmpfiles.d/tmp.conf +--- systemd-206.orig/tmpfiles.d/tmp.conf ++++ systemd-206/tmpfiles.d/tmp.conf @@ -8,8 +8,9 @@ # See tmpfiles.d(5) for details diff --git a/systemd.changes b/systemd.changes index 702cc8d..fdbda22 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,294 @@ +------------------------------------------------------------------- +Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org + +- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch + really fixes the swap unit problem mentioned in previous + commit & the opensuse-factory mailing list. + +------------------------------------------------------------------- +Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org + +- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch + missing important check on return value. +- 0002-cgroup-correct-the-log-information.patch fix misleading + log information. +- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix + setting memory cgroup +- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch + should fail if write fails. +- 0005-core-cgroup-first-print-then-free.patch use-after-free + will trigger if there is an error condition. +- 0006-swap-fix-reverse-dependencies.patch reported in + opensuse-factory list, topic "swap isn't activated" +- 0007-libudev-fix-move_later-comparison.patch libudev + invalid usage of "move_later". + +------------------------------------------------------------------- +Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org + +- while testing this new release I get in the logs ocassionally + at boot "systemd[1]: Failed to open private bus connection: + Failed to connect to socket /var/run/dbus/system_bus_socket: + No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + is defined to /var/run/dbus/system_bus_socket instead of + /run/dbus/system_bus_socket and that does not fly when /var/run + is not yet available. (systemd-dbus-system-bus-address.patch) + +------------------------------------------------------------------- +Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com + +- Enable Predictable Network interface names (bnc#829526). + +------------------------------------------------------------------- +Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org + +- version 207, distribution specific changes follow, for overall + release notes see NEWS. +- Fixed: + * Failed at step PAM spawning /usr/lib/systemd/systemd: + Operation not permitted + * Fix shutdown hang "a stop job is running for Session 1 of user root" + that was reported in opensuse-factory list. +- systemd-sysctl no longer reads /etc/sysctl.conf however backward + compatbility is to be provides by a symlink created at %post. +- removed previously disabled upstream patches (merged): + 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch, + 0004-disable-the-cgroups-release-agent-when-shutting-down.patch, + 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch, + 0006-suppress-status-message-output-at-shutdown-when-quie.patch, +- removed upstream merged patches: + exclude-dev-from-tmpfiles.patch, + logind_update_state_file_after_generating_....patch +- Add systemd-pam_config.patch: use correct include name for PAM + configuration on openSUSE. + +------------------------------------------------------------------- +Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com + +- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from + tmpfiles (bnc#835813). + +------------------------------------------------------------------- +Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com + +- Remove + force-lvm-restart-after-cryptsetup-target-is-reached.patch and + remove additional dependencies on LVM in other patches: LVM has + now systemd support, no need to work around it anymore in + systemd. + +------------------------------------------------------------------- +Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com + +- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch + to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273 + +------------------------------------------------------------------- +Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de + +- explicitly enable getty@tty1.service instead of getty@.service as + the tty1 alias has been removed from the file (bnc#833494) + +------------------------------------------------------------------- +Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com + +- Ensure /usr/lib/systemd/system/shutdown.target.wants is created + and owned by systemd package. + +------------------------------------------------------------------- +Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com + +- Fix drop-in for getty@tty1.service + +------------------------------------------------------------------- +Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com + +- Move systemd-journal-gateway to subpackage to lower dependencies + in default install. + +------------------------------------------------------------------- +Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org + +- version 206 , highlights: +* Unit files now understand the new %v specifier which + resolves to the kernel version string as returned by "uname-r". +* "journalctl -b" may now be used to look for boot output of a + specific boot. Try "journalctl -b -1" +* Creation of "dead" device nodes has been moved from udev + into kmod and tmpfiles. +* The udev "keymap" data files and tools to apply keyboard + specific mappings of scan to key codes, and force-release + scan code lists have been entirely replaced by a udev + "keyboard" builtin and a hwdb data file. + +- remove patches now in upstream +- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0 +- systemd now require the kmod tool in addition to the library. + +------------------------------------------------------------------- +Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com + +- use-usr-sbin-sulogin-for-emergency-service.patch + emergency.service failed to start because sulogin is in /usr/sbin now + +------------------------------------------------------------------- +Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de + +- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink, + not a directory + +------------------------------------------------------------------- +Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org + +- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch + fix segfault at shutdown +- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch + disable the cgroups release agent when shutting down. +- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch + remove ancient fallback code; turn connection error into warning +- 006-suppress-status-message-output-at-shutdown-when-quie.patch + make shutdown honour "quiet" kernel cmdline. + +------------------------------------------------------------------- +Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org + +- fix broken symlink, service is called systemd-random-seed now. + +------------------------------------------------------------------- +Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com + +- Update to release 205: + + two new unit types have been introduced: + - Scope units are very similar to service units, however, are + created out of pre-existing processes -- instead of PID 1 + forking off the processes. + - Slice units may be used to partition system resources in an + hierarchial fashion and then assign other units to them. By + default there are now three slices: system.slice (for all + system services), user.slice (for all user sessions), + machine.slice (for VMs and containers). + + new concept of "transient" units, which are created at runtime + using an API and not based on configuration from disk. + + logind has been updated to make use of scope and slice units to + manage user sessions. Logind will no longer create cgroups + hierchies itself but will relying on PID 1. + + A new mini-daemon "systemd-machined" has been added which + may be used by virtualization managers to register local + VMs/containers. machinectl tool has been added to query + meta-data from systemd-machined. + + Low-level cgroup configuration options ControlGroup=, + ControlGroupModify=, ControlGroupPersistent=, + ControlGroupAttribute= have been removed. High-level attribute + settings or slice units should be used instead? + + A new bus call SetUnitProperties() has been added to alter + various runtime parameters of a unit, including cgroup + parameters. systemctl gained set-properties command to wrap + this call. + + A new tool "systemd-run" has been added which can be used to + run arbitrary command lines as transient services or scopes, + while configuring a number of settings via the command + line. + + nspawn will now inform the user explicitly that kernels with + audit enabled break containers, and suggest the user to turn + off audit. + + Support for detecting the IMA and AppArmor security + frameworks with ConditionSecurity= has been added. + + journalctl gained a new "-k" switch for showing only kernel + messages, mimicking dmesg output; in addition to "--user" + and "--system" switches for showing only user's own logs + and system logs. + + systemd-delta can now show information about drop-in + snippets extending unit files. + + systemd will now look for the "debug" argument on the kernel + command line and enable debug logging, similar to + "systemd.log_level=debug" already did before. + + "systemctl set-default", "systemctl get-default" has been + added to configure the default.target symlink, which + controls what to boot into by default. + + "systemctl set-log-level" has been added as a convenient + way to raise and lower systemd logging threshold. + + "systemd-analyze plot" will now show the time the various + generators needed for execution, as well as information + about the unit file loading. + + libsystemd-journal gained a new sd_journal_open_files() call + for opening specific journal files. journactl also gained a + new switch to expose this new functionality (useful for + debugging). + + systemd gained the new DefaultEnvironment= setting in + /etc/systemd/system.conf to set environment variables for + all services. + + If a privileged process logs a journal message with the + OBJECT_PID= field set, then journald will automatically + augment this with additional OBJECT_UID=, OBJECT_GID=, + OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if + system services want to log events about specific client + processes. journactl/systemctl has been updated to make use + of this information if all log messages regarding a specific + unit is requested. +- Remove 0001-journal-letting-interleaved-seqnums-go.patch, + 0002-journal-remember-last-direction-of-search-and-keep-o.patch, + 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch, + 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch, + 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch, + 0160-mount-when-learning-about-the-root-mount-from-mounti.patch, + 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch, + Start-ctrl-alt-del.target-irreversibly.patch, + systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged + upstream. +- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch, + 1008-add-msft-compability-rules.patch, + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch, + fix-support-for-boot-prefixed-initscript-bnc-746506.patch, + handle-SYSTEMCTL_OPTIONS-environment-variable.patch, + handle-numlock-value-in-etc-sysconfig-keyboard.patch, + insserv-generator.patch, + optionally-warn-if-nss-myhostname-is-called.patch, + remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch, + restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch, + service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch. +- Update macros.systemd.upstream with latest upstream revision. + +------------------------------------------------------------------- +Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com + +- Replace + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch + patch with insserv-generator.patch: no longer patch systemd main + binary but generate systemd drop-in files using a generator, for + insserv.conf compatibility. + +------------------------------------------------------------------- +Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com + +- systemd-mini doesn't need dbus-1, only dbus-1-devel + +------------------------------------------------------------------- +Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com + +- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528). + add: 1008-add-msft-compability-rules.patch + +------------------------------------------------------------------- +Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com + +- Drop 1007-add-msft-compability-rules.patch, breaks boot and links + in /dev/disk/by-id, will need proper rework (bnc#826528). + +------------------------------------------------------------------- +Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org + +- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another + case where we are trying to umount the root directory at shutdown. +- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + only attempt to connect to a session bus if one likely exists + +------------------------------------------------------------------- +Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com + +- Automatically online CPUs/Memory on CPU/Memory hotplug add events + (bnc#703100, fate#311831). + add: 1008-physical-hotplug-cpu-and-memory.patch + ------------------------------------------------------------------- Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com @@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org - 0001-journal-letting-interleaved-seqnums-go.patch and - 0002-journal-remember-last-direction-of-search-and-keep-o.patch - fix possible infinite loops in the journal code, related to - bnc #817778 + 0002-journal-remember-last-direction-of-search-and-keep-o.patch + fix possible infinite loops in the journal code, related to + bnc #817778 ------------------------------------------------------------------- Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de diff --git a/systemd.spec b/systemd.spec index daba57f..59482e6 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,15 +23,15 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 204 +Version: 207 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ Group: System/Base BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: audit-devel -BuildRequires: dbus-1 %if ! 0%{?bootstrap} +BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets %endif BuildRequires: fdupes @@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2 %if ! 0%{?bootstrap} BuildRequires: libgcrypt-devel BuildRequires: pkgconfig(glib-2.0) >= 2.22.0 -BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2 +BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0 %endif -BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(libkmod) >= 14 BuildRequires: pkgconfig(liblzma) %if ! 0%{?bootstrap} BuildRequires: pkgconfig(libmicrohttpd) @@ -75,6 +75,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9 BuildRequires: pkgconfig(libsepol) BuildRequires: pkgconfig(usbutils) >= 0.82 %if 0%{?bootstrap} +#!BuildIgnore: dbus-1 Requires: this-is-only-for-build-envs Conflicts: systemd Conflicts: kiwi @@ -84,6 +85,7 @@ Conflicts: kiwi Requires: %{udevpkgname} >= 172 Requires: dbus-1 >= 1.4.0 Requires: kbd +Requires: kmod >= 14 Requires: pam-config >= 0.79-5 Requires: pwdutils Requires: systemd-presets-branding @@ -100,7 +102,6 @@ Source1: systemd-rpmlintrc Source2: localfs.service Source3: systemd-sysv-convert Source4: macros.systemd -Source5: systemd-insserv_conf Source6: baselibs.conf Source7: libgcrypt.m4 Source8: systemd-journald.init @@ -118,11 +119,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch # handle SUSE specific kbd settings Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch -Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch +Patch6: insserv-generator.patch Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch -Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -150,7 +150,7 @@ Patch39: systemd-tmp-safe-defaults.patch Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.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 - +Patch42: systemd-pam_config.patch # Upstream First - Policy: # Never add any patches to this package without the upstream commit id # in the patch. Any patches added here without a very good reason to make @@ -163,20 +163,25 @@ 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 -# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument -Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch -# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks -Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch -# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead. -Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch -# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops -Patch47: 0001-journal-letting-interleaved-seqnums-go.patch -# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops -Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch +# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin +Patch46: use-usr-sbin-sulogin-for-emergency-service.patch +# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run +Patch47: systemd-dbus-system-bus-address.patch + +# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call. +Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch +# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information. +Patch49: 0002-cgroup-correct-the-log-information.patch +# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong. +Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch +# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails. +Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch +# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free +Patch52: 0005-core-cgroup-first-print-then-free.patch +# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly +Patch53: 0006-swap-fix-reverse-dependencies.patch +# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units +Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch @@ -185,14 +190,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch # PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch Patch1003: 1003-udev-netlink-null-rules.patch -# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr -Patch1004: 1004-fix-devname-prefix.patch # PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch # PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch Patch1006: 1006-udev-always-rename-network.patch -# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch -Patch1007: 1007-add-msft-compability-rules.patch +# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch +Patch1007: 1007-physical-hotplug-cpu-and-memory.patch +# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch +Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-UPSTREAM libudev: fix move_later comparison +Patch1009: 0007-libudev-fix-move_later-comparison.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -360,6 +367,18 @@ is logged to /var/log/messages. Please check whether that's worth a bug report then. This package marks the installation to not use syslog but only the journal. +%package journal-gateway +Summary: Gateway for serving journal events over the network using HTTP +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version}-%{release} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description journal-gateway +systemd-journal-gatewayd serves journal events over the network using HTTP. + %endif %prep @@ -385,7 +404,6 @@ cp %{SOURCE7} m4/ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 @@ -409,28 +427,31 @@ cp %{SOURCE7} m4/ %patch40 -p1 %patch41 -p1 %patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 %patch46 -p1 %patch47 -p1 %patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 # udev patches %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 -%patch1004 -p1 %patch1005 -p1 %patch1006 -p1 # don't apply when bootstrapping to not modify Makefile.am %if ! 0%{?bootstrap} %patch1007 -p1 +%patch1008 -p1 %endif +%patch1009 -p1 %build autoreconf -fiv - # prevent pre-generated and distributed files from re-building find . -name "*.[1-8]" -exec touch '{}' '+'; export V=1 @@ -491,11 +512,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants rm -rf %{buildroot}%{_sysconfdir}/rpm find %{buildroot} -type f -name '*.la' -delete -mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants} +mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants} install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert -# do not install, code has been fixed, might be useful in the future -#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot @@ -527,7 +546,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service -ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service +ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service # don't mount /tmp as tmpfs for now rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount @@ -586,7 +605,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants # create drop-in to prevent tty1 to be cleared (bnc#804158) mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/ -echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf [Service] # ensure tty1 isn't cleared (bnc#804158) TTYVTDisallocate=no @@ -594,15 +613,11 @@ EOF %fdupes -s %{buildroot}%{_mandir} -# disable predictable network interface naming until it has been reviewed by network team -cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf -F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now" -EOF +# packaged in systemd-rpm-macros +rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd %pre getent group systemd-journal >/dev/null || groupadd -r systemd-journal || : -getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : -getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : exit 0 %post @@ -625,7 +640,7 @@ fi if [ "$1" -eq 1 ]; then # Enable these services by default. /usr/bin/systemctl enable \ - getty@.service \ + getty@tty1.service \ systemd-readahead-collect.service \ systemd-readahead-replay.service \ remote-fs.target >/dev/null 2>&1 || : @@ -638,6 +653,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do [ -f "$new_target" ] && ln -s -f $new_target $f || : done +# since v207 /etc/sysctl.conf is no longer parsed, however +# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf +if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then + /bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || : +fi + %postun /sbin/ldconfig if [ $1 -ge 1 ]; then @@ -751,6 +772,21 @@ fi %postun -n nss-myhostname -p /sbin/ldconfig +%pre journal-gateway +getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || : +getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || : +%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service +exit 0 + +%post journal-gateway +%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%preun journal-gateway +%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + +%postun journal-gateway +%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service + %endif %files @@ -762,11 +798,13 @@ fi %{_bindir}/kernel-install %{_bindir}/hostnamectl %{_bindir}/localectl +%{_bindir}/machinectl %{_bindir}/systemctl %{_bindir}/systemd-analyze %{_bindir}/systemd-coredumpctl %{_bindir}/systemd-delta %{_bindir}/systemd-notify +%{_bindir}/systemd-run %{_bindir}/systemd-journalctl %{_bindir}/journalctl %{_bindir}/systemd-ask-password @@ -800,8 +838,10 @@ fi %exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service %exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* %{_prefix}/lib/systemd/system/*.automount %{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.slice %{_prefix}/lib/systemd/system/*.target %{_prefix}/lib/systemd/system/*.mount %{_prefix}/lib/systemd/system/*.timer @@ -811,6 +851,7 @@ fi %{_prefix}/lib/systemd/user/*.target %{_prefix}/lib/systemd/user/*.service %exclude %{_prefix}/lib/systemd/systemd-udevd +%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd %{_prefix}/lib/systemd/systemd-* %{_prefix}/lib/systemd/systemd %dir %{_prefix}/lib/systemd/catalog @@ -836,7 +877,10 @@ fi %{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator %{_prefix}/lib/systemd/system-generators/systemd-fstab-generator %{_prefix}/lib/systemd/system-generators/systemd-system-update-generator +%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator +%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator /%{_lib}/security/pam_systemd.so +/etc/pam.d/systemd-user %dir %{_libexecdir}/modules-load.d %dir %{_sysconfdir}/modules-load.d @@ -856,7 +900,7 @@ fi %dir %{_sysconfdir}/systemd/system %dir %{_sysconfdir}/systemd/user %dir %{_sysconfdir}/xdg/systemd -%dir %{_sysconfdir}/xdg/systemd/user +%{_sysconfdir}/xdg/systemd/user %config(noreplace) %{_sysconfdir}/systemd/bootchart.conf %config(noreplace) %{_sysconfdir}/systemd/system.conf %config(noreplace) %{_sysconfdir}/systemd/logind.conf @@ -864,6 +908,7 @@ fi %config(noreplace) %{_sysconfdir}/systemd/user.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf @@ -877,6 +922,7 @@ fi %{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service %{_datadir}/dbus-1/system-services/org.freedesktop.login1.service %{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service %dir %{_datadir}/polkit-1 %dir %{_datadir}/polkit-1/actions @@ -885,6 +931,7 @@ fi %{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy %{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy %{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%exclude %{_datadir}/systemd/gatewayd %{_datadir}/systemd %if ! 0%{?bootstrap} @@ -897,7 +944,7 @@ fi %exclude %{_mandir}/man8/telinit.8* %exclude %{_mandir}/man8/runlevel.8* %exclude %{_mandir}/man*/*udev*.[0-9]* - +%exclude %{_mandir}/man8/systemd-journal-gatewayd.* %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* @@ -927,6 +974,9 @@ fi %dir /var/lib/systemd/migrated %dir /var/lib/systemd/catalog %dir /var/lib/systemd/coredump +%dir /usr/share/zsh +%dir /usr/share/zsh/site-functions +/usr/share/zsh/site-functions/* %files devel %defattr(-,root,root,-) @@ -979,15 +1029,10 @@ fi %{_prefix}/lib/udev/ata_id %{_prefix}/lib/udev/cdrom_id %{_prefix}/lib/udev/collect -%{_prefix}/lib/udev/findkeyboards -%{_prefix}/lib/udev/keymap %{_prefix}/lib/udev/mtd_probe %{_prefix}/lib/udev/scsi_id %{_prefix}/lib/udev/v4l_id %{_prefix}/lib/udev/write_dev_root_rule -%dir %{_prefix}/lib/udev/keymaps -%{_prefix}/lib/udev/keymaps/* -%{_prefix}/lib/udev/keyboard-force-release.sh %dir %{_prefix}/lib/udev/rules.d/ %exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules %exclude %{_prefix}/lib/udev/rules.d/71-seat.rules @@ -1066,6 +1111,12 @@ fi %{_sbindir}/nss-myhostname-config /%{_lib}/*nss_myhostname* +%files journal-gateway +%defattr(-, root, root) +%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.* +%{_prefix}/lib/systemd/systemd-journal-gatewayd +%{_mandir}/man8/systemd-journal-gatewayd.* +%{_datadir}/systemd/gatewayd %endif %changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch index 8a67df9..f688f40 100644 --- a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -6,10 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock src/timedate/timedated.c | 7 +++++++ 1 file changed, 7 insertions(+) -diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c -index cdb6e5b..7246452 100644 ---- a/src/timedate/timedated.c -+++ b/src/timedate/timedated.c +--- systemd-206_git201308300826.orig/src/timedate/timedated.c ++++ systemd-206_git201308300826/src/timedate/timedated.c @@ -182,6 +182,13 @@ static int read_data(void) { goto have_timezone; } diff --git a/use-usr-sbin-sulogin-for-emergency-service.patch b/use-usr-sbin-sulogin-for-emergency-service.patch new file mode 100644 index 0000000..9dfa497 --- /dev/null +++ b/use-usr-sbin-sulogin-for-emergency-service.patch @@ -0,0 +1,16 @@ +From: Andrey Borzenkov +Subject: use /usr/sbin/sulogin in emergency service + +In current Factory sulogin is in /usr/sbin which makes it impossible +to enter emergency service. +--- systemd-206.orig/units/emergency.service.in ++++ systemd-206/units/emergency.service.in +@@ -17,7 +17,7 @@ Environment=HOME=/root + WorkingDirectory=/root + ExecStartPre=-/bin/plymouth quit + ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.' +-ExecStart=-/sbin/sulogin ++ExecStart=-/usr/sbin/sulogin + ExecStopPost=@SYSTEMCTL@ --fail --no-block default + Type=idle + StandardInput=tty-force