3
0
Adrian Schröter 2013-09-20 08:12:39 +00:00 committed by Git OBS Bridge
parent c614fc8313
commit 4fc530766b
69 changed files with 1743 additions and 1091 deletions

View File

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

View File

@ -1,74 +0,0 @@
From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Fri, 7 Jun 2013 22:01:03 -0400
Subject: [PATCH] journal: letting (interleaved) seqnums go
In the following scenario:
server creates system.journal
server creates user-1000.journal
both journals share the same seqnum_id.
Then
server writes to user-1000.journal first,
and server writes to system.journal a bit later,
and everything is fine.
The server then terminates (crash, reboot, rsyslog testing,
whatever), and user-1000.journal has entries which end with
a lower seqnum than system.journal. Now
server is restarted
server opens user-1000.journal and writes entries to it...
BAM! duplicate seqnums for the same seqnum_id.
Now, we usually don't see that happen, because system.journal
is closed last, and opened first. Since usually at least one
message is written during boot and lands in the system.journal,
the seqnum is initialized from it, and is set to a number higher
than than anything found in user journals. Nevertheless, if
system.journal is corrupted and is rotated, it can happen that
an entry is written to the user journal with a seqnum that is
a duplicate with an entry found in the corrupted system.journal~.
When browsing the journal, journalctl can fall into a loop
where it tries to follow the seqnums, and tries to go the
next location by seqnum, and is transported back in time to
to the older duplicate seqnum. There is not way to find
out the maximum seqnum used in a multiple files, without
actually looking at all of them. But we don't want to do
that because it would be slow, and actually it isn't really
possible, because a file might e.g. be temporarily unaccessible.
Fix the problem by using different seqnum series for user
journals. Using the same seqnum series for rotated journals
is still fine, because we know that nothing will write
to the rotated journal anymore.
Likely related:
https://bugs.freedesktop.org/show_bug.cgi?id=64566
https://bugs.freedesktop.org/show_bug.cgi?id=59856
https://bugs.freedesktop.org/show_bug.cgi?id=64296
https://bugs.archlinux.org/task/35581
https://bugzilla.novell.com/show_bug.cgi?id=817778
Possibly related:
https://bugs.freedesktop.org/show_bug.cgi?id=64293
Conflicts:
src/journal/journald-server.c
---
src/journal/journald-server.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index cc52b8a..cde63c8 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -280,7 +280,7 @@ static JournalFile* find_journal(Server *s, uid_t uid) {
journal_file_close(f);
}
- r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, s->system_journal, &f);
+ r = journal_file_open_reliably(p, O_RDWR|O_CREAT, 0640, s->compress, s->seal, &s->system_metrics, s->mmap, NULL, &f);
free(p);
if (r < 0)
--
1.8.2.1

View File

@ -0,0 +1,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

View File

