forked from pool/systemd-rpm-macros
Split 13.1 from Factory
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd-rpm-macros?expand=0&rev=2
This commit is contained in:
parent
c614fc8313
commit
4fc530766b
@ -0,0 +1,27 @@
|
||||
From 8d7b5ca0a6cdab3e400ef084fa8a05d581d59b55 Mon Sep 17 00:00:00 2001
|
||||
From: Gao feng <gaofeng@cn.fujitsu.com>
|
||||
Date: Fri, 13 Sep 2013 11:17:05 +0800
|
||||
Subject: [PATCH 1/7] cgroup: add the missing setting of variable's value
|
||||
|
||||
set the value of variable "r" to the return value
|
||||
of cg_set_attribute.
|
||||
---
|
||||
src/core/cgroup.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 3eeb475..fba0b2f 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -264,7 +264,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha
|
||||
log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
|
||||
sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit);
|
||||
- cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
|
||||
+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
|
||||
if (r < 0)
|
||||
log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
}
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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
|
||||
|
26
0002-cgroup-correct-the-log-information.patch
Normal file
26
0002-cgroup-correct-the-log-information.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From ebab7f4535a077eb8168cb8f3a9fe899e56aba17 Mon Sep 17 00:00:00 2001
|
||||
From: Gao feng <gaofeng@cn.fujitsu.com>
|
||||
Date: Fri, 13 Sep 2013 11:17:06 +0800
|
||||
Subject: [PATCH 2/7] cgroup: correct the log information
|
||||
|
||||
it should be memory.soft_limit_in_bytes.
|
||||
---
|
||||
src/core/cgroup.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index fba0b2f..aee93ba 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -266,7 +266,7 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha
|
||||
sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit);
|
||||
r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
|
||||
if (r < 0)
|
||||
- log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
+ log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
}
|
||||
|
||||
if (mask & CGROUP_DEVICE) {
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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
|
||||
|
46
0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
Normal file
46
0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From bebbf30ef61e4cbc782731e48ad67613aab38ec6 Mon Sep 17 00:00:00 2001
|
||||
From: Gao feng <gaofeng@cn.fujitsu.com>
|
||||
Date: Fri, 13 Sep 2013 14:43:04 +0800
|
||||
Subject: [PATCH 3/7] cgroup: fix incorrectly setting memory cgroup
|
||||
|
||||
If the memory_limit of unit is -1, we should write "-1"
|
||||
to the file memory.limit_in_bytes. not the (unit64_t) -1.
|
||||
|
||||
otherwise the memory.limit_in_bytes will be set to zero.
|
||||
---
|
||||
src/core/cgroup.c | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index aee93ba..244baff 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -257,14 +257,21 @@ void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha
|
||||
|
||||
if (mask & CGROUP_MEMORY) {
|
||||
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
|
||||
+ if (c->memory_limit != (uint64_t) -1) {
|
||||
+ sprintf(buf, "%" PRIu64 "\n", c->memory_limit);
|
||||
+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf);
|
||||
+ } else
|
||||
+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1");
|
||||
|
||||
- sprintf(buf, "%" PRIu64 "\n", c->memory_limit);
|
||||
- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf);
|
||||
if (r < 0)
|
||||
log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
|
||||
- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit);
|
||||
- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
|
||||
+ if (c->memory_soft_limit != (uint64_t) -1) {
|
||||
+ sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit);
|
||||
+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
|
||||
+ } else
|
||||
+ r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", "-1");
|
||||
+
|
||||
if (r < 0)
|
||||
log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r));
|
||||
}
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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,25 @@
|
||||
From 0465a409e0a3725b44b0801641a7497e2125e59e Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Fri, 13 Sep 2013 14:12:55 +0200
|
||||
Subject: [PATCH 4/7] random-seed: we should return errno of failed loop_write
|
||||
|
||||
---
|
||||
src/random-seed/random-seed.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/random-seed/random-seed.c b/src/random-seed/random-seed.c
|
||||
index 4776c07..afbd500 100644
|
||||
--- a/src/random-seed/random-seed.c
|
||||
+++ b/src/random-seed/random-seed.c
|
||||
@@ -157,7 +157,7 @@ int main(int argc, char *argv[]) {
|
||||
r = loop_write(seed_fd, buf, (size_t) k, false);
|
||||
if (r <= 0) {
|
||||
log_error("Failed to write new random seed file: %s", r < 0 ? strerror(-r) : "short write");
|
||||
- r = k == 0 ? -EIO : (int) k;
|
||||
+ r = r == 0 ? -EIO : r;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
1.8.1.4
|
||||
|
26
0005-core-cgroup-first-print-then-free.patch
Normal file
26
0005-core-cgroup-first-print-then-free.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From fa7341808def8efb736747299374745ae059f398 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Fri, 13 Sep 2013 14:31:17 +0200
|
||||
Subject: [PATCH 5/7] core/cgroup: first print then free
|
||||
|
||||
---
|
||||
src/core/cgroup.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 244baff..1f41efc 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -402,8 +402,8 @@ static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) {
|
||||
is_in_hash = true;
|
||||
|
||||
if (r < 0) {
|
||||
- free(path);
|
||||
log_error("cgroup %s exists already: %s", path, strerror(-r));
|
||||
+ free(path);
|
||||
return r;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.1.4
|
||||
|
30
0006-swap-fix-reverse-dependencies.patch
Normal file
30
0006-swap-fix-reverse-dependencies.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From dec37dc9e875695c09cfc1ec5e55b5f68eaa39f4 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Gundersen <teg@jklm.no>
|
||||
Date: Fri, 13 Sep 2013 14:46:18 +0200
|
||||
Subject: [PATCH 6/7] swap: fix reverse dependencies
|
||||
|
||||
Make sure swap.target correctly requires/wants the swap units.
|
||||
|
||||
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=69291.
|
||||
|
||||
Reported-by: Hussam Al-Tayeb
|
||||
---
|
||||
src/core/swap.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/swap.c b/src/core/swap.c
|
||||
index 57d15eb..3950860 100644
|
||||
--- a/src/core/swap.c
|
||||
+++ b/src/core/swap.c
|
||||
@@ -220,7 +220,7 @@ static int swap_add_default_dependencies(Swap *s) {
|
||||
}
|
||||
|
||||
if (!noauto) {
|
||||
- r = unit_add_two_dependencies_by_name(UNIT(s), UNIT_BEFORE, (nofail ? UNIT_WANTED_BY : UNIT_REQUIRED_BY),
|
||||
+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES),
|
||||
SPECIAL_SWAP_TARGET, NULL, true);
|
||||
if (r < 0)
|
||||
return r;
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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
|
||||
|
27
0007-libudev-fix-move_later-comparison.patch
Normal file
27
0007-libudev-fix-move_later-comparison.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From f90d045c9168a55bb22eef6fe8756b6a6d2c1e53 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Fri, 13 Sep 2013 14:12:54 +0200
|
||||
Subject: [PATCH 7/7] libudev: fix move_later comparison
|
||||
|
||||
At the beginning move_later is set to -1, but it is set to different
|
||||
value only if expression !move_later is true.
|
||||
---
|
||||
src/libudev/libudev-enumerate.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libudev/libudev-enumerate.c b/src/libudev/libudev-enumerate.c
|
||||
index bc1e37d..8146f27 100644
|
||||
--- a/src/libudev/libudev-enumerate.c
|
||||
+++ b/src/libudev/libudev-enumerate.c
|
||||
@@ -300,7 +300,7 @@ _public_ struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enume
|
||||
/* skip to be delayed devices, and move the to
|
||||
* the point where the prefix changes. We can
|
||||
* only move one item at a time. */
|
||||
- if (!move_later) {
|
||||
+ if (move_later == -1) {
|
||||
move_later_prefix = devices_delay_later(udev_enumerate->udev, entry->syspath);
|
||||
|
||||
if (move_later_prefix > 0) {
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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,
|
90
0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
Normal file
90
0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
Normal file
@ -0,0 +1,90 @@
|
||||
From 9981460a8f2d5587fef5216d556b5fb502281be6 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Gundersen <teg@jklm.no>
|
||||
Date: Mon, 16 Sep 2013 01:08:32 +0200
|
||||
Subject: [PATCH 8/8] swap: create .wants symlink to 'auto' swap devices
|
||||
|
||||
As we load unit files lazily, we need to make sure something pulls in swap
|
||||
units that should be started automatically, otherwise the default dependencies
|
||||
will never be applied.
|
||||
|
||||
This partially reinstates code removed in
|
||||
commit 64347fc2b983f33e7efb0fd2bb44e133fb9f30f4.
|
||||
|
||||
Also don't order swap devices after swap.target when they are 'nofail'.
|
||||
---
|
||||
src/core/swap.c | 8 ++++++--
|
||||
src/fstab-generator/fstab-generator.c | 18 ++++++++++++++++--
|
||||
2 files changed, 22 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/core/swap.c b/src/core/swap.c
|
||||
index 3950860..76c7d45 100644
|
||||
--- a/src/core/swap.c
|
||||
+++ b/src/core/swap.c
|
||||
@@ -220,8 +220,12 @@ static int swap_add_default_dependencies(Swap *s) {
|
||||
}
|
||||
|
||||
if (!noauto) {
|
||||
- r = unit_add_two_dependencies_by_name_inverse(UNIT(s), UNIT_AFTER, (nofail ? UNIT_WANTS : UNIT_REQUIRES),
|
||||
- SPECIAL_SWAP_TARGET, NULL, true);
|
||||
+ if (nofail)
|
||||
+ r = unit_add_dependency_by_name_inverse(UNIT(s),
|
||||
+ UNIT_WANTS, SPECIAL_SWAP_TARGET, NULL, true);
|
||||
+ else
|
||||
+ r = unit_add_two_dependencies_by_name_inverse(UNIT(s),
|
||||
+ UNIT_AFTER, UNIT_REQUIRES, SPECIAL_SWAP_TARGET, NULL, true);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
|
||||
index 6ebe8aa..b73dfa4 100644
|
||||
--- a/src/fstab-generator/fstab-generator.c
|
||||
+++ b/src/fstab-generator/fstab-generator.c
|
||||
@@ -66,6 +66,7 @@ static int mount_find_pri(struct mntent *me, int *ret) {
|
||||
static int add_swap(const char *what, struct mntent *me) {
|
||||
_cleanup_free_ char *name = NULL, *unit = NULL, *lnk = NULL, *device = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
+ bool noauto;
|
||||
int r, pri = -1;
|
||||
|
||||
assert(what);
|
||||
@@ -77,6 +78,8 @@ static int add_swap(const char *what, struct mntent *me) {
|
||||
return pri;
|
||||
}
|
||||
|
||||
+ noauto = !!hasmntopt(me, "noauto");
|
||||
+
|
||||
name = unit_name_from_path(what, ".swap");
|
||||
if (!name)
|
||||
return log_oom();
|
||||
@@ -97,8 +100,7 @@ static int add_swap(const char *what, struct mntent *me) {
|
||||
fprintf(f,
|
||||
"# Automatically generated by systemd-fstab-generator\n\n"
|
||||
"[Unit]\n"
|
||||
- "SourcePath=/etc/fstab\n"
|
||||
- "\n"
|
||||
+ "SourcePath=/etc/fstab\n\n"
|
||||
"[Swap]\n"
|
||||
"What=%s\n",
|
||||
what);
|
||||
@@ -114,6 +116,18 @@ static int add_swap(const char *what, struct mntent *me) {
|
||||
return -errno;
|
||||
}
|
||||
|
||||
+ if (!noauto) {
|
||||
+ lnk = strjoin(arg_dest, "/" SPECIAL_SWAP_TARGET ".wants/", name, NULL);
|
||||
+ if (!lnk)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(lnk, 0755);
|
||||
+ if (symlink(unit, lnk) < 0) {
|
||||
+ log_error("Failed to create symlink %s: %m", lnk);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.1.4
|
||||
|
@ -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,29 +0,0 @@
|
||||
Index: systemd-204/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-204.orig/Makefile.am
|
||||
+++ systemd-204/Makefile.am
|
||||
@@ -2238,6 +2238,10 @@ dist_udevrules_DATA += \
|
||||
rules/73-seat-numlock.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+dist_udevrules_DATA += \
|
||||
+ rules/61-msft.rules
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
if ENABLE_GUDEV
|
||||
if ENABLE_GTK_DOC
|
||||
SUBDIRS += \
|
||||
Index: systemd-204/rules/61-msft.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-204/rules/61-msft.rules
|
||||
@@ -0,0 +1,9 @@
|
||||
+# MSFT compability rules
|
||||
+ACTION!="add|change", GOTO="msft_end"
|
||||
+
|
||||
+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*"
|
||||
+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode", ENV{ID_BUS}="scsi"
|
||||
+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}"
|
||||
+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-1$env{SCSI_IDENT_LUN_T10}-part%n"
|
||||
+
|
||||
+LABEL="msft_end"
|
25
1007-physical-hotplug-cpu-and-memory.patch
Normal file
25
1007-physical-hotplug-cpu-and-memory.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- /dev/null
|
||||
+++ systemd-206/rules/80-hotplug-cpu-mem.rules
|
||||
@@ -0,0 +1,9 @@
|
||||
+# do not edit this file, it will be overwritten on update
|
||||
+
|
||||
+# Hotplug physical CPU
|
||||
+SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", \
|
||||
+ ATTR{online}="1"
|
||||
+
|
||||
+# Hotplug physical memory
|
||||
+SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", \
|
||||
+ ATTR{state}="online"
|
||||
--- systemd-206.orig/Makefile.am
|
||||
+++ systemd-206/Makefile.am
|
||||
@@ -2480,6 +2480,10 @@ dist_udevrules_DATA += \
|
||||
rules/73-seat-numlock.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+dist_udevrules_DATA += \
|
||||
+ rules/80-hotplug-cpu-mem.rules
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
if ENABLE_GUDEV
|
||||
if ENABLE_GTK_DOC
|
||||
SUBDIRS += \
|
25
1008-add-msft-compability-rules.patch
Normal file
25
1008-add-msft-compability-rules.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- systemd-206.orig/Makefile.am
|
||||
+++ systemd-206/Makefile.am
|
||||
@@ -2484,6 +2484,10 @@ dist_udevrules_DATA += \
|
||||
rules/80-hotplug-cpu-mem.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+dist_udevrules_DATA += \
|
||||
+ rules/61-msft.rules
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
if ENABLE_GUDEV
|
||||
if ENABLE_GTK_DOC
|
||||
SUBDIRS += \
|
||||
--- /dev/null
|
||||
+++ systemd-206/rules/61-msft.rules
|
||||
@@ -0,0 +1,9 @@
|
||||
+# MSFT compability rules
|
||||
+ACTION!="add|change", GOTO="msft_end"
|
||||
+
|
||||
+ENV{DEVTYPE}=="partition", IMPORT{parent}="SCSI_IDENT_*"
|
||||
+KERNEL=="sd*[!0-9]|sr*", ENV{SCSI_IDENT_LUN_T10}!="?*", IMPORT{program}="/usr/bin/sg_inq -p di --export $tempnode"
|
||||
+KERNEL=="sd*|sr*", ENV{DEVTYPE}=="disk", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}"
|
||||
+KERNEL=="sd*", ENV{DEVTYPE}=="partition", ENV{SCSI_IDENT_LUN_T10}=="?*", SYMLINK+="disk/by-id/scsi-1$env{SCSI_IDENT_LUN_T10}-part%n"
|
||||
+
|
||||
+LABEL="msft_end"
|
@ -8,10 +8,8 @@ disable /var/lock/{subsys,lockdev} and change default permissions on
|
||||
tmpfiles.d/legacy.conf | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf
|
||||
index 3fff347..81d5e47 100644
|
||||
--- a/tmpfiles.d/legacy.conf
|
||||
+++ b/tmpfiles.d/legacy.conf
|
||||
--- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf
|
||||
+++ systemd-206_git201308300826/tmpfiles.d/legacy.conf
|
||||
@@ -10,12 +10,13 @@
|
||||
# These files are considered legacy and are unnecessary on legacy-free
|
||||
# systems.
|
||||
|
@ -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_git201308300826.orig/src/nss-myhostname/nss-myhostname.c
|
||||
+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c
|
||||
@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb
|
||||
uint32_t local_address_ipv4 = LOCALADDRESS_IPV4;
|
||||
const char *canonical = NULL, *additional = NULL;
|
||||
|
||||
|
@ -1,34 +1,30 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Wed, 9 Nov 2011 11:10:49 +0100
|
||||
Subject: delay fsck / cryptsetup after md / dmraid / lvm are started
|
||||
Subject: delay fsck / cryptsetup after md / dmraid are started
|
||||
|
||||
---
|
||||
src/cryptsetup/cryptsetup-generator.c | 1 +
|
||||
units/systemd-fsck@.service.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
|
||||
index 9b8e229..0949287 100644
|
||||
--- a/src/cryptsetup/cryptsetup-generator.c
|
||||
+++ b/src/cryptsetup/cryptsetup-generator.c
|
||||
--- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c
|
||||
+++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c
|
||||
@@ -160,6 +160,7 @@ static int create_disk(
|
||||
"Conflicts=umount.target\n"
|
||||
"DefaultDependencies=no\n"
|
||||
"BindsTo=dev-mapper-%i.device\n"
|
||||
+ "After=md.service dmraid.service lvm.service\n"
|
||||
+ "After=md.service dmraid.service\n"
|
||||
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
|
||||
f);
|
||||
|
||||
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
|
||||
index b3c71eb..c66a411 100644
|
||||
--- a/units/systemd-fsck@.service.in
|
||||
+++ b/units/systemd-fsck@.service.in
|
||||
--- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-fsck@.service.in
|
||||
@@ -10,7 +10,7 @@ Description=File System Check on %f
|
||||
Documentation=man:systemd-fsck@.service(8)
|
||||
DefaultDependencies=no
|
||||
BindsTo=%i.device
|
||||
-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device
|
||||
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service
|
||||
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device md.service dmraid.service
|
||||
Before=shutdown.target
|
||||
|
||||
[Service]
|
||||
|
@ -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) {
|
||||
|
@ -1,19 +1,17 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Thu, 9 Feb 2012 16:19:38 +0000
|
||||
Subject: ensure DM and LVM are started before local-fs-pre-target
|
||||
Subject: ensure DM and dmraid are started before local-fs-pre-target
|
||||
|
||||
ensure md / lvm /dmraid is started before mounting partitions,
|
||||
ensure md / dmraid is started before mounting partitions,
|
||||
if fsck was disabled for them (bnc#733283).
|
||||
---
|
||||
units/local-fs-pre.target | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target
|
||||
index 809f2ed..05fcbd4 100644
|
||||
--- a/units/local-fs-pre.target
|
||||
+++ b/units/local-fs-pre.target
|
||||
--- systemd-206_git201308300826.orig/units/local-fs-pre.target
|
||||
+++ systemd-206_git201308300826/units/local-fs-pre.target
|
||||
@@ -9,3 +9,4 @@
|
||||
Description=Local File Systems (Pre)
|
||||
Documentation=man:systemd.special(7)
|
||||
RefuseManualStart=yes
|
||||
+After=md.service lvm.service dmraid.service
|
||||
+After=md.service dmraid.service
|
||||
|
@ -7,10 +7,8 @@ ensure passphrase is handled before starting getty on tty1.
|
||||
units/systemd-ask-password-wall.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/units/systemd-ask-password-wall.service.in b/units/systemd-ask-password-wall.service.in
|
||||
index 0eaa274..ca51e4e 100644
|
||||
--- a/units/systemd-ask-password-wall.service.in
|
||||
+++ b/units/systemd-ask-password-wall.service.in
|
||||
--- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in
|
||||
@@ -8,7 +8,7 @@
|
||||
[Unit]
|
||||
Description=Forward Password Requests to Wall
|
||||
|
@ -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,15 +7,13 @@ Subject: ensure sysctl are applied after modules are loaded
|
||||
units/systemd-sysctl.service.in | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in
|
||||
index 45e1ceb..caaaa9a 100644
|
||||
--- a/units/systemd-sysctl.service.in
|
||||
+++ b/units/systemd-sysctl.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
|
||||
--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-sysctl.service.in
|
||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||
+After=systemd-modules-load.service
|
||||
Before=sysinit.target shutdown.target
|
||||
ConditionPathIsReadWrite=/proc/sys/
|
||||
ConditionPathExists=|/etc/sysctl.conf
|
||||
ConditionDirectoryNotEmpty=|/lib/sysctl.d
|
||||
|
@ -7,10 +7,8 @@ ensure btmp is owned only by root (bnc#777405).
|
||||
tmpfiles.d/systemd.conf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
|
||||
index ee86f2e..29d6e97 100644
|
||||
--- a/tmpfiles.d/systemd.conf
|
||||
+++ b/tmpfiles.d/systemd.conf
|
||||
--- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf
|
||||
+++ systemd-206_git201308300826/tmpfiles.d/systemd.conf
|
||||
@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d
|
||||
F /run/utmp 0664 root utmp -
|
||||
|
||||
|
@ -6,11 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506)
|
||||
src/systemctl/systemctl.c | 22 +++++++++++++++++++++-
|
||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-204/src/systemctl/systemctl.c
|
||||
===================================================================
|
||||
--- systemd-204.orig/src/systemctl/systemctl.c
|
||||
+++ systemd-204/src/systemctl/systemctl.c
|
||||
@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args
|
||||
--- systemd-206_git201308300826.orig/src/systemctl/systemctl.c
|
||||
+++ systemd-206_git201308300826/src/systemctl/systemctl.c
|
||||
@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args
|
||||
p[strlen(p) - sizeof(".service") + 1] = 0;
|
||||
found_sysv = access(p, F_OK) >= 0;
|
||||
|
||||
|
@ -1,104 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Mon, 7 Nov 2011 18:04:20 +0100
|
||||
Subject: force lvm restart after cryptsetup target is reached
|
||||
|
||||
---
|
||||
src/cryptsetup/cryptsetup-generator.c | 57 ++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 56 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
|
||||
index 81b7708..1940985 100644
|
||||
--- a/src/cryptsetup/cryptsetup-generator.c
|
||||
+++ b/src/cryptsetup/cryptsetup-generator.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
@@ -64,6 +65,54 @@ static bool has_option(const char *haystack, const char *needle) {
|
||||
return false;
|
||||
}
|
||||
|
||||
+static int create_storage_after_cryptsetup (void) {
|
||||
+ _cleanup_free_ char *to = NULL, *p = NULL;
|
||||
+ _cleanup_fclose_ FILE *f = NULL;
|
||||
+
|
||||
+ if (asprintf(&p, "%s/storage-after-cryptsetup.service", arg_dest) < 0)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ if (!(f = fopen(p, "wxe"))) {
|
||||
+ log_error("Failed to create unit file: %m");
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+ fprintf(f,
|
||||
+ "[Unit]\n"
|
||||
+ "Description=Restart storage after cryptsetup\n"
|
||||
+ "DefaultDependencies=no\n"
|
||||
+ "After=cryptsetup.target\n"
|
||||
+ "Wants=cryptsetup.target\n"
|
||||
+ "Before=local-fs.target\n"
|
||||
+ "Before=shutdown.target\n");
|
||||
+
|
||||
+ fprintf(f,
|
||||
+ "\n[Service]\n"
|
||||
+ "RemainAfterExit=true\n"
|
||||
+ "Type=oneshot\n"
|
||||
+ "TimeoutSec=0\n"
|
||||
+ "ExecStart=/usr/bin/systemctl restart lvm.service\n");
|
||||
+
|
||||
+ fflush(f);
|
||||
+
|
||||
+ if (ferror(f)) {
|
||||
+ log_error("Failed to write file: %m");
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+ if (asprintf(&to, "%s/local-fs.target.wants/storage-after-cryptsetup.service", arg_dest) < 0)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents(to, 0755);
|
||||
+
|
||||
+ if (symlink("../storage-after-cryptsetup.service", to) < 0) {
|
||||
+ log_error("Failed to create symlink ../storage-after-cryptsetup.service to '%s': %m", to);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int create_disk(
|
||||
const char *name,
|
||||
const char *device,
|
||||
@@ -334,6 +383,7 @@ int main(int argc, char *argv[]) {
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
unsigned n = 0;
|
||||
int r = EXIT_SUCCESS;
|
||||
+ bool no_crypttab = false;
|
||||
char **i;
|
||||
|
||||
if (argc > 1 && argc != 4) {
|
||||
@@ -361,8 +411,10 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
f = fopen("/etc/crypttab", "re");
|
||||
if (!f) {
|
||||
- if (errno == ENOENT)
|
||||
+ if (errno == ENOENT) {
|
||||
+ no_crypttab = true;
|
||||
r = EXIT_SUCCESS;
|
||||
+ }
|
||||
else {
|
||||
r = EXIT_FAILURE;
|
||||
log_error("Failed to open /etc/crypttab: %m");
|
||||
@@ -464,5 +516,8 @@ next:
|
||||
r = EXIT_FAILURE;
|
||||
}
|
||||
|
||||
+ if ((r == EXIT_SUCCESS && !no_crypttab) && (create_storage_after_cryptsetup () < 0))
|
||||
+ r = EXIT_FAILURE;
|
||||
+
|
||||
return r;
|
||||
}
|
@ -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_git201308300826.orig/src/vconsole/vconsole-setup.c
|
||||
+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "macro.h"
|
||||
#include "virt.h"
|
||||
@ -30,7 +28,7 @@ index 1bbf737..384f936 100644
|
||||
int i = 0;
|
||||
pid_t pid;
|
||||
|
||||
@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle,
|
||||
@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, c
|
||||
args[i++] = map;
|
||||
if (map_toggle)
|
||||
args[i++] = map_toggle;
|
||||
@ -39,7 +37,7 @@ index 1bbf737..384f936 100644
|
||||
args[i++] = NULL;
|
||||
|
||||
pid = fork();
|
||||
@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) {
|
||||
@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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_git201308300826.orig/src/vconsole/vconsole-setup.c
|
||||
+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
|
||||
@@ -42,6 +42,10 @@
|
||||
#include "fileio.h"
|
||||
#include "strv.h"
|
||||
@ -100,11 +98,9 @@ Index: systemd-204/src/vconsole/vconsole-setup.c
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
free(vc_kbd_delay);
|
||||
free(vc_kbd_rate);
|
||||
Index: systemd-204/Makefile.am
|
||||
===================================================================
|
||||
--- systemd-204.orig/Makefile.am
|
||||
+++ systemd-204/Makefile.am
|
||||
@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \
|
||||
--- systemd-206_git201308300826.orig/Makefile.am
|
||||
+++ systemd-206_git201308300826/Makefile.am
|
||||
@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \
|
||||
rules/61-accelerometer.rules
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
@ -124,10 +120,8 @@ Index: systemd-204/Makefile.am
|
||||
if ENABLE_GUDEV
|
||||
if ENABLE_GTK_DOC
|
||||
SUBDIRS += \
|
||||
Index: systemd-204/rules/73-seat-numlock.rules
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-204/rules/73-seat-numlock.rules
|
||||
+++ systemd-206_git201308300826/rules/73-seat-numlock.rules
|
||||
@@ -0,0 +1,8 @@
|
||||
+# This file is part of SUSE customization of systemd.
|
||||
+#
|
||||
@ -137,10 +131,8 @@ Index: systemd-204/rules/73-seat-numlock.rules
|
||||
+# (at your option) any later version.
|
||||
+
|
||||
+SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}"
|
||||
Index: systemd-204/src/login/numlock-on.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ systemd-204/src/login/numlock-on.c
|
||||
+++ systemd-206_git201308300826/src/login/numlock-on.c
|
||||
@@ -0,0 +1,34 @@
|
||||
+/*
|
||||
+ * numlock-on.c: Turn numlock-on
|
||||
@ -176,10 +168,8 @@ Index: systemd-204/src/login/numlock-on.c
|
||||
+
|
||||
+ exit(0);
|
||||
+}
|
||||
Index: systemd-204/units/systemd-vconsole-setup.service.in
|
||||
===================================================================
|
||||
--- systemd-204.orig/units/systemd-vconsole-setup.service.in
|
||||
+++ systemd-204/units/systemd-vconsole-setup.service.in
|
||||
--- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in
|
||||
@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
|
@ -7,12 +7,10 @@ handle ROOT_USES_LANG=ctype (bnc#792182).
|
||||
src/core/locale-setup.c | 27 +++++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c
|
||||
index d7113b9..b3fb603 100644
|
||||
--- a/src/core/locale-setup.c
|
||||
+++ b/src/core/locale-setup.c
|
||||
@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = {
|
||||
int locale_setup(void) {
|
||||
--- systemd-206_git201308300826.orig/src/core/locale-setup.c
|
||||
+++ systemd-206_git201308300826/src/core/locale-setup.c
|
||||
@@ -72,6 +72,11 @@ int locale_setup(char ***environment) {
|
||||
char **env;
|
||||
char *variables[_VARIABLE_MAX] = {};
|
||||
int r = 0, i;
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
@ -23,32 +21,31 @@ index d7113b9..b3fb603 100644
|
||||
|
||||
if (detect_container(NULL) <= 0) {
|
||||
r = parse_env_file("/proc/cmdline", WHITESPACE,
|
||||
@@ -117,6 +122,28 @@ int locale_setup(void) {
|
||||
@@ -118,6 +123,27 @@ int locale_setup(char ***environment) {
|
||||
if (r < 0 && r != -ENOENT)
|
||||
log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
|
||||
}
|
||||
|
||||
+#ifdef HAVE_SYSV_COMPAT
|
||||
+ if (r <= 0 &&
|
||||
+ if (r <= 0 &&
|
||||
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||
+ "RC_LANG", &variables[VARIABLE_LANG],
|
||||
+ NULL)) < 0) {
|
||||
+ NULL)) < 0) {
|
||||
+ if (r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
+
|
||||
+ if (r != -ENOENT)
|
||||
+ log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
|
||||
+ } else {
|
||||
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
||||
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
||||
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
||||
+ else
|
||||
+ free(variables[VARIABLE_LANG]);
|
||||
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
||||
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
||||
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
||||
+ else
|
||||
+ free(variables[VARIABLE_LANG]);
|
||||
+
|
||||
+ variables[VARIABLE_LANG]=strdup("POSIX");
|
||||
+ }
|
||||
+ variables[VARIABLE_LANG]=strdup("POSIX");
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
if (!variables[VARIABLE_LANG]) {
|
||||
variables[VARIABLE_LANG] = strdup("C");
|
||||
if (!variables[VARIABLE_LANG]) {
|
||||
|
||||
for (i = 0; i < _VARIABLE_MAX; i++) {
|
||||
if (!variables[i])
|
||||
|
383
insserv-generator.patch
Normal file
383
insserv-generator.patch
Normal file
@ -0,0 +1,383 @@
|
||||
From a8cbe79c77836cc2466e3534157864abc98ef3ef Mon Sep 17 00:00:00 2001
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Fri, 28 Jun 2013 17:54:41 +0200
|
||||
Subject: [PATCH] insserv.conf generator
|
||||
|
||||
parse /etc/insserv.conf.dd content and /etc/insserv.conf and generate
|
||||
systemd unit drop-in files to add dependencies
|
||||
---
|
||||
Makefile.am | 9 +
|
||||
src/insserv-generator/Makefile | 28 +++
|
||||
src/insserv-generator/insserv-generator.c | 309 ++++++++++++++++++++++++++++++
|
||||
3 files changed, 346 insertions(+)
|
||||
create mode 100644 src/insserv-generator/Makefile
|
||||
create mode 100644 src/insserv-generator/insserv-generator.c
|
||||
|
||||
--- systemd-206_git201308300826.orig/Makefile.am
|
||||
+++ systemd-206_git201308300826/Makefile.am
|
||||
@@ -321,6 +321,7 @@ rootlibexec_PROGRAMS = \
|
||||
systemd-sleep
|
||||
|
||||
systemgenerator_PROGRAMS = \
|
||||
+ systemd-insserv-generator \
|
||||
systemd-getty-generator \
|
||||
systemd-fstab-generator \
|
||||
systemd-system-update-generator
|
||||
@@ -1655,6 +1656,14 @@ systemd_delta_LDADD = \
|
||||
libsystemd-shared.la
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
+systemd_insserv_generator_SOURCES = \
|
||||
+ src/insserv-generator/insserv-generator.c
|
||||
+
|
||||
+systemd_insserv_generator_LDADD = \
|
||||
+ libsystemd-label.la \
|
||||
+ libsystemd-shared.la
|
||||
+
|
||||
+# ------------------------------------------------------------------------------
|
||||
systemd_getty_generator_SOURCES = \
|
||||
src/getty-generator/getty-generator.c
|
||||
|
||||
--- /dev/null
|
||||
+++ systemd-206_git201308300826/src/insserv-generator/Makefile
|
||||
@@ -0,0 +1,28 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
+# Copyright 2010 Lennart Poettering
|
||||
+#
|
||||
+# systemd is free software; you can redistribute it and/or modify it
|
||||
+# under the terms of the GNU Lesser General Public License as published by
|
||||
+# the Free Software Foundation; either version 2.1 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# systemd is distributed in the hope that it will be useful, but
|
||||
+# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+# Lesser General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU Lesser General Public License
|
||||
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+# This file is a dirty trick to simplify compilation from within
|
||||
+# emacs. This file is not intended to be distributed. So, don't touch
|
||||
+# it, even better ignore it!
|
||||
+
|
||||
+all:
|
||||
+ $(MAKE) -C ..
|
||||
+
|
||||
+clean:
|
||||
+ $(MAKE) -C .. clean
|
||||
+
|
||||
+.PHONY: all clean
|
||||
--- /dev/null
|
||||
+++ systemd-206_git201308300826/src/insserv-generator/insserv-generator.c
|
||||
@@ -0,0 +1,309 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2012 Lennart Poettering
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+ ***/
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <errno.h>
|
||||
+#include <string.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
+#include "mkdir.h"
|
||||
+#include "log.h"
|
||||
+#include "fileio.h"
|
||||
+#include "unit-name.h"
|
||||
+#include "special.h"
|
||||
+#include "path-util.h"
|
||||
+#include "util.h"
|
||||
+#include "strv.h"
|
||||
+
|
||||
+static const char *arg_dest = "/tmp";
|
||||
+
|
||||
+static char *sysv_translate_name(const char *name) {
|
||||
+ char *r;
|
||||
+
|
||||
+ r = new(char, strlen(name) + sizeof(".service"));
|
||||
+ if (!r)
|
||||
+ return NULL;
|
||||
+
|
||||
+ if (endswith(name, ".sh"))
|
||||
+ /* Drop .sh suffix */
|
||||
+ strcpy(stpcpy(r, name) - 3, ".service");
|
||||
+ else
|
||||
+ /* Normal init script name */
|
||||
+ strcpy(stpcpy(r, name), ".service");
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+static int sysv_translate_facility(const char *name, const char *filename, char **_r) {
|
||||
+
|
||||
+ /* We silently ignore the $ prefix here. According to the LSB
|
||||
+ * spec it simply indicates whether something is a
|
||||
+ * standardized name or a distribution-specific one. Since we
|
||||
+ * just follow what already exists and do not introduce new
|
||||
+ * uses or names we don't care who introduced a new name. */
|
||||
+
|
||||
+ static const char * const table[] = {
|
||||
+ /* LSB defined facilities */
|
||||
+ "local_fs", NULL,
|
||||
+ "network", SPECIAL_NETWORK_TARGET,
|
||||
+ "named", SPECIAL_NSS_LOOKUP_TARGET,
|
||||
+ "portmap", SPECIAL_RPCBIND_TARGET,
|
||||
+ "remote_fs", SPECIAL_REMOTE_FS_TARGET,
|
||||
+ "syslog", NULL,
|
||||
+ "time", SPECIAL_TIME_SYNC_TARGET,
|
||||
+ };
|
||||
+
|
||||
+ unsigned i;
|
||||
+ char *r;
|
||||
+ const char *n;
|
||||
+
|
||||
+ assert(name);
|
||||
+ assert(_r);
|
||||
+
|
||||
+ n = *name == '$' ? name + 1 : name;
|
||||
+
|
||||
+ for (i = 0; i < ELEMENTSOF(table); i += 2) {
|
||||
+
|
||||
+ if (!streq(table[i], n))
|
||||
+ continue;
|
||||
+
|
||||
+ if (!table[i+1])
|
||||
+ return 0;
|
||||
+
|
||||
+ r = strdup(table[i+1]);
|
||||
+ if (!r)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ goto finish;
|
||||
+ }
|
||||
+
|
||||
+ /* If we don't know this name, fallback heuristics to figure
|
||||
+ * out whether something is a target or a service alias. */
|
||||
+
|
||||
+ if (*name == '$') {
|
||||
+ if (!unit_prefix_is_valid(n))
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ /* Facilities starting with $ are most likely targets */
|
||||
+ r = unit_name_build(n, NULL, ".target");
|
||||
+ } else if (filename && streq(name, filename))
|
||||
+ /* Names equaling the file name of the services are redundant */
|
||||
+ return 0;
|
||||
+ else
|
||||
+ /* Everything else we assume to be normal service names */
|
||||
+ r = sysv_translate_name(n);
|
||||
+
|
||||
+ if (!r)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+finish:
|
||||
+ *_r = r;
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+static int parse_insserv_conf(const char* filename) {
|
||||
+ _cleanup_fclose_ FILE *f = NULL;
|
||||
+ int r;
|
||||
+
|
||||
+ if (!(f = fopen(filename, "re"))) {
|
||||
+ log_debug("Failed to open file %s", filename);
|
||||
+ r = errno == ENOENT ? 0 : -errno;
|
||||
+ return r;
|
||||
+ }
|
||||
+
|
||||
+ while (!feof(f)) {
|
||||
+ char l[LINE_MAX], *t;
|
||||
+ _cleanup_strv_free_ char **parsed = NULL;
|
||||
+
|
||||
+ if (!fgets(l, sizeof(l), f)) {
|
||||
+ if (feof(f))
|
||||
+ break;
|
||||
+
|
||||
+ r = -errno;
|
||||
+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
|
||||
+ return -r;
|
||||
+ }
|
||||
+
|
||||
+ t = strstrip(l);
|
||||
+ if (*t != '$' && *t != '<')
|
||||
+ continue;
|
||||
+
|
||||
+ parsed = strv_split(t,WHITESPACE);
|
||||
+ /* we ignore <interactive>, not used, equivalent to X-Interactive */
|
||||
+ if (parsed && !startswith_no_case (parsed[0], "<interactive>")) {
|
||||
+ _cleanup_free_ char *facility = NULL;
|
||||
+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
|
||||
+ continue;
|
||||
+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) {
|
||||
+ _cleanup_free_ char *unit = NULL;
|
||||
+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */
|
||||
+ unit = strjoin(arg_dest, "/remote-fs.target.d/50-",path_get_file_name(filename),".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ r = write_string_file(unit,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "Wants=remote-fs-pre.target\n");
|
||||
+ if (r)
|
||||
+ return r;
|
||||
+ free (facility);
|
||||
+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET);
|
||||
+ }
|
||||
+ if (facility && endswith(facility, ".target")) {
|
||||
+ char *name, **j;
|
||||
+ FILE *file = NULL;
|
||||
+
|
||||
+ STRV_FOREACH (j, parsed+1) {
|
||||
+ _cleanup_free_ char *unit = NULL;
|
||||
+ _cleanup_free_ char *dep = NULL;
|
||||
+
|
||||
+ if (*j[0] == '+')
|
||||
+ name = *j+1;
|
||||
+ else
|
||||
+ name = *j;
|
||||
+ if (streq(name, "boot.localfs") ||
|
||||
+ streq(name, "boot.crypto"))
|
||||
+ continue;
|
||||
+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep)
|
||||
+ continue;
|
||||
+
|
||||
+ unit = strjoin(arg_dest, "/", dep, ".d/50-",path_get_file_name(filename),"-",parsed[0],".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ file = fopen(unit, "wxe");
|
||||
+ if (!file) {
|
||||
+ if (errno == EEXIST)
|
||||
+ log_error("Failed to create drop-in file %s", unit);
|
||||
+ else
|
||||
+ log_error("Failed to create drop-in file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+ fprintf(file,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "Wants=%s\n"
|
||||
+ "Before=%s\n",
|
||||
+ facility, facility);
|
||||
+
|
||||
+ fflush(file);
|
||||
+ if (ferror(file)) {
|
||||
+ log_error("Failed to write unit file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ fclose(file);
|
||||
+
|
||||
+ if (*j[0] != '+') {
|
||||
+ free (unit);
|
||||
+ unit = strjoin(arg_dest, "/", facility, ".d/50-hard-dependency-",path_get_file_name(filename),"-",parsed[0],".conf", NULL);
|
||||
+ if (!unit)
|
||||
+ return log_oom();
|
||||
+
|
||||
+ mkdir_parents_label(unit, 0755);
|
||||
+
|
||||
+ file = fopen(unit, "wxe");
|
||||
+ if (!file) {
|
||||
+ if (errno == EEXIST)
|
||||
+ log_error("Failed to create drop-in file %s, as it already exists", unit);
|
||||
+ else
|
||||
+ log_error("Failed to create drop-in file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ fprintf(file,
|
||||
+ "# Automatically generated by systemd-insserv-generator\n\n"
|
||||
+ "[Unit]\n"
|
||||
+ "SourcePath=%s\n"
|
||||
+ "Requires=%s\n",
|
||||
+ filename, dep);
|
||||
+ fflush(file);
|
||||
+ if (ferror(file)) {
|
||||
+ log_error("Failed to write unit file %s: %m", unit);
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ fclose(file);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+static int parse_insserv(void) {
|
||||
+ DIR *d = NULL;
|
||||
+ struct dirent *de;
|
||||
+ int r = 0;
|
||||
+
|
||||
+ if (!(d = opendir("/etc/insserv.conf.d/"))) {
|
||||
+ if (errno != ENOENT) {
|
||||
+ log_debug("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno));
|
||||
+ }
|
||||
+ } else {
|
||||
+
|
||||
+ while ((de = readdir(d))) {
|
||||
+ char *path = NULL;
|
||||
+ if (ignore_file(de->d_name))
|
||||
+ continue;
|
||||
+
|
||||
+ path = strjoin("/etc/insserv.conf.d/", de->d_name, NULL);
|
||||
+ parse_insserv_conf(path);
|
||||
+ free(path);
|
||||
+ }
|
||||
+ closedir (d);
|
||||
+ }
|
||||
+
|
||||
+ r = parse_insserv_conf("/etc/insserv.conf");
|
||||
+
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+int main(int argc, char *argv[]) {
|
||||
+ int r = 0;
|
||||
+
|
||||
+ if (argc > 1 && argc != 4) {
|
||||
+ log_error("This program takes three or no arguments.");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (argc > 1)
|
||||
+ arg_dest = argv[1];
|
||||
+
|
||||
+ log_set_target(LOG_TARGET_SAFE);
|
||||
+ log_parse_environment();
|
||||
+ log_open();
|
||||
+
|
||||
+ umask(0022);
|
||||
+
|
||||
+ r = parse_insserv();
|
||||
+
|
||||
+ return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS;
|
||||
+}
|
@ -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_git201308300826.orig/src/modules-load/modules-load.c
|
||||
+++ systemd-206_git201308300826/src/modules-load/modules-load.c
|
||||
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar
|
||||
int main(int argc, char *argv[]) {
|
||||
int r, k;
|
||||
struct kmod_ctx *ctx;
|
||||
@ -52,10 +50,8 @@ index 7b19ee0..36b1a68 100644
|
||||
finish:
|
||||
kmod_unref(ctx);
|
||||
strv_free(arg_proc_cmdline_modules);
|
||||
diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in
|
||||
index 32deb52..2e26d2f 100644
|
||||
--- a/units/systemd-modules-load.service.in
|
||||
+++ b/units/systemd-modules-load.service.in
|
||||
--- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in
|
||||
+++ systemd-206_git201308300826/units/systemd-modules-load.service.in
|
||||
@@ -13,6 +13,7 @@ Conflicts=shutdown.target
|
||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||
Before=sysinit.target shutdown.target
|
||||
|
@ -7,11 +7,9 @@ Subject: optionally warn if nss-myhostname is called
|
||||
src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 43 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e1278e8..06eb98d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then
|
||||
--- systemd-206_git201308300826.orig/configure.ac
|
||||
+++ systemd-206_git201308300826/configure.ac
|
||||
@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno";
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
|
||||
|
||||
@ -29,10 +27,8 @@ index e1278e8..06eb98d 100644
|
||||
# ------------------------------------------------------------------------------
|
||||
AC_ARG_WITH(firmware-path,
|
||||
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
|
||||
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
|
||||
index e97d4e5..a2a6de8 100644
|
||||
--- a/src/nss-myhostname/nss-myhostname.c
|
||||
+++ b/src/nss-myhostname/nss-myhostname.c
|
||||
--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c
|
||||
+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c
|
||||
@@ -29,6 +29,9 @@
|
||||
#include <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);
|
||||
}
|
||||
|
@ -1,131 +0,0 @@
|
||||
From: Frederic Crozat <fcrozat@suse.com>
|
||||
Date: Fri, 30 Sep 2011 13:55:31 +0000
|
||||
Subject: parse /etc/insserv.conf and adds dependencies accordingly
|
||||
|
||||
(bnc#721428)
|
||||
---
|
||||
src/core/service.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 104 insertions(+)
|
||||
|
||||
diff --git a/src/core/service.c b/src/core/service.c
|
||||
index 3617c24..3c66cdb 100644
|
||||
--- a/src/core/service.c
|
||||
+++ b/src/core/service.c
|
||||
@@ -3443,6 +3443,108 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) {
|
||||
}
|
||||
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
+static void sysv_parse_insserv_conf(Manager *mgr, const char* filename) {
|
||||
+ FILE *f = NULL;
|
||||
+ int r;
|
||||
+
|
||||
+ if (!(f = fopen(filename, "re"))) {
|
||||
+ log_debug("Failed to open file %s", filename);
|
||||
+ r = errno == ENOENT ? 0 : -errno;
|
||||
+ goto finish;
|
||||
+ }
|
||||
+
|
||||
+ while (!feof(f)) {
|
||||
+ char l[LINE_MAX], *t;
|
||||
+ char **parsed = NULL;
|
||||
+
|
||||
+ if (!fgets(l, sizeof(l), f)) {
|
||||
+ if (feof(f))
|
||||
+ break;
|
||||
+
|
||||
+ r = -errno;
|
||||
+ log_error("Failed to read configuration file '%s': %s", filename, strerror(-r));
|
||||
+ goto finish;
|
||||
+ }
|
||||
+
|
||||
+ t = strstrip(l);
|
||||
+ if (*t != '$' && *t != '<')
|
||||
+ continue;
|
||||
+
|
||||
+ parsed = strv_split(t,WHITESPACE);
|
||||
+ /* we ignore <interactive>, not used, equivalent to X-Interactive */
|
||||
+ if (parsed && !startswith_no_case (parsed[0], "<interactive>")) {
|
||||
+ char *facility;
|
||||
+ Unit *u;
|
||||
+ if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
|
||||
+ continue;
|
||||
+ if (streq(facility, SPECIAL_REMOTE_FS_TARGET)) {
|
||||
+ /* insert also a Wants dependency from remote-fs-pre on remote-fs */
|
||||
+ u = manager_get_unit(mgr, SPECIAL_REMOTE_FS_TARGET);
|
||||
+ if (u) {
|
||||
+ unit_add_dependency_by_name(u, UNIT_WANTS, SPECIAL_REMOTE_FS_PRE_TARGET, NULL, true);
|
||||
+ free (facility);
|
||||
+ facility=strdup(SPECIAL_REMOTE_FS_PRE_TARGET);
|
||||
+ }
|
||||
+ }
|
||||
+ u = manager_get_unit(mgr, facility);
|
||||
+ if (u && (u->type == UNIT_TARGET)) {
|
||||
+ char *dep = NULL, *name, **j;
|
||||
+
|
||||
+ STRV_FOREACH (j, parsed+1) {
|
||||
+ if (*j[0] == '+')
|
||||
+ name = *j+1;
|
||||
+ else
|
||||
+ name = *j;
|
||||
+ if (streq(name, "boot.localfs") ||
|
||||
+ streq(name, "boot.crypto"))
|
||||
+ continue;
|
||||
+ if ((sysv_translate_facility(name, NULL, &dep) < 0) || !dep)
|
||||
+ continue;
|
||||
+
|
||||
+ r = unit_add_two_dependencies_by_name_inverse(u, UNIT_WANTS, UNIT_BEFORE, dep, NULL, true);
|
||||
+ if (*j[0] != '+')
|
||||
+ r = unit_add_dependency_by_name(u, UNIT_REQUIRES, dep, NULL, true);
|
||||
+ free(dep);
|
||||
+ }
|
||||
+ }
|
||||
+ free(facility);
|
||||
+ }
|
||||
+ strv_free(parsed);
|
||||
+ }
|
||||
+finish:
|
||||
+ if (f)
|
||||
+ fclose(f);
|
||||
+
|
||||
+}
|
||||
+
|
||||
+static void sysv_facility_in_insserv_conf(Manager *mgr) {
|
||||
+ DIR *d =NULL;
|
||||
+ struct dirent *de;
|
||||
+
|
||||
+#ifdef TARGET_DEBIAN
|
||||
+ if (!(d = opendir("/etc/insserv.conf.d/")))
|
||||
+ if (errno != ENOENT) {
|
||||
+ log_warning("opendir() failed on /etc/insserv.conf.d/ %s", strerror(errno));
|
||||
+ goto finish;
|
||||
+ }
|
||||
+
|
||||
+ while ((de = readdir(d))) {
|
||||
+ char *path = NULL;
|
||||
+ if (ignore_file(de->d_name))
|
||||
+ continue;
|
||||
+
|
||||
+ path = join("/etc/insserv.conf.d/", de->d_name, NULL);
|
||||
+ sysv_parse_insserv_conf(mgr, path);
|
||||
+ free(path);
|
||||
+ }
|
||||
+finish:
|
||||
+ if (d)
|
||||
+ closedir(d);
|
||||
+#endif
|
||||
+
|
||||
+ sysv_parse_insserv_conf(mgr, "/etc/insserv.conf");
|
||||
+}
|
||||
+
|
||||
|
||||
static int service_enumerate(Manager *m) {
|
||||
char **p;
|
||||
@@ -3603,6 +3705,8 @@ static int service_enumerate(Manager *m) {
|
||||
|
||||
r = 0;
|
||||
|
||||
+ sysv_facility_in_insserv_conf (m);
|
||||
+
|
||||
finish:
|
||||
|
||||
for (i = 0; i < ELEMENTSOF(rcnd_table); i++)
|
@ -11,10 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it.
|
||||
src/core/service.h | 1 +
|
||||
2 files changed, 33 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/core/service.c b/src/core/service.c
|
||||
index a8b0d9d..c357b33 100644
|
||||
--- a/src/core/service.c
|
||||
+++ b/src/core/service.c
|
||||
--- systemd-206_git201308300826.orig/src/core/service.c
|
||||
+++ systemd-206_git201308300826/src/core/service.c
|
||||
@@ -135,6 +135,7 @@ static void service_init(Unit *u) {
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
s->sysv_start_priority = -1;
|
||||
@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644
|
||||
#endif
|
||||
s->socket_fd = -1;
|
||||
s->guess_main_pid = true;
|
||||
@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) {
|
||||
@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic
|
||||
free(short_description);
|
||||
short_description = d;
|
||||
|
||||
@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644
|
||||
} else if (state == LSB_DESCRIPTION) {
|
||||
|
||||
if (startswith(l, "#\t") || startswith(l, "# ")) {
|
||||
@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) {
|
||||
@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic
|
||||
|
||||
/* Special setting for all SysV services */
|
||||
s->type = SERVICE_FORKING;
|
||||
@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644
|
||||
s->guess_main_pid = false;
|
||||
s->restart = SERVICE_RESTART_NO;
|
||||
s->exec_context.ignore_sigpipe = false;
|
||||
@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) {
|
||||
@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic
|
||||
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
|
||||
(s->bus_name_good || s->type != SERVICE_DBUS)) {
|
||||
#ifdef HAVE_SYSV_COMPAT
|
||||
@ -77,11 +75,9 @@ index a8b0d9d..c357b33 100644
|
||||
s->remain_after_exit = false;
|
||||
#endif
|
||||
service_set_state(s, SERVICE_RUNNING);
|
||||
diff --git a/src/core/service.h b/src/core/service.h
|
||||
index 703d3fa..dc52e8c 100644
|
||||
--- a/src/core/service.h
|
||||
+++ b/src/core/service.h
|
||||
@@ -176,6 +176,7 @@ struct Service {
|
||||
--- systemd-206_git201308300826.orig/src/core/service.h
|
||||
+++ systemd-206_git201308300826/src/core/service.h
|
||||
@@ -177,6 +177,7 @@ struct Service {
|
||||
bool is_sysv:1;
|
||||
bool sysv_has_lsb:1;
|
||||
bool sysv_enabled:1;
|
||||
|
@ -10,11 +10,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink
|
||||
create mode 100644 units/var-lock.mount
|
||||
create mode 100644 units/var-run.mount
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 8730f66..b8cf696 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -409,6 +409,12 @@ dist_systemunit_DATA = \
|
||||
--- systemd-206_git201308300826.orig/Makefile.am
|
||||
+++ systemd-206_git201308300826/Makefile.am
|
||||
@@ -419,6 +419,12 @@ dist_systemunit_DATA = \
|
||||
units/system-update.target \
|
||||
units/initrd-switch-root.target
|
||||
|
||||
@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644
|
||||
nodist_systemunit_DATA = \
|
||||
units/getty@.service \
|
||||
units/serial-getty@.service \
|
||||
@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \
|
||||
@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \
|
||||
systemd-update-utmp-runlevel.service
|
||||
RUNLEVEL5_TARGET_WANTS += \
|
||||
systemd-update-utmp-runlevel.service
|
||||
@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644
|
||||
+ var-run.mount \
|
||||
+ var-lock.mount
|
||||
endif
|
||||
SHUTDOWN_TARGET_WANTS += \
|
||||
systemd-update-utmp-shutdown.service
|
||||
diff --git a/units/var-lock.mount b/units/var-lock.mount
|
||||
new file mode 100644
|
||||
index 0000000..07277ad
|
||||
SYSINIT_TARGET_WANTS += \
|
||||
systemd-update-utmp.service
|
||||
--- /dev/null
|
||||
+++ b/units/var-lock.mount
|
||||
+++ systemd-206_git201308300826/units/var-lock.mount
|
||||
@@ -0,0 +1,19 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
@ -62,11 +57,8 @@ index 0000000..07277ad
|
||||
+Where=/var/lock
|
||||
+Type=bind
|
||||
+Options=bind
|
||||
diff --git a/units/var-run.mount b/units/var-run.mount
|
||||
new file mode 100644
|
||||
index 0000000..ab4da42
|
||||
--- /dev/null
|
||||
+++ b/units/var-run.mount
|
||||
+++ systemd-206_git201308300826/units/var-run.mount
|
||||
@@ -0,0 +1,19 @@
|
||||
+# This file is part of systemd.
|
||||
+#
|
||||
|
@ -12,11 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426
|
||||
src/core/service.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: systemd-204/src/core/service.c
|
||||
===================================================================
|
||||
--- systemd-204.orig/src/core/service.c
|
||||
+++ systemd-204/src/core/service.c
|
||||
@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic
|
||||
--- systemd-206_git201308300826.orig/src/core/service.c
|
||||
+++ systemd-206_git201308300826/src/core/service.c
|
||||
@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic
|
||||
cgroup_ok = cgroup_good(s);
|
||||
|
||||
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
|
||||
|
@ -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-207.tar.xz
Normal file
3
systemd-207.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ac1f8120315e7969063bbb0c181c8dc59509aeaf10c4266077c257a182ad5942
|
||||
size 2363804
|
11
systemd-dbus-system-bus-address.patch
Normal file
11
systemd-dbus-system-bus-address.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- systemd-207.orig/src/core/dbus.c
|
||||
+++ systemd-207/src/core/dbus.c
|
||||
@@ -50,7 +50,7 @@
|
||||
#define CONNECTIONS_MAX 512
|
||||
|
||||
/* Well-known address (http://dbus.freedesktop.org/doc/dbus-specification.html#message-bus-types) */
|
||||
-#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/var/run/dbus/system_bus_socket"
|
||||
+#define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS "unix:path=/run/dbus/system_bus_socket"
|
||||
/* Only used as a fallback */
|
||||
#define DBUS_SESSION_BUS_DEFAULT_ADDRESS "autolaunch:"
|
||||
|
@ -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,5 +1,296 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com
|
||||
Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
|
||||
really fixes the swap unit problem mentioned in previous
|
||||
commit & the opensuse-factory mailing list.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||
missing important check on return value.
|
||||
- 0002-cgroup-correct-the-log-information.patch fix misleading
|
||||
log information.
|
||||
- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix
|
||||
setting memory cgroup
|
||||
- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||
should fail if write fails.
|
||||
- 0005-core-cgroup-first-print-then-free.patch use-after-free
|
||||
will trigger if there is an error condition.
|
||||
- 0006-swap-fix-reverse-dependencies.patch reported in
|
||||
opensuse-factory list, topic "swap isn't activated"
|
||||
- 0007-libudev-fix-move_later-comparison.patch libudev
|
||||
invalid usage of "move_later".
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- while testing this new release I get in the logs ocassionally
|
||||
at boot "systemd[1]: Failed to open private bus connection:
|
||||
Failed to connect to socket /var/run/dbus/system_bus_socket:
|
||||
No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
|
||||
is defined to /var/run/dbus/system_bus_socket instead of
|
||||
/run/dbus/system_bus_socket and that does not fly when /var/run
|
||||
is not yet available. (systemd-dbus-system-bus-address.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Enable Predictable Network interface names (bnc#829526).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- version 207, distribution specific changes follow, for overall
|
||||
release notes see NEWS.
|
||||
- Fixed:
|
||||
* Failed at step PAM spawning /usr/lib/systemd/systemd:
|
||||
Operation not permitted
|
||||
* Fix shutdown hang "a stop job is running for Session 1 of user root"
|
||||
that was reported in opensuse-factory list.
|
||||
- systemd-sysctl no longer reads /etc/sysctl.conf however backward
|
||||
compatbility is to be provides by a symlink created at %post.
|
||||
- removed previously disabled upstream patches (merged):
|
||||
0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch,
|
||||
0004-disable-the-cgroups-release-agent-when-shutting-down.patch,
|
||||
0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch,
|
||||
0006-suppress-status-message-output-at-shutdown-when-quie.patch,
|
||||
- removed upstream merged patches:
|
||||
exclude-dev-from-tmpfiles.patch,
|
||||
logind_update_state_file_after_generating_....patch
|
||||
- Add systemd-pam_config.patch: use correct include name for PAM
|
||||
configuration on openSUSE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from
|
||||
tmpfiles (bnc#835813).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Remove
|
||||
force-lvm-restart-after-cryptsetup-target-is-reached.patch and
|
||||
remove additional dependencies on LVM in other patches: LVM has
|
||||
now systemd support, no need to work around it anymore in
|
||||
systemd.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com
|
||||
|
||||
- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch
|
||||
to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de
|
||||
|
||||
- explicitly enable getty@tty1.service instead of getty@.service as
|
||||
the tty1 alias has been removed from the file (bnc#833494)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
|
||||
and owned by systemd package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Fix drop-in for getty@tty1.service
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Move systemd-journal-gateway to subpackage to lower dependencies
|
||||
in default install.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- version 206 , highlights:
|
||||
* Unit files now understand the new %v specifier which
|
||||
resolves to the kernel version string as returned by "uname-r".
|
||||
* "journalctl -b" may now be used to look for boot output of a
|
||||
specific boot. Try "journalctl -b -1"
|
||||
* Creation of "dead" device nodes has been moved from udev
|
||||
into kmod and tmpfiles.
|
||||
* The udev "keymap" data files and tools to apply keyboard
|
||||
specific mappings of scan to key codes, and force-release
|
||||
scan code lists have been entirely replaced by a udev
|
||||
"keyboard" builtin and a hwdb data file.
|
||||
|
||||
- remove patches now in upstream
|
||||
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
|
||||
- systemd now require the kmod tool in addition to the library.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
|
||||
|
||||
- use-usr-sbin-sulogin-for-emergency-service.patch
|
||||
emergency.service failed to start because sulogin is in /usr/sbin now
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
|
||||
|
||||
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
|
||||
not a directory
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
|
||||
fix segfault at shutdown
|
||||
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
|
||||
disable the cgroups release agent when shutting down.
|
||||
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
|
||||
remove ancient fallback code; turn connection error into warning
|
||||
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
|
||||
make shutdown honour "quiet" kernel cmdline.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- fix broken symlink, service is called systemd-random-seed now.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
|
||||
|
||||
- Update to release 205:
|
||||
+ two new unit types have been introduced:
|
||||
- Scope units are very similar to service units, however, are
|
||||
created out of pre-existing processes -- instead of PID 1
|
||||
forking off the processes.
|
||||
- Slice units may be used to partition system resources in an
|
||||
hierarchial fashion and then assign other units to them. By
|
||||
default there are now three slices: system.slice (for all
|
||||
system services), user.slice (for all user sessions),
|
||||
machine.slice (for VMs and containers).
|
||||
+ new concept of "transient" units, which are created at runtime
|
||||
using an API and not based on configuration from disk.
|
||||
+ logind has been updated to make use of scope and slice units to
|
||||
manage user sessions. Logind will no longer create cgroups
|
||||
hierchies itself but will relying on PID 1.
|
||||
+ A new mini-daemon "systemd-machined" has been added which
|
||||
may be used by virtualization managers to register local
|
||||
VMs/containers. machinectl tool has been added to query
|
||||
meta-data from systemd-machined.
|
||||
+ Low-level cgroup configuration options ControlGroup=,
|
||||
ControlGroupModify=, ControlGroupPersistent=,
|
||||
ControlGroupAttribute= have been removed. High-level attribute
|
||||
settings or slice units should be used instead?
|
||||
+ A new bus call SetUnitProperties() has been added to alter
|
||||
various runtime parameters of a unit, including cgroup
|
||||
parameters. systemctl gained set-properties command to wrap
|
||||
this call.
|
||||
+ A new tool "systemd-run" has been added which can be used to
|
||||
run arbitrary command lines as transient services or scopes,
|
||||
while configuring a number of settings via the command
|
||||
line.
|
||||
+ nspawn will now inform the user explicitly that kernels with
|
||||
audit enabled break containers, and suggest the user to turn
|
||||
off audit.
|
||||
+ Support for detecting the IMA and AppArmor security
|
||||
frameworks with ConditionSecurity= has been added.
|
||||
+ journalctl gained a new "-k" switch for showing only kernel
|
||||
messages, mimicking dmesg output; in addition to "--user"
|
||||
and "--system" switches for showing only user's own logs
|
||||
and system logs.
|
||||
+ systemd-delta can now show information about drop-in
|
||||
snippets extending unit files.
|
||||
+ systemd will now look for the "debug" argument on the kernel
|
||||
command line and enable debug logging, similar to
|
||||
"systemd.log_level=debug" already did before.
|
||||
+ "systemctl set-default", "systemctl get-default" has been
|
||||
added to configure the default.target symlink, which
|
||||
controls what to boot into by default.
|
||||
+ "systemctl set-log-level" has been added as a convenient
|
||||
way to raise and lower systemd logging threshold.
|
||||
+ "systemd-analyze plot" will now show the time the various
|
||||
generators needed for execution, as well as information
|
||||
about the unit file loading.
|
||||
+ libsystemd-journal gained a new sd_journal_open_files() call
|
||||
for opening specific journal files. journactl also gained a
|
||||
new switch to expose this new functionality (useful for
|
||||
debugging).
|
||||
+ systemd gained the new DefaultEnvironment= setting in
|
||||
/etc/systemd/system.conf to set environment variables for
|
||||
all services.
|
||||
+ If a privileged process logs a journal message with the
|
||||
OBJECT_PID= field set, then journald will automatically
|
||||
augment this with additional OBJECT_UID=, OBJECT_GID=,
|
||||
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
|
||||
system services want to log events about specific client
|
||||
processes. journactl/systemctl has been updated to make use
|
||||
of this information if all log messages regarding a specific
|
||||
unit is requested.
|
||||
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
|
||||
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
|
||||
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
|
||||
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
|
||||
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
|
||||
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
|
||||
Start-ctrl-alt-del.target-irreversibly.patch,
|
||||
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
|
||||
upstream.
|
||||
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
|
||||
1008-add-msft-compability-rules.patch,
|
||||
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
|
||||
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
|
||||
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
|
||||
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
|
||||
insserv-generator.patch,
|
||||
optionally-warn-if-nss-myhostname-is-called.patch,
|
||||
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
|
||||
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
|
||||
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
|
||||
- Update macros.systemd.upstream with latest upstream revision.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Replace
|
||||
parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
|
||||
patch with insserv-generator.patch: no longer patch systemd main
|
||||
binary but generate systemd drop-in files using a generator, for
|
||||
insserv.conf compatibility.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com
|
||||
|
||||
- systemd-mini doesn't need dbus-1, only dbus-1-devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528).
|
||||
add: 1008-add-msft-compability-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Drop 1007-add-msft-compability-rules.patch, breaks boot and links
|
||||
in /dev/disk/by-id, will need proper rework (bnc#826528).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another
|
||||
case where we are trying to umount the root directory at shutdown.
|
||||
- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch
|
||||
only attempt to connect to a session bus if one likely exists
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Automatically online CPUs/Memory on CPU/Memory hotplug add events
|
||||
(bnc#703100, fate#311831).
|
||||
add: 1008-physical-hotplug-cpu-and-memory.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com
|
||||
|
||||
- Dropped backward compatibility
|
||||
- Added check for upstream rpm macros changes
|
||||
@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com
|
||||
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
fix possible infinite loops in the journal code, related to
|
||||
bnc #817778
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
fix possible infinite loops in the journal code, related to
|
||||
bnc #817778
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
Name: systemd-mini
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
Version: 204
|
||||
Version: 207
|
||||
Release: 0
|
||||
Summary: A System and Session Manager
|
||||
License: LGPL-2.1+
|
||||
@ -35,8 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Provides: %{real} = %{version}-%{release}
|
||||
|
||||
BuildRequires: audit-devel
|
||||
BuildRequires: dbus-1
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: dbus-1
|
||||
BuildRequires: docbook-xsl-stylesheets
|
||||
%endif
|
||||
BuildRequires: fdupes
|
||||
@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
|
||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libkmod) >= 5
|
||||
BuildRequires: pkgconfig(libkmod) >= 14
|
||||
BuildRequires: pkgconfig(liblzma)
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: pkgconfig(libmicrohttpd)
|
||||
@ -80,6 +80,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
||||
BuildRequires: pkgconfig(libsepol)
|
||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||
%if 0%{?bootstrap}
|
||||
#!BuildIgnore: dbus-1
|
||||
Requires: this-is-only-for-build-envs
|
||||
Conflicts: systemd
|
||||
Conflicts: kiwi
|
||||
@ -89,6 +90,7 @@ Conflicts: kiwi
|
||||
Requires: %{udevpkgname} >= 172
|
||||
Requires: dbus-1 >= 1.4.0
|
||||
Requires: kbd
|
||||
Requires: kmod >= 14
|
||||
Requires: pam-config >= 0.79-5
|
||||
Requires: pwdutils
|
||||
Requires: systemd-presets-branding
|
||||
@ -105,7 +107,6 @@ Source1: systemd-rpmlintrc
|
||||
Source2: localfs.service
|
||||
Source3: systemd-sysv-convert
|
||||
Source4: macros.systemd
|
||||
Source5: systemd-insserv_conf
|
||||
Source6: baselibs.conf
|
||||
Source7: libgcrypt.m4
|
||||
Source8: systemd-journald.init
|
||||
@ -123,11 +124,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
|
||||
# handle SUSE specific kbd settings
|
||||
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
||||
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch
|
||||
Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
|
||||
Patch6: insserv-generator.patch
|
||||
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
|
||||
Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch
|
||||
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
|
||||
@ -155,7 +155,7 @@ Patch39: systemd-tmp-safe-defaults.patch
|
||||
Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch
|
||||
# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname
|
||||
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
|
||||
|
||||
Patch42: systemd-pam_config.patch
|
||||
# Upstream First - Policy:
|
||||
# Never add any patches to this package without the upstream commit id
|
||||
# in the patch. Any patches added here without a very good reason to make
|
||||
@ -168,20 +168,25 @@ Patch24: handle-etc-HOSTNAME.patch
|
||||
Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch
|
||||
# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind
|
||||
Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
|
||||
# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors.
|
||||
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
|
||||
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
|
||||
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument
|
||||
Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch
|
||||
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
|
||||
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
|
||||
# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead.
|
||||
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
|
||||
Patch47: 0001-journal-letting-interleaved-seqnums-go.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
|
||||
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
|
||||
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
|
||||
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
|
||||
Patch47: systemd-dbus-system-bus-address.patch
|
||||
|
||||
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
|
||||
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
|
||||
Patch49: 0002-cgroup-correct-the-log-information.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
|
||||
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
|
||||
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
|
||||
Patch52: 0005-core-cgroup-first-print-then-free.patch
|
||||
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
|
||||
Patch53: 0006-swap-fix-reverse-dependencies.patch
|
||||
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
|
||||
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
|
||||
|
||||
# udev patches
|
||||
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
|
||||
@ -190,14 +195,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
|
||||
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
|
||||
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
||||
Patch1003: 1003-udev-netlink-null-rules.patch
|
||||
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
|
||||
Patch1004: 1004-fix-devname-prefix.patch
|
||||
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
|
||||
Patch1006: 1006-udev-always-rename-network.patch
|
||||
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
|
||||
Patch1007: 1007-add-msft-compability-rules.patch
|
||||
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
|
||||
Patch1007: 1007-physical-hotplug-cpu-and-memory.patch
|
||||
# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch
|
||||
Patch1008: 1008-add-msft-compability-rules.patch
|
||||
# PATCH-FIX-UPSTREAM libudev: fix move_later comparison
|
||||
Patch1009: 0007-libudev-fix-move_later-comparison.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -365,6 +372,18 @@ is logged to /var/log/messages. Please check whether that's worth
|
||||
a bug report then.
|
||||
This package marks the installation to not use syslog but only the journal.
|
||||
|
||||
%package journal-gateway
|
||||
Summary: Gateway for serving journal events over the network using HTTP
|
||||
License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description journal-gateway
|
||||
systemd-journal-gatewayd serves journal events over the network using HTTP.
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@ -390,7 +409,6 @@ cp %{SOURCE7} m4/
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
@ -414,28 +432,31 @@ cp %{SOURCE7} m4/
|
||||
%patch40 -p1
|
||||
%patch41 -p1
|
||||
%patch42 -p1
|
||||
%patch43 -p1
|
||||
%patch44 -p1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%patch53 -p1
|
||||
%patch54 -p1
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
%patch1003 -p1
|
||||
%patch1004 -p1
|
||||
%patch1005 -p1
|
||||
%patch1006 -p1
|
||||
# don't apply when bootstrapping to not modify Makefile.am
|
||||
%if ! 0%{?bootstrap}
|
||||
%patch1007 -p1
|
||||
%patch1008 -p1
|
||||
%endif
|
||||
%patch1009 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fiv
|
||||
|
||||
# prevent pre-generated and distributed files from re-building
|
||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||
export V=1
|
||||
@ -496,11 +517,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
||||
find %{buildroot} -type f -name '*.la' -delete
|
||||
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
|
||||
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
|
||||
|
||||
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
|
||||
# do not install, code has been fixed, might be useful in the future
|
||||
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
|
||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
|
||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
||||
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
|
||||
@ -532,7 +551,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
|
||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
|
||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
|
||||
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
|
||||
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
|
||||
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
|
||||
# don't mount /tmp as tmpfs for now
|
||||
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
|
||||
|
||||
@ -591,7 +610,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
|
||||
|
||||
# create drop-in to prevent tty1 to be cleared (bnc#804158)
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
|
||||
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
||||
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
||||
[Service]
|
||||
# ensure tty1 isn't cleared (bnc#804158)
|
||||
TTYVTDisallocate=no
|
||||
@ -599,15 +618,11 @@ EOF
|
||||
|
||||
%fdupes -s %{buildroot}%{_mandir}
|
||||
|
||||
# disable predictable network interface naming until it has been reviewed by network team
|
||||
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
|
||||
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
|
||||
EOF
|
||||
# packaged in systemd-rpm-macros
|
||||
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
||||
|
||||
%pre
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
|
||||
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
|
||||
exit 0
|
||||
|
||||
%post
|
||||
@ -630,7 +645,7 @@ fi
|
||||
if [ "$1" -eq 1 ]; then
|
||||
# Enable these services by default.
|
||||
/usr/bin/systemctl enable \
|
||||
getty@.service \
|
||||
getty@tty1.service \
|
||||
systemd-readahead-collect.service \
|
||||
systemd-readahead-replay.service \
|
||||
remote-fs.target >/dev/null 2>&1 || :
|
||||
@ -643,6 +658,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do
|
||||
[ -f "$new_target" ] && ln -s -f $new_target $f || :
|
||||
done
|
||||
|
||||
# since v207 /etc/sysctl.conf is no longer parsed, however
|
||||
# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf
|
||||
if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then
|
||||
/bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
if [ $1 -ge 1 ]; then
|
||||
@ -756,6 +777,21 @@ fi
|
||||
|
||||
%postun -n nss-myhostname -p /sbin/ldconfig
|
||||
|
||||
%pre journal-gateway
|
||||
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
|
||||
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
|
||||
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
exit 0
|
||||
|
||||
%post journal-gateway
|
||||
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%preun journal-gateway
|
||||
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%postun journal-gateway
|
||||
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
@ -767,11 +803,13 @@ fi
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/hostnamectl
|
||||
%{_bindir}/localectl
|
||||
%{_bindir}/machinectl
|
||||
%{_bindir}/systemctl
|
||||
%{_bindir}/systemd-analyze
|
||||
%{_bindir}/systemd-coredumpctl
|
||||
%{_bindir}/systemd-delta
|
||||
%{_bindir}/systemd-notify
|
||||
%{_bindir}/systemd-run
|
||||
%{_bindir}/systemd-journalctl
|
||||
%{_bindir}/journalctl
|
||||
%{_bindir}/systemd-ask-password
|
||||
@ -805,8 +843,10 @@ fi
|
||||
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
||||
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
|
||||
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
|
||||
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
||||
%{_prefix}/lib/systemd/system/*.automount
|
||||
%{_prefix}/lib/systemd/system/*.service
|
||||
%{_prefix}/lib/systemd/system/*.slice
|
||||
%{_prefix}/lib/systemd/system/*.target
|
||||
%{_prefix}/lib/systemd/system/*.mount
|
||||
%{_prefix}/lib/systemd/system/*.timer
|
||||
@ -816,6 +856,7 @@ fi
|
||||
%{_prefix}/lib/systemd/user/*.target
|
||||
%{_prefix}/lib/systemd/user/*.service
|
||||
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
||||
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||
%{_prefix}/lib/systemd/systemd-*
|
||||
%{_prefix}/lib/systemd/systemd
|
||||
%dir %{_prefix}/lib/systemd/catalog
|
||||
@ -841,7 +882,10 @@ fi
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
|
||||
/%{_lib}/security/pam_systemd.so
|
||||
/etc/pam.d/systemd-user
|
||||
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
@ -861,7 +905,7 @@ fi
|
||||
%dir %{_sysconfdir}/systemd/system
|
||||
%dir %{_sysconfdir}/systemd/user
|
||||
%dir %{_sysconfdir}/xdg/systemd
|
||||
%dir %{_sysconfdir}/xdg/systemd/user
|
||||
%{_sysconfdir}/xdg/systemd/user
|
||||
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
||||
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
||||
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
||||
@ -869,6 +913,7 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/systemd/user.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
||||
@ -882,6 +927,7 @@ fi
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
||||
%dir %{_datadir}/polkit-1
|
||||
%dir %{_datadir}/polkit-1/actions
|
||||
@ -890,6 +936,7 @@ fi
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%{_datadir}/systemd
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
@ -902,7 +949,7 @@ fi
|
||||
%exclude %{_mandir}/man8/telinit.8*
|
||||
%exclude %{_mandir}/man8/runlevel.8*
|
||||
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
||||
|
||||
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
|
||||
%{_mandir}/man1/*.1*
|
||||
%{_mandir}/man3/*.3*
|
||||
%{_mandir}/man5/*.5*
|
||||
@ -932,6 +979,9 @@ fi
|
||||
%dir /var/lib/systemd/migrated
|
||||
%dir /var/lib/systemd/catalog
|
||||
%dir /var/lib/systemd/coredump
|
||||
%dir /usr/share/zsh
|
||||
%dir /usr/share/zsh/site-functions
|
||||
/usr/share/zsh/site-functions/*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
@ -984,15 +1034,10 @@ fi
|
||||
%{_prefix}/lib/udev/ata_id
|
||||
%{_prefix}/lib/udev/cdrom_id
|
||||
%{_prefix}/lib/udev/collect
|
||||
%{_prefix}/lib/udev/findkeyboards
|
||||
%{_prefix}/lib/udev/keymap
|
||||
%{_prefix}/lib/udev/mtd_probe
|
||||
%{_prefix}/lib/udev/scsi_id
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/write_dev_root_rule
|
||||
%dir %{_prefix}/lib/udev/keymaps
|
||||
%{_prefix}/lib/udev/keymaps/*
|
||||
%{_prefix}/lib/udev/keyboard-force-release.sh
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||
@ -1071,6 +1116,12 @@ fi
|
||||
%{_sbindir}/nss-myhostname-config
|
||||
/%{_lib}/*nss_myhostname*
|
||||
|
||||
%files journal-gateway
|
||||
%defattr(-, root, root)
|
||||
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
||||
%{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||
%{_mandir}/man8/systemd-journal-gatewayd.*
|
||||
%{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
14
systemd-pam_config.patch
Normal file
14
systemd-pam_config.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff --git a/src/login/systemd-user b/src/login/systemd-user
|
||||
index 7b57dbf..c0fc793 100644
|
||||
--- a/src/login/systemd-user
|
||||
+++ b/src/login/systemd-user
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Used by systemd when launching systemd user instances.
|
||||
|
||||
-account include system-auth
|
||||
-session include system-auth
|
||||
+account include common-account
|
||||
+session include common-session
|
||||
auth required pam_deny.so
|
||||
password required pam_deny.so
|
@ -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
|
||||
|
||||
|
297
systemd.changes
297
systemd.changes
@ -1,3 +1,294 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
|
||||
really fixes the swap unit problem mentioned in previous
|
||||
commit & the opensuse-factory mailing list.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||
missing important check on return value.
|
||||
- 0002-cgroup-correct-the-log-information.patch fix misleading
|
||||
log information.
|
||||
- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix
|
||||
setting memory cgroup
|
||||
- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||
should fail if write fails.
|
||||
- 0005-core-cgroup-first-print-then-free.patch use-after-free
|
||||
will trigger if there is an error condition.
|
||||
- 0006-swap-fix-reverse-dependencies.patch reported in
|
||||
opensuse-factory list, topic "swap isn't activated"
|
||||
- 0007-libudev-fix-move_later-comparison.patch libudev
|
||||
invalid usage of "move_later".
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- while testing this new release I get in the logs ocassionally
|
||||
at boot "systemd[1]: Failed to open private bus connection:
|
||||
Failed to connect to socket /var/run/dbus/system_bus_socket:
|
||||
No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
|
||||
is defined to /var/run/dbus/system_bus_socket instead of
|
||||
/run/dbus/system_bus_socket and that does not fly when /var/run
|
||||
is not yet available. (systemd-dbus-system-bus-address.patch)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Enable Predictable Network interface names (bnc#829526).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- version 207, distribution specific changes follow, for overall
|
||||
release notes see NEWS.
|
||||
- Fixed:
|
||||
* Failed at step PAM spawning /usr/lib/systemd/systemd:
|
||||
Operation not permitted
|
||||
* Fix shutdown hang "a stop job is running for Session 1 of user root"
|
||||
that was reported in opensuse-factory list.
|
||||
- systemd-sysctl no longer reads /etc/sysctl.conf however backward
|
||||
compatbility is to be provides by a symlink created at %post.
|
||||
- removed previously disabled upstream patches (merged):
|
||||
0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch,
|
||||
0004-disable-the-cgroups-release-agent-when-shutting-down.patch,
|
||||
0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch,
|
||||
0006-suppress-status-message-output-at-shutdown-when-quie.patch,
|
||||
- removed upstream merged patches:
|
||||
exclude-dev-from-tmpfiles.patch,
|
||||
logind_update_state_file_after_generating_....patch
|
||||
- Add systemd-pam_config.patch: use correct include name for PAM
|
||||
configuration on openSUSE.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from
|
||||
tmpfiles (bnc#835813).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Remove
|
||||
force-lvm-restart-after-cryptsetup-target-is-reached.patch and
|
||||
remove additional dependencies on LVM in other patches: LVM has
|
||||
now systemd support, no need to work around it anymore in
|
||||
systemd.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com
|
||||
|
||||
- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch
|
||||
to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de
|
||||
|
||||
- explicitly enable getty@tty1.service instead of getty@.service as
|
||||
the tty1 alias has been removed from the file (bnc#833494)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
|
||||
and owned by systemd package.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Fix drop-in for getty@tty1.service
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Move systemd-journal-gateway to subpackage to lower dependencies
|
||||
in default install.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- version 206 , highlights:
|
||||
* Unit files now understand the new %v specifier which
|
||||
resolves to the kernel version string as returned by "uname-r".
|
||||
* "journalctl -b" may now be used to look for boot output of a
|
||||
specific boot. Try "journalctl -b -1"
|
||||
* Creation of "dead" device nodes has been moved from udev
|
||||
into kmod and tmpfiles.
|
||||
* The udev "keymap" data files and tools to apply keyboard
|
||||
specific mappings of scan to key codes, and force-release
|
||||
scan code lists have been entirely replaced by a udev
|
||||
"keyboard" builtin and a hwdb data file.
|
||||
|
||||
- remove patches now in upstream
|
||||
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
|
||||
- systemd now require the kmod tool in addition to the library.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
|
||||
|
||||
- use-usr-sbin-sulogin-for-emergency-service.patch
|
||||
emergency.service failed to start because sulogin is in /usr/sbin now
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
|
||||
|
||||
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
|
||||
not a directory
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
|
||||
fix segfault at shutdown
|
||||
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
|
||||
disable the cgroups release agent when shutting down.
|
||||
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
|
||||
remove ancient fallback code; turn connection error into warning
|
||||
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
|
||||
make shutdown honour "quiet" kernel cmdline.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- fix broken symlink, service is called systemd-random-seed now.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
|
||||
|
||||
- Update to release 205:
|
||||
+ two new unit types have been introduced:
|
||||
- Scope units are very similar to service units, however, are
|
||||
created out of pre-existing processes -- instead of PID 1
|
||||
forking off the processes.
|
||||
- Slice units may be used to partition system resources in an
|
||||
hierarchial fashion and then assign other units to them. By
|
||||
default there are now three slices: system.slice (for all
|
||||
system services), user.slice (for all user sessions),
|
||||
machine.slice (for VMs and containers).
|
||||
+ new concept of "transient" units, which are created at runtime
|
||||
using an API and not based on configuration from disk.
|
||||
+ logind has been updated to make use of scope and slice units to
|
||||
manage user sessions. Logind will no longer create cgroups
|
||||
hierchies itself but will relying on PID 1.
|
||||
+ A new mini-daemon "systemd-machined" has been added which
|
||||
may be used by virtualization managers to register local
|
||||
VMs/containers. machinectl tool has been added to query
|
||||
meta-data from systemd-machined.
|
||||
+ Low-level cgroup configuration options ControlGroup=,
|
||||
ControlGroupModify=, ControlGroupPersistent=,
|
||||
ControlGroupAttribute= have been removed. High-level attribute
|
||||
settings or slice units should be used instead?
|
||||
+ A new bus call SetUnitProperties() has been added to alter
|
||||
various runtime parameters of a unit, including cgroup
|
||||
parameters. systemctl gained set-properties command to wrap
|
||||
this call.
|
||||
+ A new tool "systemd-run" has been added which can be used to
|
||||
run arbitrary command lines as transient services or scopes,
|
||||
while configuring a number of settings via the command
|
||||
line.
|
||||
+ nspawn will now inform the user explicitly that kernels with
|
||||
audit enabled break containers, and suggest the user to turn
|
||||
off audit.
|
||||
+ Support for detecting the IMA and AppArmor security
|
||||
frameworks with ConditionSecurity= has been added.
|
||||
+ journalctl gained a new "-k" switch for showing only kernel
|
||||
messages, mimicking dmesg output; in addition to "--user"
|
||||
and "--system" switches for showing only user's own logs
|
||||
and system logs.
|
||||
+ systemd-delta can now show information about drop-in
|
||||
snippets extending unit files.
|
||||
+ systemd will now look for the "debug" argument on the kernel
|
||||
command line and enable debug logging, similar to
|
||||
"systemd.log_level=debug" already did before.
|
||||
+ "systemctl set-default", "systemctl get-default" has been
|
||||
added to configure the default.target symlink, which
|
||||
controls what to boot into by default.
|
||||
+ "systemctl set-log-level" has been added as a convenient
|
||||
way to raise and lower systemd logging threshold.
|
||||
+ "systemd-analyze plot" will now show the time the various
|
||||
generators needed for execution, as well as information
|
||||
about the unit file loading.
|
||||
+ libsystemd-journal gained a new sd_journal_open_files() call
|
||||
for opening specific journal files. journactl also gained a
|
||||
new switch to expose this new functionality (useful for
|
||||
debugging).
|
||||
+ systemd gained the new DefaultEnvironment= setting in
|
||||
/etc/systemd/system.conf to set environment variables for
|
||||
all services.
|
||||
+ If a privileged process logs a journal message with the
|
||||
OBJECT_PID= field set, then journald will automatically
|
||||
augment this with additional OBJECT_UID=, OBJECT_GID=,
|
||||
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
|
||||
system services want to log events about specific client
|
||||
processes. journactl/systemctl has been updated to make use
|
||||
of this information if all log messages regarding a specific
|
||||
unit is requested.
|
||||
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
|
||||
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
|
||||
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
|
||||
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
|
||||
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
|
||||
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
|
||||
Start-ctrl-alt-del.target-irreversibly.patch,
|
||||
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
|
||||
upstream.
|
||||
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
|
||||
1008-add-msft-compability-rules.patch,
|
||||
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
|
||||
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
|
||||
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
|
||||
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
|
||||
insserv-generator.patch,
|
||||
optionally-warn-if-nss-myhostname-is-called.patch,
|
||||
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
|
||||
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
|
||||
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
|
||||
- Update macros.systemd.upstream with latest upstream revision.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com
|
||||
|
||||
- Replace
|
||||
parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
|
||||
patch with insserv-generator.patch: no longer patch systemd main
|
||||
binary but generate systemd drop-in files using a generator, for
|
||||
insserv.conf compatibility.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com
|
||||
|
||||
- systemd-mini doesn't need dbus-1, only dbus-1-devel
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528).
|
||||
add: 1008-add-msft-compability-rules.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Drop 1007-add-msft-compability-rules.patch, breaks boot and links
|
||||
in /dev/disk/by-id, will need proper rework (bnc#826528).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another
|
||||
case where we are trying to umount the root directory at shutdown.
|
||||
- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch
|
||||
only attempt to connect to a session bus if one likely exists
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com
|
||||
|
||||
- Automatically online CPUs/Memory on CPU/Memory hotplug add events
|
||||
(bnc#703100, fate#311831).
|
||||
add: 1008-physical-hotplug-cpu-and-memory.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com
|
||||
|
||||
@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com
|
||||
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
|
||||
|
||||
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
fix possible infinite loops in the journal code, related to
|
||||
bnc #817778
|
||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
fix possible infinite loops in the journal code, related to
|
||||
bnc #817778
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
||||
|
153
systemd.spec
153
systemd.spec
@ -23,15 +23,15 @@
|
||||
|
||||
Name: systemd
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
Version: 204
|
||||
Version: 207
|
||||
Release: 0
|
||||
Summary: A System and Session Manager
|
||||
License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: audit-devel
|
||||
BuildRequires: dbus-1
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: dbus-1
|
||||
BuildRequires: docbook-xsl-stylesheets
|
||||
%endif
|
||||
BuildRequires: fdupes
|
||||
@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: libgcrypt-devel
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
|
||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libkmod) >= 5
|
||||
BuildRequires: pkgconfig(libkmod) >= 14
|
||||
BuildRequires: pkgconfig(liblzma)
|
||||
%if ! 0%{?bootstrap}
|
||||
BuildRequires: pkgconfig(libmicrohttpd)
|
||||
@ -75,6 +75,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
||||
BuildRequires: pkgconfig(libsepol)
|
||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||
%if 0%{?bootstrap}
|
||||
#!BuildIgnore: dbus-1
|
||||
Requires: this-is-only-for-build-envs
|
||||
Conflicts: systemd
|
||||
Conflicts: kiwi
|
||||
@ -84,6 +85,7 @@ Conflicts: kiwi
|
||||
Requires: %{udevpkgname} >= 172
|
||||
Requires: dbus-1 >= 1.4.0
|
||||
Requires: kbd
|
||||
Requires: kmod >= 14
|
||||
Requires: pam-config >= 0.79-5
|
||||
Requires: pwdutils
|
||||
Requires: systemd-presets-branding
|
||||
@ -100,7 +102,6 @@ Source1: systemd-rpmlintrc
|
||||
Source2: localfs.service
|
||||
Source3: systemd-sysv-convert
|
||||
Source4: macros.systemd
|
||||
Source5: systemd-insserv_conf
|
||||
Source6: baselibs.conf
|
||||
Source7: libgcrypt.m4
|
||||
Source8: systemd-journald.init
|
||||
@ -118,11 +119,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
|
||||
# handle SUSE specific kbd settings
|
||||
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
||||
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch
|
||||
Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
|
||||
Patch6: insserv-generator.patch
|
||||
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
|
||||
Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch
|
||||
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
|
||||
@ -150,7 +150,7 @@ Patch39: systemd-tmp-safe-defaults.patch
|
||||
Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch
|
||||
# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname
|
||||
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
|
||||
|
||||
Patch42: systemd-pam_config.patch
|
||||
# Upstream First - Policy:
|
||||
# Never add any patches to this package without the upstream commit id
|
||||
# in the patch. Any patches added here without a very good reason to make
|
||||
@ -163,20 +163,25 @@ Patch24: handle-etc-HOSTNAME.patch
|
||||
Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch
|
||||
# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind
|
||||
Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
|
||||
# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors.
|
||||
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
|
||||
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
|
||||
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument
|
||||
Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch
|
||||
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
|
||||
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
|
||||
# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead.
|
||||
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
|
||||
Patch47: 0001-journal-letting-interleaved-seqnums-go.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
|
||||
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
|
||||
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
|
||||
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
|
||||
Patch47: systemd-dbus-system-bus-address.patch
|
||||
|
||||
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
|
||||
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
|
||||
Patch49: 0002-cgroup-correct-the-log-information.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
|
||||
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
|
||||
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
|
||||
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
|
||||
Patch52: 0005-core-cgroup-first-print-then-free.patch
|
||||
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
|
||||
Patch53: 0006-swap-fix-reverse-dependencies.patch
|
||||
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
|
||||
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
|
||||
|
||||
# udev patches
|
||||
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
|
||||
@ -185,14 +190,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
|
||||
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
|
||||
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
||||
Patch1003: 1003-udev-netlink-null-rules.patch
|
||||
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
|
||||
Patch1004: 1004-fix-devname-prefix.patch
|
||||
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
|
||||
Patch1006: 1006-udev-always-rename-network.patch
|
||||
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
|
||||
Patch1007: 1007-add-msft-compability-rules.patch
|
||||
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
|
||||
Patch1007: 1007-physical-hotplug-cpu-and-memory.patch
|
||||
# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch
|
||||
Patch1008: 1008-add-msft-compability-rules.patch
|
||||
# PATCH-FIX-UPSTREAM libudev: fix move_later comparison
|
||||
Patch1009: 0007-libudev-fix-move_later-comparison.patch
|
||||
|
||||
%description
|
||||
Systemd is a system and service manager, compatible with SysV and LSB
|
||||
@ -360,6 +367,18 @@ is logged to /var/log/messages. Please check whether that's worth
|
||||
a bug report then.
|
||||
This package marks the installation to not use syslog but only the journal.
|
||||
|
||||
%package journal-gateway
|
||||
Summary: Gateway for serving journal events over the network using HTTP
|
||||
License: LGPL-2.1+
|
||||
Group: System/Base
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description journal-gateway
|
||||
systemd-journal-gatewayd serves journal events over the network using HTTP.
|
||||
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@ -385,7 +404,6 @@ cp %{SOURCE7} m4/
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
@ -409,28 +427,31 @@ cp %{SOURCE7} m4/
|
||||
%patch40 -p1
|
||||
%patch41 -p1
|
||||
%patch42 -p1
|
||||
%patch43 -p1
|
||||
%patch44 -p1
|
||||
%patch45 -p1
|
||||
%patch46 -p1
|
||||
%patch47 -p1
|
||||
%patch48 -p1
|
||||
%patch49 -p1
|
||||
%patch50 -p1
|
||||
%patch51 -p1
|
||||
%patch52 -p1
|
||||
%patch53 -p1
|
||||
%patch54 -p1
|
||||
|
||||
# udev patches
|
||||
%patch1001 -p1
|
||||
%patch1002 -p1
|
||||
%patch1003 -p1
|
||||
%patch1004 -p1
|
||||
%patch1005 -p1
|
||||
%patch1006 -p1
|
||||
# don't apply when bootstrapping to not modify Makefile.am
|
||||
%if ! 0%{?bootstrap}
|
||||
%patch1007 -p1
|
||||
%patch1008 -p1
|
||||
%endif
|
||||
%patch1009 -p1
|
||||
|
||||
%build
|
||||
autoreconf -fiv
|
||||
|
||||
# prevent pre-generated and distributed files from re-building
|
||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||
export V=1
|
||||
@ -491,11 +512,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
||||
find %{buildroot} -type f -name '*.la' -delete
|
||||
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
|
||||
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
|
||||
|
||||
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
|
||||
# do not install, code has been fixed, might be useful in the future
|
||||
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
|
||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
|
||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
||||
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
|
||||
@ -527,7 +546,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
|
||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
|
||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
|
||||
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
|
||||
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
|
||||
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
|
||||
# don't mount /tmp as tmpfs for now
|
||||
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
|
||||
|
||||
@ -586,7 +605,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
|
||||
|
||||
# create drop-in to prevent tty1 to be cleared (bnc#804158)
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
|
||||
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
||||
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
|
||||
[Service]
|
||||
# ensure tty1 isn't cleared (bnc#804158)
|
||||
TTYVTDisallocate=no
|
||||
@ -594,15 +613,11 @@ EOF
|
||||
|
||||
%fdupes -s %{buildroot}%{_mandir}
|
||||
|
||||
# disable predictable network interface naming until it has been reviewed by network team
|
||||
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
|
||||
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
|
||||
EOF
|
||||
# packaged in systemd-rpm-macros
|
||||
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
||||
|
||||
%pre
|
||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
||||
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
|
||||
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
|
||||
exit 0
|
||||
|
||||
%post
|
||||
@ -625,7 +640,7 @@ fi
|
||||
if [ "$1" -eq 1 ]; then
|
||||
# Enable these services by default.
|
||||
/usr/bin/systemctl enable \
|
||||
getty@.service \
|
||||
getty@tty1.service \
|
||||
systemd-readahead-collect.service \
|
||||
systemd-readahead-replay.service \
|
||||
remote-fs.target >/dev/null 2>&1 || :
|
||||
@ -638,6 +653,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do
|
||||
[ -f "$new_target" ] && ln -s -f $new_target $f || :
|
||||
done
|
||||
|
||||
# since v207 /etc/sysctl.conf is no longer parsed, however
|
||||
# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf
|
||||
if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then
|
||||
/bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
/sbin/ldconfig
|
||||
if [ $1 -ge 1 ]; then
|
||||
@ -751,6 +772,21 @@ fi
|
||||
|
||||
%postun -n nss-myhostname -p /sbin/ldconfig
|
||||
|
||||
%pre journal-gateway
|
||||
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
|
||||
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
|
||||
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
exit 0
|
||||
|
||||
%post journal-gateway
|
||||
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%preun journal-gateway
|
||||
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%postun journal-gateway
|
||||
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
|
||||
|
||||
%endif
|
||||
|
||||
%files
|
||||
@ -762,11 +798,13 @@ fi
|
||||
%{_bindir}/kernel-install
|
||||
%{_bindir}/hostnamectl
|
||||
%{_bindir}/localectl
|
||||
%{_bindir}/machinectl
|
||||
%{_bindir}/systemctl
|
||||
%{_bindir}/systemd-analyze
|
||||
%{_bindir}/systemd-coredumpctl
|
||||
%{_bindir}/systemd-delta
|
||||
%{_bindir}/systemd-notify
|
||||
%{_bindir}/systemd-run
|
||||
%{_bindir}/systemd-journalctl
|
||||
%{_bindir}/journalctl
|
||||
%{_bindir}/systemd-ask-password
|
||||
@ -800,8 +838,10 @@ fi
|
||||
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
||||
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
|
||||
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
|
||||
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
||||
%{_prefix}/lib/systemd/system/*.automount
|
||||
%{_prefix}/lib/systemd/system/*.service
|
||||
%{_prefix}/lib/systemd/system/*.slice
|
||||
%{_prefix}/lib/systemd/system/*.target
|
||||
%{_prefix}/lib/systemd/system/*.mount
|
||||
%{_prefix}/lib/systemd/system/*.timer
|
||||
@ -811,6 +851,7 @@ fi
|
||||
%{_prefix}/lib/systemd/user/*.target
|
||||
%{_prefix}/lib/systemd/user/*.service
|
||||
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
||||
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||
%{_prefix}/lib/systemd/systemd-*
|
||||
%{_prefix}/lib/systemd/systemd
|
||||
%dir %{_prefix}/lib/systemd/catalog
|
||||
@ -836,7 +877,10 @@ fi
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
|
||||
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
|
||||
/%{_lib}/security/pam_systemd.so
|
||||
/etc/pam.d/systemd-user
|
||||
|
||||
%dir %{_libexecdir}/modules-load.d
|
||||
%dir %{_sysconfdir}/modules-load.d
|
||||
@ -856,7 +900,7 @@ fi
|
||||
%dir %{_sysconfdir}/systemd/system
|
||||
%dir %{_sysconfdir}/systemd/user
|
||||
%dir %{_sysconfdir}/xdg/systemd
|
||||
%dir %{_sysconfdir}/xdg/systemd/user
|
||||
%{_sysconfdir}/xdg/systemd/user
|
||||
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
||||
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
||||
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
||||
@ -864,6 +908,7 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/systemd/user.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
|
||||
@ -877,6 +922,7 @@ fi
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
||||
%dir %{_datadir}/polkit-1
|
||||
%dir %{_datadir}/polkit-1/actions
|
||||
@ -885,6 +931,7 @@ fi
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
||||
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
||||
%exclude %{_datadir}/systemd/gatewayd
|
||||
%{_datadir}/systemd
|
||||
|
||||
%if ! 0%{?bootstrap}
|
||||
@ -897,7 +944,7 @@ fi
|
||||
%exclude %{_mandir}/man8/telinit.8*
|
||||
%exclude %{_mandir}/man8/runlevel.8*
|
||||
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
||||
|
||||
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
|
||||
%{_mandir}/man1/*.1*
|
||||
%{_mandir}/man3/*.3*
|
||||
%{_mandir}/man5/*.5*
|
||||
@ -927,6 +974,9 @@ fi
|
||||
%dir /var/lib/systemd/migrated
|
||||
%dir /var/lib/systemd/catalog
|
||||
%dir /var/lib/systemd/coredump
|
||||
%dir /usr/share/zsh
|
||||
%dir /usr/share/zsh/site-functions
|
||||
/usr/share/zsh/site-functions/*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
@ -979,15 +1029,10 @@ fi
|
||||
%{_prefix}/lib/udev/ata_id
|
||||
%{_prefix}/lib/udev/cdrom_id
|
||||
%{_prefix}/lib/udev/collect
|
||||
%{_prefix}/lib/udev/findkeyboards
|
||||
%{_prefix}/lib/udev/keymap
|
||||
%{_prefix}/lib/udev/mtd_probe
|
||||
%{_prefix}/lib/udev/scsi_id
|
||||
%{_prefix}/lib/udev/v4l_id
|
||||
%{_prefix}/lib/udev/write_dev_root_rule
|
||||
%dir %{_prefix}/lib/udev/keymaps
|
||||
%{_prefix}/lib/udev/keymaps/*
|
||||
%{_prefix}/lib/udev/keyboard-force-release.sh
|
||||
%dir %{_prefix}/lib/udev/rules.d/
|
||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||
@ -1066,6 +1111,12 @@ fi
|
||||
%{_sbindir}/nss-myhostname-config
|
||||
/%{_lib}/*nss_myhostname*
|
||||
|
||||
%files journal-gateway
|
||||
%defattr(-, root, root)
|
||||
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
|
||||
%{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||
%{_mandir}/man8/systemd-journal-gatewayd.*
|
||||
%{_datadir}/systemd/gatewayd
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
@ -6,10 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock
|
||||
src/timedate/timedated.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
|
||||
index cdb6e5b..7246452 100644
|
||||
--- a/src/timedate/timedated.c
|
||||
+++ b/src/timedate/timedated.c
|
||||
--- systemd-206_git201308300826.orig/src/timedate/timedated.c
|
||||
+++ systemd-206_git201308300826/src/timedate/timedated.c
|
||||
@@ -182,6 +182,13 @@ static int read_data(void) {
|
||||
goto have_timezone;
|
||||
}
|
||||
|
16
use-usr-sbin-sulogin-for-emergency-service.patch
Normal file
16
use-usr-sbin-sulogin-for-emergency-service.patch
Normal file
@ -0,0 +1,16 @@
|
||||
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.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…
x
Reference in New Issue
Block a user