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 +++++++++++++++++++++++++++++++++++------
|
src/udev/udev-builtin-path_id.c | 92 +++++++++++++++++++++++++++++++++++------
|
||||||
1 file changed, 80 insertions(+), 12 deletions(-)
|
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
|
--- systemd-206.orig/src/udev/udev-builtin-path_id.c
|
||||||
index da02731..a77d4e8 100644
|
+++ systemd-206/src/udev/udev-builtin-path_id.c
|
||||||
--- a/src/udev/udev-builtin-path_id.c
|
@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_h
|
||||||
+++ b/src/udev/udev-builtin-path_id.c
|
|
||||||
@@ -338,6 +338,85 @@ static struct udev_device *handle_scsi_hyperv(struct udev_device *parent, char *
|
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,7 +95,7 @@ index da02731..a77d4e8 100644
|
|||||||
static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
|
static struct udev_device *handle_scsi(struct udev_device *parent, char **path)
|
||||||
{
|
{
|
||||||
const char *devtype;
|
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;
|
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 ++++
|
rules/60-persistent-storage.rules | 4 ++++
|
||||||
1 file changed, 4 insertions(+)
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
|
--- systemd-206.orig/rules/60-persistent-storage.rules
|
||||||
index a4d009a..f720c7e 100644
|
+++ systemd-206/rules/60-persistent-storage.rules
|
||||||
--- a/rules/60-persistent-storage.rules
|
@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk",
|
||||||
+++ b/rules/60-persistent-storage.rules
|
|
||||||
@@ -42,6 +42,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="s
|
|
||||||
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
|
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"
|
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 ++
|
src/udev/udevd.c | 2 ++
|
||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
Index: systemd-202/src/udev/udevd.c
|
--- systemd-206.orig/src/udev/udevd.c
|
||||||
===================================================================
|
+++ systemd-206/src/udev/udevd.c
|
||||||
--- systemd-202.orig/src/udev/udevd.c
|
@@ -1337,6 +1337,8 @@ int main(int argc, char *argv[])
|
||||||
+++ systemd-202/src/udev/udevd.c
|
|
||||||
@@ -1407,6 +1407,8 @@ int main(int argc, char *argv[])
|
|
||||||
dev = udev_monitor_receive_device(monitor);
|
dev = udev_monitor_receive_device(monitor);
|
||||||
if (dev != NULL) {
|
if (dev != NULL) {
|
||||||
udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC));
|
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 ++++-
|
rules/60-cdrom_id.rules | 5 ++++-
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/rules/60-cdrom_id.rules b/rules/60-cdrom_id.rules
|
--- systemd-206.orig/rules/60-cdrom_id.rules
|
||||||
index 6eaf76a..ec0b19a 100644
|
+++ systemd-206/rules/60-cdrom_id.rules
|
||||||
--- a/rules/60-cdrom_id.rules
|
@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdr
|
||||||
+++ b/rules/60-cdrom_id.rules
|
|
||||||
@@ -15,6 +15,9 @@ ENV{DISK_EJECT_REQUEST}=="?*", RUN+="cdrom_id --eject-media $devnode", GOTO="cdr
|
|
||||||
# enable the receiving of media eject button events
|
# enable the receiving of media eject button events
|
||||||
IMPORT{program}="cdrom_id --lock-media $devnode"
|
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 +++++++++++++++++++++++++++++++++++++++++++---
|
src/udev/udev-event.c | 46 +++++++++++++++++++++++++++++++++++++++++++---
|
||||||
1 file changed, 43 insertions(+), 3 deletions(-)
|
1 file changed, 43 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
Index: systemd-204/src/udev/udev-event.c
|
--- systemd-206.orig/src/udev/udev-event.c
|
||||||
===================================================================
|
+++ systemd-206/src/udev/udev-event.c
|
||||||
--- systemd-204.orig/src/udev/udev-event.c
|
|
||||||
+++ systemd-204/src/udev/udev-event.c
|
|
||||||
@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even
|
@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even
|
||||||
struct udev_device *dev = event->dev;
|
struct udev_device *dev = event->dev;
|
||||||
int sk;
|
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 ++++---
|
tmpfiles.d/legacy.conf | 7 ++++---
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf
|
--- systemd-206_git201308300826.orig/tmpfiles.d/legacy.conf
|
||||||
index 3fff347..81d5e47 100644
|
+++ systemd-206_git201308300826/tmpfiles.d/legacy.conf
|
||||||
--- a/tmpfiles.d/legacy.conf
|
|
||||||
+++ b/tmpfiles.d/legacy.conf
|
|
||||||
@@ -10,12 +10,13 @@
|
@@ -10,12 +10,13 @@
|
||||||
# These files are considered legacy and are unnecessary on legacy-free
|
# These files are considered legacy and are unnecessary on legacy-free
|
||||||
# systems.
|
# systems.
|
||||||
|
@ -7,10 +7,8 @@ forward suspend/hibernation calls to pm-utils, if installed (bnc#790157)
|
|||||||
src/sleep/sleep.c | 26 ++++++++++++++++++++++----
|
src/sleep/sleep.c | 26 ++++++++++++++++++++++----
|
||||||
1 file changed, 22 insertions(+), 4 deletions(-)
|
1 file changed, 22 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
|
--- systemd-206.orig/src/sleep/sleep.c
|
||||||
index a56ab89..232ab67 100644
|
+++ systemd-206/src/sleep/sleep.c
|
||||||
--- a/src/sleep/sleep.c
|
|
||||||
+++ b/src/sleep/sleep.c
|
|
||||||
@@ -24,6 +24,7 @@
|
@@ -24,6 +24,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -38,7 +36,7 @@ index a56ab89..232ab67 100644
|
|||||||
|
|
||||||
return r;
|
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;
|
FILE *f;
|
||||||
const char* note = strappenda("SLEEP=", arg_verb);
|
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,
|
/* This file is opened first, so that if we hit an error,
|
||||||
* we can abort before modyfing any state. */
|
* we can abort before modyfing any state. */
|
||||||
f = fopen("/sys/power/state", "we");
|
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);
|
r = write_mode(modes);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
@ -55,7 +53,7 @@ index a56ab89..232ab67 100644
|
|||||||
|
|
||||||
arguments[0] = NULL;
|
arguments[0] = NULL;
|
||||||
arguments[1] = (char*) "pre";
|
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...",
|
"MESSAGE=Suspending system...",
|
||||||
note,
|
note,
|
||||||
NULL);
|
NULL);
|
||||||
@ -67,7 +65,7 @@ index a56ab89..232ab67 100644
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
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;
|
int c;
|
||||||
@ -75,7 +73,7 @@ index a56ab89..232ab67 100644
|
|||||||
|
|
||||||
assert(argc >= 0);
|
assert(argc >= 0);
|
||||||
assert(argv);
|
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;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,10 +10,8 @@ Conflicts:
|
|||||||
src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++-----
|
src/core/service.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++-----
|
||||||
1 file changed, 46 insertions(+), 5 deletions(-)
|
1 file changed, 46 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
Index: systemd-204/src/core/service.c
|
--- systemd-206.orig/src/core/service.c
|
||||||
===================================================================
|
+++ systemd-206/src/core/service.c
|
||||||
--- systemd-204.orig/src/core/service.c
|
|
||||||
+++ systemd-204/src/core/service.c
|
|
||||||
@@ -51,7 +51,8 @@
|
@@ -51,7 +51,8 @@
|
||||||
|
|
||||||
typedef enum RunlevelType {
|
typedef enum RunlevelType {
|
||||||
@ -55,7 +53,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
|
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"))
|
if (endswith(name, ".sh"))
|
||||||
/* Drop .sh suffix */
|
/* Drop .sh suffix */
|
||||||
strcpy(stpcpy(r, name) - 3, ".service");
|
strcpy(stpcpy(r, name) - 3, ".service");
|
||||||
@ -65,7 +63,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
else
|
else
|
||||||
/* Normal init script name */
|
/* Normal init script name */
|
||||||
strcpy(stpcpy(r, name), ".service");
|
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)
|
if ((r = sysv_exec_commands(s, supports_reload)) < 0)
|
||||||
goto finish;
|
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 (s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) {
|
||||||
/* If there a runlevels configured for this service
|
/* 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"))
|
if (endswith(name, ".sh.service"))
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
@ -89,7 +87,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) {
|
STRV_FOREACH(p, UNIT(s)->manager->lookup_paths.sysvinit_path) {
|
||||||
char *path;
|
char *path;
|
||||||
int r;
|
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);
|
free(path);
|
||||||
|
|
||||||
@ -108,7 +106,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
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') {
|
if (de->d_name[0] == 'S') {
|
||||||
|
|
||||||
@ -117,7 +115,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
SERVICE(service)->sysv_start_priority_from_rcnd =
|
SERVICE(service)->sysv_start_priority_from_rcnd =
|
||||||
MAX(a*10 + b, 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;
|
goto finish;
|
||||||
|
|
||||||
} else if (de->d_name[0] == 'K' &&
|
} else if (de->d_name[0] == 'K' &&
|
||||||
@ -127,7 +125,7 @@ Index: systemd-204/src/core/service.c
|
|||||||
|
|
||||||
r = set_ensure_allocated(&shutdown_services,
|
r = set_ensure_allocated(&shutdown_services,
|
||||||
trivial_hash_func, trivial_compare_func);
|
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
|
* runlevels we assume the stop jobs will be implicitly added
|
||||||
* by the core logic. Also, we don't really distinguish here
|
* by the core logic. Also, we don't really distinguish here
|
||||||
* between the runlevels 0 and 6 and just add them to the
|
* 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 +
|
units/serial-getty@.service.m4 | 1 +
|
||||||
3 files changed, 3 insertions(+)
|
3 files changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
|
--- systemd-206.orig/units/getty@.service.m4
|
||||||
index 083eb97..243fea5 100644
|
+++ systemd-206/units/getty@.service.m4
|
||||||
--- a/units/getty@.service.m4
|
|
||||||
+++ b/units/getty@.service.m4
|
|
||||||
@@ -9,6 +9,7 @@
|
@@ -9,6 +9,7 @@
|
||||||
Description=Getty on %I
|
Description=Getty on %I
|
||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
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
|
After=systemd-user-sessions.service plymouth-quit-wait.service
|
||||||
m4_ifdef(`HAVE_SYSV_COMPAT',
|
m4_ifdef(`HAVE_SYSV_COMPAT',
|
||||||
After=rc-local.service
|
After=rc-local.service
|
||||||
diff --git a/units/rescue.target b/units/rescue.target
|
--- systemd-206.orig/units/rescue.target
|
||||||
index 3f59b14..20f6841 100644
|
+++ systemd-206/units/rescue.target
|
||||||
--- a/units/rescue.target
|
|
||||||
+++ b/units/rescue.target
|
|
||||||
@@ -10,6 +10,7 @@ Description=Rescue Mode
|
@@ -10,6 +10,7 @@ Description=Rescue Mode
|
||||||
Documentation=man:systemd.special(7)
|
Documentation=man:systemd.special(7)
|
||||||
Requires=sysinit.target rescue.service
|
Requires=sysinit.target rescue.service
|
||||||
@ -33,10 +29,8 @@ index 3f59b14..20f6841 100644
|
|||||||
AllowIsolate=yes
|
AllowIsolate=yes
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
|
--- systemd-206.orig/units/serial-getty@.service.m4
|
||||||
index 60d7737..2b18dbf 100644
|
+++ systemd-206/units/serial-getty@.service.m4
|
||||||
--- a/units/serial-getty@.service.m4
|
|
||||||
+++ b/units/serial-getty@.service.m4
|
|
||||||
@@ -10,6 +10,7 @@ Description=Serial Getty on %I
|
@@ -10,6 +10,7 @@ Description=Serial Getty on %I
|
||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||||
Documentation=http://0pointer.de/blog/projects/serial-console.html
|
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 +++
|
src/login/logind-acl.c | 3 +++
|
||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
|
--- systemd-206.orig/src/login/logind-acl.c
|
||||||
index cb045a9..51093f2 100644
|
+++ systemd-206/src/login/logind-acl.c
|
||||||
--- a/src/login/logind-acl.c
|
|
||||||
+++ b/src/login/logind-acl.c
|
|
||||||
@@ -24,6 +24,7 @@
|
@@ -24,6 +24,7 @@
|
||||||
#include <acl/libacl.h>
|
#include <acl/libacl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -19,8 +17,8 @@ index cb045a9..51093f2 100644
|
|||||||
|
|
||||||
#include "logind-acl.h"
|
#include "logind-acl.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev,
|
@@ -287,6 +288,22 @@ int devnode_acl_all(struct udev *udev,
|
||||||
goto finish;
|
r = devnode_acl(n, flush, del, old_uid, add, new_uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ /* only search for nvidia* if /dev/nvidiactl exists */
|
+ /* only search for nvidia* if /dev/nvidiactl exists */
|
||||||
@ -40,5 +38,5 @@ index cb045a9..51093f2 100644
|
|||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
finish:
|
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 ++++++
|
src/nss-myhostname/nss-myhostname.c | 6 ++++++
|
||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
|
--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c
|
||||||
index 60e256d..e97d4e5 100644
|
+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c
|
||||||
--- a/src/nss-myhostname/nss-myhostname.c
|
@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostb
|
||||||
+++ b/src/nss-myhostname/nss-myhostname.c
|
|
||||||
@@ -442,6 +442,12 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
|
|
||||||
uint32_t local_address_ipv4 = LOCALADDRESS_IPV4;
|
uint32_t local_address_ipv4 = LOCALADDRESS_IPV4;
|
||||||
const char *canonical = NULL, *additional = NULL;
|
const char *canonical = NULL, *additional = NULL;
|
||||||
|
|
||||||
|
@ -1,34 +1,30 @@
|
|||||||
From: Frederic Crozat <fcrozat@suse.com>
|
From: Frederic Crozat <fcrozat@suse.com>
|
||||||
Date: Wed, 9 Nov 2011 11:10:49 +0100
|
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 +
|
src/cryptsetup/cryptsetup-generator.c | 1 +
|
||||||
units/systemd-fsck@.service.in | 2 +-
|
units/systemd-fsck@.service.in | 2 +-
|
||||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
|
--- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c
|
||||||
index 9b8e229..0949287 100644
|
+++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c
|
||||||
--- a/src/cryptsetup/cryptsetup-generator.c
|
|
||||||
+++ b/src/cryptsetup/cryptsetup-generator.c
|
|
||||||
@@ -160,6 +160,7 @@ static int create_disk(
|
@@ -160,6 +160,7 @@ static int create_disk(
|
||||||
"Conflicts=umount.target\n"
|
"Conflicts=umount.target\n"
|
||||||
"DefaultDependencies=no\n"
|
"DefaultDependencies=no\n"
|
||||||
"BindsTo=dev-mapper-%i.device\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",
|
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
|
||||||
f);
|
f);
|
||||||
|
|
||||||
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
|
--- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in
|
||||||
index b3c71eb..c66a411 100644
|
+++ systemd-206_git201308300826/units/systemd-fsck@.service.in
|
||||||
--- a/units/systemd-fsck@.service.in
|
|
||||||
+++ b/units/systemd-fsck@.service.in
|
|
||||||
@@ -10,7 +10,7 @@ Description=File System Check on %f
|
@@ -10,7 +10,7 @@ Description=File System Check on %f
|
||||||
Documentation=man:systemd-fsck@.service(8)
|
Documentation=man:systemd-fsck@.service(8)
|
||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
BindsTo=%i.device
|
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
|
||||||
+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
|
Before=shutdown.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
@ -6,10 +6,8 @@ Subject: disable nss-myhostname warning (bnc#783841)
|
|||||||
src/hostname/hostnamed.c | 1 +
|
src/hostname/hostnamed.c | 1 +
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
|
--- systemd-206.orig/src/hostname/hostnamed.c
|
||||||
index 0437e33..c7f454c 100644
|
+++ systemd-206/src/hostname/hostnamed.c
|
||||||
--- a/src/hostname/hostnamed.c
|
|
||||||
+++ b/src/hostname/hostnamed.c
|
|
||||||
@@ -134,6 +134,7 @@ static int read_data(void) {
|
@@ -134,6 +134,7 @@ static int read_data(void) {
|
||||||
|
|
||||||
static bool check_nss(void) {
|
static bool check_nss(void) {
|
||||||
|
@ -1,19 +1,17 @@
|
|||||||
From: Frederic Crozat <fcrozat@suse.com>
|
From: Frederic Crozat <fcrozat@suse.com>
|
||||||
Date: Thu, 9 Feb 2012 16:19:38 +0000
|
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).
|
if fsck was disabled for them (bnc#733283).
|
||||||
---
|
---
|
||||||
units/local-fs-pre.target | 1 +
|
units/local-fs-pre.target | 1 +
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target
|
--- systemd-206_git201308300826.orig/units/local-fs-pre.target
|
||||||
index 809f2ed..05fcbd4 100644
|
+++ systemd-206_git201308300826/units/local-fs-pre.target
|
||||||
--- a/units/local-fs-pre.target
|
|
||||||
+++ b/units/local-fs-pre.target
|
|
||||||
@@ -9,3 +9,4 @@
|
@@ -9,3 +9,4 @@
|
||||||
Description=Local File Systems (Pre)
|
Description=Local File Systems (Pre)
|
||||||
Documentation=man:systemd.special(7)
|
Documentation=man:systemd.special(7)
|
||||||
RefuseManualStart=yes
|
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 +-
|
units/systemd-ask-password-wall.service.in | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
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
|
--- systemd-206_git201308300826.orig/units/systemd-ask-password-wall.service.in
|
||||||
index 0eaa274..ca51e4e 100644
|
+++ systemd-206_git201308300826/units/systemd-ask-password-wall.service.in
|
||||||
--- a/units/systemd-ask-password-wall.service.in
|
|
||||||
+++ b/units/systemd-ask-password-wall.service.in
|
|
||||||
@@ -8,7 +8,7 @@
|
@@ -8,7 +8,7 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Forward Password Requests to Wall
|
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 ++++++-
|
src/core/hostname-setup.c | 7 ++++++-
|
||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
|
--- systemd-206.orig/src/core/hostname-setup.c
|
||||||
index 0ce683b..1c8e555 100644
|
+++ systemd-206/src/core/hostname-setup.c
|
||||||
--- a/src/core/hostname-setup.c
|
|
||||||
+++ b/src/core/hostname-setup.c
|
|
||||||
@@ -32,7 +32,7 @@
|
@@ -32,7 +32,7 @@
|
||||||
#include "fileio.h"
|
#include "fileio.h"
|
||||||
|
|
||||||
@ -20,7 +18,7 @@ index 0ce683b..1c8e555 100644
|
|||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(path);
|
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;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,15 +7,13 @@ Subject: ensure sysctl are applied after modules are loaded
|
|||||||
units/systemd-sysctl.service.in | 1 +
|
units/systemd-sysctl.service.in | 1 +
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in
|
--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in
|
||||||
index 45e1ceb..caaaa9a 100644
|
+++ systemd-206_git201308300826/units/systemd-sysctl.service.in
|
||||||
--- a/units/systemd-sysctl.service.in
|
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
|
||||||
+++ b/units/systemd-sysctl.service.in
|
|
||||||
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
|
|
||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
Conflicts=shutdown.target
|
Conflicts=shutdown.target
|
||||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||||
+After=systemd-modules-load.service
|
+After=systemd-modules-load.service
|
||||||
Before=sysinit.target shutdown.target
|
Before=sysinit.target shutdown.target
|
||||||
ConditionPathIsReadWrite=/proc/sys/
|
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 +-
|
tmpfiles.d/systemd.conf | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
|
--- systemd-206_git201308300826.orig/tmpfiles.d/systemd.conf
|
||||||
index ee86f2e..29d6e97 100644
|
+++ systemd-206_git201308300826/tmpfiles.d/systemd.conf
|
||||||
--- a/tmpfiles.d/systemd.conf
|
|
||||||
+++ b/tmpfiles.d/systemd.conf
|
|
||||||
@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d
|
@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d
|
||||||
F /run/utmp 0664 root utmp -
|
F /run/utmp 0664 root utmp -
|
||||||
|
|
||||||
|
@ -6,11 +6,9 @@ Subject: fix support for boot prefixed initscript (bnc#746506)
|
|||||||
src/systemctl/systemctl.c | 22 +++++++++++++++++++++-
|
src/systemctl/systemctl.c | 22 +++++++++++++++++++++-
|
||||||
1 file changed, 21 insertions(+), 1 deletion(-)
|
1 file changed, 21 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: systemd-204/src/systemctl/systemctl.c
|
--- systemd-206_git201308300826.orig/src/systemctl/systemctl.c
|
||||||
===================================================================
|
+++ systemd-206_git201308300826/src/systemctl/systemctl.c
|
||||||
--- systemd-204.orig/src/systemctl/systemctl.c
|
@@ -4169,8 +4169,28 @@ static int enable_sysv_units(char **args
|
||||||
+++ systemd-204/src/systemctl/systemctl.c
|
|
||||||
@@ -4082,8 +4082,28 @@ static int enable_sysv_units(char **args
|
|
||||||
p[strlen(p) - sizeof(".service") + 1] = 0;
|
p[strlen(p) - sizeof(".service") + 1] = 0;
|
||||||
found_sysv = access(p, F_OK) >= 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 ++++++++++++++++++++++
|
src/systemctl/systemctl.c | 22 ++++++++++++++++++++++
|
||||||
1 file changed, 22 insertions(+)
|
1 file changed, 22 insertions(+)
|
||||||
|
|
||||||
Index: systemd-204/src/systemctl/systemctl.c
|
--- systemd-206.orig/src/systemctl/systemctl.c
|
||||||
===================================================================
|
+++ systemd-206/src/systemctl/systemctl.c
|
||||||
--- systemd-204.orig/src/systemctl/systemctl.c
|
@@ -6197,6 +6197,28 @@ int main(int argc, char*argv[]) {
|
||||||
+++ systemd-204/src/systemctl/systemctl.c
|
|
||||||
@@ -5974,6 +5974,28 @@ int main(int argc, char*argv[]) {
|
|
||||||
log_parse_environment();
|
log_parse_environment();
|
||||||
log_open();
|
log_open();
|
||||||
|
|
||||||
|
@ -7,10 +7,8 @@ Subject: handle disable_caplock and compose_table and kbd_rate
|
|||||||
src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++-
|
src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++-
|
||||||
1 file changed, 153 insertions(+), 3 deletions(-)
|
1 file changed, 153 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
|
--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c
|
||||||
index 1bbf737..384f936 100644
|
+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
|
||||||
--- a/src/vconsole/vconsole-setup.c
|
|
||||||
+++ b/src/vconsole/vconsole-setup.c
|
|
||||||
@@ -40,6 +40,7 @@
|
@@ -40,6 +40,7 @@
|
||||||
#include "macro.h"
|
#include "macro.h"
|
||||||
#include "virt.h"
|
#include "virt.h"
|
||||||
@ -30,7 +28,7 @@ index 1bbf737..384f936 100644
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
pid_t pid;
|
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;
|
args[i++] = map;
|
||||||
if (map_toggle)
|
if (map_toggle)
|
||||||
args[i++] = map_toggle;
|
args[i++] = map_toggle;
|
||||||
@ -39,7 +37,7 @@ index 1bbf737..384f936 100644
|
|||||||
args[i++] = NULL;
|
args[i++] = NULL;
|
||||||
|
|
||||||
pid = fork();
|
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 +++++++++++-
|
src/hostname/hostnamed.c | 12 +++++++++++-
|
||||||
2 files changed, 28 insertions(+), 6 deletions(-)
|
2 files changed, 28 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
|
--- systemd-206.orig/src/core/hostname-setup.c
|
||||||
index 8aa1cff..0ce683b 100644
|
+++ systemd-206/src/core/hostname-setup.c
|
||||||
--- a/src/core/hostname-setup.c
|
|
||||||
+++ b/src/core/hostname-setup.c
|
|
||||||
@@ -61,12 +61,24 @@ int hostname_setup(void) {
|
@@ -61,12 +61,24 @@ int hostname_setup(void) {
|
||||||
|
|
||||||
r = read_and_strip_hostname("/etc/hostname", &b);
|
r = read_and_strip_hostname("/etc/hostname", &b);
|
||||||
@ -19,6 +17,7 @@ index 8aa1cff..0ce683b 100644
|
|||||||
- if (r == -ENOENT)
|
- if (r == -ENOENT)
|
||||||
- enoent = true;
|
- enoent = true;
|
||||||
- else
|
- else
|
||||||
|
- log_warning("Failed to read configured hostname: %s", strerror(-r));
|
||||||
+ if (r == -ENOENT) {
|
+ if (r == -ENOENT) {
|
||||||
+ /* use SUSE fallback */
|
+ /* use SUSE fallback */
|
||||||
+ r = read_and_strip_hostname("/etc/HOSTNAME", &b);
|
+ r = read_and_strip_hostname("/etc/HOSTNAME", &b);
|
||||||
@ -31,21 +30,18 @@ index 8aa1cff..0ce683b 100644
|
|||||||
+ }
|
+ }
|
||||||
+ else
|
+ else
|
||||||
+ hn = b;
|
+ hn = b;
|
||||||
+
|
|
||||||
|
- hn = NULL;
|
||||||
+ }
|
+ }
|
||||||
+ else {
|
+ else {
|
||||||
log_warning("Failed to read configured hostname: %s", strerror(-r));
|
+ log_warning("Failed to read configured hostname: %s", strerror(-r));
|
||||||
-
|
|
||||||
- hn = NULL;
|
|
||||||
+ hn = NULL;
|
+ hn = NULL;
|
||||||
+ }
|
+ }
|
||||||
} else
|
} else
|
||||||
hn = b;
|
hn = b;
|
||||||
|
|
||||||
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
|
--- systemd-206.orig/src/hostname/hostnamed.c
|
||||||
index c7f454c..cfbd706 100644
|
+++ systemd-206/src/hostname/hostnamed.c
|
||||||
--- a/src/hostname/hostnamed.c
|
|
||||||
+++ b/src/hostname/hostnamed.c
|
|
||||||
@@ -129,6 +129,10 @@ static int read_data(void) {
|
@@ -129,6 +129,10 @@ static int read_data(void) {
|
||||||
if (r < 0 && r != -ENOENT)
|
if (r < 0 && r != -ENOENT)
|
||||||
return r;
|
return r;
|
||||||
@ -65,7 +61,7 @@ index c7f454c..cfbd706 100644
|
|||||||
if (isempty(data[PROP_STATIC_HOSTNAME])) {
|
if (isempty(data[PROP_STATIC_HOSTNAME])) {
|
||||||
|
|
||||||
if (unlink("/etc/hostname") < 0)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -6,10 +6,8 @@ Authors:
|
|||||||
Stanislav Brabec <sbrabec@suse.cz>
|
Stanislav Brabec <sbrabec@suse.cz>
|
||||||
Cristian Rodríguez <crrodriguez@opensuse.org>
|
Cristian Rodríguez <crrodriguez@opensuse.org>
|
||||||
|
|
||||||
Index: systemd-204/src/vconsole/vconsole-setup.c
|
--- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c
|
||||||
===================================================================
|
+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
|
||||||
--- systemd-204.orig/src/vconsole/vconsole-setup.c
|
|
||||||
+++ systemd-204/src/vconsole/vconsole-setup.c
|
|
||||||
@@ -42,6 +42,10 @@
|
@@ -42,6 +42,10 @@
|
||||||
#include "fileio.h"
|
#include "fileio.h"
|
||||||
#include "strv.h"
|
#include "strv.h"
|
||||||
@ -100,11 +98,9 @@ Index: systemd-204/src/vconsole/vconsole-setup.c
|
|||||||
#ifdef HAVE_SYSV_COMPAT
|
#ifdef HAVE_SYSV_COMPAT
|
||||||
free(vc_kbd_delay);
|
free(vc_kbd_delay);
|
||||||
free(vc_kbd_rate);
|
free(vc_kbd_rate);
|
||||||
Index: systemd-204/Makefile.am
|
--- systemd-206_git201308300826.orig/Makefile.am
|
||||||
===================================================================
|
+++ systemd-206_git201308300826/Makefile.am
|
||||||
--- systemd-204.orig/Makefile.am
|
@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \
|
||||||
+++ systemd-204/Makefile.am
|
|
||||||
@@ -2219,6 +2219,19 @@ dist_udevrules_DATA += \
|
|
||||||
rules/61-accelerometer.rules
|
rules/61-accelerometer.rules
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
@ -124,10 +120,8 @@ Index: systemd-204/Makefile.am
|
|||||||
if ENABLE_GUDEV
|
if ENABLE_GUDEV
|
||||||
if ENABLE_GTK_DOC
|
if ENABLE_GTK_DOC
|
||||||
SUBDIRS += \
|
SUBDIRS += \
|
||||||
Index: systemd-204/rules/73-seat-numlock.rules
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ systemd-204/rules/73-seat-numlock.rules
|
+++ systemd-206_git201308300826/rules/73-seat-numlock.rules
|
||||||
@@ -0,0 +1,8 @@
|
@@ -0,0 +1,8 @@
|
||||||
+# This file is part of SUSE customization of systemd.
|
+# 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.
|
+# (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}"
|
+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
|
--- /dev/null
|
||||||
+++ systemd-204/src/login/numlock-on.c
|
+++ systemd-206_git201308300826/src/login/numlock-on.c
|
||||||
@@ -0,0 +1,34 @@
|
@@ -0,0 +1,34 @@
|
||||||
+/*
|
+/*
|
||||||
+ * numlock-on.c: Turn numlock-on
|
+ * numlock-on.c: Turn numlock-on
|
||||||
@ -176,10 +168,8 @@ Index: systemd-204/src/login/numlock-on.c
|
|||||||
+
|
+
|
||||||
+ exit(0);
|
+ exit(0);
|
||||||
+}
|
+}
|
||||||
Index: 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
|
||||||
--- systemd-204.orig/units/systemd-vconsole-setup.service.in
|
|
||||||
+++ systemd-204/units/systemd-vconsole-setup.service.in
|
|
||||||
@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
|
@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
|
||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
Conflicts=shutdown.target
|
Conflicts=shutdown.target
|
||||||
|
@ -7,12 +7,10 @@ handle ROOT_USES_LANG=ctype (bnc#792182).
|
|||||||
src/core/locale-setup.c | 27 +++++++++++++++++++++++++++
|
src/core/locale-setup.c | 27 +++++++++++++++++++++++++++
|
||||||
1 file changed, 27 insertions(+)
|
1 file changed, 27 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c
|
--- systemd-206_git201308300826.orig/src/core/locale-setup.c
|
||||||
index d7113b9..b3fb603 100644
|
+++ systemd-206_git201308300826/src/core/locale-setup.c
|
||||||
--- a/src/core/locale-setup.c
|
@@ -72,6 +72,11 @@ int locale_setup(char ***environment) {
|
||||||
+++ b/src/core/locale-setup.c
|
char **env;
|
||||||
@@ -70,6 +70,11 @@ static const char * const variable_names[_VARIABLE_MAX] = {
|
|
||||||
int locale_setup(void) {
|
|
||||||
char *variables[_VARIABLE_MAX] = {};
|
char *variables[_VARIABLE_MAX] = {};
|
||||||
int r = 0, i;
|
int r = 0, i;
|
||||||
+#ifdef HAVE_SYSV_COMPAT
|
+#ifdef HAVE_SYSV_COMPAT
|
||||||
@ -23,32 +21,31 @@ index d7113b9..b3fb603 100644
|
|||||||
|
|
||||||
if (detect_container(NULL) <= 0) {
|
if (detect_container(NULL) <= 0) {
|
||||||
r = parse_env_file("/proc/cmdline", WHITESPACE,
|
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));
|
log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
|
||||||
}
|
}
|
||||||
|
|
||||||
+#ifdef HAVE_SYSV_COMPAT
|
+#ifdef HAVE_SYSV_COMPAT
|
||||||
+ if (r <= 0 &&
|
+ if (r <= 0 &&
|
||||||
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
+ (r = parse_env_file("/etc/sysconfig/language", NEWLINE,
|
||||||
+ "ROOT_USES_LANG", &root_uses_lang,
|
+ "ROOT_USES_LANG", &root_uses_lang,
|
||||||
+ "RC_LANG", &variables[VARIABLE_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 {
|
+ } else {
|
||||||
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
+ if (!root_uses_lang || (root_uses_lang && !strcaseeq(root_uses_lang,"yes"))) {
|
||||||
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
+ if (root_uses_lang && strcaseeq(root_uses_lang,"ctype"))
|
||||||
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
+ variables[VARIABLE_LC_CTYPE]=variables[VARIABLE_LANG];
|
||||||
+ else
|
+ else
|
||||||
+ free(variables[VARIABLE_LANG]);
|
+ free(variables[VARIABLE_LANG]);
|
||||||
+
|
+
|
||||||
+ variables[VARIABLE_LANG]=strdup("POSIX");
|
+ variables[VARIABLE_LANG]=strdup("POSIX");
|
||||||
+ }
|
|
||||||
+ }
|
+ }
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
+
|
|
||||||
if (!variables[VARIABLE_LANG]) {
|
for (i = 0; i < _VARIABLE_MAX; i++) {
|
||||||
variables[VARIABLE_LANG] = strdup("C");
|
if (!variables[i])
|
||||||
if (!variables[VARIABLE_LANG]) {
|
|
||||||
|
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
|
# RPM macros for packages installing systemd unit files
|
||||||
|
|
||||||
%_unitdir @systemunitdir@
|
%_unitdir @systemunitdir@
|
||||||
|
%_userunitdir @userunitdir@
|
||||||
%_presetdir @systempresetdir@
|
%_presetdir @systempresetdir@
|
||||||
%_udevhwdbdir @udevhwdbdir@
|
%_udevhwdbdir @udevhwdbdir@
|
||||||
%_udevrulesdir @udevrulesdir@
|
%_udevrulesdir @udevrulesdir@
|
||||||
@ -71,3 +72,7 @@ fi \
|
|||||||
%journal_catalog_update() \
|
%journal_catalog_update() \
|
||||||
@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \
|
@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \
|
||||||
%{nil}
|
%{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 +
|
units/systemd-modules-load.service.in | 1 +
|
||||||
2 files changed, 27 insertions(+), 1 deletion(-)
|
2 files changed, 27 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/modules-load/modules-load.c b/src/modules-load/modules-load.c
|
--- systemd-206_git201308300826.orig/src/modules-load/modules-load.c
|
||||||
index 7b19ee0..36b1a68 100644
|
+++ systemd-206_git201308300826/src/modules-load/modules-load.c
|
||||||
--- a/src/modules-load/modules-load.c
|
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *ar
|
||||||
+++ b/src/modules-load/modules-load.c
|
|
||||||
@@ -262,6 +262,9 @@ static int parse_argv(int argc, char *argv[]) {
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
int r, k;
|
int r, k;
|
||||||
struct kmod_ctx *ctx;
|
struct kmod_ctx *ctx;
|
||||||
@ -52,10 +50,8 @@ index 7b19ee0..36b1a68 100644
|
|||||||
finish:
|
finish:
|
||||||
kmod_unref(ctx);
|
kmod_unref(ctx);
|
||||||
strv_free(arg_proc_cmdline_modules);
|
strv_free(arg_proc_cmdline_modules);
|
||||||
diff --git a/units/systemd-modules-load.service.in b/units/systemd-modules-load.service.in
|
--- systemd-206_git201308300826.orig/units/systemd-modules-load.service.in
|
||||||
index 32deb52..2e26d2f 100644
|
+++ systemd-206_git201308300826/units/systemd-modules-load.service.in
|
||||||
--- a/units/systemd-modules-load.service.in
|
|
||||||
+++ b/units/systemd-modules-load.service.in
|
|
||||||
@@ -13,6 +13,7 @@ Conflicts=shutdown.target
|
@@ -13,6 +13,7 @@ Conflicts=shutdown.target
|
||||||
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
After=systemd-readahead-collect.service systemd-readahead-replay.service
|
||||||
Before=sysinit.target shutdown.target
|
Before=sysinit.target shutdown.target
|
||||||
|
@ -7,11 +7,9 @@ Subject: optionally warn if nss-myhostname is called
|
|||||||
src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++
|
src/nss-myhostname/nss-myhostname.c | 32 ++++++++++++++++++++++++++++++++
|
||||||
2 files changed, 43 insertions(+)
|
2 files changed, 43 insertions(+)
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
--- systemd-206_git201308300826.orig/configure.ac
|
||||||
index e1278e8..06eb98d 100644
|
+++ systemd-206_git201308300826/configure.ac
|
||||||
--- a/configure.ac
|
@@ -817,6 +817,17 @@ if test "x$enable_myhostname" != "xno";
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -725,6 +725,17 @@ if test "x$enable_myhostname" != "xno"; then
|
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
|
AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"])
|
||||||
|
|
||||||
@ -29,10 +27,8 @@ index e1278e8..06eb98d 100644
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
AC_ARG_WITH(firmware-path,
|
AC_ARG_WITH(firmware-path,
|
||||||
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
|
AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
|
||||||
diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
|
--- systemd-206_git201308300826.orig/src/nss-myhostname/nss-myhostname.c
|
||||||
index e97d4e5..a2a6de8 100644
|
+++ systemd-206_git201308300826/src/nss-myhostname/nss-myhostname.c
|
||||||
--- a/src/nss-myhostname/nss-myhostname.c
|
|
||||||
+++ b/src/nss-myhostname/nss-myhostname.c
|
|
||||||
@@ -29,6 +29,9 @@
|
@@ -29,6 +29,9 @@
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -54,7 +50,7 @@ index e97d4e5..a2a6de8 100644
|
|||||||
enum nss_status _nss_myhostname_gethostbyname4_r(
|
enum nss_status _nss_myhostname_gethostbyname4_r(
|
||||||
const char *name,
|
const char *name,
|
||||||
struct gaih_addrtuple **pat,
|
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;
|
return NSS_STATUS_NOTFOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +60,7 @@ index e97d4e5..a2a6de8 100644
|
|||||||
/* If this fails, n_addresses is 0. Which is fine */
|
/* If this fails, n_addresses is 0. Which is fine */
|
||||||
ifconf_acquire_addresses(&addresses, &n_addresses);
|
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;
|
local_address_ipv4 = LOCALADDRESS_IPV4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,7 +80,7 @@ index e97d4e5..a2a6de8 100644
|
|||||||
return fill_in_hostent(
|
return fill_in_hostent(
|
||||||
canonical, additional,
|
canonical, additional,
|
||||||
af,
|
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,
|
errnop, h_errnop,
|
||||||
NULL);
|
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 +
|
src/core/service.h | 1 +
|
||||||
2 files changed, 33 insertions(+), 2 deletions(-)
|
2 files changed, 33 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/src/core/service.c b/src/core/service.c
|
--- systemd-206_git201308300826.orig/src/core/service.c
|
||||||
index a8b0d9d..c357b33 100644
|
+++ systemd-206_git201308300826/src/core/service.c
|
||||||
--- a/src/core/service.c
|
|
||||||
+++ b/src/core/service.c
|
|
||||||
@@ -135,6 +135,7 @@ static void service_init(Unit *u) {
|
@@ -135,6 +135,7 @@ static void service_init(Unit *u) {
|
||||||
#ifdef HAVE_SYSV_COMPAT
|
#ifdef HAVE_SYSV_COMPAT
|
||||||
s->sysv_start_priority = -1;
|
s->sysv_start_priority = -1;
|
||||||
@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644
|
|||||||
#endif
|
#endif
|
||||||
s->socket_fd = -1;
|
s->socket_fd = -1;
|
||||||
s->guess_main_pid = true;
|
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);
|
free(short_description);
|
||||||
short_description = d;
|
short_description = d;
|
||||||
|
|
||||||
@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644
|
|||||||
} else if (state == LSB_DESCRIPTION) {
|
} else if (state == LSB_DESCRIPTION) {
|
||||||
|
|
||||||
if (startswith(l, "#\t") || startswith(l, "# ")) {
|
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 */
|
/* Special setting for all SysV services */
|
||||||
s->type = SERVICE_FORKING;
|
s->type = SERVICE_FORKING;
|
||||||
@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644
|
|||||||
s->guess_main_pid = false;
|
s->guess_main_pid = false;
|
||||||
s->restart = SERVICE_RESTART_NO;
|
s->restart = SERVICE_RESTART_NO;
|
||||||
s->exec_context.ignore_sigpipe = false;
|
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)) &&
|
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
|
||||||
(s->bus_name_good || s->type != SERVICE_DBUS)) {
|
(s->bus_name_good || s->type != SERVICE_DBUS)) {
|
||||||
#ifdef HAVE_SYSV_COMPAT
|
#ifdef HAVE_SYSV_COMPAT
|
||||||
@ -77,11 +75,9 @@ index a8b0d9d..c357b33 100644
|
|||||||
s->remain_after_exit = false;
|
s->remain_after_exit = false;
|
||||||
#endif
|
#endif
|
||||||
service_set_state(s, SERVICE_RUNNING);
|
service_set_state(s, SERVICE_RUNNING);
|
||||||
diff --git a/src/core/service.h b/src/core/service.h
|
--- systemd-206_git201308300826.orig/src/core/service.h
|
||||||
index 703d3fa..dc52e8c 100644
|
+++ systemd-206_git201308300826/src/core/service.h
|
||||||
--- a/src/core/service.h
|
@@ -177,6 +177,7 @@ struct Service {
|
||||||
+++ b/src/core/service.h
|
|
||||||
@@ -176,6 +176,7 @@ struct Service {
|
|
||||||
bool is_sysv:1;
|
bool is_sysv:1;
|
||||||
bool sysv_has_lsb:1;
|
bool sysv_has_lsb:1;
|
||||||
bool sysv_enabled: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-lock.mount
|
||||||
create mode 100644 units/var-run.mount
|
create mode 100644 units/var-run.mount
|
||||||
|
|
||||||
diff --git a/Makefile.am b/Makefile.am
|
--- systemd-206_git201308300826.orig/Makefile.am
|
||||||
index 8730f66..b8cf696 100644
|
+++ systemd-206_git201308300826/Makefile.am
|
||||||
--- a/Makefile.am
|
@@ -419,6 +419,12 @@ dist_systemunit_DATA = \
|
||||||
+++ b/Makefile.am
|
|
||||||
@@ -409,6 +409,12 @@ dist_systemunit_DATA = \
|
|
||||||
units/system-update.target \
|
units/system-update.target \
|
||||||
units/initrd-switch-root.target
|
units/initrd-switch-root.target
|
||||||
|
|
||||||
@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644
|
|||||||
nodist_systemunit_DATA = \
|
nodist_systemunit_DATA = \
|
||||||
units/getty@.service \
|
units/getty@.service \
|
||||||
units/serial-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
|
systemd-update-utmp-runlevel.service
|
||||||
RUNLEVEL5_TARGET_WANTS += \
|
RUNLEVEL5_TARGET_WANTS += \
|
||||||
systemd-update-utmp-runlevel.service
|
systemd-update-utmp-runlevel.service
|
||||||
@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644
|
|||||||
+ var-run.mount \
|
+ var-run.mount \
|
||||||
+ var-lock.mount
|
+ var-lock.mount
|
||||||
endif
|
endif
|
||||||
SHUTDOWN_TARGET_WANTS += \
|
SYSINIT_TARGET_WANTS += \
|
||||||
systemd-update-utmp-shutdown.service
|
systemd-update-utmp.service
|
||||||
diff --git a/units/var-lock.mount b/units/var-lock.mount
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..07277ad
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/units/var-lock.mount
|
+++ systemd-206_git201308300826/units/var-lock.mount
|
||||||
@@ -0,0 +1,19 @@
|
@@ -0,0 +1,19 @@
|
||||||
+# This file is part of systemd.
|
+# This file is part of systemd.
|
||||||
+#
|
+#
|
||||||
@ -62,11 +57,8 @@ index 0000000..07277ad
|
|||||||
+Where=/var/lock
|
+Where=/var/lock
|
||||||
+Type=bind
|
+Type=bind
|
||||||
+Options=bind
|
+Options=bind
|
||||||
diff --git a/units/var-run.mount b/units/var-run.mount
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..ab4da42
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/units/var-run.mount
|
+++ systemd-206_git201308300826/units/var-run.mount
|
||||||
@@ -0,0 +1,19 @@
|
@@ -0,0 +1,19 @@
|
||||||
+# This file is part of systemd.
|
+# 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 ++++++-
|
src/core/service.c | 7 ++++++-
|
||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: systemd-204/src/core/service.c
|
--- systemd-206_git201308300826.orig/src/core/service.c
|
||||||
===================================================================
|
+++ systemd-206_git201308300826/src/core/service.c
|
||||||
--- systemd-204.orig/src/core/service.c
|
@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic
|
||||||
+++ systemd-204/src/core/service.c
|
|
||||||
@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic
|
|
||||||
cgroup_ok = cgroup_good(s);
|
cgroup_ok = cgroup_good(s);
|
||||||
|
|
||||||
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
|
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 +
|
units/systemd-sysctl.service.in | 1 +
|
||||||
2 files changed, 9 insertions(+)
|
2 files changed, 9 insertions(+)
|
||||||
|
|
||||||
Index: systemd-204/src/sysctl/sysctl.c
|
--- systemd-206.orig/src/sysctl/sysctl.c
|
||||||
===================================================================
|
+++ systemd-206/src/sysctl/sysctl.c
|
||||||
--- systemd-204.orig/src/sysctl/sysctl.c
|
|
||||||
+++ systemd-204/src/sysctl/sysctl.c
|
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <limits.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);
|
r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
Index: systemd-204/units/systemd-sysctl.service.in
|
--- systemd-206.orig/units/systemd-sysctl.service.in
|
||||||
===================================================================
|
+++ systemd-206/units/systemd-sysctl.service.in
|
||||||
--- systemd-204.orig/units/systemd-sysctl.service.in
|
|
||||||
+++ systemd-204/units/systemd-sysctl.service.in
|
|
||||||
@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys
|
@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys
|
||||||
ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d
|
ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d
|
||||||
ConditionDirectoryNotEmpty=|/etc/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(".*suse-filelist-forbidden-systemd-userdirs.*")
|
||||||
addFilter("libudev-mini.*shlib-policy-name-error.*")
|
addFilter("libudev-mini.*shlib-policy-name-error.*")
|
||||||
addFilter("nss-myhostname.*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
|
- Dropped backward compatibility
|
||||||
- Added check for upstream rpm macros changes
|
- 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
|
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
|
||||||
|
|
||||||
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
||||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||||
fix possible infinite loops in the journal code, related to
|
fix possible infinite loops in the journal code, related to
|
||||||
bnc #817778
|
bnc #817778
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
Name: systemd-mini
|
Name: systemd-mini
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 204
|
Version: 207
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A System and Session Manager
|
Summary: A System and Session Manager
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
@ -35,8 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
Provides: %{real} = %{version}-%{release}
|
Provides: %{real} = %{version}-%{release}
|
||||||
|
|
||||||
BuildRequires: audit-devel
|
BuildRequires: audit-devel
|
||||||
BuildRequires: dbus-1
|
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
|
BuildRequires: dbus-1
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
|
|||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
BuildRequires: libgcrypt-devel
|
BuildRequires: libgcrypt-devel
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
||||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
|
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(libkmod) >= 5
|
BuildRequires: pkgconfig(libkmod) >= 14
|
||||||
BuildRequires: pkgconfig(liblzma)
|
BuildRequires: pkgconfig(liblzma)
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
BuildRequires: pkgconfig(libmicrohttpd)
|
BuildRequires: pkgconfig(libmicrohttpd)
|
||||||
@ -80,6 +80,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
|||||||
BuildRequires: pkgconfig(libsepol)
|
BuildRequires: pkgconfig(libsepol)
|
||||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||||
%if 0%{?bootstrap}
|
%if 0%{?bootstrap}
|
||||||
|
#!BuildIgnore: dbus-1
|
||||||
Requires: this-is-only-for-build-envs
|
Requires: this-is-only-for-build-envs
|
||||||
Conflicts: systemd
|
Conflicts: systemd
|
||||||
Conflicts: kiwi
|
Conflicts: kiwi
|
||||||
@ -89,6 +90,7 @@ Conflicts: kiwi
|
|||||||
Requires: %{udevpkgname} >= 172
|
Requires: %{udevpkgname} >= 172
|
||||||
Requires: dbus-1 >= 1.4.0
|
Requires: dbus-1 >= 1.4.0
|
||||||
Requires: kbd
|
Requires: kbd
|
||||||
|
Requires: kmod >= 14
|
||||||
Requires: pam-config >= 0.79-5
|
Requires: pam-config >= 0.79-5
|
||||||
Requires: pwdutils
|
Requires: pwdutils
|
||||||
Requires: systemd-presets-branding
|
Requires: systemd-presets-branding
|
||||||
@ -105,7 +107,6 @@ Source1: systemd-rpmlintrc
|
|||||||
Source2: localfs.service
|
Source2: localfs.service
|
||||||
Source3: systemd-sysv-convert
|
Source3: systemd-sysv-convert
|
||||||
Source4: macros.systemd
|
Source4: macros.systemd
|
||||||
Source5: systemd-insserv_conf
|
|
||||||
Source6: baselibs.conf
|
Source6: baselibs.conf
|
||||||
Source7: libgcrypt.m4
|
Source7: libgcrypt.m4
|
||||||
Source8: systemd-journald.init
|
Source8: systemd-journald.init
|
||||||
@ -123,11 +124,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
|
|||||||
# handle SUSE specific kbd settings
|
# handle SUSE specific kbd settings
|
||||||
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
||||||
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.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
|
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.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
|
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.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
|
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
|
# 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
|
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
|
||||||
|
Patch42: systemd-pam_config.patch
|
||||||
# Upstream First - Policy:
|
# Upstream First - Policy:
|
||||||
# Never add any patches to this package without the upstream commit id
|
# 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
|
# 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
|
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
|
# 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
|
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.
|
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
|
||||||
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
|
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
|
||||||
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
|
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
|
||||||
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
|
Patch47: systemd-dbus-system-bus-address.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 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
|
||||||
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
|
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||||
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
|
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
|
||||||
# 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.
|
Patch49: 0002-cgroup-correct-the-log-information.patch
|
||||||
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
|
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
|
||||||
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
|
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
|
||||||
Patch47: 0001-journal-letting-interleaved-seqnums-go.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.
|
||||||
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
|
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||||
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.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
|
# udev patches
|
||||||
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
|
# 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
|
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
|
||||||
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
||||||
Patch1003: 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
|
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||||
Patch1005: 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
|
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
|
||||||
Patch1006: 1006-udev-always-rename-network.patch
|
Patch1006: 1006-udev-always-rename-network.patch
|
||||||
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
|
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
|
||||||
Patch1007: 1007-add-msft-compability-rules.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
|
%description
|
||||||
Systemd is a system and service manager, compatible with SysV and LSB
|
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.
|
a bug report then.
|
||||||
This package marks the installation to not use syslog but only the journal.
|
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
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
@ -390,7 +409,6 @@ cp %{SOURCE7} m4/
|
|||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
@ -414,28 +432,31 @@ cp %{SOURCE7} m4/
|
|||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
%patch42 -p1
|
%patch42 -p1
|
||||||
%patch43 -p1
|
|
||||||
%patch44 -p1
|
|
||||||
%patch45 -p1
|
|
||||||
%patch46 -p1
|
%patch46 -p1
|
||||||
%patch47 -p1
|
%patch47 -p1
|
||||||
%patch48 -p1
|
%patch48 -p1
|
||||||
|
%patch49 -p1
|
||||||
|
%patch50 -p1
|
||||||
|
%patch51 -p1
|
||||||
|
%patch52 -p1
|
||||||
|
%patch53 -p1
|
||||||
|
%patch54 -p1
|
||||||
|
|
||||||
# udev patches
|
# udev patches
|
||||||
%patch1001 -p1
|
%patch1001 -p1
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
%patch1003 -p1
|
%patch1003 -p1
|
||||||
%patch1004 -p1
|
|
||||||
%patch1005 -p1
|
%patch1005 -p1
|
||||||
%patch1006 -p1
|
%patch1006 -p1
|
||||||
# don't apply when bootstrapping to not modify Makefile.am
|
# don't apply when bootstrapping to not modify Makefile.am
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
%patch1007 -p1
|
%patch1007 -p1
|
||||||
|
%patch1008 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch1009 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
|
|
||||||
# prevent pre-generated and distributed files from re-building
|
# prevent pre-generated and distributed files from re-building
|
||||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||||
export V=1
|
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
|
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
||||||
find %{buildroot} -type f -name '*.la' -delete
|
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
|
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}/bin/systemd
|
||||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
||||||
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
|
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/stoppreload.service
|
||||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.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-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
|
# don't mount /tmp as tmpfs for now
|
||||||
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
|
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)
|
# create drop-in to prevent tty1 to be cleared (bnc#804158)
|
||||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
|
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]
|
[Service]
|
||||||
# ensure tty1 isn't cleared (bnc#804158)
|
# ensure tty1 isn't cleared (bnc#804158)
|
||||||
TTYVTDisallocate=no
|
TTYVTDisallocate=no
|
||||||
@ -599,15 +618,11 @@ EOF
|
|||||||
|
|
||||||
%fdupes -s %{buildroot}%{_mandir}
|
%fdupes -s %{buildroot}%{_mandir}
|
||||||
|
|
||||||
# disable predictable network interface naming until it has been reviewed by network team
|
# packaged in systemd-rpm-macros
|
||||||
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
|
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
||||||
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
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
|
exit 0
|
||||||
|
|
||||||
%post
|
%post
|
||||||
@ -630,7 +645,7 @@ fi
|
|||||||
if [ "$1" -eq 1 ]; then
|
if [ "$1" -eq 1 ]; then
|
||||||
# Enable these services by default.
|
# Enable these services by default.
|
||||||
/usr/bin/systemctl enable \
|
/usr/bin/systemctl enable \
|
||||||
getty@.service \
|
getty@tty1.service \
|
||||||
systemd-readahead-collect.service \
|
systemd-readahead-collect.service \
|
||||||
systemd-readahead-replay.service \
|
systemd-readahead-replay.service \
|
||||||
remote-fs.target >/dev/null 2>&1 || :
|
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 || :
|
[ -f "$new_target" ] && ln -s -f $new_target $f || :
|
||||||
done
|
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
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
if [ $1 -ge 1 ]; then
|
if [ $1 -ge 1 ]; then
|
||||||
@ -756,6 +777,21 @@ fi
|
|||||||
|
|
||||||
%postun -n nss-myhostname -p /sbin/ldconfig
|
%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
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -767,11 +803,13 @@ fi
|
|||||||
%{_bindir}/kernel-install
|
%{_bindir}/kernel-install
|
||||||
%{_bindir}/hostnamectl
|
%{_bindir}/hostnamectl
|
||||||
%{_bindir}/localectl
|
%{_bindir}/localectl
|
||||||
|
%{_bindir}/machinectl
|
||||||
%{_bindir}/systemctl
|
%{_bindir}/systemctl
|
||||||
%{_bindir}/systemd-analyze
|
%{_bindir}/systemd-analyze
|
||||||
%{_bindir}/systemd-coredumpctl
|
%{_bindir}/systemd-coredumpctl
|
||||||
%{_bindir}/systemd-delta
|
%{_bindir}/systemd-delta
|
||||||
%{_bindir}/systemd-notify
|
%{_bindir}/systemd-notify
|
||||||
|
%{_bindir}/systemd-run
|
||||||
%{_bindir}/systemd-journalctl
|
%{_bindir}/systemd-journalctl
|
||||||
%{_bindir}/journalctl
|
%{_bindir}/journalctl
|
||||||
%{_bindir}/systemd-ask-password
|
%{_bindir}/systemd-ask-password
|
||||||
@ -805,8 +843,10 @@ fi
|
|||||||
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
||||||
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
|
%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/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/*.automount
|
||||||
%{_prefix}/lib/systemd/system/*.service
|
%{_prefix}/lib/systemd/system/*.service
|
||||||
|
%{_prefix}/lib/systemd/system/*.slice
|
||||||
%{_prefix}/lib/systemd/system/*.target
|
%{_prefix}/lib/systemd/system/*.target
|
||||||
%{_prefix}/lib/systemd/system/*.mount
|
%{_prefix}/lib/systemd/system/*.mount
|
||||||
%{_prefix}/lib/systemd/system/*.timer
|
%{_prefix}/lib/systemd/system/*.timer
|
||||||
@ -816,6 +856,7 @@ fi
|
|||||||
%{_prefix}/lib/systemd/user/*.target
|
%{_prefix}/lib/systemd/user/*.target
|
||||||
%{_prefix}/lib/systemd/user/*.service
|
%{_prefix}/lib/systemd/user/*.service
|
||||||
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
||||||
|
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||||
%{_prefix}/lib/systemd/systemd-*
|
%{_prefix}/lib/systemd/systemd-*
|
||||||
%{_prefix}/lib/systemd/systemd
|
%{_prefix}/lib/systemd/systemd
|
||||||
%dir %{_prefix}/lib/systemd/catalog
|
%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-rc-local-generator
|
||||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||||
%{_prefix}/lib/systemd/system-generators/systemd-system-update-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
|
/%{_lib}/security/pam_systemd.so
|
||||||
|
/etc/pam.d/systemd-user
|
||||||
|
|
||||||
%dir %{_libexecdir}/modules-load.d
|
%dir %{_libexecdir}/modules-load.d
|
||||||
%dir %{_sysconfdir}/modules-load.d
|
%dir %{_sysconfdir}/modules-load.d
|
||||||
@ -861,7 +905,7 @@ fi
|
|||||||
%dir %{_sysconfdir}/systemd/system
|
%dir %{_sysconfdir}/systemd/system
|
||||||
%dir %{_sysconfdir}/systemd/user
|
%dir %{_sysconfdir}/systemd/user
|
||||||
%dir %{_sysconfdir}/xdg/systemd
|
%dir %{_sysconfdir}/xdg/systemd
|
||||||
%dir %{_sysconfdir}/xdg/systemd/user
|
%{_sysconfdir}/xdg/systemd/user
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
||||||
@ -869,6 +913,7 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/systemd/user.conf
|
%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.locale1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.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.systemd1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.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.locale1.service
|
||||||
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.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.hostname1.service
|
||||||
|
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
||||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
||||||
%dir %{_datadir}/polkit-1
|
%dir %{_datadir}/polkit-1
|
||||||
%dir %{_datadir}/polkit-1/actions
|
%dir %{_datadir}/polkit-1/actions
|
||||||
@ -890,6 +936,7 @@ fi
|
|||||||
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
||||||
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
||||||
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
||||||
|
%exclude %{_datadir}/systemd/gatewayd
|
||||||
%{_datadir}/systemd
|
%{_datadir}/systemd
|
||||||
|
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
@ -902,7 +949,7 @@ fi
|
|||||||
%exclude %{_mandir}/man8/telinit.8*
|
%exclude %{_mandir}/man8/telinit.8*
|
||||||
%exclude %{_mandir}/man8/runlevel.8*
|
%exclude %{_mandir}/man8/runlevel.8*
|
||||||
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
||||||
|
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
|
||||||
%{_mandir}/man1/*.1*
|
%{_mandir}/man1/*.1*
|
||||||
%{_mandir}/man3/*.3*
|
%{_mandir}/man3/*.3*
|
||||||
%{_mandir}/man5/*.5*
|
%{_mandir}/man5/*.5*
|
||||||
@ -932,6 +979,9 @@ fi
|
|||||||
%dir /var/lib/systemd/migrated
|
%dir /var/lib/systemd/migrated
|
||||||
%dir /var/lib/systemd/catalog
|
%dir /var/lib/systemd/catalog
|
||||||
%dir /var/lib/systemd/coredump
|
%dir /var/lib/systemd/coredump
|
||||||
|
%dir /usr/share/zsh
|
||||||
|
%dir /usr/share/zsh/site-functions
|
||||||
|
/usr/share/zsh/site-functions/*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -984,15 +1034,10 @@ fi
|
|||||||
%{_prefix}/lib/udev/ata_id
|
%{_prefix}/lib/udev/ata_id
|
||||||
%{_prefix}/lib/udev/cdrom_id
|
%{_prefix}/lib/udev/cdrom_id
|
||||||
%{_prefix}/lib/udev/collect
|
%{_prefix}/lib/udev/collect
|
||||||
%{_prefix}/lib/udev/findkeyboards
|
|
||||||
%{_prefix}/lib/udev/keymap
|
|
||||||
%{_prefix}/lib/udev/mtd_probe
|
%{_prefix}/lib/udev/mtd_probe
|
||||||
%{_prefix}/lib/udev/scsi_id
|
%{_prefix}/lib/udev/scsi_id
|
||||||
%{_prefix}/lib/udev/v4l_id
|
%{_prefix}/lib/udev/v4l_id
|
||||||
%{_prefix}/lib/udev/write_dev_root_rule
|
%{_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/
|
%dir %{_prefix}/lib/udev/rules.d/
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||||
@ -1071,6 +1116,12 @@ fi
|
|||||||
%{_sbindir}/nss-myhostname-config
|
%{_sbindir}/nss-myhostname-config
|
||||||
/%{_lib}/*nss_myhostname*
|
/%{_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
|
%endif
|
||||||
|
|
||||||
%changelog
|
%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
|
Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#!BuildIgnore: util-linux
|
#!BuildIgnore: util-linux
|
||||||
|
|
||||||
Name: systemd-rpm-macros
|
Name: systemd-rpm-macros
|
||||||
Version: 1
|
Version: 2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: RPM macros for systemd
|
Summary: RPM macros for systemd
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
|
@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*")
|
|||||||
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
|
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
|
||||||
addFilter("libudev-mini.*shlib-policy-name-error.*")
|
addFilter("libudev-mini.*shlib-policy-name-error.*")
|
||||||
addFilter("nss-myhostname.*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 +++--
|
tmpfiles.d/tmp.conf | 5 +++--
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf
|
--- systemd-206.orig/tmpfiles.d/tmp.conf
|
||||||
index 3b534a1..99eb6f2 100644
|
+++ systemd-206/tmpfiles.d/tmp.conf
|
||||||
--- a/tmpfiles.d/tmp.conf
|
|
||||||
+++ b/tmpfiles.d/tmp.conf
|
|
||||||
@@ -8,8 +8,9 @@
|
@@ -8,8 +8,9 @@
|
||||||
# See tmpfiles.d(5) for details
|
# 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
|
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
|
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
|
||||||
|
|
||||||
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
- 0001-journal-letting-interleaved-seqnums-go.patch and
|
||||||
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
0002-journal-remember-last-direction-of-search-and-keep-o.patch
|
||||||
fix possible infinite loops in the journal code, related to
|
fix possible infinite loops in the journal code, related to
|
||||||
bnc #817778
|
bnc #817778
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de
|
||||||
|
153
systemd.spec
153
systemd.spec
@ -23,15 +23,15 @@
|
|||||||
|
|
||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 204
|
Version: 207
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A System and Session Manager
|
Summary: A System and Session Manager
|
||||||
License: LGPL-2.1+
|
License: LGPL-2.1+
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: audit-devel
|
BuildRequires: audit-devel
|
||||||
BuildRequires: dbus-1
|
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
|
BuildRequires: dbus-1
|
||||||
BuildRequires: docbook-xsl-stylesheets
|
BuildRequires: docbook-xsl-stylesheets
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
|
|||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
BuildRequires: libgcrypt-devel
|
BuildRequires: libgcrypt-devel
|
||||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
|
||||||
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
|
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(libkmod) >= 5
|
BuildRequires: pkgconfig(libkmod) >= 14
|
||||||
BuildRequires: pkgconfig(liblzma)
|
BuildRequires: pkgconfig(liblzma)
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
BuildRequires: pkgconfig(libmicrohttpd)
|
BuildRequires: pkgconfig(libmicrohttpd)
|
||||||
@ -75,6 +75,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
|
|||||||
BuildRequires: pkgconfig(libsepol)
|
BuildRequires: pkgconfig(libsepol)
|
||||||
BuildRequires: pkgconfig(usbutils) >= 0.82
|
BuildRequires: pkgconfig(usbutils) >= 0.82
|
||||||
%if 0%{?bootstrap}
|
%if 0%{?bootstrap}
|
||||||
|
#!BuildIgnore: dbus-1
|
||||||
Requires: this-is-only-for-build-envs
|
Requires: this-is-only-for-build-envs
|
||||||
Conflicts: systemd
|
Conflicts: systemd
|
||||||
Conflicts: kiwi
|
Conflicts: kiwi
|
||||||
@ -84,6 +85,7 @@ Conflicts: kiwi
|
|||||||
Requires: %{udevpkgname} >= 172
|
Requires: %{udevpkgname} >= 172
|
||||||
Requires: dbus-1 >= 1.4.0
|
Requires: dbus-1 >= 1.4.0
|
||||||
Requires: kbd
|
Requires: kbd
|
||||||
|
Requires: kmod >= 14
|
||||||
Requires: pam-config >= 0.79-5
|
Requires: pam-config >= 0.79-5
|
||||||
Requires: pwdutils
|
Requires: pwdutils
|
||||||
Requires: systemd-presets-branding
|
Requires: systemd-presets-branding
|
||||||
@ -100,7 +102,6 @@ Source1: systemd-rpmlintrc
|
|||||||
Source2: localfs.service
|
Source2: localfs.service
|
||||||
Source3: systemd-sysv-convert
|
Source3: systemd-sysv-convert
|
||||||
Source4: macros.systemd
|
Source4: macros.systemd
|
||||||
Source5: systemd-insserv_conf
|
|
||||||
Source6: baselibs.conf
|
Source6: baselibs.conf
|
||||||
Source7: libgcrypt.m4
|
Source7: libgcrypt.m4
|
||||||
Source8: systemd-journald.init
|
Source8: systemd-journald.init
|
||||||
@ -118,11 +119,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
|
|||||||
# handle SUSE specific kbd settings
|
# handle SUSE specific kbd settings
|
||||||
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
|
||||||
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.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
|
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
|
||||||
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
|
||||||
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.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
|
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
|
||||||
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
|
||||||
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.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
|
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
|
# 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
|
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
|
||||||
|
Patch42: systemd-pam_config.patch
|
||||||
# Upstream First - Policy:
|
# Upstream First - Policy:
|
||||||
# Never add any patches to this package without the upstream commit id
|
# 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
|
# 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
|
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
|
# 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
|
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.
|
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
|
||||||
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
|
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
|
||||||
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
|
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
|
||||||
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
|
Patch47: systemd-dbus-system-bus-address.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 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
|
||||||
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
|
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
|
||||||
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
|
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
|
||||||
# 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.
|
Patch49: 0002-cgroup-correct-the-log-information.patch
|
||||||
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
|
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
|
||||||
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
|
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
|
||||||
Patch47: 0001-journal-letting-interleaved-seqnums-go.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.
|
||||||
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
|
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
|
||||||
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.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
|
# udev patches
|
||||||
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
|
# 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
|
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
|
||||||
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
|
||||||
Patch1003: 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
|
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
|
||||||
Patch1005: 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
|
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
|
||||||
Patch1006: 1006-udev-always-rename-network.patch
|
Patch1006: 1006-udev-always-rename-network.patch
|
||||||
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
|
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
|
||||||
Patch1007: 1007-add-msft-compability-rules.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
|
%description
|
||||||
Systemd is a system and service manager, compatible with SysV and LSB
|
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.
|
a bug report then.
|
||||||
This package marks the installation to not use syslog but only the journal.
|
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
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
@ -385,7 +404,6 @@ cp %{SOURCE7} m4/
|
|||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
|
||||||
%patch11 -p1
|
%patch11 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
@ -409,28 +427,31 @@ cp %{SOURCE7} m4/
|
|||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch41 -p1
|
%patch41 -p1
|
||||||
%patch42 -p1
|
%patch42 -p1
|
||||||
%patch43 -p1
|
|
||||||
%patch44 -p1
|
|
||||||
%patch45 -p1
|
|
||||||
%patch46 -p1
|
%patch46 -p1
|
||||||
%patch47 -p1
|
%patch47 -p1
|
||||||
%patch48 -p1
|
%patch48 -p1
|
||||||
|
%patch49 -p1
|
||||||
|
%patch50 -p1
|
||||||
|
%patch51 -p1
|
||||||
|
%patch52 -p1
|
||||||
|
%patch53 -p1
|
||||||
|
%patch54 -p1
|
||||||
|
|
||||||
# udev patches
|
# udev patches
|
||||||
%patch1001 -p1
|
%patch1001 -p1
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
%patch1003 -p1
|
%patch1003 -p1
|
||||||
%patch1004 -p1
|
|
||||||
%patch1005 -p1
|
%patch1005 -p1
|
||||||
%patch1006 -p1
|
%patch1006 -p1
|
||||||
# don't apply when bootstrapping to not modify Makefile.am
|
# don't apply when bootstrapping to not modify Makefile.am
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
%patch1007 -p1
|
%patch1007 -p1
|
||||||
|
%patch1008 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch1009 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
|
|
||||||
# prevent pre-generated and distributed files from re-building
|
# prevent pre-generated and distributed files from re-building
|
||||||
find . -name "*.[1-8]" -exec touch '{}' '+';
|
find . -name "*.[1-8]" -exec touch '{}' '+';
|
||||||
export V=1
|
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
|
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
rm -rf %{buildroot}%{_sysconfdir}/rpm
|
||||||
find %{buildroot} -type f -name '*.la' -delete
|
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
|
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}/bin/systemd
|
||||||
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
|
||||||
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
|
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/stoppreload.service
|
||||||
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.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-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
|
# don't mount /tmp as tmpfs for now
|
||||||
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
|
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)
|
# create drop-in to prevent tty1 to be cleared (bnc#804158)
|
||||||
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
|
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]
|
[Service]
|
||||||
# ensure tty1 isn't cleared (bnc#804158)
|
# ensure tty1 isn't cleared (bnc#804158)
|
||||||
TTYVTDisallocate=no
|
TTYVTDisallocate=no
|
||||||
@ -594,15 +613,11 @@ EOF
|
|||||||
|
|
||||||
%fdupes -s %{buildroot}%{_mandir}
|
%fdupes -s %{buildroot}%{_mandir}
|
||||||
|
|
||||||
# disable predictable network interface naming until it has been reviewed by network team
|
# packaged in systemd-rpm-macros
|
||||||
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
|
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
|
||||||
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
|
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
|
exit 0
|
||||||
|
|
||||||
%post
|
%post
|
||||||
@ -625,7 +640,7 @@ fi
|
|||||||
if [ "$1" -eq 1 ]; then
|
if [ "$1" -eq 1 ]; then
|
||||||
# Enable these services by default.
|
# Enable these services by default.
|
||||||
/usr/bin/systemctl enable \
|
/usr/bin/systemctl enable \
|
||||||
getty@.service \
|
getty@tty1.service \
|
||||||
systemd-readahead-collect.service \
|
systemd-readahead-collect.service \
|
||||||
systemd-readahead-replay.service \
|
systemd-readahead-replay.service \
|
||||||
remote-fs.target >/dev/null 2>&1 || :
|
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 || :
|
[ -f "$new_target" ] && ln -s -f $new_target $f || :
|
||||||
done
|
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
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
if [ $1 -ge 1 ]; then
|
if [ $1 -ge 1 ]; then
|
||||||
@ -751,6 +772,21 @@ fi
|
|||||||
|
|
||||||
%postun -n nss-myhostname -p /sbin/ldconfig
|
%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
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -762,11 +798,13 @@ fi
|
|||||||
%{_bindir}/kernel-install
|
%{_bindir}/kernel-install
|
||||||
%{_bindir}/hostnamectl
|
%{_bindir}/hostnamectl
|
||||||
%{_bindir}/localectl
|
%{_bindir}/localectl
|
||||||
|
%{_bindir}/machinectl
|
||||||
%{_bindir}/systemctl
|
%{_bindir}/systemctl
|
||||||
%{_bindir}/systemd-analyze
|
%{_bindir}/systemd-analyze
|
||||||
%{_bindir}/systemd-coredumpctl
|
%{_bindir}/systemd-coredumpctl
|
||||||
%{_bindir}/systemd-delta
|
%{_bindir}/systemd-delta
|
||||||
%{_bindir}/systemd-notify
|
%{_bindir}/systemd-notify
|
||||||
|
%{_bindir}/systemd-run
|
||||||
%{_bindir}/systemd-journalctl
|
%{_bindir}/systemd-journalctl
|
||||||
%{_bindir}/journalctl
|
%{_bindir}/journalctl
|
||||||
%{_bindir}/systemd-ask-password
|
%{_bindir}/systemd-ask-password
|
||||||
@ -800,8 +838,10 @@ fi
|
|||||||
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
|
||||||
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
|
%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/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/*.automount
|
||||||
%{_prefix}/lib/systemd/system/*.service
|
%{_prefix}/lib/systemd/system/*.service
|
||||||
|
%{_prefix}/lib/systemd/system/*.slice
|
||||||
%{_prefix}/lib/systemd/system/*.target
|
%{_prefix}/lib/systemd/system/*.target
|
||||||
%{_prefix}/lib/systemd/system/*.mount
|
%{_prefix}/lib/systemd/system/*.mount
|
||||||
%{_prefix}/lib/systemd/system/*.timer
|
%{_prefix}/lib/systemd/system/*.timer
|
||||||
@ -811,6 +851,7 @@ fi
|
|||||||
%{_prefix}/lib/systemd/user/*.target
|
%{_prefix}/lib/systemd/user/*.target
|
||||||
%{_prefix}/lib/systemd/user/*.service
|
%{_prefix}/lib/systemd/user/*.service
|
||||||
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
%exclude %{_prefix}/lib/systemd/systemd-udevd
|
||||||
|
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
|
||||||
%{_prefix}/lib/systemd/systemd-*
|
%{_prefix}/lib/systemd/systemd-*
|
||||||
%{_prefix}/lib/systemd/systemd
|
%{_prefix}/lib/systemd/systemd
|
||||||
%dir %{_prefix}/lib/systemd/catalog
|
%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-rc-local-generator
|
||||||
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
|
||||||
%{_prefix}/lib/systemd/system-generators/systemd-system-update-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
|
/%{_lib}/security/pam_systemd.so
|
||||||
|
/etc/pam.d/systemd-user
|
||||||
|
|
||||||
%dir %{_libexecdir}/modules-load.d
|
%dir %{_libexecdir}/modules-load.d
|
||||||
%dir %{_sysconfdir}/modules-load.d
|
%dir %{_sysconfdir}/modules-load.d
|
||||||
@ -856,7 +900,7 @@ fi
|
|||||||
%dir %{_sysconfdir}/systemd/system
|
%dir %{_sysconfdir}/systemd/system
|
||||||
%dir %{_sysconfdir}/systemd/user
|
%dir %{_sysconfdir}/systemd/user
|
||||||
%dir %{_sysconfdir}/xdg/systemd
|
%dir %{_sysconfdir}/xdg/systemd
|
||||||
%dir %{_sysconfdir}/xdg/systemd/user
|
%{_sysconfdir}/xdg/systemd/user
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
%config(noreplace) %{_sysconfdir}/systemd/system.conf
|
||||||
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
|
||||||
@ -864,6 +908,7 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/systemd/user.conf
|
%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.locale1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.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.systemd1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
|
||||||
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.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.locale1.service
|
||||||
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.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.hostname1.service
|
||||||
|
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
|
||||||
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
|
||||||
%dir %{_datadir}/polkit-1
|
%dir %{_datadir}/polkit-1
|
||||||
%dir %{_datadir}/polkit-1/actions
|
%dir %{_datadir}/polkit-1/actions
|
||||||
@ -885,6 +931,7 @@ fi
|
|||||||
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
|
||||||
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
|
||||||
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
|
||||||
|
%exclude %{_datadir}/systemd/gatewayd
|
||||||
%{_datadir}/systemd
|
%{_datadir}/systemd
|
||||||
|
|
||||||
%if ! 0%{?bootstrap}
|
%if ! 0%{?bootstrap}
|
||||||
@ -897,7 +944,7 @@ fi
|
|||||||
%exclude %{_mandir}/man8/telinit.8*
|
%exclude %{_mandir}/man8/telinit.8*
|
||||||
%exclude %{_mandir}/man8/runlevel.8*
|
%exclude %{_mandir}/man8/runlevel.8*
|
||||||
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
%exclude %{_mandir}/man*/*udev*.[0-9]*
|
||||||
|
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
|
||||||
%{_mandir}/man1/*.1*
|
%{_mandir}/man1/*.1*
|
||||||
%{_mandir}/man3/*.3*
|
%{_mandir}/man3/*.3*
|
||||||
%{_mandir}/man5/*.5*
|
%{_mandir}/man5/*.5*
|
||||||
@ -927,6 +974,9 @@ fi
|
|||||||
%dir /var/lib/systemd/migrated
|
%dir /var/lib/systemd/migrated
|
||||||
%dir /var/lib/systemd/catalog
|
%dir /var/lib/systemd/catalog
|
||||||
%dir /var/lib/systemd/coredump
|
%dir /var/lib/systemd/coredump
|
||||||
|
%dir /usr/share/zsh
|
||||||
|
%dir /usr/share/zsh/site-functions
|
||||||
|
/usr/share/zsh/site-functions/*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -979,15 +1029,10 @@ fi
|
|||||||
%{_prefix}/lib/udev/ata_id
|
%{_prefix}/lib/udev/ata_id
|
||||||
%{_prefix}/lib/udev/cdrom_id
|
%{_prefix}/lib/udev/cdrom_id
|
||||||
%{_prefix}/lib/udev/collect
|
%{_prefix}/lib/udev/collect
|
||||||
%{_prefix}/lib/udev/findkeyboards
|
|
||||||
%{_prefix}/lib/udev/keymap
|
|
||||||
%{_prefix}/lib/udev/mtd_probe
|
%{_prefix}/lib/udev/mtd_probe
|
||||||
%{_prefix}/lib/udev/scsi_id
|
%{_prefix}/lib/udev/scsi_id
|
||||||
%{_prefix}/lib/udev/v4l_id
|
%{_prefix}/lib/udev/v4l_id
|
||||||
%{_prefix}/lib/udev/write_dev_root_rule
|
%{_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/
|
%dir %{_prefix}/lib/udev/rules.d/
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
|
||||||
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
|
||||||
@ -1066,6 +1111,12 @@ fi
|
|||||||
%{_sbindir}/nss-myhostname-config
|
%{_sbindir}/nss-myhostname-config
|
||||||
/%{_lib}/*nss_myhostname*
|
/%{_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
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -6,10 +6,8 @@ Subject: timedate: add support for openSUSE version of /etc/sysconfig/clock
|
|||||||
src/timedate/timedated.c | 7 +++++++
|
src/timedate/timedated.c | 7 +++++++
|
||||||
1 file changed, 7 insertions(+)
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
|
--- systemd-206_git201308300826.orig/src/timedate/timedated.c
|
||||||
index cdb6e5b..7246452 100644
|
+++ systemd-206_git201308300826/src/timedate/timedated.c
|
||||||
--- a/src/timedate/timedated.c
|
|
||||||
+++ b/src/timedate/timedated.c
|
|
||||||
@@ -182,6 +182,13 @@ static int read_data(void) {
|
@@ -182,6 +182,13 @@ static int read_data(void) {
|
||||||
goto have_timezone;
|
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