diff --git a/0001-journal-letting-interleaved-seqnums-go.patch b/0001-journal-letting-interleaved-seqnums-go.patch deleted file mode 100644 index a3c6054a..00000000 --- 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-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 b710d55c..00000000 --- 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/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 cb24f70e..00000000 --- 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/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 4c39c957..00000000 --- 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/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 c99f2428..00000000 --- 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/0160-mount-when-learning-about-the-root-mount-from-mounti.patch b/0160-mount-when-learning-about-the-root-mount-from-mounti.patch deleted file mode 100644 index eb523ba7..00000000 --- a/0160-mount-when-learning-about-the-root-mount-from-mounti.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 602c0e740f8290cc9c4f13f2eb4b23fbbd7a8d2b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Mon, 17 Jun 2013 21:12:53 +0200 -Subject: [PATCH 160/197] mount: when learning about the root mount from - mountinfo, don't add conflicting dep for umount.target - -That way systemd won't try to umount it at shutdown. ---- - src/core/mount.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/core/mount.c b/src/core/mount.c -index 10073b5..0ad3d95 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -1538,9 +1538,11 @@ static int mount_add_one( - if (r < 0) - goto fail; - -- r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); -- if (r < 0) -- goto fail; -+ if (!path_equal(where, "/")) { -+ r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, NULL, true); -+ if (r < 0) -+ goto fail; -+ } - - unit_add_to_load_queue(u); - } else { --- -1.8.3.1 - diff --git a/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch b/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch deleted file mode 100644 index 571d5755..00000000 --- a/0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch +++ /dev/null @@ -1,34 +0,0 @@ -From ed002560a1945fb8765c5559c293a19bc9e132d8 Mon Sep 17 00:00:00 2001 -From: Auke Kok -Date: Thu, 20 Jun 2013 13:36:33 -0700 -Subject: [PATCH 185/197] core: only attempt to connect to a session bus if one - likely exists. - ---- - src/core/manager.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/core/manager.c b/src/core/manager.c -index 5c3a2c7..2416dd0 100644 ---- a/src/core/manager.c -+++ b/src/core/manager.c -@@ -509,9 +509,13 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) { - goto fail; - - /* Try to connect to the busses, if possible. */ -- r = bus_init(m, running_as != SYSTEMD_SYSTEM); -- if (r < 0) -- goto fail; -+ if ((running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) || -+ running_as == SYSTEMD_SYSTEM) { -+ r = bus_init(m, running_as != SYSTEMD_SYSTEM); -+ if (r < 0) -+ goto fail; -+ } else -+ log_debug("Skipping DBus session bus connection attempt - no DBUS_SESSION_BUS_ADDRESS set..."); - - m->taint_usr = dir_is_empty("/usr") > 0; - --- -1.8.3.1 - diff --git a/1007-physical-hotplug-cpu-and-memory.patch b/1007-physical-hotplug-cpu-and-memory.patch index cd956a0c..175fb9b3 100644 --- a/1007-physical-hotplug-cpu-and-memory.patch +++ b/1007-physical-hotplug-cpu-and-memory.patch @@ -1,7 +1,7 @@ -Index: systemd-204/rules/80-hotplug-cpu-mem.rules +Index: systemd-205/rules/80-hotplug-cpu-mem.rules =================================================================== --- /dev/null -+++ systemd-204/rules/80-hotplug-cpu-mem.rules ++++ systemd-205/rules/80-hotplug-cpu-mem.rules @@ -0,0 +1,9 @@ +# do not edit this file, it will be overwritten on update + @@ -12,11 +12,11 @@ Index: systemd-204/rules/80-hotplug-cpu-mem.rules +# Hotplug physical memory +SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \ + ATTR{state}="online" -Index: systemd-204/Makefile.am +Index: systemd-205/Makefile.am =================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \ +--- systemd-205.orig/Makefile.am ++++ systemd-205/Makefile.am +@@ -2389,6 +2389,10 @@ dist_udevrules_DATA += \ rules/73-seat-numlock.rules # ------------------------------------------------------------------------------ diff --git a/1008-add-msft-compability-rules.patch b/1008-add-msft-compability-rules.patch index 41d6e698..d482f026 100644 --- a/1008-add-msft-compability-rules.patch +++ b/1008-add-msft-compability-rules.patch @@ -1,8 +1,8 @@ -Index: systemd-204/Makefile.am +Index: systemd-205/Makefile.am =================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \ +--- systemd-205.orig/Makefile.am ++++ systemd-205/Makefile.am +@@ -2393,6 +2393,10 @@ dist_udevrules_DATA += \ rules/80-hotplug-cpu-mem.rules # ------------------------------------------------------------------------------ @@ -13,10 +13,10 @@ Index: systemd-204/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-204/rules/61-msft.rules +Index: systemd-205/rules/61-msft.rules =================================================================== --- /dev/null -+++ systemd-204/rules/61-msft.rules ++++ systemd-205/rules/61-msft.rules @@ -0,0 +1,9 @@ +# MSFT compability rules +ACTION!="add|change", GOTO="msft_end" 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 de856e1f..fbca9564 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,10 @@ Conflicts: src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 5 deletions(-) -Index: systemd-204/src/core/service.c +Index: systemd-205/src/core/service.c =================================================================== ---- systemd-204.orig/src/core/service.c -+++ systemd-204/src/core/service.c +--- systemd-205.orig/src/core/service.c ++++ systemd-205/src/core/service.c @@ -51,7 +51,8 @@ typedef enum RunlevelType { @@ -55,7 +55,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 +65,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 +79,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 +89,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 +108,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 +117,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 +127,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 68a94293..00000000 --- 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/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch index 77a2e6b7..2ccb95a7 100644 --- a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -6,11 +6,11 @@ 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 +Index: systemd-205/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-205.orig/src/systemctl/systemctl.c ++++ systemd-205/src/systemctl/systemctl.c +@@ -4192,8 +4192,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/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch index d66c24fc..cc5239bf 100644 --- a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -7,11 +7,11 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable src/systemctl/systemctl.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -Index: systemd-204/src/systemctl/systemctl.c +Index: systemd-205/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-205.orig/src/systemctl/systemctl.c ++++ systemd-205/src/systemctl/systemctl.c +@@ -6131,6 +6131,28 @@ int main(int argc, char*argv[]) { log_parse_environment(); log_open(); diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch index 67fe0155..ab735884 100644 --- a/handle-numlock-value-in-etc-sysconfig-keyboard.patch +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -6,10 +6,10 @@ Authors: Stanislav Brabec Cristian Rodríguez -Index: systemd-204/src/vconsole/vconsole-setup.c +Index: systemd-205/src/vconsole/vconsole-setup.c =================================================================== ---- systemd-204.orig/src/vconsole/vconsole-setup.c -+++ systemd-204/src/vconsole/vconsole-setup.c +--- systemd-205.orig/src/vconsole/vconsole-setup.c ++++ systemd-205/src/vconsole/vconsole-setup.c @@ -42,6 +42,10 @@ #include "fileio.h" #include "strv.h" @@ -100,11 +100,11 @@ 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 +Index: systemd-205/Makefile.am =================================================================== ---- systemd-204.orig/Makefile.am -+++ systemd-204/Makefile.am -@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \ +--- systemd-205.orig/Makefile.am ++++ systemd-205/Makefile.am +@@ -2361,6 +2361,19 @@ dist_udevrules_DATA += \ rules/61-accelerometer.rules # ------------------------------------------------------------------------------ @@ -124,10 +124,10 @@ Index: systemd-204/Makefile.am if ENABLE_GUDEV if ENABLE_GTK_DOC SUBDIRS += \ -Index: systemd-204/rules/73-seat-numlock.rules +Index: systemd-205/rules/73-seat-numlock.rules =================================================================== --- /dev/null -+++ systemd-204/rules/73-seat-numlock.rules ++++ systemd-205/rules/73-seat-numlock.rules @@ -0,0 +1,8 @@ +# This file is part of SUSE customization of systemd. +# @@ -137,10 +137,10 @@ 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 +Index: systemd-205/src/login/numlock-on.c =================================================================== --- /dev/null -+++ systemd-204/src/login/numlock-on.c ++++ systemd-205/src/login/numlock-on.c @@ -0,0 +1,34 @@ +/* + * numlock-on.c: Turn numlock-on @@ -176,10 +176,10 @@ Index: systemd-204/src/login/numlock-on.c + + exit(0); +} -Index: systemd-204/units/systemd-vconsole-setup.service.in +Index: systemd-205/units/systemd-vconsole-setup.service.in =================================================================== ---- systemd-204.orig/units/systemd-vconsole-setup.service.in -+++ systemd-204/units/systemd-vconsole-setup.service.in +--- systemd-205.orig/units/systemd-vconsole-setup.service.in ++++ systemd-205/units/systemd-vconsole-setup.service.in @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup DefaultDependencies=no Conflicts=shutdown.target diff --git a/insserv-generator.patch b/insserv-generator.patch index 582098ea..578f387b 100644 --- a/insserv-generator.patch +++ b/insserv-generator.patch @@ -13,11 +13,11 @@ systemd unit drop-in files to add dependencies create mode 100644 src/insserv-generator/Makefile create mode 100644 src/insserv-generator/insserv-generator.c -diff --git a/Makefile.am b/Makefile.am -index 016d7da..9f8319d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -315,6 +315,7 @@ rootlibexec_PROGRAMS = \ +Index: systemd-205/Makefile.am +=================================================================== +--- systemd-205.orig/Makefile.am ++++ systemd-205/Makefile.am +@@ -316,6 +316,7 @@ rootlibexec_PROGRAMS = \ systemd-sleep systemgenerator_PROGRAMS = \ @@ -25,7 +25,7 @@ index 016d7da..9f8319d 100644 systemd-getty-generator \ systemd-fstab-generator \ systemd-system-update-generator -@@ -1549,6 +1550,14 @@ systemd_delta_LDADD = \ +@@ -1578,6 +1579,14 @@ systemd_delta_LDADD = \ libsystemd-shared.la # ------------------------------------------------------------------------------ @@ -40,11 +40,10 @@ index 016d7da..9f8319d 100644 systemd_getty_generator_SOURCES = \ src/getty-generator/getty-generator.c -diff --git a/src/insserv-generator/Makefile b/src/insserv-generator/Makefile -new file mode 100644 -index 0000000..9d07505 +Index: systemd-205/src/insserv-generator/Makefile +=================================================================== --- /dev/null -+++ b/src/insserv-generator/Makefile ++++ systemd-205/src/insserv-generator/Makefile @@ -0,0 +1,28 @@ +# This file is part of systemd. +# @@ -74,11 +73,10 @@ index 0000000..9d07505 + $(MAKE) -C .. clean + +.PHONY: all clean -diff --git a/src/insserv-generator/insserv-generator.c b/src/insserv-generator/insserv-generator.c -new file mode 100644 -index 0000000..067ee2f +Index: systemd-205/src/insserv-generator/insserv-generator.c +=================================================================== --- /dev/null -+++ b/src/insserv-generator/insserv-generator.c ++++ systemd-205/src/insserv-generator/insserv-generator.c @@ -0,0 +1,309 @@ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ + @@ -389,6 +387,3 @@ index 0000000..067ee2f + + return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; +} --- -1.8.1.4 - diff --git a/macros.systemd.upstream b/macros.systemd.upstream index dc19f937..f76d6f12 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@ diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch index 93f8c8bf..55e9ed17 100644 --- a/optionally-warn-if-nss-myhostname-is-called.patch +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -7,11 +7,11 @@ 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 +Index: systemd-205/configure.ac +=================================================================== +--- systemd-205.orig/configure.ac ++++ systemd-205/configure.ac +@@ -772,6 +772,17 @@ if test "x$enable_myhostname" != "xno"; fi AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) @@ -29,10 +29,10 @@ 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 +Index: systemd-205/src/nss-myhostname/nss-myhostname.c +=================================================================== +--- systemd-205.orig/src/nss-myhostname/nss-myhostname.c ++++ systemd-205/src/nss-myhostname/nss-myhostname.c @@ -29,6 +29,9 @@ #include #include @@ -54,7 +54,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 +64,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 +84,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/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch index 2e13936d..6f4f62e6 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,10 @@ 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 +Index: systemd-205/src/core/service.c +=================================================================== +--- systemd-205.orig/src/core/service.c ++++ systemd-205/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 +23,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) { +@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic free(short_description); short_description = d; @@ -58,7 +58,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) { +@@ -927,7 +956,8 @@ static int service_load_sysv_path(Servic /* Special setting for all SysV services */ s->type = SERVICE_FORKING; @@ -68,7 +68,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) { +@@ -2094,7 +2124,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 +77,11 @@ 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 { +Index: systemd-205/src/core/service.h +=================================================================== +--- systemd-205.orig/src/core/service.h ++++ systemd-205/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 e5c85f0c..8432cd38 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,11 @@ 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 = \ +Index: systemd-205/Makefile.am +=================================================================== +--- systemd-205.orig/Makefile.am ++++ systemd-205/Makefile.am +@@ -402,6 +402,12 @@ dist_systemunit_DATA = \ units/system-update.target \ units/initrd-switch-root.target @@ -27,7 +27,7 @@ index 8730f66..b8cf696 100644 nodist_systemunit_DATA = \ units/getty@.service \ units/serial-getty@.service \ -@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ +@@ -4268,6 +4274,9 @@ RUNLEVEL4_TARGET_WANTS += \ systemd-update-utmp-runlevel.service RUNLEVEL5_TARGET_WANTS += \ systemd-update-utmp-runlevel.service @@ -35,13 +35,12 @@ 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 +Index: systemd-205/units/var-lock.mount +=================================================================== --- /dev/null -+++ b/units/var-lock.mount ++++ systemd-205/units/var-lock.mount @@ -0,0 +1,19 @@ +# This file is part of systemd. +# @@ -62,11 +61,10 @@ 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 +Index: systemd-205/units/var-run.mount +=================================================================== --- /dev/null -+++ b/units/var-run.mount ++++ systemd-205/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 fb00b6d8..589069aa 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,11 @@ 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 +Index: systemd-205/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-205.orig/src/core/service.c ++++ systemd-205/src/core/service.c +@@ -2092,8 +2092,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/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 6502fa49..00000000 --- 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 ae11dd5d..00000000 --- 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-205.tar.xz b/systemd-205.tar.xz new file mode 100644 index 00000000..e97037a3 --- /dev/null +++ b/systemd-205.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54d6d3e1e9e66b6a484f68a3323cb489f0a8f50bdeb1d5465c3a48c6fc1e0058 +size 2237640 diff --git a/systemd-insserv_conf b/systemd-insserv_conf deleted file mode 100644 index 5bdebd1b..00000000 --- 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.changes b/systemd-mini.changes index 1900e582..55edb70e 100644 --- a/systemd-mini.changes +++ b/systemd-mini.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +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 diff --git a/systemd-mini.spec b/systemd-mini.spec index e0be549a..8b0fe7bc 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: 205 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -168,24 +168,7 @@ 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-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown -Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch -# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. -Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -418,15 +401,7 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 + # udev patches %patch1001 -p1 %patch1002 -p1 @@ -609,6 +584,9 @@ 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 || : @@ -772,11 +750,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 @@ -812,6 +792,7 @@ fi %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_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 @@ -875,6 +856,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 @@ -888,6 +870,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 diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes index 3d222ce2..165b84c9 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 0268d064..4c7b714f 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 219445d9..87518f9d 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.changes b/systemd.changes index 1900e582..55edb70e 100644 --- a/systemd.changes +++ b/systemd.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +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 diff --git a/systemd.spec b/systemd.spec index 8bb25aa8..f6ef6e8e 100644 --- a/systemd.spec +++ b/systemd.spec @@ -23,7 +23,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd -Version: 204 +Version: 205 Release: 0 Summary: A System and Session Manager License: LGPL-2.1+ @@ -163,24 +163,7 @@ 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-UPSTREAM 0160-mount-when-learning-about-the-root-mount-from-mounti.patch crrodriguez@opensuse.org another case where / is attempted to umount at shutdown -Patch49: 0160-mount-when-learning-about-the-root-mount-from-mounti.patch -# PATCH-FIX-UPSTREAM 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch crrodriguez@opensuse.org only attempt to connect to a session bus if one likely exists. -Patch50: 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch + # udev patches # PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch @@ -413,15 +396,7 @@ cp %{SOURCE7} m4/ %patch39 -p1 %patch40 -p1 %patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 + # udev patches %patch1001 -p1 %patch1002 -p1 @@ -604,6 +579,9 @@ 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 || : @@ -767,11 +745,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 @@ -807,6 +787,7 @@ fi %exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service %{_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 @@ -870,6 +851,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 @@ -883,6 +865,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