- 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

OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=412
This commit is contained in:
Dr. Werner Fink 2013-07-04 15:28:49 +00:00 committed by Git OBS Bridge
parent 1c2e12b639
commit d2be2c305a
31 changed files with 320 additions and 668 deletions

View File

@ -1,74 +0,0 @@
From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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

View File

@ -1,122 +0,0 @@
From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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

View File

@ -1,87 +0,0 @@
From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
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 <stdbool.h>
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

View File

@ -1,36 +0,0 @@
From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
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

View File

@ -1,29 +0,0 @@
From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001
From: Ross Lagerwall <rosslagerwall@gmail.com>
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,

View File

@ -1,33 +0,0 @@
From 602c0e740f8290cc9c4f13f2eb4b23fbbd7a8d2b Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
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

View File

@ -1,34 +0,0 @@
From ed002560a1945fb8765c5559c293a19bc9e132d8 Mon Sep 17 00:00:00 2001
From: Auke Kok <auke-jan.h.kok@intel.com>
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

View File

@ -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
# ------------------------------------------------------------------------------

View File

@ -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"

View File

@ -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

View File

@ -1,27 +0,0 @@
From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
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

View File

@ -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;

View File

@ -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();

View File

@ -6,10 +6,10 @@ Authors:
Stanislav Brabec <sbrabec@suse.cz>
Cristian Rodríguez <crrodriguez@opensuse.org>
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

View File

@ -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

View File

@ -20,6 +20,7 @@
# RPM macros for packages installing systemd unit files
%_unitdir @systemunitdir@
%_userunitdir @userunitdir@
%_presetdir @systempresetdir@
%_udevhwdbdir @udevhwdbdir@
%_udevrulesdir @udevrulesdir@

View File

@ -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 <net/if.h>
#include <stdlib.h>
@ -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);
}

View File

@ -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;

View File

@ -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.
+#

View File

@ -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)) &&

View File

@ -1,27 +0,0 @@
From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001
From: Auke Kok <auke-jan.h.kok@intel.com>
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b
size 2186264

3
systemd-205.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54d6d3e1e9e66b6a484f68a3323cb489f0a8f50bdeb1d5465c3a48c6fc1e0058
size 2237640

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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+

View File

@ -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).*")

View File

@ -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

View File

@ -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