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:
parent
37062d5aaa
commit
2ce609fe24
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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,
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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;
|
@ -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"
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
|
@ -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"
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 -
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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]) {
|
||||
|
@ -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
|
||||
|
||||
|
@ -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}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
+#
|
||||
|
@ -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)) &&
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b
|
||||
size 2186264
|
3
systemd-206.tar.xz
Normal file
3
systemd-206.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4c993de071118ea1df7ffc4be26ef0b0d78354ef15b2743a2783d20edfcde9de
|
||||
size 2340536
|
@ -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
|
||||
|
@ -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).*")
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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+
|
||||
|
@ -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).*")
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
159
systemd.changes
159
systemd.changes
@ -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
|
||||
|
||||
|
101
systemd.spec
101
systemd.spec
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
27
use-usr-sbin-sulogin-for-emergency-service.patch
Normal file
27
use-usr-sbin-sulogin-for-emergency-service.patch
Normal 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
|
Loading…
Reference in New Issue
Block a user