@ -1,122 +0,0 @@
From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 6 Jun 2013 22:28:05 -0400
Subject: [PATCH 01/13] journal: remember last direction of search and keep
offset cache
The fields in JournalFile are moved around to avoid wasting
7 bytes because of alignment.
---
TODO | 3 ---
src/journal/journal-file.h | 18 +++++++++++-------
src/journal/sd-journal.c | 11 +++++------
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/TODO b/TODO
index 0dd19a0..1dc585c 100644
--- a/TODO
+++ b/TODO
@@ -77,9 +77,6 @@ Features:
* investigate endianess issues of UUID vs. GUID
-* see if we can fix https://bugs.freedesktop.org/show_bug.cgi?id=63672
- without dropping the location cache entirely.
-
* dbus: when a unit failed to load (i.e. is in UNIT_ERROR state), we
should be able to safely try another attempt when the bus call LoadUnit() is invoked.
diff --git a/src/journal/journal-file.h b/src/journal/journal-file.h
index 7b1cd42..5cc2c2d 100644
--- a/src/journal/journal-file.h
+++ b/src/journal/journal-file.h
@@ -42,10 +42,14 @@ typedef struct JournalMetrics {
uint64_t keep_free;
} JournalMetrics;
+typedef enum direction {
+ DIRECTION_UP,
+ DIRECTION_DOWN
+} direction_t;
+
typedef struct JournalFile {
int fd;
- char *path;
- struct stat last_stat;
+
mode_t mode;
int flags;
@@ -56,6 +60,11 @@ typedef struct JournalFile {
bool tail_entry_monotonic_valid;
+ direction_t last_direction;
+
+ char *path;
+ struct stat last_stat;
+
Header *header;
HashItem *data_hash_table;
HashItem *field_hash_table;
@@ -90,11 +99,6 @@ typedef struct JournalFile {
#endif
} JournalFile;
-typedef enum direction {
- DIRECTION_UP,
- DIRECTION_DOWN
-} direction_t;
-
int journal_file_open(
const char *fname,
int flags,
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 3aa9ed4..4c4cc2d 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -102,7 +102,8 @@ static void init_location(Location *l, LocationType type, JournalFile *f, Object
l->seqnum_set = l->realtime_set = l->monotonic_set = l->xor_hash_set = true;
}
-static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o, uint64_t offset) {
+static void set_location(sd_journal *j, LocationType type, JournalFile *f, Object *o,
+ direction_t direction, uint64_t offset) {
assert(j);
assert(type == LOCATION_DISCRETE || type == LOCATION_SEEK);
assert(f);
@@ -110,12 +111,10 @@ static void set_location(sd_journal *j, LocationType type, JournalFile *f, Objec
init_location(&j->current_location, type, f, o);
- if (j->current_file)
- j->current_file->current_offset = 0;
-
j->current_file = f;
j->current_field = 0;
+ f->last_direction = direction;
f->current_offset = offset;
}
@@ -811,7 +810,7 @@ static int next_beyond_location(sd_journal *j, JournalFile *f, direction_t direc
assert(j);
assert(f);
- if (f->current_offset > 0) {
+ if (f->last_direction == direction && f->current_offset > 0) {
cp = f->current_offset;
r = journal_file_move_to_object(f, OBJECT_ENTRY, cp, &c);
@@ -908,7 +907,7 @@ static int real_journal_next(sd_journal *j, direction_t direction) {
if (r < 0)
return r;
- set_location(j, LOCATION_DISCRETE, new_file, o, new_offset);
+ set_location(j, LOCATION_DISCRETE, new_file, o, direction, new_offset);
return 1;
}
--
1.8.2.1

View File

@ -0,0 +1,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

View File

@ -1,87 +0,0 @@
From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Tue, 28 May 2013 20:45:34 +0200
Subject: [PATCH 4/8] journald: DO recalculate the ACL mask, but only if it
doesn't exist
Since 11ec7ce, journald isn't setting the ACLs properly anymore if
the files had no ACLs to begin with: acl_set_fd fails with EINVAL.
An ACL with ACL_USER or ACL_GROUP entries but no ACL_MASK entry is
invalid, so make sure a mask exists before trying to set the ACL.
---
src/journal/journald-server.c | 6 ++++--
src/shared/acl-util.c | 28 ++++++++++++++++++++++++++++
src/shared/acl-util.h | 1 +
3 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index cc52b8a..01f23ce 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -227,9 +227,11 @@ void server_fix_perms(Server *s, JournalFile *f, uid_t uid) {
}
}
- /* We do not recalculate the mask here, so that the fchmod() mask above stays intact. */
+ /* We do not recalculate the mask unconditionally here,
+ * so that the fchmod() mask above stays intact. */
if (acl_get_permset(entry, &permset) < 0 ||
- acl_add_perm(permset, ACL_READ) < 0) {
+ acl_add_perm(permset, ACL_READ) < 0 ||
+ calc_acl_mask_if_needed(&acl) < 0) {
log_warning("Failed to patch ACL on %s, ignoring: %m", f->path);
goto finish;
}
diff --git a/src/shared/acl-util.c b/src/shared/acl-util.c
index 48bb12f..fb04e49 100644
--- a/src/shared/acl-util.c
+++ b/src/shared/acl-util.c
@@ -69,6 +69,34 @@ int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry) {
return 0;
}
+int calc_acl_mask_if_needed(acl_t *acl_p) {
+ acl_entry_t i;
+ int found;
+
+ assert(acl_p);
+
+ for (found = acl_get_entry(*acl_p, ACL_FIRST_ENTRY, &i);
+ found > 0;
+ found = acl_get_entry(*acl_p, ACL_NEXT_ENTRY, &i)) {
+
+ acl_tag_t tag;
+
+ if (acl_get_tag_type(i, &tag) < 0)
+ return -errno;
+
+ if (tag == ACL_MASK)
+ return 0;
+ }
+
+ if (found < 0)
+ return -errno;
+
+ if (acl_calc_mask(acl_p) < 0)
+ return -errno;
+
+ return 0;
+}
+
int search_acl_groups(char*** dst, const char* path, bool* belong) {
acl_t acl;
diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h
index 23090d9..36ef490 100644
--- a/src/shared/acl-util.h
+++ b/src/shared/acl-util.h
@@ -24,4 +24,5 @@
#include <stdbool.h>
int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry);
+int calc_acl_mask_if_needed(acl_t *acl_p);
int search_acl_groups(char*** dst, const char* path, bool* belong);
--
1.8.1.4

View File

@ -0,0 +1,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

View 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

View 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

View File

@ -1,36 +0,0 @@
From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Mon, 3 Jun 2013 13:55:13 -0400
Subject: [PATCH 6/8] systemctl,core: allow nuking of symlinks to removed units
Before, one the unit file was deleted, install_context_for_removal()
would refuse to look for symlinks. But we can remove dangling symlinks
anyway.
In principle, package installation/deinstallation scripts should do
that before the unit is uninstalled, but they don't always do. Also,
a user might have added additional symlinks manually.
https://bugs.freedesktop.org/show_bug.cgi?id=62395
---
src/shared/install.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/shared/install.c b/src/shared/install.c
index edf4d2a..a695e12 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -1413,7 +1413,9 @@ static int install_context_mark_for_removal(
assert_se(hashmap_move_one(c->have_installed, c->will_install, i->name) == 0);
q = unit_file_search(c, i, paths, root_dir, false);
- if (q < 0) {
+ if (q == -ENOENT) {
+ /* do nothing */
+ } else if (q < 0) {
if (r >= 0)
r = q;
--
1.8.1.4

View File

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

View File

@ -1,29 +0,0 @@
From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001
From: Ross Lagerwall <rosslagerwall@gmail.com>
Date: Sun, 9 Jun 2013 17:28:44 +0100
Subject: [PATCH 8/8] service: don't report alien child as alive when it's not
When a sigchld is received from an alien child, main_pid is set to
0 then service_enter_running calls main_pid_good to check if the
child is running. This incorrectly returned true because
kill(main_pid, 0) would return >= 0.
This fixes an error where a service would die and the cgroup would
become empty but the service would still report as active (running).
---
src/core/service.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: systemd-204/src/core/service.c
===================================================================
--- systemd-204.orig/src/core/service.c
+++ systemd-204/src/core/service.c
@@ -1933,7 +1933,7 @@ static int main_pid_good(Service *s) {
/* If it's an alien child let's check if it is still
* alive ... */
- if (s->main_pid_alien)
+ if (s->main_pid_alien && s->main_pid > 0)
return kill(s->main_pid, 0) >= 0 || errno != ESRCH;
/* .. otherwise assume we'll get a SIGCHLD for it,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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 += \

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

View File

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

View File

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

View File

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

View File

@ -1,27 +0,0 @@
From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Tue, 7 May 2013 14:16:53 +0200
Subject: [PATCH] Start ctrl-alt-del.target irreversibly
This makes ctrl-alt-del reboots more robust, just like "systemctl
reboot".
---
src/core/manager.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/manager.c b/src/core/manager.c
index c7f8f20..0508628 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -1372,7 +1372,7 @@ static int manager_process_signal_fd(Manager *m) {
case SIGINT:
if (m->running_as == SYSTEMD_SYSTEM) {
- manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE);
+ manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET, JOB_REPLACE_IRREVERSIBLY);
break;
}
--
1.8.1.4

View File

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

View File

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

View File

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

View File

@ -1,34 +1,30 @@
From: Frederic Crozat <fcrozat@suse.com>
Date: Wed, 9 Nov 2011 11:10:49 +0100
Subject: delay fsck / cryptsetup after md / dmraid / lvm are started
Subject: delay fsck / cryptsetup after md / dmraid are started
---
src/cryptsetup/cryptsetup-generator.c | 1 +
units/systemd-fsck@.service.in | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index 9b8e229..0949287 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
--- systemd-206_git201308300826.orig/src/cryptsetup/cryptsetup-generator.c
+++ systemd-206_git201308300826/src/cryptsetup/cryptsetup-generator.c
@@ -160,6 +160,7 @@ static int create_disk(
"Conflicts=umount.target\n"
"DefaultDependencies=no\n"
"BindsTo=dev-mapper-%i.device\n"
+ "After=md.service dmraid.service lvm.service\n"
+ "After=md.service dmraid.service\n"
"After=systemd-readahead-collect.service systemd-readahead-replay.service\n",
f);
diff --git a/units/systemd-fsck@.service.in b/units/systemd-fsck@.service.in
index b3c71eb..c66a411 100644
--- a/units/systemd-fsck@.service.in
+++ b/units/systemd-fsck@.service.in
--- systemd-206_git201308300826.orig/units/systemd-fsck@.service.in
+++ systemd-206_git201308300826/units/systemd-fsck@.service.in
@@ -10,7 +10,7 @@ Description=File System Check on %f
Documentation=man:systemd-fsck@.service(8)
DefaultDependencies=no
BindsTo=%i.device
-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device md.service dmraid.service
Before=shutdown.target
[Service]

View File

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

View File

@ -1,19 +1,17 @@
From: Frederic Crozat <fcrozat@suse.com>
Date: Thu, 9 Feb 2012 16:19:38 +0000
Subject: ensure DM and LVM are started before local-fs-pre-target
Subject: ensure DM and dmraid are started before local-fs-pre-target
ensure md / lvm /dmraid is started before mounting partitions,
ensure md / dmraid is started before mounting partitions,
if fsck was disabled for them (bnc#733283).
---
units/local-fs-pre.target | 1 +
1 file changed, 1 insertion(+)
diff --git a/units/local-fs-pre.target b/units/local-fs-pre.target
index 809f2ed..05fcbd4 100644
--- a/units/local-fs-pre.target
+++ b/units/local-fs-pre.target
--- systemd-206_git201308300826.orig/units/local-fs-pre.target
+++ systemd-206_git201308300826/units/local-fs-pre.target
@@ -9,3 +9,4 @@
Description=Local File Systems (Pre)
Documentation=man:systemd.special(7)
RefuseManualStart=yes
+After=md.service lvm.service dmraid.service
+After=md.service dmraid.service

View File

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

View File

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

View File

@ -7,15 +7,13 @@ Subject: ensure sysctl are applied after modules are loaded
units/systemd-sysctl.service.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/units/systemd-sysctl.service.in b/units/systemd-sysctl.service.in
index 45e1ceb..caaaa9a 100644
--- a/units/systemd-sysctl.service.in
+++ b/units/systemd-sysctl.service.in
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
--- systemd-206_git201308300826.orig/units/systemd-sysctl.service.in
+++ systemd-206_git201308300826/units/systemd-sysctl.service.in
@@ -11,6 +11,7 @@ Documentation=man:systemd-sysctl.service
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service
+After=systemd-modules-load.service
Before=sysinit.target shutdown.target
ConditionPathIsReadWrite=/proc/sys/
ConditionPathExists=|/etc/sysctl.conf
ConditionDirectoryNotEmpty=|/lib/sysctl.d

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

383
insserv-generator.patch Normal file
View 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;
+}

View File

@ -20,6 +20,7 @@
# RPM macros for packages installing systemd unit files
%_unitdir @systemunitdir@
%_userunitdir @userunitdir@
%_presetdir @systempresetdir@
%_udevhwdbdir @udevhwdbdir@
%_udevrulesdir @udevrulesdir@
@ -71,3 +72,7 @@ fi \
%journal_catalog_update() \
@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \
%{nil}
%tmpfiles_create() \
@rootbindir@/systemd-tmpfiles --create %{?*} >/dev/null 2>&1 || : \
%{nil}

View File

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

View File

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

View File

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

View File

@ -11,10 +11,8 @@ PIDFile: and X-Systemd-RemainAfterExit to control it.
src/core/service.h | 1 +
2 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/core/service.c b/src/core/service.c
index a8b0d9d..c357b33 100644
--- a/src/core/service.c
+++ b/src/core/service.c
--- systemd-206_git201308300826.orig/src/core/service.c
+++ systemd-206_git201308300826/src/core/service.c
@@ -135,6 +135,7 @@ static void service_init(Unit *u) {
#ifdef HAVE_SYSV_COMPAT
s->sysv_start_priority = -1;
@ -23,7 +21,7 @@ index a8b0d9d..c357b33 100644
#endif
s->socket_fd = -1;
s->guess_main_pid = true;
@@ -875,6 +876,34 @@ static int service_load_sysv_path(Service *s, const char *path) {
@@ -879,6 +880,34 @@ static int service_load_sysv_path(Servic
free(short_description);
short_description = d;
@ -58,7 +56,7 @@ index a8b0d9d..c357b33 100644
} else if (state == LSB_DESCRIPTION) {
if (startswith(l, "#\t") || startswith(l, "# ")) {
@@ -925,7 +954,8 @@ static int service_load_sysv_path(Service *s, const char *path) {
@@ -929,7 +958,8 @@ static int service_load_sysv_path(Servic
/* Special setting for all SysV services */
s->type = SERVICE_FORKING;
@ -68,7 +66,7 @@ index a8b0d9d..c357b33 100644
s->guess_main_pid = false;
s->restart = SERVICE_RESTART_NO;
s->exec_context.ignore_sigpipe = false;
@@ -2077,7 +2107,7 @@ static void service_enter_running(Service *s, ServiceResult f) {
@@ -2102,7 +2132,7 @@ static void service_enter_running(Servic
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
(s->bus_name_good || s->type != SERVICE_DBUS)) {
#ifdef HAVE_SYSV_COMPAT
@ -77,11 +75,9 @@ index a8b0d9d..c357b33 100644
s->remain_after_exit = false;
#endif
service_set_state(s, SERVICE_RUNNING);
diff --git a/src/core/service.h b/src/core/service.h
index 703d3fa..dc52e8c 100644
--- a/src/core/service.h
+++ b/src/core/service.h
@@ -176,6 +176,7 @@ struct Service {
--- systemd-206_git201308300826.orig/src/core/service.h
+++ systemd-206_git201308300826/src/core/service.h
@@ -177,6 +177,7 @@ struct Service {
bool is_sysv:1;
bool sysv_has_lsb:1;
bool sysv_enabled:1;

View File

@ -10,11 +10,9 @@ Subject: restore /var/run and /var/lock bind mount if they aren't symlink
create mode 100644 units/var-lock.mount
create mode 100644 units/var-run.mount
diff --git a/Makefile.am b/Makefile.am
index 8730f66..b8cf696 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -409,6 +409,12 @@ dist_systemunit_DATA = \
--- systemd-206_git201308300826.orig/Makefile.am
+++ systemd-206_git201308300826/Makefile.am
@@ -419,6 +419,12 @@ dist_systemunit_DATA = \
units/system-update.target \
units/initrd-switch-root.target
@ -27,7 +25,7 @@ index 8730f66..b8cf696 100644
nodist_systemunit_DATA = \
units/getty@.service \
units/serial-getty@.service \
@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \
@@ -4379,6 +4385,9 @@ RUNLEVEL4_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
RUNLEVEL5_TARGET_WANTS += \
systemd-update-utmp-runlevel.service
@ -35,13 +33,10 @@ index 8730f66..b8cf696 100644
+ var-run.mount \
+ var-lock.mount
endif
SHUTDOWN_TARGET_WANTS += \
systemd-update-utmp-shutdown.service
diff --git a/units/var-lock.mount b/units/var-lock.mount
new file mode 100644
index 0000000..07277ad
SYSINIT_TARGET_WANTS += \
systemd-update-utmp.service
--- /dev/null
+++ b/units/var-lock.mount
+++ systemd-206_git201308300826/units/var-lock.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#
@ -62,11 +57,8 @@ index 0000000..07277ad
+Where=/var/lock
+Type=bind
+Options=bind
diff --git a/units/var-run.mount b/units/var-run.mount
new file mode 100644
index 0000000..ab4da42
--- /dev/null
+++ b/units/var-run.mount
+++ systemd-206_git201308300826/units/var-run.mount
@@ -0,0 +1,19 @@
+# This file is part of systemd.
+#

View File

@ -12,11 +12,9 @@ Fixes https://bugzilla.novell.com/show_bug.cgi?id=721426
src/core/service.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
Index: systemd-204/src/core/service.c
===================================================================
--- systemd-204.orig/src/core/service.c
+++ systemd-204/src/core/service.c
@@ -2075,8 +2075,13 @@ static void service_enter_running(Servic
--- systemd-206_git201308300826.orig/src/core/service.c
+++ systemd-206_git201308300826/src/core/service.c
@@ -2100,8 +2100,13 @@ static void service_enter_running(Servic
cgroup_ok = cgroup_good(s);
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&

View File

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

View File

@ -1,27 +0,0 @@
From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001
From: Auke Kok <auke-jan.h.kok@intel.com>
Date: Thu, 9 May 2013 09:39:15 -0700
Subject: [PATCH] systemctl does not expand %u, so revert back to %I
The description field is only displayed by systemctl, and
it can't expand %u properly (it will always display "root").
---
units/user@.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/units/user@.service.in b/units/user@.service.in
index 3cf1347..ece671d 100644
--- a/units/user@.service.in
+++ b/units/user@.service.in
@@ -6,7 +6,7 @@
# (at your option) any later version.
[Unit]
-Description=User Manager for %u
+Description=User Manager for %I
After=systemd-user-sessions.service
[Service]
--
1.8.1.4

View File

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

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

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

View 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:"

View File

@ -1,34 +0,0 @@
#!/bin/bash
[ -r /etc/insserv.conf ] || exit 0
declare -A facilities
facilities["local_fs"]="local-fs.target"
facilities["localfs"]="local-fs.target"
facilities["named"]="nss-lookup.target"
facilities["network"]="network.target"
# done in systemd code
#facilities["portmap"]="rpcbind.target"
facilities["remote_fs"]="remote-fs.target"
facilities["syslog"]="syslog.target"
facilities["time"]="time-sync.target"
while read line ; do
case "$line" in
\#*|"" ) continue;;
\<* ) continue;;
\$*) t=${line%% *}
target=${facilities[${t:1}]}
[ -z $target ] && continue
mkdir -p $1/$target.{requires,wants}
for dep in ${line##* } ; do
stripped_dep=${dep/boot./}
case "$stripped_dep" in
+*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:2}]:-${stripped_dep:1}.service} $1/$target.wants/ ;;
*) ln -s -f /lib/systemd/system/${facilities[${stripped_dep:1}]:-${stripped_dep}.service} $1/$target.requires/ ;;
esac
done
;;
esac
done < /etc/insserv.conf

View File

@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")

View File

@ -1,5 +1,296 @@
-------------------------------------------------------------------
Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com
Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org
- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
really fixes the swap unit problem mentioned in previous
commit & the opensuse-factory mailing list.
-------------------------------------------------------------------
Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org
- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
missing important check on return value.
- 0002-cgroup-correct-the-log-information.patch fix misleading
log information.
- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix
setting memory cgroup
- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
should fail if write fails.
- 0005-core-cgroup-first-print-then-free.patch use-after-free
will trigger if there is an error condition.
- 0006-swap-fix-reverse-dependencies.patch reported in
opensuse-factory list, topic "swap isn't activated"
- 0007-libudev-fix-move_later-comparison.patch libudev
invalid usage of "move_later".
-------------------------------------------------------------------
Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org
- while testing this new release I get in the logs ocassionally
at boot "systemd[1]: Failed to open private bus connection:
Failed to connect to socket /var/run/dbus/system_bus_socket:
No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
is defined to /var/run/dbus/system_bus_socket instead of
/run/dbus/system_bus_socket and that does not fly when /var/run
is not yet available. (systemd-dbus-system-bus-address.patch)
-------------------------------------------------------------------
Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com
- Enable Predictable Network interface names (bnc#829526).
-------------------------------------------------------------------
Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org
- version 207, distribution specific changes follow, for overall
release notes see NEWS.
- Fixed:
* Failed at step PAM spawning /usr/lib/systemd/systemd:
Operation not permitted
* Fix shutdown hang "a stop job is running for Session 1 of user root"
that was reported in opensuse-factory list.
- systemd-sysctl no longer reads /etc/sysctl.conf however backward
compatbility is to be provides by a symlink created at %post.
- removed previously disabled upstream patches (merged):
0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch,
0004-disable-the-cgroups-release-agent-when-shutting-down.patch,
0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch,
0006-suppress-status-message-output-at-shutdown-when-quie.patch,
- removed upstream merged patches:
exclude-dev-from-tmpfiles.patch,
logind_update_state_file_after_generating_....patch
- Add systemd-pam_config.patch: use correct include name for PAM
configuration on openSUSE.
-------------------------------------------------------------------
Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com
- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from
tmpfiles (bnc#835813).
-------------------------------------------------------------------
Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com
- Remove
force-lvm-restart-after-cryptsetup-target-is-reached.patch and
remove additional dependencies on LVM in other patches: LVM has
now systemd support, no need to work around it anymore in
systemd.
-------------------------------------------------------------------
Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com
- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch
to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273
-------------------------------------------------------------------
Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de
- explicitly enable getty@tty1.service instead of getty@.service as
the tty1 alias has been removed from the file (bnc#833494)
-------------------------------------------------------------------
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
and owned by systemd package.
-------------------------------------------------------------------
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
- Fix drop-in for getty@tty1.service
-------------------------------------------------------------------
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
- Move systemd-journal-gateway to subpackage to lower dependencies
in default install.
-------------------------------------------------------------------
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
- version 206 , highlights:
* Unit files now understand the new %v specifier which
resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
into kmod and tmpfiles.
* The udev "keymap" data files and tools to apply keyboard
specific mappings of scan to key codes, and force-release
scan code lists have been entirely replaced by a udev
"keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library.
-------------------------------------------------------------------
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
- use-usr-sbin-sulogin-for-emergency-service.patch
emergency.service failed to start because sulogin is in /usr/sbin now
-------------------------------------------------------------------
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
not a directory
-------------------------------------------------------------------
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
fix segfault at shutdown
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
disable the cgroups release agent when shutting down.
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
remove ancient fallback code; turn connection error into warning
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
make shutdown honour "quiet" kernel cmdline.
-------------------------------------------------------------------
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
- fix broken symlink, service is called systemd-random-seed now.
-------------------------------------------------------------------
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
line.
+ nspawn will now inform the user explicitly that kernels with
audit enabled break containers, and suggest the user to turn
off audit.
+ Support for detecting the IMA and AppArmor security
frameworks with ConditionSecurity= has been added.
+ journalctl gained a new "-k" switch for showing only kernel
messages, mimicking dmesg output; in addition to "--user"
and "--system" switches for showing only user's own logs
and system logs.
+ systemd-delta can now show information about drop-in
snippets extending unit files.
+ systemd will now look for the "debug" argument on the kernel
command line and enable debug logging, similar to
"systemd.log_level=debug" already did before.
+ "systemctl set-default", "systemctl get-default" has been
added to configure the default.target symlink, which
controls what to boot into by default.
+ "systemctl set-log-level" has been added as a convenient
way to raise and lower systemd logging threshold.
+ "systemd-analyze plot" will now show the time the various
generators needed for execution, as well as information
about the unit file loading.
+ libsystemd-journal gained a new sd_journal_open_files() call
for opening specific journal files. journactl also gained a
new switch to expose this new functionality (useful for
debugging).
+ systemd gained the new DefaultEnvironment= setting in
/etc/systemd/system.conf to set environment variables for
all services.
+ If a privileged process logs a journal message with the
OBJECT_PID= field set, then journald will automatically
augment this with additional OBJECT_UID=, OBJECT_GID=,
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
system services want to log events about specific client
processes. journactl/systemctl has been updated to make use
of this information if all log messages regarding a specific
unit is requested.
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
Start-ctrl-alt-del.target-irreversibly.patch,
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
upstream.
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
1008-add-msft-compability-rules.patch,
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
insserv-generator.patch,
optionally-warn-if-nss-myhostname-is-called.patch,
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
- Update macros.systemd.upstream with latest upstream revision.
-------------------------------------------------------------------
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com
- Replace
parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
patch with insserv-generator.patch: no longer patch systemd main
binary but generate systemd drop-in files using a generator, for
insserv.conf compatibility.
-------------------------------------------------------------------
Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com
- systemd-mini doesn't need dbus-1, only dbus-1-devel
-------------------------------------------------------------------
Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com
- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528).
add: 1008-add-msft-compability-rules.patch
-------------------------------------------------------------------
Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com
- Drop 1007-add-msft-compability-rules.patch, breaks boot and links
in /dev/disk/by-id, will need proper rework (bnc#826528).
-------------------------------------------------------------------
Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org
- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another
case where we are trying to umount the root directory at shutdown.
- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch
only attempt to connect to a session bus if one likely exists
-------------------------------------------------------------------
Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com
- Automatically online CPUs/Memory on CPU/Memory hotplug add events
(bnc#703100, fate#311831).
add: 1008-physical-hotplug-cpu-and-memory.patch
-------------------------------------------------------------------
Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com
- Dropped backward compatibility
- Added check for upstream rpm macros changes
@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
- 0001-journal-letting-interleaved-seqnums-go.patch and
0002-journal-remember-last-direction-of-search-and-keep-o.patch
fix possible infinite loops in the journal code, related to
bnc #817778
0002-journal-remember-last-direction-of-search-and-keep-o.patch
fix possible infinite loops in the journal code, related to
bnc #817778
-------------------------------------------------------------------
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de

View File

@ -25,7 +25,7 @@
Name: systemd-mini
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 204
Version: 207
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
@ -35,8 +35,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: %{real} = %{version}-%{release}
BuildRequires: audit-devel
BuildRequires: dbus-1
%if ! 0%{?bootstrap}
BuildRequires: dbus-1
BuildRequires: docbook-xsl-stylesheets
%endif
BuildRequires: fdupes
@ -65,9 +65,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
%if ! 0%{?bootstrap}
BuildRequires: libgcrypt-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
%endif
BuildRequires: pkgconfig(libkmod) >= 5
BuildRequires: pkgconfig(libkmod) >= 14
BuildRequires: pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires: pkgconfig(libmicrohttpd)
@ -80,6 +80,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
BuildRequires: pkgconfig(libsepol)
BuildRequires: pkgconfig(usbutils) >= 0.82
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
Requires: this-is-only-for-build-envs
Conflicts: systemd
Conflicts: kiwi
@ -89,6 +90,7 @@ Conflicts: kiwi
Requires: %{udevpkgname} >= 172
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 14
Requires: pam-config >= 0.79-5
Requires: pwdutils
Requires: systemd-presets-branding
@ -105,7 +107,6 @@ Source1: systemd-rpmlintrc
Source2: localfs.service
Source3: systemd-sysv-convert
Source4: macros.systemd
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
Source8: systemd-journald.init
@ -123,11 +124,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
# handle SUSE specific kbd settings
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch
Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
Patch6: insserv-generator.patch
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
@ -155,7 +155,7 @@ Patch39: systemd-tmp-safe-defaults.patch
Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch
# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
Patch42: systemd-pam_config.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
@ -168,20 +168,25 @@ Patch24: handle-etc-HOSTNAME.patch
Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch
# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind
Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors.
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument
Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead.
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
Patch47: 0001-journal-letting-interleaved-seqnums-go.patch
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
Patch47: systemd-dbus-system-bus-address.patch
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
Patch49: 0002-cgroup-correct-the-log-information.patch
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
Patch52: 0005-core-cgroup-first-print-then-free.patch
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
Patch53: 0006-swap-fix-reverse-dependencies.patch
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
# udev patches
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
@ -190,14 +195,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
Patch1003: 1003-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
Patch1004: 1004-fix-devname-prefix.patch
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
Patch1006: 1006-udev-always-rename-network.patch
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
Patch1007: 1007-add-msft-compability-rules.patch
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
Patch1007: 1007-physical-hotplug-cpu-and-memory.patch
# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch
Patch1008: 1008-add-msft-compability-rules.patch
# PATCH-FIX-UPSTREAM libudev: fix move_later comparison
Patch1009: 0007-libudev-fix-move_later-comparison.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -365,6 +372,18 @@ is logged to /var/log/messages. Please check whether that's worth
a bug report then.
This package marks the installation to not use syslog but only the journal.
%package journal-gateway
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description journal-gateway
systemd-journal-gatewayd serves journal events over the network using HTTP.
%endif
%prep
@ -390,7 +409,6 @@ cp %{SOURCE7} m4/
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
@ -414,28 +432,31 @@ cp %{SOURCE7} m4/
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
# udev patches
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
# don't apply when bootstrapping to not modify Makefile.am
%if ! 0%{?bootstrap}
%patch1007 -p1
%patch1008 -p1
%endif
%patch1009 -p1
%build
autoreconf -fiv
# prevent pre-generated and distributed files from re-building
find . -name "*.[1-8]" -exec touch '{}' '+';
export V=1
@ -496,11 +517,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
rm -rf %{buildroot}%{_sysconfdir}/rpm
find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
# do not install, code has been fixed, might be useful in the future
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
@ -532,7 +551,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
@ -591,7 +610,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
@ -599,15 +618,11 @@ EOF
%fdupes -s %{buildroot}%{_mandir}
# disable predictable network interface naming until it has been reviewed by network team
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
EOF
# packaged in systemd-rpm-macros
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
exit 0
%post
@ -630,7 +645,7 @@ fi
if [ "$1" -eq 1 ]; then
# Enable these services by default.
/usr/bin/systemctl enable \
getty@.service \
getty@tty1.service \
systemd-readahead-collect.service \
systemd-readahead-replay.service \
remote-fs.target >/dev/null 2>&1 || :
@ -643,6 +658,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do
[ -f "$new_target" ] && ln -s -f $new_target $f || :
done
# since v207 /etc/sysctl.conf is no longer parsed, however
# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf
if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then
/bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
fi
%postun
/sbin/ldconfig
if [ $1 -ge 1 ]; then
@ -756,6 +777,21 @@ fi
%postun -n nss-myhostname -p /sbin/ldconfig
%pre journal-gateway
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
exit 0
%post journal-gateway
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%preun journal-gateway
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%postun journal-gateway
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%endif
%files
@ -767,11 +803,13 @@ fi
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
%{_bindir}/machinectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/systemd-coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
@ -805,8 +843,10 @@ fi
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/*.automount
%{_prefix}/lib/systemd/system/*.service
%{_prefix}/lib/systemd/system/*.slice
%{_prefix}/lib/systemd/system/*.target
%{_prefix}/lib/systemd/system/*.mount
%{_prefix}/lib/systemd/system/*.timer
@ -816,6 +856,7 @@ fi
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%dir %{_prefix}/lib/systemd/catalog
@ -841,7 +882,10 @@ fi
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
/%{_lib}/security/pam_systemd.so
/etc/pam.d/systemd-user
%dir %{_libexecdir}/modules-load.d
%dir %{_sysconfdir}/modules-load.d
@ -861,7 +905,7 @@ fi
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
%dir %{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/xdg/systemd/user
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -869,6 +913,7 @@ fi
%config(noreplace) %{_sysconfdir}/systemd/user.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
@ -882,6 +927,7 @@ fi
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
@ -890,6 +936,7 @@ fi
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%exclude %{_datadir}/systemd/gatewayd
%{_datadir}/systemd
%if ! 0%{?bootstrap}
@ -902,7 +949,7 @@ fi
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@ -932,6 +979,9 @@ fi
%dir /var/lib/systemd/migrated
%dir /var/lib/systemd/catalog
%dir /var/lib/systemd/coredump
%dir /usr/share/zsh
%dir /usr/share/zsh/site-functions
/usr/share/zsh/site-functions/*
%files devel
%defattr(-,root,root,-)
@ -984,15 +1034,10 @@ fi
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
%{_prefix}/lib/udev/collect
%{_prefix}/lib/udev/findkeyboards
%{_prefix}/lib/udev/keymap
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%dir %{_prefix}/lib/udev/keymaps
%{_prefix}/lib/udev/keymaps/*
%{_prefix}/lib/udev/keyboard-force-release.sh
%dir %{_prefix}/lib/udev/rules.d/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
@ -1071,6 +1116,12 @@ fi
%{_sbindir}/nss-myhostname-config
/%{_lib}/*nss_myhostname*
%files journal-gateway
%defattr(-, root, root)
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_datadir}/systemd/gatewayd
%endif
%changelog

14
systemd-pam_config.patch Normal file
View 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

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Jul 4 13:59:43 CEST 2013 - fcrozat@suse.com
- Resync with systemd v205 macros
-------------------------------------------------------------------
Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com

View File

@ -19,7 +19,7 @@
#!BuildIgnore: util-linux
Name: systemd-rpm-macros
Version: 1
Version: 2
Release: 0
Summary: RPM macros for systemd
License: LGPL-2.1+

View File

@ -16,3 +16,5 @@ addFilter(".*libgudev-.*shlib-fixed-dependency.*")
addFilter(".*suse-filelist-forbidden-systemd-userdirs.*")
addFilter("libudev-mini.*shlib-policy-name-error.*")
addFilter("nss-myhostname.*shlib-policy-name-error.*")
addFilter("systemd-logger.*useless-provides sysvinit(syslog).*")

View File

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

View File

@ -1,3 +1,294 @@
-------------------------------------------------------------------
Mon Sep 16 17:41:24 UTC 2013 - crrodriguez@opensuse.org
- 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
really fixes the swap unit problem mentioned in previous
commit & the opensuse-factory mailing list.
-------------------------------------------------------------------
Sat Sep 14 19:01:24 UTC 2013 - crrodriguez@opensuse.org
- 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
missing important check on return value.
- 0002-cgroup-correct-the-log-information.patch fix misleading
log information.
- 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch fix
setting memory cgroup
- 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
should fail if write fails.
- 0005-core-cgroup-first-print-then-free.patch use-after-free
will trigger if there is an error condition.
- 0006-swap-fix-reverse-dependencies.patch reported in
opensuse-factory list, topic "swap isn't activated"
- 0007-libudev-fix-move_later-comparison.patch libudev
invalid usage of "move_later".
-------------------------------------------------------------------
Sat Sep 14 06:52:32 UTC 2013 - crrodriguez@opensuse.org
- while testing this new release I get in the logs ocassionally
at boot "systemd[1]: Failed to open private bus connection:
Failed to connect to socket /var/run/dbus/system_bus_socket:
No such file or directory" indeed DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
is defined to /var/run/dbus/system_bus_socket instead of
/run/dbus/system_bus_socket and that does not fly when /var/run
is not yet available. (systemd-dbus-system-bus-address.patch)
-------------------------------------------------------------------
Fri Sep 13 07:47:40 UTC 2013 - fcrozat@suse.com
- Enable Predictable Network interface names (bnc#829526).
-------------------------------------------------------------------
Fri Sep 13 03:14:36 UTC 2013 - crrodriguez@opensuse.org
- version 207, distribution specific changes follow, for overall
release notes see NEWS.
- Fixed:
* Failed at step PAM spawning /usr/lib/systemd/systemd:
Operation not permitted
* Fix shutdown hang "a stop job is running for Session 1 of user root"
that was reported in opensuse-factory list.
- systemd-sysctl no longer reads /etc/sysctl.conf however backward
compatbility is to be provides by a symlink created at %post.
- removed previously disabled upstream patches (merged):
0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch,
0004-disable-the-cgroups-release-agent-when-shutting-down.patch,
0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch,
0006-suppress-status-message-output-at-shutdown-when-quie.patch,
- removed upstream merged patches:
exclude-dev-from-tmpfiles.patch,
logind_update_state_file_after_generating_....patch
- Add systemd-pam_config.patch: use correct include name for PAM
configuration on openSUSE.
-------------------------------------------------------------------
Mon Sep 9 14:39:46 UTC 2013 - fcrozat@suse.com
- Add exclude-dev-from-tmpfiles.patch: allow to exclude /dev from
tmpfiles (bnc#835813).
-------------------------------------------------------------------
Fri Sep 6 15:02:08 UTC 2013 - fcrozat@suse.com
- Remove
force-lvm-restart-after-cryptsetup-target-is-reached.patch and
remove additional dependencies on LVM in other patches: LVM has
now systemd support, no need to work around it anymore in
systemd.
-------------------------------------------------------------------
Wed Aug 21 10:42:35 UTC 2013 - idonmez@suse.com
- Add patch logind_update_state_file_after_generating_the_session_fifo_not_before.patch
to fix https://bugs.freedesktop.org/show_bug.cgi?id=67273
-------------------------------------------------------------------
Tue Aug 6 09:24:07 UTC 2013 - lnussel@suse.de
- explicitly enable getty@tty1.service instead of getty@.service as
the tty1 alias has been removed from the file (bnc#833494)
-------------------------------------------------------------------
Thu Aug 1 15:52:20 UTC 2013 - fcrozat@suse.com
- Ensure /usr/lib/systemd/system/shutdown.target.wants is created
and owned by systemd package.
-------------------------------------------------------------------
Mon Jul 29 14:01:48 UTC 2013 - fcrozat@suse.com
- Fix drop-in for getty@tty1.service
-------------------------------------------------------------------
Thu Jul 25 12:35:29 UTC 2013 - fcrozat@suse.com
- Move systemd-journal-gateway to subpackage to lower dependencies
in default install.
-------------------------------------------------------------------
Tue Jul 23 01:32:38 UTC 2013 - crrodriguez@opensuse.org
- version 206 , highlights:
* Unit files now understand the new %v specifier which
resolves to the kernel version string as returned by "uname-r".
* "journalctl -b" may now be used to look for boot output of a
specific boot. Try "journalctl -b -1"
* Creation of "dead" device nodes has been moved from udev
into kmod and tmpfiles.
* The udev "keymap" data files and tools to apply keyboard
specific mappings of scan to key codes, and force-release
scan code lists have been entirely replaced by a udev
"keyboard" builtin and a hwdb data file.
- remove patches now in upstream
- systemd now requires libkmod >=14 and cryptsetup >= 1.6.0
- systemd now require the kmod tool in addition to the library.
-------------------------------------------------------------------
Sun Jul 14 05:25:51 UTC 2013 - arvidjaar@gmail.com
- use-usr-sbin-sulogin-for-emergency-service.patch
emergency.service failed to start because sulogin is in /usr/sbin now
-------------------------------------------------------------------
Fri Jul 12 17:09:23 CEST 2013 - mls@suse.de
- fix build with rpm-4.11.1: /etc/xdg/system/user is a symlink,
not a directory
-------------------------------------------------------------------
Fri Jul 5 02:17:19 UTC 2013 - crrodriguez@opensuse.org
- 0002-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch
fix segfault at shutdown
- 0004-disable-the-cgroups-release-agent-when-shutting-down.patch
disable the cgroups release agent when shutting down.
- 0005-cgroups-agent-remove-ancient-fallback-code-turn-conn.patch
remove ancient fallback code; turn connection error into warning
- 006-suppress-status-message-output-at-shutdown-when-quie.patch
make shutdown honour "quiet" kernel cmdline.
-------------------------------------------------------------------
Fri Jul 5 02:09:55 UTC 2013 - crrodriguez@opensuse.org
- fix broken symlink, service is called systemd-random-seed now.
-------------------------------------------------------------------
Thu Jul 4 10:20:23 CEST 2013 - fcrozat@suse.com
- Update to release 205:
+ two new unit types have been introduced:
- Scope units are very similar to service units, however, are
created out of pre-existing processes -- instead of PID 1
forking off the processes.
- Slice units may be used to partition system resources in an
hierarchial fashion and then assign other units to them. By
default there are now three slices: system.slice (for all
system services), user.slice (for all user sessions),
machine.slice (for VMs and containers).
+ new concept of "transient" units, which are created at runtime
using an API and not based on configuration from disk.
+ logind has been updated to make use of scope and slice units to
manage user sessions. Logind will no longer create cgroups
hierchies itself but will relying on PID 1.
+ A new mini-daemon "systemd-machined" has been added which
may be used by virtualization managers to register local
VMs/containers. machinectl tool has been added to query
meta-data from systemd-machined.
+ Low-level cgroup configuration options ControlGroup=,
ControlGroupModify=, ControlGroupPersistent=,
ControlGroupAttribute= have been removed. High-level attribute
settings or slice units should be used instead?
+ A new bus call SetUnitProperties() has been added to alter
various runtime parameters of a unit, including cgroup
parameters. systemctl gained set-properties command to wrap
this call.
+ A new tool "systemd-run" has been added which can be used to
run arbitrary command lines as transient services or scopes,
while configuring a number of settings via the command
line.
+ nspawn will now inform the user explicitly that kernels with
audit enabled break containers, and suggest the user to turn
off audit.
+ Support for detecting the IMA and AppArmor security
frameworks with ConditionSecurity= has been added.
+ journalctl gained a new "-k" switch for showing only kernel
messages, mimicking dmesg output; in addition to "--user"
and "--system" switches for showing only user's own logs
and system logs.
+ systemd-delta can now show information about drop-in
snippets extending unit files.
+ systemd will now look for the "debug" argument on the kernel
command line and enable debug logging, similar to
"systemd.log_level=debug" already did before.
+ "systemctl set-default", "systemctl get-default" has been
added to configure the default.target symlink, which
controls what to boot into by default.
+ "systemctl set-log-level" has been added as a convenient
way to raise and lower systemd logging threshold.
+ "systemd-analyze plot" will now show the time the various
generators needed for execution, as well as information
about the unit file loading.
+ libsystemd-journal gained a new sd_journal_open_files() call
for opening specific journal files. journactl also gained a
new switch to expose this new functionality (useful for
debugging).
+ systemd gained the new DefaultEnvironment= setting in
/etc/systemd/system.conf to set environment variables for
all services.
+ If a privileged process logs a journal message with the
OBJECT_PID= field set, then journald will automatically
augment this with additional OBJECT_UID=, OBJECT_GID=,
OBJECT_COMM=, OBJECT_EXE=, ... fields. This is useful if
system services want to log events about specific client
processes. journactl/systemctl has been updated to make use
of this information if all log messages regarding a specific
unit is requested.
- Remove 0001-journal-letting-interleaved-seqnums-go.patch,
0002-journal-remember-last-direction-of-search-and-keep-o.patch,
0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch,
0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch,
0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch,
0160-mount-when-learning-about-the-root-mount-from-mounti.patch,
0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch,
Start-ctrl-alt-del.target-irreversibly.patch,
systemctl-does-not-expand-u-so-revert-back-to-I.patch: merged
upstream.
- Regenerate patches 1007-physical-hotplug-cpu-and-memory.patch,
1008-add-msft-compability-rules.patch,
Revert-service-drop-support-for-SysV-scripts-for-the-early.patch,
fix-support-for-boot-prefixed-initscript-bnc-746506.patch,
handle-SYSTEMCTL_OPTIONS-environment-variable.patch,
handle-numlock-value-in-etc-sysconfig-keyboard.patch,
insserv-generator.patch,
optionally-warn-if-nss-myhostname-is-called.patch,
remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch,
restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch,
service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch.
- Update macros.systemd.upstream with latest upstream revision.
-------------------------------------------------------------------
Mon Jul 1 13:43:31 UTC 2013 - fcrozat@suse.com
- Replace
parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
patch with insserv-generator.patch: no longer patch systemd main
binary but generate systemd drop-in files using a generator, for
insserv.conf compatibility.
-------------------------------------------------------------------
Mon Jul 1 09:14:55 UTC 2013 - coolo@suse.com
- systemd-mini doesn't need dbus-1, only dbus-1-devel
-------------------------------------------------------------------
Wed Jun 26 09:31:14 UTC 2013 - rmilasan@suse.com
- Re-add fixed udev MSFT compability rules (bnc#805059, bnc#826528).
add: 1008-add-msft-compability-rules.patch
-------------------------------------------------------------------
Wed Jun 26 08:51:29 UTC 2013 - rmilasan@suse.com
- Drop 1007-add-msft-compability-rules.patch, breaks boot and links
in /dev/disk/by-id, will need proper rework (bnc#826528).
-------------------------------------------------------------------
Mon Jun 24 00:15:24 UTC 2013 - crrodriguez@opensuse.org
- 0160-mount-when-learning-about-the-root-mount-from-mounti.patch Another
case where we are trying to umount the root directory at shutdown.
- 0185-core-only-attempt-to-connect-to-a-session-bus-if-one.patch
only attempt to connect to a session bus if one likely exists
-------------------------------------------------------------------
Fri Jun 21 12:40:27 UTC 2013 - rmilasan@suse.com
- Automatically online CPUs/Memory on CPU/Memory hotplug add events
(bnc#703100, fate#311831).
add: 1008-physical-hotplug-cpu-and-memory.patch
-------------------------------------------------------------------
Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com
@ -13,9 +304,9 @@ Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com
Tue Jun 18 00:33:10 UTC 2013 - crrodriguez@opensuse.org
- 0001-journal-letting-interleaved-seqnums-go.patch and
0002-journal-remember-last-direction-of-search-and-keep-o.patch
fix possible infinite loops in the journal code, related to
bnc #817778
0002-journal-remember-last-direction-of-search-and-keep-o.patch
fix possible infinite loops in the journal code, related to
bnc #817778
-------------------------------------------------------------------
Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de

View File

@ -23,15 +23,15 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 204
Version: 207
Release: 0
Summary: A System and Session Manager
License: LGPL-2.1+
Group: System/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: audit-devel
BuildRequires: dbus-1
%if ! 0%{?bootstrap}
BuildRequires: dbus-1
BuildRequires: docbook-xsl-stylesheets
%endif
BuildRequires: fdupes
@ -60,9 +60,9 @@ BuildRequires: pkgconfig(dbus-1) >= 1.3.2
%if ! 0%{?bootstrap}
BuildRequires: libgcrypt-devel
BuildRequires: pkgconfig(glib-2.0) >= 2.22.0
BuildRequires: pkgconfig(libcryptsetup) >= 1.4.2
BuildRequires: pkgconfig(libcryptsetup) >= 1.6.0
%endif
BuildRequires: pkgconfig(libkmod) >= 5
BuildRequires: pkgconfig(libkmod) >= 14
BuildRequires: pkgconfig(liblzma)
%if ! 0%{?bootstrap}
BuildRequires: pkgconfig(libmicrohttpd)
@ -75,6 +75,7 @@ BuildRequires: pkgconfig(libselinux) >= 2.1.9
BuildRequires: pkgconfig(libsepol)
BuildRequires: pkgconfig(usbutils) >= 0.82
%if 0%{?bootstrap}
#!BuildIgnore: dbus-1
Requires: this-is-only-for-build-envs
Conflicts: systemd
Conflicts: kiwi
@ -84,6 +85,7 @@ Conflicts: kiwi
Requires: %{udevpkgname} >= 172
Requires: dbus-1 >= 1.4.0
Requires: kbd
Requires: kmod >= 14
Requires: pam-config >= 0.79-5
Requires: pwdutils
Requires: systemd-presets-branding
@ -100,7 +102,6 @@ Source1: systemd-rpmlintrc
Source2: localfs.service
Source3: systemd-sysv-convert
Source4: macros.systemd
Source5: systemd-insserv_conf
Source6: baselibs.conf
Source7: libgcrypt.m4
Source8: systemd-journald.init
@ -118,11 +119,10 @@ Patch1: optionally-warn-if-nss-myhostname-is-called.patch
# handle SUSE specific kbd settings
Patch3: handle-disable_caplock-and-compose_table-and-kbd_rate.patch
Patch4: handle-numlock-value-in-etc-sysconfig-keyboard.patch
Patch6: parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch
Patch6: insserv-generator.patch
Patch7: service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch
Patch8: module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch
Patch9: remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch
Patch10: force-lvm-restart-after-cryptsetup-target-is-reached.patch
Patch11: delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch
Patch12: Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch
Patch13: ensure-sysctl-are-applied-after-modules-are-loaded.patch
@ -150,7 +150,7 @@ Patch39: systemd-tmp-safe-defaults.patch
Patch40: sysctl-handle-boot-sysctl.conf-kernel_release.patch
# PATCH-FIX-OPENSUSE ensure-shortname-is-set-as-hostname-bnc-820213.patch bnc#820213 fcrozat@suse.com -- Do not set anything beyond first dot as hostname
Patch41: ensure-shortname-is-set-as-hostname-bnc-820213.patch
Patch42: systemd-pam_config.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
# in the patch. Any patches added here without a very good reason to make
@ -163,20 +163,25 @@ Patch24: handle-etc-HOSTNAME.patch
Patch25: Forward-suspend-hibernate-calls-to-pm-utils.patch
# PATCH-FIX-UPSTREAM rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch rjschwei@suse.com -- add lid switch of ARM based Chromebook as a power switch to logind
Patch38: rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch
# PATCH-FIX-UPSTREAM systemctl-does-not-expand-u-so-revert-back-to-I.patch fcrozat@suse.com -- avoids expansion errors.
Patch42: systemctl-does-not-expand-u-so-revert-back-to-I.patch
# PATCH-FIX-UPSTREAM Start-ctrl-alt-del.target-irreversibly.patch fcrozat@suse.com -- ctrl-alt-del should be irreversible for reliability.
Patch43: Start-ctrl-alt-del.target-irreversibly.patch
# PATCH-FIX-UPSTREAM 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch crrodriguez@opensuse.org fix systemd-journald[347]: Failed to set ACL on ...user-1000.journal..Invalid argument
Patch44: 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch
# PATCH-FIX-UPSTREAM 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch crrodriguez@opensuse.org ensure systemctl disable removes dangling symlinks
Patch45: 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch
# PATCH-FIX-UPSTREAM 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch crrodriguez@opensuse.org do not report alien child as alive when it is dead.
Patch46: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch
# PATCH-FIX-UPSTREAM 0001-journal-letting-interleaved-seqnums-go.patch crrodriguez@opensuse.org fix journal infinite loops
Patch47: 0001-journal-letting-interleaved-seqnums-go.patch
# PATCH-FIX-UPSTREAM 0002-journal-remember-last-direction-of-search-and-keep-o.patch crrodriguez@opensuse.org fix journal infinite loops
Patch48: 0002-journal-remember-last-direction-of-search-and-keep-o.patch
# PATCH-FIX-OPENSUSE use-usr-sbin-sulogin-for-emergency-service.patch arvidjaar@gmail.com -- fix path to sulogin
Patch46: use-usr-sbin-sulogin-for-emergency-service.patch
# PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run
Patch47: systemd-dbus-system-bus-address.patch
# PATCH-FIX-UPSTREAM 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch -- r must be set to the return value of previous call.
Patch48: 0001-cgroup-add-the-missing-setting-of-variable-s-value.patch
# PATCH-FIX-UPSTREAM 0002-cgroup-correct-the-log-information.patch -- fix misleading log information.
Patch49: 0002-cgroup-correct-the-log-information.patch
# PATCH-FIX-UPSTREAM 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch -- memory cgroup setting is wrong.
Patch50: 0003-cgroup-fix-incorrectly-setting-memory-cgroup.patch
# PATCH-FIX-UPSTREAM 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch -- systemd-random-seed-load should fail if write fails.
Patch51: 0004-random-seed-we-should-return-errno-of-failed-loop_wr.patch
# PATCH-FIX-UPSTREAM 0005-core-cgroup-first-print-then-free.patch -- fix use after free
Patch52: 0005-core-cgroup-first-print-then-free.patch
# PATCH-FIX-UPSTREAM 0006-swap-fix-reverse-dependencies.patch -- SWAP does not mount properly
Patch53: 0006-swap-fix-reverse-dependencies.patch
# PATCH-FIX-UPSTREAM 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch really fix swap units
Patch54: 0008-swap-create-.wants-symlink-to-auto-swap-devices.patch
# udev patches
# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch
@ -185,14 +190,16 @@ Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch
Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch
# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch
Patch1003: 1003-udev-netlink-null-rules.patch
# PATCH-FIX-OPENSUSE 1004-fix-devname-prefix.patch fcrozat@suse.com -- fix modules.devname path, it isn't in /usr
Patch1004: 1004-fix-devname-prefix.patch
# PATCH-FIX-OPENSUSE 1005-create-default-links-for-primary-cd_dvd-drive.patch
Patch1005: 1005-create-default-links-for-primary-cd_dvd-drive.patch
# PATCH-FIX-OPENSUSE 1006-udev-always-rename-network.patch
Patch1006: 1006-udev-always-rename-network.patch
# PATCH-FIX-OPENSUSE 1007-add-msft-compability-rules.patch
Patch1007: 1007-add-msft-compability-rules.patch
# PATCH-FIX-OPENSUSE 1007-physical-hotplug-cpu-and-memory.patch
Patch1007: 1007-physical-hotplug-cpu-and-memory.patch
# PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch
Patch1008: 1008-add-msft-compability-rules.patch
# PATCH-FIX-UPSTREAM libudev: fix move_later comparison
Patch1009: 0007-libudev-fix-move_later-comparison.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@ -360,6 +367,18 @@ is logged to /var/log/messages. Please check whether that's worth
a bug report then.
This package marks the installation to not use syslog but only the journal.
%package journal-gateway
Summary: Gateway for serving journal events over the network using HTTP
License: LGPL-2.1+
Group: System/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description journal-gateway
systemd-journal-gatewayd serves journal events over the network using HTTP.
%endif
%prep
@ -385,7 +404,6 @@ cp %{SOURCE7} m4/
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
@ -409,28 +427,31 @@ cp %{SOURCE7} m4/
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
# udev patches
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
# don't apply when bootstrapping to not modify Makefile.am
%if ! 0%{?bootstrap}
%patch1007 -p1
%patch1008 -p1
%endif
%patch1009 -p1
%build
autoreconf -fiv
# prevent pre-generated and distributed files from re-building
find . -name "*.[1-8]" -exec touch '{}' '+';
export V=1
@ -491,11 +512,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
ln -sf ../systemd-udev-root-symlink.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/basic.target.wants
rm -rf %{buildroot}%{_sysconfdir}/rpm
find %{buildroot} -type f -name '*.la' -delete
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants}
mkdir -p %{buildroot}/{sbin,var/lib/systemd/sysv-convert,var/lib/systemd/migrated} %{buildroot}/usr/lib/systemd/{system-generators,user-generators,system-preset,user-preset,system/halt.target.wants,system/kexec.target.wants,system/poweroff.target.wants,system/reboot.target.wants,system/shutdown.target.wants}
install -m755 %{S:3} -D %{buildroot}%{_sbindir}/systemd-sysv-convert
# do not install, code has been fixed, might be useful in the future
#install -m755 %{S:5} %{buildroot}/usr/lib/systemd/system-generators
ln -s ../usr/lib/systemd/systemd %{buildroot}/bin/systemd
ln -s ../usr/lib/systemd/systemd %{buildroot}/sbin/init
ln -s ../usr/bin/systemctl %{buildroot}/sbin/reboot
@ -527,7 +546,7 @@ ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/startpreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/stoppreload.service
ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlyxdm.service
ln -s systemd-sysctl.service %{buildroot}/%{_prefix}/lib/systemd/system/sysctl.service
ln -s systemd-random-seed-load.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
ln -s systemd-random-seed.service %{buildroot}/%{_prefix}/lib/systemd/system/random.service
# don't mount /tmp as tmpfs for now
rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount
@ -586,7 +605,7 @@ mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/dbus.target.wants
# create drop-in to prevent tty1 to be cleared (bnc#804158)
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/
echo << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
cat << EOF > %{buildroot}%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
# ensure tty1 isn't cleared (bnc#804158)
TTYVTDisallocate=no
@ -594,15 +613,11 @@ EOF
%fdupes -s %{buildroot}%{_mandir}
# disable predictable network interface naming until it has been reviewed by network team
cat << EOF > %{buildroot}%{_prefix}/lib/tmpfiles.d/network.conf
F /run/udev/rules.d/80-net-name-slot.rules 0644 - - - "#disable predictable network interface naming for now"
EOF
# packaged in systemd-rpm-macros
rm -f %{buildroot}/%{_prefix}/lib/rpm/macros.d/macros.systemd
%pre
getent group systemd-journal >/dev/null || groupadd -r systemd-journal || :
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
exit 0
%post
@ -625,7 +640,7 @@ fi
if [ "$1" -eq 1 ]; then
# Enable these services by default.
/usr/bin/systemctl enable \
getty@.service \
getty@tty1.service \
systemd-readahead-collect.service \
systemd-readahead-replay.service \
remote-fs.target >/dev/null 2>&1 || :
@ -638,6 +653,12 @@ for f in $(find /etc/systemd/system -type l -xtype l); do
[ -f "$new_target" ] && ln -s -f $new_target $f || :
done
# since v207 /etc/sysctl.conf is no longer parsed, however
# backward compatibility is provided by /etc/sysctl.d/99-sysctl.conf
if [ ! -L /etc/sysctl.d/99-sysctl.conf -a -e /etc/sysctl.conf ]; then
/bin/ln -sf /etc/sysctl.conf /etc/sysctl.d/99-sysctl.conf || :
fi
%postun
/sbin/ldconfig
if [ $1 -ge 1 ]; then
@ -751,6 +772,21 @@ fi
%postun -n nss-myhostname -p /sbin/ldconfig
%pre journal-gateway
getent passwd systemd-journal-gateway >/dev/null || useradd -r -l -g systemd-journal-gateway -d /var/log/journal -s /usr/sbin/nologin -c "Journal Gateway" systemd-journal-gateway >/dev/null 2>&1 || :
getent group systemd-journal-gateway >/dev/null || groupadd -r systemd-journal-gateway || :
%service_add_pre systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
exit 0
%post journal-gateway
%service_add_post systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%preun journal-gateway
%service_del_preun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%postun journal-gateway
%service_del_postun systemd-journal-gatewayd.socket systemd-journal-gatewayd.service
%endif
%files
@ -762,11 +798,13 @@ fi
%{_bindir}/kernel-install
%{_bindir}/hostnamectl
%{_bindir}/localectl
%{_bindir}/machinectl
%{_bindir}/systemctl
%{_bindir}/systemd-analyze
%{_bindir}/systemd-coredumpctl
%{_bindir}/systemd-delta
%{_bindir}/systemd-notify
%{_bindir}/systemd-run
%{_bindir}/systemd-journalctl
%{_bindir}/journalctl
%{_bindir}/systemd-ask-password
@ -800,8 +838,10 @@ fi
%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.*
%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service
%exclude %{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/system/*.automount
%{_prefix}/lib/systemd/system/*.service
%{_prefix}/lib/systemd/system/*.slice
%{_prefix}/lib/systemd/system/*.target
%{_prefix}/lib/systemd/system/*.mount
%{_prefix}/lib/systemd/system/*.timer
@ -811,6 +851,7 @@ fi
%{_prefix}/lib/systemd/user/*.target
%{_prefix}/lib/systemd/user/*.service
%exclude %{_prefix}/lib/systemd/systemd-udevd
%exclude %{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_prefix}/lib/systemd/systemd-*
%{_prefix}/lib/systemd/systemd
%dir %{_prefix}/lib/systemd/catalog
@ -836,7 +877,10 @@ fi
%{_prefix}/lib/systemd/system-generators/systemd-rc-local-generator
%{_prefix}/lib/systemd/system-generators/systemd-fstab-generator
%{_prefix}/lib/systemd/system-generators/systemd-system-update-generator
%{_prefix}/lib/systemd/system-generators/systemd-insserv-generator
%{_prefix}/lib/systemd/system-generators/systemd-gpt-auto-generator
/%{_lib}/security/pam_systemd.so
/etc/pam.d/systemd-user
%dir %{_libexecdir}/modules-load.d
%dir %{_sysconfdir}/modules-load.d
@ -856,7 +900,7 @@ fi
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/systemd/user
%dir %{_sysconfdir}/xdg/systemd
%dir %{_sysconfdir}/xdg/systemd/user
%{_sysconfdir}/xdg/systemd/user
%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%config(noreplace) %{_sysconfdir}/systemd/logind.conf
@ -864,6 +908,7 @@ fi
%config(noreplace) %{_sysconfdir}/systemd/user.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.hostname1.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.timedate1.conf
@ -877,6 +922,7 @@ fi
%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
@ -885,6 +931,7 @@ fi
%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy
%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy
%exclude %{_datadir}/systemd/gatewayd
%{_datadir}/systemd
%if ! 0%{?bootstrap}
@ -897,7 +944,7 @@ fi
%exclude %{_mandir}/man8/telinit.8*
%exclude %{_mandir}/man8/runlevel.8*
%exclude %{_mandir}/man*/*udev*.[0-9]*
%exclude %{_mandir}/man8/systemd-journal-gatewayd.*
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*
@ -927,6 +974,9 @@ fi
%dir /var/lib/systemd/migrated
%dir /var/lib/systemd/catalog
%dir /var/lib/systemd/coredump
%dir /usr/share/zsh
%dir /usr/share/zsh/site-functions
/usr/share/zsh/site-functions/*
%files devel
%defattr(-,root,root,-)
@ -979,15 +1029,10 @@ fi
%{_prefix}/lib/udev/ata_id
%{_prefix}/lib/udev/cdrom_id
%{_prefix}/lib/udev/collect
%{_prefix}/lib/udev/findkeyboards
%{_prefix}/lib/udev/keymap
%{_prefix}/lib/udev/mtd_probe
%{_prefix}/lib/udev/scsi_id
%{_prefix}/lib/udev/v4l_id
%{_prefix}/lib/udev/write_dev_root_rule
%dir %{_prefix}/lib/udev/keymaps
%{_prefix}/lib/udev/keymaps/*
%{_prefix}/lib/udev/keyboard-force-release.sh
%dir %{_prefix}/lib/udev/rules.d/
%exclude %{_prefix}/lib/udev/rules.d/70-uaccess.rules
%exclude %{_prefix}/lib/udev/rules.d/71-seat.rules
@ -1066,6 +1111,12 @@ fi
%{_sbindir}/nss-myhostname-config
/%{_lib}/*nss_myhostname*
%files journal-gateway
%defattr(-, root, root)
%{_prefix}/lib/systemd/system/systemd-journal-gatewayd.*
%{_prefix}/lib/systemd/systemd-journal-gatewayd
%{_mandir}/man8/systemd-journal-gatewayd.*
%{_datadir}/systemd/gatewayd
%endif
%changelog

View File

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

View 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