SHA256
1
0
forked from pool/systemd

Accepting request 185496 from Base:System

- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
  and owned by systemd package. (forwarded request 185494 from fcrozat)

OBS-URL: https://build.opensuse.org/request/show/185496
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd?expand=0&rev=151
This commit is contained in:
Stephan Kulow 2013-08-02 05:26:48 +00:00 committed by Git OBS Bridge
parent 37062d5aaa
commit 2ce609fe24
63 changed files with 877 additions and 903 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

@ -0,0 +1,34 @@
From 1e4fc9b1d8449e87474b3af8a4ddab09fab27cd5 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 4 Jul 2013 11:01:47 +0200
Subject: [PATCH 2/6] core/mount.c:mount_dump(): don't segfault, if mount is
not mounted anymore
Don't segfault, if m->from_proc_self_mountinfo and m->from_fragment is
false.
https://bugzilla.redhat.com/show_bug.cgi?id=957783#c9
---
src/core/mount.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/core/mount.c b/src/core/mount.c
index 3cc3e65..58a3f11 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -822,9 +822,9 @@ static void mount_dump(Unit *u, FILE *f, const char *prefix) {
prefix, mount_state_to_string(m->state),
prefix, mount_result_to_string(m->result),
prefix, m->where,
- prefix, strna(p->what),
- prefix, strna(p->fstype),
- prefix, strna(p->options),
+ prefix, p ? strna(p->what) : "n/a",
+ prefix, p ? strna(p->fstype) : "n/a",
+ prefix, p ? strna(p->options) : "n/a",
prefix, yes_no(m->from_proc_self_mountinfo),
prefix, yes_no(m->from_fragment),
prefix, m->directory_mode);
--
1.8.1.4

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

@ -0,0 +1,74 @@
From ad929bcc27e2c6c1aa731053e45882686e9babab Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Thu, 4 Jul 2013 20:31:18 +0200
Subject: [PATCH 4/6] disable the cgroups release agent when shutting down
During shutdown, when we try to clean up all remaining processes, the
kernel will fork new agents every time a cgroup runs empty. These
new processes cause delays in the final SIGTERM, SIGKILL logic.
Apart from that, this should also avoid that the kernel-forked binaries
cause unpredictably timed access to the filesystem which we might need to
unmount.
---
src/core/main.c | 4 ++++
src/shared/cgroup-util.c | 15 +++++++++++++++
src/shared/cgroup-util.h | 1 +
3 files changed, 20 insertions(+)
diff --git a/src/core/main.c b/src/core/main.c
index 8b8e110..ada0f9d 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1942,6 +1942,10 @@ finish:
watchdog_close(true);
}
+ /* avoid the creation of new processes forked by the kernel; at this
+ * point, we will not listen to the signals anyway */
+ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER);
+
execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block);
free(env_block);
log_error("Failed to execute shutdown binary, freezing: %m");
diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c
index 390259e..73013d1 100644
--- a/src/shared/cgroup-util.c
+++ b/src/shared/cgroup-util.c
@@ -790,6 +790,21 @@ int cg_install_release_agent(const char *controller, const char *agent) {
return 0;
}
+int cg_uninstall_release_agent(const char *controller) {
+ _cleanup_free_ char *fs = NULL;
+ int r;
+
+ r = cg_get_path(controller, NULL, "release_agent", &fs);
+ if (r < 0)
+ return r;
+
+ r = write_string_file(fs, "");
+ if (r < 0)
+ return r;
+
+ return 0;
+}
+
int cg_is_empty(const char *controller, const char *path, bool ignore_self) {
_cleanup_fclose_ FILE *f = NULL;
pid_t pid = 0, self_pid;
diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h
index c781aab..0fc93c1 100644
--- a/src/shared/cgroup-util.h
+++ b/src/shared/cgroup-util.h
@@ -89,6 +89,7 @@ int cg_set_group_access(const char *controller, const char *path, mode_t mode, u
int cg_set_task_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid);
int cg_install_release_agent(const char *controller, const char *agent);
+int cg_uninstall_release_agent(const char *controller);
int cg_is_empty(const char *controller, const char *path, bool ignore_self);
int cg_is_empty_by_spec(const char *spec, bool ignore_self);
--
1.8.1.4

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

@ -0,0 +1,53 @@
From c1eba3008cac9e625b8bb774e9b44ceec8465980 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Thu, 4 Jul 2013 20:54:40 +0200
Subject: [PATCH 5/6] cgroups-agent: remove ancient fallback code; turn
connection error into warning
During re-execution and shutdown cgroups agents might not be able
to connect to systemd's private D-Bus socket, the printed error to
the console is misleding in that case, so turn it into a warning.
---
src/cgroups-agent/cgroups-agent.c | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/src/cgroups-agent/cgroups-agent.c b/src/cgroups-agent/cgroups-agent.c
index 0e3d2b7..a47949a 100644
--- a/src/cgroups-agent/cgroups-agent.c
+++ b/src/cgroups-agent/cgroups-agent.c
@@ -48,26 +48,19 @@ int main(int argc, char *argv[]) {
* this to avoid an activation loop when we start dbus when we
* are called when the dbus service is shut down. */
- if (!(bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error))) {
-#ifndef NOLEGACY
- dbus_error_free(&error);
-
- /* Retry with the pre v21 socket name, to ease upgrades */
- if (!(bus = dbus_connection_open_private("unix:abstract=/org/freedesktop/systemd1/private", &error))) {
-#endif
- log_error("Failed to get D-Bus connection: %s", bus_error_message(&error));
- goto finish;
- }
-#ifndef NOLEGACY
+ bus = dbus_connection_open_private("unix:path=/run/systemd/private", &error);
+ if (!bus) {
+ log_warning("Failed to get D-Bus connection: %s", bus_error_message(&error));
+ goto finish;
}
-#endif
if (bus_check_peercred(bus) < 0) {
log_error("Bus owner not root.");
goto finish;
}
- if (!(m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released"))) {
+ m = dbus_message_new_signal("/org/freedesktop/systemd1/agent", "org.freedesktop.systemd1.Agent", "Released");
+ if (!m) {
log_error("Could not allocate signal message.");
goto finish;
}
--
1.8.1.4

View File

@ -0,0 +1,69 @@
From ec26be514ff3c5367b21f9881369080bda54fd2d Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay@vrfy.org>
Date: Fri, 5 Jul 2013 00:32:05 +0200
Subject: [PATCH 6/6] suppress status message output at shutdown when 'quiet'
is given
---
src/core/main.c | 4 ++--
src/core/shutdown.c | 15 +++++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/core/main.c b/src/core/main.c
index ada0f9d..243855f 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -1942,9 +1942,9 @@ finish:
watchdog_close(true);
}
- /* avoid the creation of new processes forked by the kernel; at this
+ /* avoid the creation of new processes forked by the kernel; at this
* point, we will not listen to the signals anyway */
- cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER);
+ cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER);
execve(SYSTEMD_SHUTDOWN_BINARY_PATH, (char **) command_line, env_block);
free(env_block);
diff --git a/src/core/shutdown.c b/src/core/shutdown.c
index 2db761d..c02a14d 100644
--- a/src/core/shutdown.c
+++ b/src/core/shutdown.c
@@ -39,6 +39,7 @@
#include "missing.h"
#include "log.h"
+#include "fileio.h"
#include "umount.h"
#include "util.h"
#include "mkdir.h"
@@ -130,12 +131,26 @@ static int pivot_to_new_root(void) {
}
int main(int argc, char *argv[]) {
+ _cleanup_free_ char *line = NULL;
int cmd, r;
unsigned retries;
bool need_umount = true, need_swapoff = true, need_loop_detach = true, need_dm_detach = true;
bool in_container, use_watchdog = false;
char *arguments[3];
+ /* suppress shutdown status output if 'quiet' is used */
+ r = read_one_line_file("/proc/cmdline", &line);
+ if (r >= 0) {
+ char *w, *state;
+ size_t l;
+
+ FOREACH_WORD_QUOTED(w, l, line, state)
+ if (streq(w, "quiet")) {
+ log_set_max_level(LOG_WARNING);
+ break;
+ }
+ }
+
log_parse_environment();
log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */
log_open();
--
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

@ -7,11 +7,9 @@ Fix by-path links for ATA transport (bnc#770910)
src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------
1 file changed, 80 insertions(+), 12 deletions(-)
diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
index da02731..a77d4e8 100644
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char *
--- systemd-206.orig/src/udev/udev-builtin-path_id.c
+++ systemd-206/src/udev/udev-builtin-path_id.c
@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_h
return parent;
}
@ -97,7 +95,7 @@ index da02731..a77d4e8 100644
static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
{
const char *devtype;
@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
@@ -374,19 +453,8 @@ static struct udev_device *handle_scsi(s
goto out;
}

View File

@ -7,11 +7,9 @@ Re-enable creation of by-id scsi links for ATA devices. (bnc#769002)
rules/60-persistent-storage.rules | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
index a4d009a..f720c7e 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="s
--- systemd-206.orig/rules/60-persistent-storage.rules
+++ systemd-206/rules/60-persistent-storage.rules
@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk",
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"

View File

@ -7,11 +7,9 @@ udevd race for netlink events (bnc#774646)
src/udev/udevd.c | 2 ++
1 file changed, 2 insertions(+)
Index: systemd-202/src/udev/udevd.c
===================================================================
--- systemd-202.orig/src/udev/udevd.c
+++ systemd-202/src/udev/udevd.c
@@ -1407,6 +1407,8 @@ int main(int argc, char *argv[])
--- systemd-206.orig/src/udev/udevd.c
+++ systemd-206/src/udev/udevd.c
@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[])
dev = udev_monitor_receive_device(monitor);
if (dev != NULL) {
udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC));

View File

@ -1,22 +0,0 @@
From: Frederic Crozat <fcrozat@suse.com>
Date: Wed, 5 Dec 2012 15:13:27 +0000
Subject: fix devname prefix
fix modules.devname path, it isn't in /usr.
---
src/udev/udevd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: systemd-202/src/udev/udevd.c
===================================================================
--- systemd-202.orig/src/udev/udevd.c
+++ systemd-202/src/udev/udevd.c
@@ -824,7 +824,7 @@ static void static_dev_create_from_modul
return;
}
- strscpyl(modules, sizeof(modules), ROOTPREFIX "/lib/modules/", kernel.release, "/modules.devname", NULL);
+ strscpyl(modules, sizeof(modules), "/lib/modules/", kernel.release, "/modules.devname", NULL);
f = fopen(modules, "re");
if (f == NULL)
return;

View File

@ -7,11 +7,9 @@ cdrom_id: created links for the default cd/dvd drive (bnc#783054).
rules/60-cdrom_id.rules | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/rules/60-cdrom_id.rules b/rules/60-cdrom_id.rules
index 6eaf76a..ec0b19a 100644
--- a/rules/60-cdrom_id.rules
+++ b/rules/60-cdrom_id.rules
@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr
--- systemd-206.orig/rules/60-cdrom_id.rules
+++ systemd-206/rules/60-cdrom_id.rules
@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr
# enable the receiving of media eject button events
IMPORT{program}="cdrom_id --lock-media $devnode"

View File

@ -8,10 +8,8 @@ udev: ensure that the network interfaces are renamed even if they exist
src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 43 insertions(+), 3 deletions(-)
Index: systemd-204/src/udev/udev-event.c
===================================================================
--- systemd-204.orig/src/udev/udev-event.c
+++ systemd-204/src/udev/udev-event.c
--- systemd-206.orig/src/udev/udev-event.c
+++ systemd-206/src/udev/udev-event.c
@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even
struct udev_device *dev = event->dev;
int sk;

View File

@ -1,7 +1,5 @@
Index: systemd-204/rules/80-hotplug-cpu-mem.rules
===================================================================
--- /dev/null
+++ systemd-204/rules/80-hotplug-cpu-mem.rules
+++ systemd-206/rules/80-hotplug-cpu-mem.rules
@@ -0,0 +1,9 @@
+# do not edit this file, it will be overwritten on update
+
@ -12,11 +10,9 @@ 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
===================================================================
--- systemd-204.orig/Makefile.am
+++ systemd-204/Makefile.am
@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \
--- systemd-206.orig/Makefile.am
+++ systemd-206/Makefile.am
@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \
rules/73-seat-numlock.rules
# ------------------------------------------------------------------------------

View File

@ -1,8 +1,6 @@
Index: systemd-204/Makefile.am
===================================================================
--- systemd-204.orig/Makefile.am
+++ systemd-204/Makefile.am
@@ -2242,6 +2242,10 @@ dist_udevrules_DATA += \
--- systemd-206.orig/Makefile.am
+++ systemd-206/Makefile.am
@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \
rules/80-hotplug-cpu-mem.rules
# ------------------------------------------------------------------------------
@ -13,10 +11,8 @@ Index: systemd-204/Makefile.am
if ENABLE_GUDEV
if ENABLE_GTK_DOC
SUBDIRS += \
Index: systemd-204/rules/61-msft.rules
===================================================================
--- /dev/null
+++ systemd-204/rules/61-msft.rules
+++ systemd-206/rules/61-msft.rules
@@ -0,0 +1,9 @@
+# MSFT compability rules
+ACTION!="add|change", GOTO="msft_end"

View File

@ -8,10 +8,8 @@ disable /var/lock/{subsys,lockdev} and change default permissions on
tmpfiles.d/legacy.conf | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf
index 3fff347..81d5e47 100644
--- a/tmpfiles.d/legacy.conf
+++ b/tmpfiles.d/legacy.conf
--- systemd-206.orig/tmpfiles.d/legacy.conf
+++ systemd-206/tmpfiles.d/legacy.conf
@@ -10,12 +10,13 @@
# These files are considered legacy and are unnecessary on legacy-free
# systems.

View File

@ -7,10 +7,8 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157)
src/sleep/sleep.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
index a56ab89..232ab67 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
--- systemd-206.orig/src/sleep/sleep.c
+++ systemd-206/src/sleep/sleep.c
@@ -24,6 +24,7 @@
#include <errno.h>
#include <string.h>
@ -38,7 +36,7 @@ index a56ab89..232ab67 100644
return r;
}
@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) {
@@ -90,6 +90,8 @@ static int execute(char **modes, char **
FILE *f;
const char* note = strappenda("SLEEP=", arg_verb);
@ -47,7 +45,7 @@ index a56ab89..232ab67 100644
/* This file is opened first, so that if we hit an error,
* we can abort before modyfing any state. */
f = fopen("/sys/power/state", "we");
@@ -102,6 +104,7 @@ static int execute(char **modes, char **states) {
@@ -102,6 +104,7 @@ static int execute(char **modes, char **
r = write_mode(modes);
if (r < 0)
return r;
@ -55,7 +53,7 @@ index a56ab89..232ab67 100644
arguments[0] = NULL;
arguments[1] = (char*) "pre";
@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) {
@@ -114,8 +117,10 @@ static int execute(char **modes, char **
"MESSAGE=Suspending system...",
note,
NULL);
@ -67,7 +65,7 @@ index a56ab89..232ab67 100644
if (r < 0)
return r;
@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) {
@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *ar
};
int c;
@ -75,7 +73,7 @@ index a56ab89..232ab67 100644
assert(argc >= 0);
assert(argv);
@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) {
@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *ar
return -EINVAL;
}

View File

@ -10,10 +10,8 @@ Conflicts:
src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 46 insertions(+), 5 deletions(-)
Index: systemd-204/src/core/service.c
===================================================================
--- systemd-204.orig/src/core/service.c
+++ systemd-204/src/core/service.c
--- systemd-206.orig/src/core/service.c
+++ systemd-206/src/core/service.c
@@ -51,7 +51,8 @@
typedef enum RunlevelType {
@ -55,7 +53,7 @@ Index: systemd-204/src/core/service.c
#endif
static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
@@ -332,6 +345,9 @@ static char *sysv_translate_name(const c
@@ -334,6 +347,9 @@ static char *sysv_translate_name(const c
if (endswith(name, ".sh"))
/* Drop .sh suffix */
strcpy(stpcpy(r, name) - 3, ".service");
@ -65,7 +63,7 @@ Index: systemd-204/src/core/service.c
else
/* Normal init script name */
strcpy(stpcpy(r, name), ".service");
@@ -934,6 +950,13 @@ static int service_load_sysv_path(Servic
@@ -936,6 +952,13 @@ static int service_load_sysv_path(Servic
if ((r = sysv_exec_commands(s, supports_reload)) < 0)
goto finish;
@ -79,7 +77,7 @@ Index: systemd-204/src/core/service.c
if (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) {
/* If there a runlevels configured for this service
@@ -1015,6 +1038,9 @@ static int service_load_sysv_name(Servic
@@ -1017,6 +1040,9 @@ static int service_load_sysv_name(Servic
if (endswith(name, ".sh.service"))
return -ENOENT;
@ -89,7 +87,7 @@ Index: systemd-204/src/core/service.c
STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) {
char *path;
int r;
@@ -1035,6 +1061,18 @@ static int service_load_sysv_name(Servic
@@ -1037,6 +1063,18 @@ static int service_load_sysv_name(Servic
}
free(path);
@ -108,7 +106,7 @@ Index: systemd-204/src/core/service.c
if (r < 0)
return r;
@@ -3667,7 +3705,7 @@ static int service_enumerate(Manager *m)
@@ -3587,7 +3625,7 @@ static int service_enumerate(Manager *m)
if (de->d_name[0] == 'S') {
@ -117,7 +115,7 @@ Index: systemd-204/src/core/service.c
SERVICE(service)->sysv_start_priority_from_rcnd =
MAX(a*10 + b, SERVICE(service)->sysv_start_priority_from_rcnd);
@@ -3684,7 +3722,8 @@ static int service_enumerate(Manager *m)
@@ -3604,7 +3642,8 @@ static int service_enumerate(Manager *m)
goto finish;
} else if (de->d_name[0] == 'K' &&
@ -127,7 +125,7 @@ Index: systemd-204/src/core/service.c
r = set_ensure_allocated(&shutdown_services,
trivial_hash_func, trivial_compare_func);
@@ -3724,7 +3763,9 @@ static int service_enumerate(Manager *m)
@@ -3644,7 +3683,9 @@ static int service_enumerate(Manager *m)
* runlevels we assume the stop jobs will be implicitly added
* by the core logic. Also, we don't really distinguish here
* between the runlevels 0 and 6 and just add them to the

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

@ -9,10 +9,8 @@ allows multiple sulogin instance (bnc#793182).
units/serial-getty@.service.m4 | 1 +
3 files changed, 3 insertions(+)
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
index 083eb97..243fea5 100644
--- a/units/getty@.service.m4
+++ b/units/getty@.service.m4
--- systemd-206.orig/units/getty@.service.m4
+++ systemd-206/units/getty@.service.m4
@@ -9,6 +9,7 @@
Description=Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
@ -21,10 +19,8 @@ index 083eb97..243fea5 100644
After=systemd-user-sessions.service plymouth-quit-wait.service
m4_ifdef(`HAVE_SYSV_COMPAT',
After=rc-local.service
diff --git a/units/rescue.target b/units/rescue.target
index 3f59b14..20f6841 100644
--- a/units/rescue.target
+++ b/units/rescue.target
--- systemd-206.orig/units/rescue.target
+++ systemd-206/units/rescue.target
@@ -10,6 +10,7 @@ Description=Rescue Mode
Documentation=man:systemd.special(7)
Requires=sysinit.target rescue.service
@ -33,10 +29,8 @@ index 3f59b14..20f6841 100644
AllowIsolate=yes
[Install]
diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
index 60d7737..2b18dbf 100644
--- a/units/serial-getty@.service.m4
+++ b/units/serial-getty@.service.m4
--- systemd-206.orig/units/serial-getty@.service.m4
+++ systemd-206/units/serial-getty@.service.m4
@@ -10,6 +10,7 @@ Description=Serial Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html

View File

@ -7,10 +7,8 @@ set ACL on nvidia devices (bnc#808319).
src/login/logind-acl.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
index cb045a9..51093f2 100644
--- a/src/login/logind-acl.c
+++ b/src/login/logind-acl.c
--- systemd-206.orig/src/login/logind-acl.c
+++ systemd-206/src/login/logind-acl.c
@@ -24,6 +24,7 @@
#include <acl/libacl.h>
#include <errno.h>
@ -19,8 +17,8 @@ index cb045a9..51093f2 100644
#include "logind-acl.h"
#include "util.h"
@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev,
goto finish;
@@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev,
r = devnode_acl(n, flush, del, old_uid, add, new_uid);
}
+ /* only search for nvidia* if /dev/nvidiactl exists */
@ -40,5 +38,5 @@ index cb045a9..51093f2 100644
+ }
+
finish:
if (e)
udev_enumerate_unref(e);
udev_enumerate_unref(e);
set_free_free(nodes);

View File

@ -7,11 +7,9 @@ Subject: avoid assertion if invalid address familily is passed to
src/nss-myhostname/nss-myhostname.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
index 60e256d..e97d4e5 100644
--- a/src/nss-myhostname/nss-myhostname.c
+++ b/src/nss-myhostname/nss-myhostname.c
@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
--- systemd-206.orig/src/nss-myhostname/nss-myhostname.c
+++ systemd-206/src/nss-myhostname/nss-myhostname.c
@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb
uint32_t local_address_ipv4 = LOCALADDRESS_IPV4;
const char *canonical = NULL, *additional = NULL;

View File

@ -7,10 +7,8 @@ Subject: delay fsck / cryptsetup after md / dmraid / lvm are started
units/systemd-fsck@.service.in | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 9b8e229..0949287 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
--- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c
+++ systemd-206/src/cryptsetup/cryptsetup-generator.c
@@ -160,6 +160,7 @@ static int create_disk(
"Conflicts=umount.target\n"
"DefaultDependencies=no\n"
@ -19,10 +17,8 @@ index 9b8e229..0949287 100644
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
f);
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
index b3c71eb..c66a411 100644
--- a/units/systemd-fsck@.service.in
+++ b/units/systemd-fsck@.service.in
--- systemd-206.orig/units/systemd-fsck@.service.in
+++ systemd-206/units/systemd-fsck@.service.in
@@ -10,7 +10,7 @@ Description=File System Check on %f
Documentation=man:systemd-fsck@.service(8)
DefaultDependencies=no

View File

@ -6,10 +6,8 @@ Subject: disable nss-myhostname warning (bnc#783841)
src/hostname/hostnamed.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
index 0437e33..c7f454c 100644
--- a/src/hostname/hostnamed.c
+++ b/src/hostname/hostnamed.c
--- systemd-206.orig/src/hostname/hostnamed.c
+++ systemd-206/src/hostname/hostnamed.c
@@ -134,6 +134,7 @@ static int read_data(void) {
static bool check_nss(void) {

View File

@ -8,10 +8,8 @@ if fsck was disabled for them (bnc#733283).
units/local-fs-pre.target | 1 +
1 file changed, 1 insertion(+)
diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target
index 809f2ed..05fcbd4 100644
--- a/units/local-fs-pre.target
+++ b/units/local-fs-pre.target
--- systemd-206.orig/units/local-fs-pre.target
+++ systemd-206/units/local-fs-pre.target
@@ -9,3 +9,4 @@
Description=Local File Systems (Pre)
Documentation=man:systemd.special(7)

View File

@ -7,10 +7,8 @@ ensure passphrase is handled before starting getty on tty1.
units/systemd-ask-password-wall.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in
index 0eaa274..ca51e4e 100644
--- a/units/systemd-ask-password-wall.service.in
+++ b/units/systemd-ask-password-wall.service.in
--- systemd-206.orig/units/systemd-ask-password-wall.service.in
+++ systemd-206/units/systemd-ask-password-wall.service.in
@@ -8,7 +8,7 @@
[Unit]
Description=Forward Password Requests to Wall

View File

@ -7,10 +7,8 @@ strip hostname so the domain part isn't set as part of the hostname
src/core/hostname-setup.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
index 0ce683b..1c8e555 100644
--- a/src/core/hostname-setup.c
+++ b/src/core/hostname-setup.c
--- systemd-206.orig/src/core/hostname-setup.c
+++ systemd-206/src/core/hostname-setup.c
@@ -32,7 +32,7 @@
#include "fileio.h"
@ -20,7 +18,7 @@ index 0ce683b..1c8e555 100644
int r;
assert(path);
@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) {
@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const
return -ENOENT;
}

View File

@ -7,11 +7,9 @@ Subject: ensure sysctl are applied after modules are loaded
units/systemd-sysctl.service.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in
index 45e1ceb..caaaa9a 100644
--- a/units/systemd-sysctl.service.in
+++ b/units/systemd-sysctl.service.in
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
--- systemd-206.orig/units/systemd-sysctl.service.in
+++ systemd-206/units/systemd-sysctl.service.in
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service

View File

@ -7,10 +7,8 @@ ensure btmp is owned only by root (bnc#777405).
tmpfiles.d/systemd.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
index ee86f2e..29d6e97 100644
--- a/tmpfiles.d/systemd.conf
+++ b/tmpfiles.d/systemd.conf
--- systemd-206.orig/tmpfiles.d/systemd.conf
+++ systemd-206/tmpfiles.d/systemd.conf
@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d
F /run/utmp 0664 root utmp -

View File

@ -6,11 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506)
src/systemctl/systemctl.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
Index: systemd-204/src/systemctl/systemctl.c
===================================================================
--- systemd-204.orig/src/systemctl/systemctl.c
+++ systemd-204/src/systemctl/systemctl.c
@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args
--- systemd-206.orig/src/systemctl/systemctl.c
+++ systemd-206/src/systemctl/systemctl.c
@@ -4238,8 +4238,28 @@ static int enable_sysv_units(char **args
p[strlen(p) - sizeof(".service") + 1] = 0;
found_sysv = access(p, F_OK) >= 0;

View File

@ -6,10 +6,8 @@ Subject: force lvm restart after cryptsetup target is reached
src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++-
1 file changed, 56 insertions(+), 1 deletion(-)
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 81b7708..1940985 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
--- systemd-206.orig/src/cryptsetup/cryptsetup-generator.c
+++ systemd-206/src/cryptsetup/cryptsetup-generator.c
@@ -22,6 +22,7 @@
#include <string.h>
#include <errno.h>
@ -18,7 +16,7 @@ index 81b7708..1940985 100644
#include "log.h"
#include "util.h"
@@ -64,6 +65,54 @@ static bool has_option(const char *haystack, const char *needle) {
@@ -64,6 +65,54 @@ static bool has_option(const char *hayst
return false;
}

View File

@ -7,11 +7,9 @@ Subject: handle SYSTEMCTL_OPTIONS environment variable
src/systemctl/systemctl.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
Index: systemd-204/src/systemctl/systemctl.c
===================================================================
--- systemd-204.orig/src/systemctl/systemctl.c
+++ systemd-204/src/systemctl/systemctl.c
@@ -5974,6 +5974,28 @@ int main(int argc, char*argv[]) {
--- systemd-206.orig/src/systemctl/systemctl.c
+++ systemd-206/src/systemctl/systemctl.c
@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) {
log_parse_environment();
log_open();

View File

@ -7,10 +7,8 @@ Subject: handle disable_caplock and compose_table and kbd_rate
src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 153 insertions(+), 3 deletions(-)
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
index 1bbf737..384f936 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
--- systemd-206.orig/src/vconsole/vconsole-setup.c
+++ systemd-206/src/vconsole/vconsole-setup.c
@@ -40,6 +40,7 @@
#include "macro.h"
#include "virt.h"
@ -30,7 +28,7 @@ index 1bbf737..384f936 100644
int i = 0;
pid_t pid;
@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle,
@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c
args[i++] = map;
if (map_toggle)
args[i++] = map_toggle;
@ -39,7 +37,7 @@ index 1bbf737..384f936 100644
args[i++] = NULL;
pid = fork();
@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) {
@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd)
}
}

View File

@ -8,10 +8,8 @@ Subject: handle /etc/HOSTNAME
src/hostname/hostnamed.c | 12 +++++++++++-
2 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
index 8aa1cff..0ce683b 100644
--- a/src/core/hostname-setup.c
+++ b/src/core/hostname-setup.c
--- systemd-206.orig/src/core/hostname-setup.c
+++ systemd-206/src/core/hostname-setup.c
@@ -61,12 +61,24 @@ int hostname_setup(void) {
r = read_and_strip_hostname("/etc/hostname", &b);
@ -19,6 +17,7 @@ index 8aa1cff..0ce683b 100644
- if (r == -ENOENT)
- enoent = true;
- else
- log_warning("Failed to read configured hostname: %s", strerror(-r));
+ if (r == -ENOENT) {
+ /* use SUSE fallback */
+ r = read_and_strip_hostname("/etc/HOSTNAME", &b);
@ -31,21 +30,18 @@ index 8aa1cff..0ce683b 100644
+ }
+ else
+ hn = b;
+
- hn = NULL;
+ }
+ else {
log_warning("Failed to read configured hostname: %s", strerror(-r));
-
- hn = NULL;
+ log_warning("Failed to read configured hostname: %s", strerror(-r));
+ hn = NULL;
+ }
} else
hn = b;
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
index c7f454c..cfbd706 100644
--- a/src/hostname/hostnamed.c
+++ b/src/hostname/hostnamed.c
--- systemd-206.orig/src/hostname/hostnamed.c
+++ systemd-206/src/hostname/hostnamed.c
@@ -129,6 +129,10 @@ static int read_data(void) {
if (r < 0 && r != -ENOENT)
return r;
@ -65,7 +61,7 @@ index c7f454c..cfbd706 100644
if (isempty(data[PROP_STATIC_HOSTNAME])) {
if (unlink("/etc/hostname") < 0)
@@ -290,7 +295,12 @@ static int write_data_static_hostname(void) {
@@ -290,7 +295,12 @@ static int write_data_static_hostname(vo
return 0;
}

View File

@ -6,10 +6,8 @@ Authors:
Stanislav Brabec <sbrabec@suse.cz>
Cristian Rodríguez <crrodriguez@opensuse.org>
Index: systemd-204/src/vconsole/vconsole-setup.c
===================================================================
--- systemd-204.orig/src/vconsole/vconsole-setup.c
+++ systemd-204/src/vconsole/vconsole-setup.c
--- systemd-206.orig/src/vconsole/vconsole-setup.c
+++ systemd-206/src/vconsole/vconsole-setup.c
@@ -42,6 +42,10 @@
#include "fileio.h"
#include "strv.h"
@ -100,11 +98,9 @@ Index: systemd-204/src/vconsole/vconsole-setup.c
#ifdef HAVE_SYSV_COMPAT
free(vc_kbd_delay);
free(vc_kbd_rate);
Index: systemd-204/Makefile.am
===================================================================
--- systemd-204.orig/Makefile.am
+++ systemd-204/Makefile.am
@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \
--- systemd-206.orig/Makefile.am
+++ systemd-206/Makefile.am
@@ -2452,6 +2452,19 @@ dist_udevrules_DATA += \
rules/61-accelerometer.rules
# ------------------------------------------------------------------------------
@ -124,10 +120,8 @@ Index: systemd-204/Makefile.am
if ENABLE_GUDEV
if ENABLE_GTK_DOC
SUBDIRS += \
Index: systemd-204/rules/73-seat-numlock.rules
===================================================================
--- /dev/null
+++ systemd-204/rules/73-seat-numlock.rules
+++ systemd-206/rules/73-seat-numlock.rules
@@ -0,0 +1,8 @@
+# This file is part of SUSE customization of systemd.
+#
@ -137,10 +131,8 @@ Index: systemd-204/rules/73-seat-numlock.rules
+# (at your option) any later version.
+
+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}"
Index: systemd-204/src/login/numlock-on.c
===================================================================
--- /dev/null
+++ systemd-204/src/login/numlock-on.c
+++ systemd-206/src/login/numlock-on.c
@@ -0,0 +1,34 @@
+/*
+ * numlock-on.c: Turn numlock-on
@ -176,10 +168,8 @@ Index: systemd-204/src/login/numlock-on.c
+
+ exit(0);
+}
Index: systemd-204/units/systemd-vconsole-setup.service.in
===================================================================
--- systemd-204.orig/units/systemd-vconsole-setup.service.in
+++ systemd-204/units/systemd-vconsole-setup.service.in
--- systemd-206.orig/units/systemd-vconsole-setup.service.in
+++ systemd-206/units/systemd-vconsole-setup.service.in
@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
DefaultDependencies=no
Conflicts=shutdown.target

View File

@ -7,11 +7,9 @@ handle ROOT_USES_LANG=ctype (bnc#792182).
src/core/locale-setup.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c
index d7113b9..b3fb603 100644
--- a/src/core/locale-setup.c
+++ b/src/core/locale-setup.c
@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = {
--- systemd-206.orig/src/core/locale-setup.c
+++ systemd-206/src/core/locale-setup.c
@@ -70,6 +70,11 @@ static const char * const variable_names
int locale_setup(void) {
char *variables[_VARIABLE_MAX] = {};
int r = 0, i;
@ -23,32 +21,31 @@ index d7113b9..b3fb603 100644
if (detect_container(NULL) <= 0) {
r = parse_env_file("/proc/cmdline", WHITESPACE,
@@ -117,6 +122,28 @@ int locale_setup(void) {
@@ -116,6 +121,27 @@ int locale_setup(void) {
if (r < 0 && r != -ENOENT)
log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
}
+#ifdef HAVE_SYSV_COMPAT
+ if (r <= 0 &&
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
+ "ROOT_USES_LANG", &root_uses_lang,
+ "RC_LANG", &variables[VARIABLE_LANG],
+ NULL)) < 0) {
+ NULL)) < 0) {
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
+
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
+ } else {
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
+ else
+ free(variables[VARIABLE_LANG]);
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
+ else
+ free(variables[VARIABLE_LANG]);
+
+ variables[VARIABLE_LANG]=strdup("POSIX");
+ }
+ variables[VARIABLE_LANG]=strdup("POSIX");
+ }
+ }
+
+#endif
+
if (!variables[VARIABLE_LANG]) {
variables[VARIABLE_LANG] = strdup("C");
if (!variables[VARIABLE_LANG]) {
for (i = 0; i < _VARIABLE_MAX; i++) {
if (variables[i]) {

View File

@ -13,11 +13,9 @@ 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 = \
--- systemd-206.orig/Makefile.am
+++ systemd-206/Makefile.am
@@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \
systemd-sleep
systemgenerator_PROGRAMS = \
@ -25,7 +23,7 @@ index 016d7da..9f8319d 100644
systemd-getty-generator \
systemd-fstab-generator \
systemd-system-update-generator
@@ -1549,6 +1550,14 @@ systemd_delta_LDADD = \
@@ -1642,6 +1643,14 @@ systemd_delta_LDADD = \
libsystemd-shared.la
# ------------------------------------------------------------------------------
@ -40,11 +38,8 @@ 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
--- /dev/null
+++ b/src/insserv-generator/Makefile
+++ systemd-206/src/insserv-generator/Makefile
@@ -0,0 +1,28 @@
+# This file is part of systemd.
+#
@ -74,11 +69,8 @@ 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
--- /dev/null
+++ b/src/insserv-generator/insserv-generator.c
+++ systemd-206/src/insserv-generator/insserv-generator.c
@@ -0,0 +1,309 @@
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
+
@ -389,6 +381,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@
@ -71,3 +72,7 @@ fi \
%journal_catalog_update() \
@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \
%{nil}
%tmpfiles_create() \
@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
%{nil}

View File

@ -7,11 +7,9 @@ Subject: module-load: handle SUSE /etc/sysconfig/kernel module list
units/systemd-modules-load.service.in | 1 +
2 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
index 7b19ee0..36b1a68 100644
--- a/src/modules-load/modules-load.c
+++ b/src/modules-load/modules-load.c
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) {
--- systemd-206.orig/src/modules-load/modules-load.c
+++ systemd-206/src/modules-load/modules-load.c
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar
int main(int argc, char *argv[]) {
int r, k;
struct kmod_ctx *ctx;
@ -52,10 +50,8 @@ index 7b19ee0..36b1a68 100644
finish:
kmod_unref(ctx);
strv_free(arg_proc_cmdline_modules);
diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in
index 32deb52..2e26d2f 100644
--- a/units/systemd-modules-load.service.in
+++ b/units/systemd-modules-load.service.in
--- systemd-206.orig/units/systemd-modules-load.service.in
+++ systemd-206/units/systemd-modules-load.service.in
@@ -13,6 +13,7 @@ Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service
Before=sysinit.target shutdown.target

View File

@ -7,11 +7,9 @@ Subject: optionally warn if nss-myhostname is called
src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+)
diff --git a/configure.ac b/configure.ac
index e1278e8..06eb98d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then
--- systemd-206.orig/configure.ac
+++ systemd-206/configure.ac
@@ -803,6 +803,17 @@ if test "x$enable_myhostname" != "xno";
fi
AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
@ -29,10 +27,8 @@ index e1278e8..06eb98d 100644
# ------------------------------------------------------------------------------
AC_ARG_WITH(firmware-path,
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
index e97d4e5..a2a6de8 100644
--- a/src/nss-myhostname/nss-myhostname.c
+++ b/src/nss-myhostname/nss-myhostname.c
--- systemd-206.orig/src/nss-myhostname/nss-myhostname.c
+++ systemd-206/src/nss-myhostname/nss-myhostname.c
@@ -29,6 +29,9 @@
#include <net/if.h>
#include <stdlib.h>
@ -54,7 +50,7 @@ index e97d4e5..a2a6de8 100644
enum nss_status _nss_myhostname_gethostbyname4_r(
const char *name,
struct gaih_addrtuple **pat,
@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
@@ -129,6 +136,9 @@ enum nss_status _nss_myhostname_gethostb
return NSS_STATUS_NOTFOUND;
}
@ -64,7 +60,7 @@ index e97d4e5..a2a6de8 100644
/* If this fails, n_addresses is 0. Which is fine */
ifconf_acquire_addresses(&addresses, &n_addresses);
@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostbyname3_r(
@@ -382,6 +392,9 @@ enum nss_status _nss_myhostname_gethostb
local_address_ipv4 = LOCALADDRESS_IPV4;
}
@ -84,7 +80,7 @@ index e97d4e5..a2a6de8 100644
return fill_in_hostent(
canonical, additional,
af,
@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r(
@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostb
errnop, h_errnop,
NULL);
}

View File

@ -11,10 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it.
src/core/service.h | 1 +
2 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/core/service.c b/src/core/service.c
index a8b0d9d..c357b33 100644
--- a/src/core/service.c
+++ b/src/core/service.c
--- systemd-206.orig/src/core/service.c
+++ systemd-206/src/core/service.c
@@ -135,6 +135,7 @@ static void service_init(Unit *u) {
#ifdef HAVE_SYSV_COMPAT
s->sysv_start_priority = -1;
@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644
#endif
s->socket_fd = -1;
s->guess_main_pid = true;
@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) {
@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic
free(short_description);
short_description = d;
@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644
} else if (state == LSB_DESCRIPTION) {
if (startswith(l, "#\t") || startswith(l, "# ")) {
@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) {
@@ -927,7 +956,8 @@ static int service_load_sysv_path(Servic
/* Special setting for all SysV services */
s->type = SERVICE_FORKING;
@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644
s->guess_main_pid = false;
s->restart = SERVICE_RESTART_NO;
s->exec_context.ignore_sigpipe = false;
@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) {
@@ -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 +75,9 @@ index a8b0d9d..c357b33 100644
s->remain_after_exit = false;
#endif
service_set_state(s, SERVICE_RUNNING);
diff --git a/src/core/service.h b/src/core/service.h
index 703d3fa..dc52e8c 100644
--- a/src/core/service.h
+++ b/src/core/service.h
@@ -176,6 +176,7 @@ struct Service {
--- systemd-206.orig/src/core/service.h
+++ systemd-206/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,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink
create mode 100644 units/var-lock.mount
create mode 100644 units/var-run.mount
diff --git a/Makefile.am b/Makefile.am
index 8730f66..b8cf696 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -409,6 +409,12 @@ dist_systemunit_DATA = \
--- systemd-206.orig/Makefile.am
+++ systemd-206/Makefile.am
@@ -407,6 +407,12 @@ dist_systemunit_DATA = \
units/system-update.target \
units/initrd-switch-root.target
@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644
nodist_systemunit_DATA = \
units/getty@.service \
units/serial-getty@.service \
@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \
@@ -4277,6 +4283,9 @@ RUNLEVEL4_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
RUNLEVEL5_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644
+ var-run.mount \
+ var-lock.mount
endif
SHUTDOWN_TARGET_WANTS += \
systemd-update-utmp-shutdown.service
diff --git a/units/var-lock.mount b/units/var-lock.mount
new file mode 100644
index 0000000..07277ad
SYSINIT_TARGET_WANTS += \
systemd-update-utmp.service
--- /dev/null
+++ b/units/var-lock.mount
+++ systemd-206/units/var-lock.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
@ -62,11 +57,8 @@ index 0000000..07277ad
+Where=/var/lock
+Type=bind
+Options=bind
diff --git a/units/var-run.mount b/units/var-run.mount
new file mode 100644
index 0000000..ab4da42
--- /dev/null
+++ b/units/var-run.mount
+++ systemd-206/units/var-run.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#

View File

@ -12,11 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426
src/core/service.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
Index: systemd-204/src/core/service.c
===================================================================
--- systemd-204.orig/src/core/service.c
+++ systemd-204/src/core/service.c
@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic
--- systemd-206.orig/src/core/service.c
+++ systemd-206/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

@ -10,10 +10,8 @@ configuration), needed by openSUSE (bnc#809420).
units/systemd-sysctl.service.in | 1 +
2 files changed, 9 insertions(+)
Index: systemd-204/src/sysctl/sysctl.c
===================================================================
--- systemd-204.orig/src/sysctl/sysctl.c
+++ systemd-204/src/sysctl/sysctl.c
--- systemd-206.orig/src/sysctl/sysctl.c
+++ systemd-206/src/sysctl/sysctl.c
@@ -26,6 +26,7 @@
#include <stdio.h>
#include <limits.h>
@ -36,10 +34,8 @@ Index: systemd-204/src/sysctl/sysctl.c
r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
if (r < 0) {
Index: systemd-204/units/systemd-sysctl.service.in
===================================================================
--- systemd-204.orig/units/systemd-sysctl.service.in
+++ systemd-204/units/systemd-sysctl.service.in
--- systemd-206.orig/units/systemd-sysctl.service.in
+++ systemd-206/units/systemd-sysctl.service.in
@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys
ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d
ConditionDirectoryNotEmpty=|/etc/sysctl.d

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-206.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4c993de071118ea1df7ffc4be26ef0b0d78354ef15b2743a2783d20edfcde9de
size 2340536

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

@ -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,162 @@
-------------------------------------------------------------------
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
and owned by systemd package.
-------------------------------------------------------------------
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
- Fix drop-in for getty@tty1.service
-------------------------------------------------------------------
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
- Move systemd-journal-gateway to subpackage to lower dependencies
in default install.
-------------------------------------------------------------------
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
- version 206 , highlights:
* Unit files now understand the new %v specifier which
resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
into kmod and tmpfiles.
* The udev "keymap" data files and tools to apply keyboard
specific mappings of scan to key codes, and force-release
scan code lists have been entirely replaced by a udev
"keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library.
-------------------------------------------------------------------
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
- use-usr-sbin-sulogin-for-emergency-service.patch
emergency.service failed to start because sulogin is in /usr/sbin now
-------------------------------------------------------------------
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
not a directory
-------------------------------------------------------------------
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
fix segfault at shutdown
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
disable the cgroups release agent when shutting down.
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
remove ancient fallback code; turn connection error into warning
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
make shutdown honour "quiet" kernel cmdline.
-------------------------------------------------------------------
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
- fix broken symlink, service is called systemd-random-seed now.
-------------------------------------------------------------------
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
line.
+ nspawn will now inform the user explicitly that kernels with
audit enabled break containers, and suggest the user to turn
off audit.
+ Support for detecting the IMA and AppArmor security
frameworks with ConditionSecurity= has been added.
+ journalctl gained a new "-k" switch for showing only kernel
messages, mimicking dmesg output; in addition to "--user"
and "--system" switches for showing only user's own logs
and system logs.
+ systemd-delta can now show information about drop-in
snippets extending unit files.
+ systemd will now look for the "debug" argument on the kernel
command line and enable debug logging, similar to
"systemd.log_level=debug" already did before.
+ "systemctl set-default", "systemctl get-default" has been
added to configure the default.target symlink, which
controls what to boot into by default.
+ "systemctl set-log-level" has been added as a convenient
way to raise and lower systemd logging threshold.
+ "systemd-analyze plot" will now show the time the various
generators needed for execution, as well as information
about the unit file loading.
+ libsystemd-journal gained a new sd_journal_open_files() call
for opening specific journal files. journactl also gained a
new switch to expose this new functionality (useful for
debugging).
+ systemd gained the new DefaultEnvironment= setting in
/etc/systemd/system.conf to set environment variables for
all services.
+ If a privileged process logs a journal message with the
OBJECT_PID= field set, then journald will automatically
augment this with additional OBJECT_UID=, OBJECT_GID=,
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
system services want to log events about specific client
processes. journactl/systemctl has been updated to make use
of this information if all log messages regarding a specific
unit is requested.
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
Start-ctrl-alt-del.target-irreversibly.patch,
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
upstream.
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
1008-add-msft-compability-rules.patch,
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
insserv-generator.patch,
optionally-warn-if-nss-myhostname-is-called.patch,
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
- Update macros.systemd.upstream with latest upstream revision.
-------------------------------------------------------------------
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com

View File

@ -25,7 +25,7 @@
Name: systemd-mini
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 204
Version: 206
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
%if ! 0%{?bootstrap}
BuildRequires: libgcrypt-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
%endif
BuildRequires: pkgconfig(libkmod) >= 5
BuildRequires: pkgconfig(libkmod) >= 14
BuildRequires: pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires: pkgconfig(libmicrohttpd)
@ -90,6 +90,7 @@ Conflicts: kiwi
Requires: %{udevpkgname} >= 172
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 14
Requires: pam-config >= 0.79-5
Requires: pwdutils
Requires: systemd-presets-branding
@ -168,24 +169,9 @@ 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
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# 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
@ -193,8 +179,6 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
Patch1003: 1003-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
Patch1004: 1004-fix-devname-prefix.patch
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
@ -370,6 +354,18 @@ is logged to /var/log/messages. Please check whether that's worth
a bug report then.
This package marks the installation to not use syslog but only the journal.
%package journal-gateway
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description journal-gateway
systemd-journal-gatewayd serves journal events over the network using HTTP.
%endif
%prep
@ -418,20 +414,12 @@ 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
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
# don't apply when bootstrapping to not modify Makefile.am
@ -503,7 +491,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
rm -rf %{buildroot}%{_sysconfdir}/rpm
find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
@ -537,7 +525,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
@ -596,7 +584,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
@ -609,10 +597,11 @@ cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
EOF
# packaged in systemd-rpm-macros
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
exit 0
%post
@ -761,6 +750,21 @@ fi
%postun -n nss-myhostname -p /sbin/ldconfig
%pre journal-gateway
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
exit 0
%post journal-gateway
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%preun journal-gateway
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%postun journal-gateway
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%endif
%files
@ -772,11 +776,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
@ -810,8 +816,10 @@ fi
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/*.automount
%{_prefix}/lib/systemd/system/*.service
%{_prefix}/lib/systemd/system/*.slice
%{_prefix}/lib/systemd/system/*.target
%{_prefix}/lib/systemd/system/*.mount
%{_prefix}/lib/systemd/system/*.timer
@ -821,6 +829,7 @@ fi
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%dir %{_prefix}/lib/systemd/catalog
@ -867,7 +876,7 @@ fi
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
%dir %{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/xdg/systemd/user
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -875,6 +884,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 +898,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
@ -896,6 +907,7 @@ fi
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%exclude %{_datadir}/systemd/gatewayd
%{_datadir}/systemd
%if ! 0%{?bootstrap}
@ -908,7 +920,7 @@ fi
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@ -990,15 +1002,10 @@ fi
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
%{_prefix}/lib/udev/collect
%{_prefix}/lib/udev/findkeyboards
%{_prefix}/lib/udev/keymap
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%dir %{_prefix}/lib/udev/keymaps
%{_prefix}/lib/udev/keymaps/*
%{_prefix}/lib/udev/keyboard-force-release.sh
%dir %{_prefix}/lib/udev/rules.d/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
@ -1077,6 +1084,12 @@ fi
%{_sbindir}/nss-myhostname-config
/%{_lib}/*nss_myhostname*
%files journal-gateway
%defattr(-, root, root)
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_datadir}/systemd/gatewayd
%endif
%changelog

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

@ -8,10 +8,8 @@ SUSE policy is to not clean /tmp by default.
tmpfiles.d/tmp.conf | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf
index 3b534a1..99eb6f2 100644
--- a/tmpfiles.d/tmp.conf
+++ b/tmpfiles.d/tmp.conf
--- systemd-206.orig/tmpfiles.d/tmp.conf
+++ systemd-206/tmpfiles.d/tmp.conf
@@ -8,8 +8,9 @@
# See tmpfiles.d(5) for details

View File

@ -1,3 +1,162 @@
-------------------------------------------------------------------
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
and owned by systemd package.
-------------------------------------------------------------------
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
- Fix drop-in for getty@tty1.service
-------------------------------------------------------------------
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
- Move systemd-journal-gateway to subpackage to lower dependencies
in default install.
-------------------------------------------------------------------
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
- version 206 , highlights:
* Unit files now understand the new %v specifier which
resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
into kmod and tmpfiles.
* The udev "keymap" data files and tools to apply keyboard
specific mappings of scan to key codes, and force-release
scan code lists have been entirely replaced by a udev
"keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library.
-------------------------------------------------------------------
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
- use-usr-sbin-sulogin-for-emergency-service.patch
emergency.service failed to start because sulogin is in /usr/sbin now
-------------------------------------------------------------------
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
not a directory
-------------------------------------------------------------------
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
fix segfault at shutdown
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
disable the cgroups release agent when shutting down.
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
remove ancient fallback code; turn connection error into warning
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
make shutdown honour "quiet" kernel cmdline.
-------------------------------------------------------------------
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
- fix broken symlink, service is called systemd-random-seed now.
-------------------------------------------------------------------
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
line.
+ nspawn will now inform the user explicitly that kernels with
audit enabled break containers, and suggest the user to turn
off audit.
+ Support for detecting the IMA and AppArmor security
frameworks with ConditionSecurity= has been added.
+ journalctl gained a new "-k" switch for showing only kernel
messages, mimicking dmesg output; in addition to "--user"
and "--system" switches for showing only user's own logs
and system logs.
+ systemd-delta can now show information about drop-in
snippets extending unit files.
+ systemd will now look for the "debug" argument on the kernel
command line and enable debug logging, similar to
"systemd.log_level=debug" already did before.
+ "systemctl set-default", "systemctl get-default" has been
added to configure the default.target symlink, which
controls what to boot into by default.
+ "systemctl set-log-level" has been added as a convenient
way to raise and lower systemd logging threshold.
+ "systemd-analyze plot" will now show the time the various
generators needed for execution, as well as information
about the unit file loading.
+ libsystemd-journal gained a new sd_journal_open_files() call
for opening specific journal files. journactl also gained a
new switch to expose this new functionality (useful for
debugging).
+ systemd gained the new DefaultEnvironment= setting in
/etc/systemd/system.conf to set environment variables for
all services.
+ If a privileged process logs a journal message with the
OBJECT_PID= field set, then journald will automatically
augment this with additional OBJECT_UID=, OBJECT_GID=,
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
system services want to log events about specific client
processes. journactl/systemctl has been updated to make use
of this information if all log messages regarding a specific
unit is requested.
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
Start-ctrl-alt-del.target-irreversibly.patch,
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
upstream.
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
1008-add-msft-compability-rules.patch,
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
insserv-generator.patch,
optionally-warn-if-nss-myhostname-is-called.patch,
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
- Update macros.systemd.upstream with latest upstream revision.
-------------------------------------------------------------------
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com

View File

@ -23,7 +23,7 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 204
Version: 206
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
%if ! 0%{?bootstrap}
BuildRequires: libgcrypt-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
%endif
BuildRequires: pkgconfig(libkmod) >= 5
BuildRequires: pkgconfig(libkmod) >= 14
BuildRequires: pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires: pkgconfig(libmicrohttpd)
@ -85,6 +85,7 @@ Conflicts: kiwi
Requires: %{udevpkgname} >= 172
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 14
Requires: pam-config >= 0.79-5
Requires: pwdutils
Requires: systemd-presets-branding
@ -163,24 +164,9 @@ 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
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# 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
@ -188,8 +174,6 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
Patch1003: 1003-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
Patch1004: 1004-fix-devname-prefix.patch
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
@ -365,6 +349,18 @@ is logged to /var/log/messages. Please check whether that's worth
a bug report then.
This package marks the installation to not use syslog but only the journal.
%package journal-gateway
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description journal-gateway
systemd-journal-gatewayd serves journal events over the network using HTTP.
%endif
%prep
@ -413,20 +409,12 @@ 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
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
# don't apply when bootstrapping to not modify Makefile.am
@ -498,7 +486,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
rm -rf %{buildroot}%{_sysconfdir}/rpm
find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
@ -532,7 +520,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
@ -591,7 +579,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
@ -604,10 +592,11 @@ cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
EOF
# packaged in systemd-rpm-macros
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
exit 0
%post
@ -756,6 +745,21 @@ fi
%postun -n nss-myhostname -p /sbin/ldconfig
%pre journal-gateway
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
exit 0
%post journal-gateway
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%preun journal-gateway
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%postun journal-gateway
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%endif
%files
@ -767,11 +771,13 @@ fi
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
%{_bindir}/machinectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/systemd-coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
@ -805,8 +811,10 @@ fi
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/*.automount
%{_prefix}/lib/systemd/system/*.service
%{_prefix}/lib/systemd/system/*.slice
%{_prefix}/lib/systemd/system/*.target
%{_prefix}/lib/systemd/system/*.mount
%{_prefix}/lib/systemd/system/*.timer
@ -816,6 +824,7 @@ fi
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%dir %{_prefix}/lib/systemd/catalog
@ -862,7 +871,7 @@ fi
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
%dir %{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/xdg/systemd/user
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -870,6 +879,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 +893,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
@ -891,6 +902,7 @@ fi
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%exclude %{_datadir}/systemd/gatewayd
%{_datadir}/systemd
%if ! 0%{?bootstrap}
@ -903,7 +915,7 @@ fi
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@ -985,15 +997,10 @@ fi
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
%{_prefix}/lib/udev/collect
%{_prefix}/lib/udev/findkeyboards
%{_prefix}/lib/udev/keymap
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%dir %{_prefix}/lib/udev/keymaps
%{_prefix}/lib/udev/keymaps/*
%{_prefix}/lib/udev/keyboard-force-release.sh
%dir %{_prefix}/lib/udev/rules.d/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
@ -1072,6 +1079,12 @@ fi
%{_sbindir}/nss-myhostname-config
/%{_lib}/*nss_myhostname*
%files journal-gateway
%defattr(-, root, root)
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_datadir}/systemd/gatewayd
%endif
%changelog

View File

@ -6,10 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock
src/timedate/timedated.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
index cdb6e5b..7246452 100644
--- a/src/timedate/timedated.c
+++ b/src/timedate/timedated.c
--- systemd-206.orig/src/timedate/timedated.c
+++ systemd-206/src/timedate/timedated.c
@@ -182,6 +182,13 @@ static int read_data(void) {
goto have_timezone;
}

View File

@ -0,0 +1,27 @@
From: Andrey Borzenkov <arvidjaar@gmail.com>
Subject: use /usr/sbin/sulogin in emergency service
In current Factory sulogin is in /usr/sbin which makes it impossible
to enter emergency service.
--- systemd-206.orig/units/emergency.service
+++ systemd-206/units/emergency.service
@@ -17,7 +17,7 @@ Environment=HOME=/root
WorkingDirectory=/root
ExecStartPre=-/bin/plymouth quit
ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
-ExecStart=-/sbin/sulogin
+ExecStart=-/usr/sbin/sulogin
ExecStopPost=/usr/bin/systemctl --fail --no-block default
Type=idle
StandardInput=tty-force
--- systemd-206.orig/units/emergency.service.in
+++ systemd-206/units/emergency.service.in
@@ -17,7 +17,7 @@ Environment=HOME=/root
WorkingDirectory=/root
ExecStartPre=-/bin/plymouth quit
ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
-ExecStart=-/sbin/sulogin
+ExecStart=-/usr/sbin/sulogin
ExecStopPost=@SYSTEMCTL@ --fail --no-block default
Type=idle
StandardInput=tty-force