From c9cfc69bc47b51122ac4ec2be4bb05d31567de2c04c165149caed280c25bb484 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 20 Jun 2013 13:51:16 +0000 Subject: [PATCH] add link OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemd-rpm-macros?expand=0&rev=1 --- .gitattributes | 23 + ...urnal-letting-interleaved-seqnums-go.patch | 74 + ...-last-direction-of-search-and-keep-o.patch | 122 + ...lculate-the-ACL-mask-but-only-if-it-.patch | 87 + ...llow-nuking-of-symlinks-to-removed-u.patch | 36 + ...port-alien-child-as-alive-when-it-s-.patch | 29 + ...enable-by_path-links-for-ata-devices.patch | 120 + ...ate-by-id-scsi-links-for-ATA-devices.patch | 24 + 1003-udev-netlink-null-rules.patch | 22 + 1004-fix-devname-prefix.patch | 22 + ...fault-links-for-primary-cd_dvd-drive.patch | 24 + 1006-udev-always-rename-network.patch | 77 + 1007-add-msft-compability-rules.patch | 29 + ...es-permissions-to-follow-openSUSE-po.patch | 39 + ...-suspend-hibernate-calls-to-pm-utils.patch | 96 + ...pport-for-SysV-scripts-for-the-early.patch | 140 + Start-ctrl-alt-del.target-irreversibly.patch | 27 + allow-multiple-sulogin-to-be-started.patch | 47 + apply-ACL-for-nvidia-device-nodes.patch | 44 + ...alid-address-familily-is-passed-to-g.patch | 26 + baselibs.conf | 7 + boot.udev | 74 + ...etup-after-md-dmraid-lvm-are-started.patch | 34 + ...le-nss-myhostname-warning-bnc-783841.patch | 20 + ...e-started-before-local-fs-pre-target.patch | 19 + ...assword-wall-starts-after-getty-tty1.patch | 22 + ...rtname-is-set-as-hostname-bnc-820213.patch | 34 + ...are-applied-after-modules-are-loaded.patch | 21 + fix-owner-of-var-log-btmp.patch | 22 + ...-boot-prefixed-initscript-bnc-746506.patch | 42 + ...t-after-cryptsetup-target-is-reached.patch | 104 + ...STEMCTL_OPTIONS-environment-variable.patch | 42 + ...plock-and-compose_table-and-kbd_rate.patch | 233 ++ handle-etc-HOSTNAME.patch | 81 + ...lock-value-in-etc-sysconfig-keyboard.patch | 191 + ...lang-value-in-etc-sysconfig-language.patch | 54 + libgcrypt.m4 | 123 + localfs.service | 8 + macros.systemd | 115 + macros.systemd.upstream | 73 + ...USE-etc-sysconfig-kernel-module-list.patch | 66 + nss-myhostname-config | 31 + ...lly-warn-if-nss-myhostname-is-called.patch | 106 + ...nf-and-adds-dependencies-accordingly.patch | 131 + pre_checkin.sh | 16 + ...script-heuristic-and-add-new-LSB-hea.patch | 91 + ...r-lock-bind-mount-if-they-aren-t-sym.patch | 89 + ...f-ARM-based-Chromebook-as-a-power-sw.patch | 20 + ...vice-with-detected-pid-as-RemainAfte.patch | 33 + ...ndle-boot-sysctl.conf-kernel_release.patch | 50 + ...oes-not-expand-u-so-revert-back-to-I.patch | 27 + systemd-204.tar.xz | 3 + systemd-insserv_conf | 34 + systemd-journald.init | 33 + systemd-mini-rpmlintrc | 18 + systemd-mini.changes | 3118 +++++++++++++++++ systemd-mini.spec | 1076 ++++++ systemd-rpm-macros.changes | 6 + systemd-rpm-macros.spec | 57 + systemd-rpmlintrc | 18 + systemd-sysv-convert | 179 + systemd-tmp-safe-defaults.patch | 26 + systemd-udev-root-symlink | 9 + systemd.changes | 3118 +++++++++++++++++ systemd.spec | 1071 ++++++ ...or-openSUSE-version-of-etc-sysconfig.patch | 26 + write_dev_root_rule | 13 + 67 files changed, 11892 insertions(+) create mode 100644 .gitattributes create mode 100644 0001-journal-letting-interleaved-seqnums-go.patch create mode 100644 0002-journal-remember-last-direction-of-search-and-keep-o.patch create mode 100644 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch create mode 100644 0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch create mode 100644 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch create mode 100644 1001-re-enable-by_path-links-for-ata-devices.patch create mode 100644 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch create mode 100644 1003-udev-netlink-null-rules.patch create mode 100644 1004-fix-devname-prefix.patch create mode 100644 1005-create-default-links-for-primary-cd_dvd-drive.patch create mode 100644 1006-udev-always-rename-network.patch create mode 100644 1007-add-msft-compability-rules.patch create mode 100644 Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch create mode 100644 Forward-suspend-hibernate-calls-to-pm-utils.patch create mode 100644 Revert-service-drop-support-for-SysV-scripts-for-the-early.patch create mode 100644 Start-ctrl-alt-del.target-irreversibly.patch create mode 100644 allow-multiple-sulogin-to-be-started.patch create mode 100644 apply-ACL-for-nvidia-device-nodes.patch create mode 100644 avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch create mode 100644 baselibs.conf create mode 100644 boot.udev create mode 100644 delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch create mode 100644 disable-nss-myhostname-warning-bnc-783841.patch create mode 100644 ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch create mode 100644 ensure-ask-password-wall-starts-after-getty-tty1.patch create mode 100644 ensure-shortname-is-set-as-hostname-bnc-820213.patch create mode 100644 ensure-sysctl-are-applied-after-modules-are-loaded.patch create mode 100644 fix-owner-of-var-log-btmp.patch create mode 100644 fix-support-for-boot-prefixed-initscript-bnc-746506.patch create mode 100644 force-lvm-restart-after-cryptsetup-target-is-reached.patch create mode 100644 handle-SYSTEMCTL_OPTIONS-environment-variable.patch create mode 100644 handle-disable_caplock-and-compose_table-and-kbd_rate.patch create mode 100644 handle-etc-HOSTNAME.patch create mode 100644 handle-numlock-value-in-etc-sysconfig-keyboard.patch create mode 100644 handle-root_uses_lang-value-in-etc-sysconfig-language.patch create mode 100644 libgcrypt.m4 create mode 100644 localfs.service create mode 100644 macros.systemd create mode 100644 macros.systemd.upstream create mode 100644 module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch create mode 100644 nss-myhostname-config create mode 100644 optionally-warn-if-nss-myhostname-is-called.patch create mode 100644 parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch create mode 100644 pre_checkin.sh create mode 100644 remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch create mode 100644 restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch create mode 100644 rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch create mode 100644 service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch create mode 100644 sysctl-handle-boot-sysctl.conf-kernel_release.patch create mode 100644 systemctl-does-not-expand-u-so-revert-back-to-I.patch create mode 100644 systemd-204.tar.xz create mode 100644 systemd-insserv_conf create mode 100644 systemd-journald.init create mode 100644 systemd-mini-rpmlintrc create mode 100644 systemd-mini.changes create mode 100644 systemd-mini.spec create mode 100644 systemd-rpm-macros.changes create mode 100644 systemd-rpm-macros.spec create mode 100644 systemd-rpmlintrc create mode 100644 systemd-sysv-convert create mode 100644 systemd-tmp-safe-defaults.patch create mode 100644 systemd-udev-root-symlink create mode 100644 systemd.changes create mode 100644 systemd.spec create mode 100644 timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch create mode 100644 write_dev_root_rule diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/0001-journal-letting-interleaved-seqnums-go.patch b/0001-journal-letting-interleaved-seqnums-go.patch new file mode 100644 index 0000000..a3c6054 --- /dev/null +++ b/0001-journal-letting-interleaved-seqnums-go.patch @@ -0,0 +1,74 @@ +From 53113dc8254cae9a27e321e539d2d876677e61b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +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 + diff --git a/0002-journal-remember-last-direction-of-search-and-keep-o.patch b/0002-journal-remember-last-direction-of-search-and-keep-o.patch new file mode 100644 index 0000000..b710d55 --- /dev/null +++ b/0002-journal-remember-last-direction-of-search-and-keep-o.patch @@ -0,0 +1,122 @@ +From 87011c25d96e9fbcd8a465ba758fa037c7d08203 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +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 + diff --git a/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch new file mode 100644 index 0000000..cb24f70 --- /dev/null +++ b/0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch @@ -0,0 +1,87 @@ +From 7f20c71497ec7c78c6d2572a0d7075f78b14548a Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +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 + + 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 + diff --git a/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch new file mode 100644 index 0000000..4c39c95 --- /dev/null +++ b/0006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch @@ -0,0 +1,36 @@ +From 3b1680e04cb0ff0e4cf180dbacd067f1f99316a2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +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 + diff --git a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch new file mode 100644 index 0000000..c99f242 --- /dev/null +++ b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch @@ -0,0 +1,29 @@ +From 3608595751f62bbc6d37eb78b746ab6fecfa2d45 Mon Sep 17 00:00:00 2001 +From: Ross Lagerwall +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, diff --git a/1001-re-enable-by_path-links-for-ata-devices.patch b/1001-re-enable-by_path-links-for-ata-devices.patch new file mode 100644 index 0000000..64f01c1 --- /dev/null +++ b/1001-re-enable-by_path-links-for-ata-devices.patch @@ -0,0 +1,120 @@ +From: Robert Milasan +Date: Thu, 12 Jul 2012 15:56:34 +0000 +Subject: re-enable by_path links for ata devices + +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 * + return parent; + } + ++static struct udev_device *handle_ata(struct udev_device *parent, char **path) ++{ ++ struct udev_device *hostdev; ++ int host, bus, target, lun; ++ const char *name; ++ char *base; ++ char *pos; ++ DIR *dir; ++ struct dirent *dent; ++ int basenum, len; ++ ++ hostdev = udev_device_get_parent_with_subsystem_devtype(parent, "scsi", "scsi_host"); ++ if (hostdev == NULL) ++ return NULL; ++ ++ name = udev_device_get_sysname(parent); ++ if (sscanf(name, "%d:%d:%d:%d", &host, &bus, &target, &lun) != 4) ++ return NULL; ++ ++ /* rebase ata offset to get the local relative number */ ++ basenum = -1; ++ base = strdup(udev_device_get_syspath(hostdev)); ++ if (base == NULL) ++ return NULL; ++ pos = strrchr(base, '/'); ++ if (pos == NULL) { ++ parent = NULL; ++ goto out; ++ } ++ pos[0] = '\0'; ++ len = strlen(base) - 5; ++ if (len <= 0) { ++ parent = NULL; ++ goto out; ++ } ++ base[len] = '\0'; ++ dir = opendir(base); ++ if (dir == NULL) { ++ parent = NULL; ++ goto out; ++ } ++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) { ++ char *rest; ++ int i; ++ ++ if (dent->d_name[0] == '.') ++ continue; ++ if (dent->d_type != DT_DIR && dent->d_type != DT_LNK) ++ continue; ++ if (strncmp(dent->d_name, "ata", 3) != 0) ++ continue; ++ i = strtoul(&dent->d_name[3], &rest, 10); ++ ++ /* ata devices start with 1, so decrease by 1 if i is bigger then 0 */ ++ if (i > 0) ++ i--; ++ if (rest[0] != '\0') ++ continue; ++ /* ++ * find the smallest number; the host really needs to export its ++ * own instance number per parent device; relying on the global host ++ * enumeration and plainly rebasing the numbers sounds unreliable ++ */ ++ if (basenum == -1 || i < basenum) ++ basenum = i; ++ } ++ closedir(dir); ++ if (basenum == -1) { ++ parent = NULL; ++ goto out; ++ } ++ host -= basenum; ++ ++ path_prepend(path, "scsi-%u:%u:%u:%u", host, bus, target, lun); ++out: ++ free(base); ++ return hostdev; ++} ++ + 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) + goto out; + } + +- /* +- * We do not support the ATA transport class, it uses global counters +- * to name the ata devices which numbers spread across multiple +- * controllers. +- * +- * The real link numbers are not exported. Also, possible chains of ports +- * behind port multipliers cannot be composed that way. +- * +- * Until all that is solved at the kernel level, there are no by-path/ +- * links for ATA devices. +- */ + if (strstr(name, "/ata") != NULL) { +- parent = NULL; ++ parent = handle_ata(parent, path); + goto out; + } + diff --git a/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch new file mode 100644 index 0000000..c2f3186 --- /dev/null +++ b/1002-rules-create-by-id-scsi-links-for-ATA-devices.patch @@ -0,0 +1,24 @@ +From: Robert Milasan +Date: Wed, 27 Jun 2012 08:55:59 +0000 +Subject: rules create by id scsi links for ATA devices + +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 + 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" + ++# scsi compat links for ATA devices ++KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" ++KERNEL=="sd*[0-9]", ENV{ID_SCSI_COMPAT}=="?*", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n" ++ + # firewire + KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}" + KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n" diff --git a/1003-udev-netlink-null-rules.patch b/1003-udev-netlink-null-rules.patch new file mode 100644 index 0000000..f486a13 --- /dev/null +++ b/1003-udev-netlink-null-rules.patch @@ -0,0 +1,22 @@ +From: Robert Milasan +Date: Mon, 6 Aug 2012 13:35:34 +0000 +Subject: udev netlink null rules + +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[]) + dev = udev_monitor_receive_device(monitor); + if (dev != NULL) { + udev_device_set_usec_initialized(dev, now(CLOCK_MONOTONIC)); ++ if (rules == NULL) ++ rules = udev_rules_new(udev, resolve_names); + if (event_queue_insert(dev) < 0) + udev_device_unref(dev); + } diff --git a/1004-fix-devname-prefix.patch b/1004-fix-devname-prefix.patch new file mode 100644 index 0000000..7ab99e9 --- /dev/null +++ b/1004-fix-devname-prefix.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +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; diff --git a/1005-create-default-links-for-primary-cd_dvd-drive.patch b/1005-create-default-links-for-primary-cd_dvd-drive.patch new file mode 100644 index 0000000..c66a9da --- /dev/null +++ b/1005-create-default-links-for-primary-cd_dvd-drive.patch @@ -0,0 +1,24 @@ +From: Robert Milasan +Date: Tue, 12 Feb 2013 09:16:23 +0000 +Subject: create default links for primary cd_dvd drive + +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 + # enable the receiving of media eject button events + IMPORT{program}="cdrom_id --lock-media $devnode" + +-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM}=="1", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_CD_RW}=="1", SYMLINK+="cdrw", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=-100" ++KERNEL=="sr0", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw", OPTIONS+="link_priority=-100" + + LABEL="cdrom_end" diff --git a/1006-udev-always-rename-network.patch b/1006-udev-always-rename-network.patch new file mode 100644 index 0000000..d1c61d0 --- /dev/null +++ b/1006-udev-always-rename-network.patch @@ -0,0 +1,77 @@ +From: Robert Milasan +Date: Thu, 28 Mar 2013 09:24:43 +0000 +Subject: udev always rename network + +udev: ensure that the network interfaces are renamed even if they exist +(bnc#809843). +--- + 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 +@@ -750,6 +750,7 @@ static int rename_netif(struct udev_even + struct udev_device *dev = event->dev; + int sk; + struct ifreq ifr; ++ int loop; + int err; + + log_debug("changing net interface name from '%s' to '%s'\n", +@@ -766,12 +767,51 @@ static int rename_netif(struct udev_even + strscpy(ifr.ifr_name, IFNAMSIZ, udev_device_get_sysname(dev)); + strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); + err = ioctl(sk, SIOCSIFNAME, &ifr); +- if (err >= 0) { ++ if (err == 0) { + print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); +- } else { ++ goto out; ++ } ++ ++ /* keep trying if the destination interface name already exists */ ++ err = -errno; ++ if (err != -EEXIST) { ++ goto out; ++ } ++ ++ /* free our own name, another process may wait for us */ ++ snprintf(ifr.ifr_newname, IFNAMSIZ, "rename%u", udev_device_get_ifindex(dev)); ++ err = ioctl(sk, SIOCSIFNAME, &ifr); ++ if (err < 0) { + err = -errno; +- log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); ++ goto out; + } ++ ++ /* log temporary name */ ++ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); ++ ++ /* wait a maximum of 90 seconds for our target to become available */ ++ strscpy(ifr.ifr_name, IFNAMSIZ, ifr.ifr_newname); ++ strscpy(ifr.ifr_newname, IFNAMSIZ, event->name); ++ loop = 90 * 20; ++ while (loop--) { ++ const struct timespec duration = { 0, 1000 * 1000 * 1000 / 20 }; ++ ++ log_debug("wait for netif '%s' to become free, loop=%i\n", event->name, (90 * 20) - loop); ++ nanosleep(&duration, NULL); ++ ++ err = ioctl(sk, SIOCSIFNAME, &ifr); ++ if (err == 0) { ++ print_kmsg("renamed network interface %s to %s\n", ifr.ifr_name, ifr.ifr_newname); ++ break; ++ } ++ err = -errno; ++ if (err != -EEXIST) ++ break; ++ } ++ ++out: ++ if (err < 0) ++ log_error("error changing net interface name %s to %s: %m\n", ifr.ifr_name, ifr.ifr_newname); + close(sk); + return err; + } diff --git a/1007-add-msft-compability-rules.patch b/1007-add-msft-compability-rules.patch new file mode 100644 index 0000000..d24b769 --- /dev/null +++ b/1007-add-msft-compability-rules.patch @@ -0,0 +1,29 @@ +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" diff --git a/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch new file mode 100644 index 0000000..2cc1bb4 --- /dev/null +++ b/Fix-run-lock-directories-permissions-to-follow-openSUSE-po.patch @@ -0,0 +1,39 @@ +From: Frederic Crozat +Date: Wed, 7 Dec 2011 15:15:07 +0000 +Subject: Fix /run/lock directories permissions to follow openSUSE policy + +disable /var/lock/{subsys,lockdev} and change default permissions on +/var/lock (bnc#733523). +--- + 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 +@@ -10,12 +10,13 @@ + # These files are considered legacy and are unnecessary on legacy-free + # systems. + +-d /run/lock 0755 root root - ++# changed for openSUSE : only /run/lock should be available ++d /run/lock 0775 root lock - + + # /run/lock/subsys is used for serializing SysV service execution, and + # hence without use on SysV-less systems. + +-d /run/lock/subsys 0755 root root - ++#d /run/lock/subsys 0755 root root - + + # /run/lock/lockdev is used to serialize access to tty devices via + # LCK..xxx style lock files, For more information see: +@@ -23,7 +24,7 @@ d /run/lock/subsys 0755 root root - + # On modern systems a BSD file lock is a better choice if + # serialization is needed on those devices. + +-d /run/lock/lockdev 0775 root lock - ++#d /run/lock/lockdev 0775 root lock - + + # /forcefsck, /fastboot and /forcequotecheck are deprecated in favor of the + # kernel command line options 'fsck.mode=force', 'fsck.mode=skip' and diff --git a/Forward-suspend-hibernate-calls-to-pm-utils.patch b/Forward-suspend-hibernate-calls-to-pm-utils.patch new file mode 100644 index 0000000..7e6b7b4 --- /dev/null +++ b/Forward-suspend-hibernate-calls-to-pm-utils.patch @@ -0,0 +1,96 @@ +From: Frederic Crozat +Date: Tue, 19 Feb 2013 11:20:31 +0100 +Subject: Forward suspend / hibernate calls to pm-utils + +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 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include "systemd/sd-id128.h" + #include "systemd/sd-messages.h" +@@ -35,6 +36,8 @@ + #include "sleep-config.h" + + static char* arg_verb = NULL; ++static bool delegate_to_pmutils = false; ++static const char *pmtools; + + static int write_mode(char **modes) { + int r = 0; +@@ -50,9 +53,6 @@ static int write_mode(char **modes) { + r = k; + } + +- if (r < 0) +- log_error("Failed to write mode to /sys/power/disk: %s", +- strerror(-r)); + + return r; + } +@@ -90,6 +90,8 @@ static int execute(char **modes, char **states) { + FILE *f; + const char* note = strappenda("SLEEP=", arg_verb); + ++ if (!delegate_to_pmutils) { ++ + /* 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) { + r = write_mode(modes); + if (r < 0) + return r; ++ } + + arguments[0] = NULL; + arguments[1] = (char*) "pre"; +@@ -114,8 +117,10 @@ static int execute(char **modes, char **states) { + "MESSAGE=Suspending system...", + note, + NULL); +- ++ if (!delegate_to_pmutils) + r = write_state(f, states); ++ else ++ r = -system(pmtools); + if (r < 0) + return r; + +@@ -158,6 +163,7 @@ static int parse_argv(int argc, char *argv[]) { + }; + + int c; ++ struct stat buf; + + assert(argc >= 0); + assert(argv); +@@ -196,6 +202,18 @@ static int parse_argv(int argc, char *argv[]) { + return -EINVAL; + } + ++ if (streq(arg_verb, "suspend")) { ++ pmtools = "/usr/sbin/pm-suspend"; ++ } ++ else if (streq(arg_verb, "hibernate") || streq(arg_verb, "hybrid-sleep")) { ++ if (streq(arg_verb, "hibernate")) ++ pmtools = "/usr/sbin/pm-hibernate"; ++ else ++ pmtools = "/usr/sbin/pm-suspend-hybrid"; ++ } ++ ++ delegate_to_pmutils = (stat(pmtools, &buf) >= 0 && S_ISREG(buf.st_mode) && (buf.st_mode & 0111)); ++ + return 1 /* work to do */; + } + diff --git a/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch new file mode 100644 index 0000000..de856e1 --- /dev/null +++ b/Revert-service-drop-support-for-SysV-scripts-for-the-early.patch @@ -0,0 +1,140 @@ +From: Frederic Crozat +Date: Fri, 12 Apr 2013 16:56:26 +0200 +Subject: Revert "service: drop support for SysV scripts for the early boot" + +This reverts commit 3cdebc217c42c8529086f2965319b6a48eaaeabe. + +Conflicts: + src/core/service.c +--- + 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 +@@ -51,7 +51,8 @@ + + typedef enum RunlevelType { + RUNLEVEL_UP, +- RUNLEVEL_DOWN ++ RUNLEVEL_DOWN, ++ RUNLEVEL_SYSINIT + } RunlevelType; + + static const struct { +@@ -66,6 +67,16 @@ static const struct { + { "rc4.d", SPECIAL_RUNLEVEL4_TARGET, RUNLEVEL_UP }, + { "rc5.d", SPECIAL_RUNLEVEL5_TARGET, RUNLEVEL_UP }, + ++#ifdef HAVE_SYSV_COMPAT ++ /* SUSE style boot.d */ ++ { "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ ++#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM) ++ /* Debian style rcS.d */ ++ { "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT }, ++#endif ++ + /* Standard SysV runlevels for shutdown */ + { "rc0.d", SPECIAL_POWEROFF_TARGET, RUNLEVEL_DOWN }, + { "rc6.d", SPECIAL_REBOOT_TARGET, RUNLEVEL_DOWN } +@@ -74,10 +85,12 @@ static const struct { + directories in this order, and we want to make sure that + sysv_start_priority is known when we first load the + unit. And that value we only know from S links. Hence +- UP must be read before DOWN */ ++ UP/SYSINIT must be read before DOWN */ + }; + + #define RUNLEVELS_UP "12345" ++/* #define RUNLEVELS_DOWN "06" */ ++#define RUNLEVELS_BOOT "bBsS" + #endif + + static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { +@@ -332,6 +345,9 @@ static char *sysv_translate_name(const c + if (endswith(name, ".sh")) + /* Drop .sh suffix */ + strcpy(stpcpy(r, name) - 3, ".service"); ++ if (startswith(name, "boot.")) ++ /* Drop SuSE-style boot. prefix */ ++ strcpy(stpcpy(r, name + 5), ".service"); + else + /* Normal init script name */ + strcpy(stpcpy(r, name), ".service"); +@@ -934,6 +950,13 @@ static int service_load_sysv_path(Servic + + if ((r = sysv_exec_commands(s, supports_reload)) < 0) + goto finish; ++ if (s->sysv_runlevels && ++ chars_intersect(RUNLEVELS_BOOT, s->sysv_runlevels) && ++ chars_intersect(RUNLEVELS_UP, s->sysv_runlevels)) { ++ /* Service has both boot and "up" runlevels ++ configured. Kill the "up" ones. */ ++ delete_chars(s->sysv_runlevels, RUNLEVELS_UP); ++ } + + 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 + if (endswith(name, ".sh.service")) + return -ENOENT; + ++ if (startswith(name, "boot.")) ++ return -ENOENT; ++ + 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 + } + free(path); + ++ if (r >= 0 && UNIT(s)->load_state == UNIT_STUB) { ++ /* Try SUSE style boot.* init scripts */ ++ ++ path = strjoin(*p, "/boot.", name, NULL); ++ if (!path) ++ return -ENOMEM; ++ ++ /* Drop .service suffix */ ++ path[strlen(path)-8] = 0; ++ r = service_load_sysv_path(s, path); ++ free(path); ++ } + if (r < 0) + return r; + +@@ -3667,7 +3705,7 @@ static int service_enumerate(Manager *m) + + if (de->d_name[0] == 'S') { + +- if (rcnd_table[i].type == RUNLEVEL_UP) { ++ if (rcnd_table[i].type == RUNLEVEL_UP || rcnd_table[i].type == RUNLEVEL_SYSINIT) { + 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) + goto finish; + + } else if (de->d_name[0] == 'K' && +- (rcnd_table[i].type == RUNLEVEL_DOWN)) { ++ (rcnd_table[i].type == RUNLEVEL_DOWN || ++ rcnd_table[i].type == RUNLEVEL_SYSINIT)) { + + r = set_ensure_allocated(&shutdown_services, + trivial_hash_func, trivial_compare_func); +@@ -3724,7 +3763,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 +- * special shutdown target. */ ++ * special shutdown target. On SUSE the boot.d/ runlevel is ++ * also used for shutdown, so we add links for that too to the ++ * shutdown target.*/ + SET_FOREACH(service, shutdown_services, j) { + service = unit_follow_merge(service); + diff --git a/Start-ctrl-alt-del.target-irreversibly.patch b/Start-ctrl-alt-del.target-irreversibly.patch new file mode 100644 index 0000000..68a9429 --- /dev/null +++ b/Start-ctrl-alt-del.target-irreversibly.patch @@ -0,0 +1,27 @@ +From f49fd1d57a429d4a05ac86352c017a845f8185b3 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +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 + diff --git a/allow-multiple-sulogin-to-be-started.patch b/allow-multiple-sulogin-to-be-started.patch new file mode 100644 index 0000000..297b579 --- /dev/null +++ b/allow-multiple-sulogin-to-be-started.patch @@ -0,0 +1,47 @@ +From: Frederic Crozat +Date: Thu, 10 Jan 2013 15:43:25 +0000 +Subject: allow multiple sulogin to be started + +allows multiple sulogin instance (bnc#793182). +--- + units/getty@.service.m4 | 1 + + units/rescue.target | 1 + + 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 +@@ -9,6 +9,7 @@ + Description=Getty on %I + Documentation=man:agetty(8) man:systemd-getty-generator(8) + Documentation=http://0pointer.de/blog/projects/serial-console.html ++Conflicts=rescue.service + 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 +@@ -10,6 +10,7 @@ Description=Rescue Mode + Documentation=man:systemd.special(7) + Requires=sysinit.target rescue.service + After=sysinit.target rescue.service ++Conflicts=getty.target + 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 +@@ -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 + BindsTo=dev-%i.device ++Conflicts=rescue.service + After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service + m4_ifdef(`HAVE_SYSV_COMPAT', + After=rc-local.service diff --git a/apply-ACL-for-nvidia-device-nodes.patch b/apply-ACL-for-nvidia-device-nodes.patch new file mode 100644 index 0000000..e89708a --- /dev/null +++ b/apply-ACL-for-nvidia-device-nodes.patch @@ -0,0 +1,44 @@ +From: Ludwig Nussel +Date: Mon, 8 Apr 2013 14:51:47 +0200 +Subject: apply ACL for nvidia device nodes + +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 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include "logind-acl.h" + #include "util.h" +@@ -240,6 +241,22 @@ int devnode_acl_all(struct udev *udev, + goto finish; + } + ++ /* only search for nvidia* if /dev/nvidiactl exists */ ++ if (!devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid)) { ++ char** directory; ++ char **f, *resolved; ++ ++ if (get_files_in_directory ("/dev", &directory)) { ++ STRV_FOREACH(f,directory) ++ if (startswith(*f,"nvidia")) { ++ resolved = strjoin("/dev/", *f, NULL); ++ devnode_acl(resolved, flush, del, old_uid, add, new_uid); ++ free(resolved); ++ } ++ } ++ strv_free(directory); ++ } ++ + finish: + if (e) + udev_enumerate_unref(e); diff --git a/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch new file mode 100644 index 0000000..b33c558 --- /dev/null +++ b/avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch @@ -0,0 +1,26 @@ +From: Ludwig Nussel +Date: Mon, 26 Nov 2012 09:49:42 +0100 +Subject: avoid assertion if invalid address familily is passed to + gethostbyaddr_r (bnc#791101) + +--- + 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( + uint32_t local_address_ipv4 = LOCALADDRESS_IPV4; + const char *canonical = NULL, *additional = NULL; + ++ if (af != AF_INET && af != AF_INET6) { ++ *errnop = EAFNOSUPPORT; ++ *h_errnop = NO_DATA; ++ return NSS_STATUS_UNAVAIL; ++ } ++ + if (len != PROTO_ADDRESS_SIZE(af)) { + *errnop = EINVAL; + *h_errnop = NO_RECOVERY; diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..c06fbf4 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,7 @@ +systemd + supplements "packageand(systemd:pam-)" + -/lib/systemd/system/ +libudev0 +libgudev-1_0-0 +libudev1 +nss-myhostname diff --git a/boot.udev b/boot.udev new file mode 100644 index 0000000..4fa0bd6 --- /dev/null +++ b/boot.udev @@ -0,0 +1,74 @@ +#!/bin/sh +# +### BEGIN INIT INFO +# Provides: boot.udev +# Required-Start: +# Required-Stop: +# Should-Start: +# Should-Stop: +# Default-Start: B +# Default-Stop: +# Short-Description: manage /dev and kernel device-events +# Description: udevd daemon to manage /dev and kernel device events +### END INIT INFO + +. /etc/rc.status + +PATH="/sbin:/bin:/usr/sbin:/usr/bin" +DAEMON="@@SYSTEMD@@/systemd-udevd" +UDEVADM="@@BINDIR@@/udevadm" +WRITERULE="@@PREFIX@@/write_dev_root_rule" +udev_timeout=180 + +case "$1" in + start) + # create /dev/root symlink with dynamic rule + if [ -x ${WRITERULE} ]; then + ${WRITERULE} >/dev/null 2>&1 || true + fi + + # start udevd + echo -n "Starting udevd: " + ${DAEMON} --daemon + if [ $? -ne 0 ]; then + rc_status -v + rc_exit + fi + rc_status -v + + # trigger events for all devices + echo -n "Loading drivers, configuring devices: " + ${UDEVADM} trigger --type=subsystems --action=add + ${UDEVADM} trigger --type=devices --action=add + + # wait for events to finish + ${UDEVADM} settle --timeout=$udev_timeout + rc_status -v + ;; + stop) + echo -n "Stopping udevd: " + killproc ${DAEMON} + rc_status -v + ;; + restart) + echo -n "Restarting udevd: " + killproc ${DAEMON} + ${DAEMON} --daemon + rc_status -v + ;; + status) + echo -n "Checking for udevd: " + checkproc ${DAEMON} + rc_status -v + ;; + reload|force-reload) + echo -n "Reloading udevd: " + killproc -G -HUP ${DAEMON} + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart|status|reload|force-reload}" + exit 1 + ;; +esac +rc_exit diff --git a/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch new file mode 100644 index 0000000..4cf6699 --- /dev/null +++ b/delay-fsck-cryptsetup-after-md-dmraid-lvm-are-started.patch @@ -0,0 +1,34 @@ +From: Frederic Crozat +Date: Wed, 9 Nov 2011 11:10:49 +0100 +Subject: delay fsck / cryptsetup after md / dmraid / lvm 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 +@@ -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=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 +@@ -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 + Before=shutdown.target + + [Service] diff --git a/disable-nss-myhostname-warning-bnc-783841.patch b/disable-nss-myhostname-warning-bnc-783841.patch new file mode 100644 index 0000000..c0365d7 --- /dev/null +++ b/disable-nss-myhostname-warning-bnc-783841.patch @@ -0,0 +1,20 @@ +From: Ludwig Nussel +Date: Tue, 12 Feb 2013 17:24:35 +0100 +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 +@@ -134,6 +134,7 @@ static int read_data(void) { + + static bool check_nss(void) { + void *dl; ++ return true; + + dl = dlopen("libnss_myhostname.so.2", RTLD_LAZY); + if (dl) { diff --git a/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch new file mode 100644 index 0000000..c4e313a --- /dev/null +++ b/ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch @@ -0,0 +1,19 @@ +From: Frederic Crozat +Date: Thu, 9 Feb 2012 16:19:38 +0000 +Subject: ensure DM and LVM are started before local-fs-pre-target + +ensure md / lvm /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 +@@ -9,3 +9,4 @@ + Description=Local File Systems (Pre) + Documentation=man:systemd.special(7) + RefuseManualStart=yes ++After=md.service lvm.service dmraid.service diff --git a/ensure-ask-password-wall-starts-after-getty-tty1.patch b/ensure-ask-password-wall-starts-after-getty-tty1.patch new file mode 100644 index 0000000..a0c005f --- /dev/null +++ b/ensure-ask-password-wall-starts-after-getty-tty1.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Wed, 24 Aug 2011 13:02:12 +0000 +Subject: ensure ask-password-wall starts after getty@tty1 + +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 +@@ -8,7 +8,7 @@ + [Unit] + Description=Forward Password Requests to Wall + Documentation=man:systemd-ask-password-console.service(8) +-After=systemd-user-sessions.service ++After=systemd-user-sessions.service getty@tty1.service + + [Service] + ExecStartPre=-@SYSTEMCTL@ stop systemd-ask-password-console.path systemd-ask-password-console.service systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service diff --git a/ensure-shortname-is-set-as-hostname-bnc-820213.patch b/ensure-shortname-is-set-as-hostname-bnc-820213.patch new file mode 100644 index 0000000..007e601 --- /dev/null +++ b/ensure-shortname-is-set-as-hostname-bnc-820213.patch @@ -0,0 +1,34 @@ +From: Frederic Crozat +Date: Tue, 28 May 2013 15:17:35 +0200 +Subject: ensure shortname is set as hostname (bnc#820213) + +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 +@@ -32,7 +32,7 @@ + #include "fileio.h" + + static int read_and_strip_hostname(const char *path, char **hn) { +- char *s; ++ char *s, *domain; + int r; + + assert(path); +@@ -49,6 +49,11 @@ static int read_and_strip_hostname(const char *path, char **hn) { + return -ENOENT; + } + ++ /* strip any leftover of a domain name */ ++ if (domain = strchr(s, '.')) { ++ *domain = NULL; ++ } ++ + *hn = s; + return 0; + } diff --git a/ensure-sysctl-are-applied-after-modules-are-loaded.patch b/ensure-sysctl-are-applied-after-modules-are-loaded.patch new file mode 100644 index 0000000..186e09e --- /dev/null +++ b/ensure-sysctl-are-applied-after-modules-are-loaded.patch @@ -0,0 +1,21 @@ +From: Frederic Crozat +Date: Mon, 9 Jan 2012 17:01:22 +0000 +Subject: ensure sysctl are applied after modules are loaded + +(bnc#725412) +--- + 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) + 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 diff --git a/fix-owner-of-var-log-btmp.patch b/fix-owner-of-var-log-btmp.patch new file mode 100644 index 0000000..a28f493 --- /dev/null +++ b/fix-owner-of-var-log-btmp.patch @@ -0,0 +1,22 @@ +From: Frederic Crozat +Date: Tue, 20 Nov 2012 09:36:43 +0000 +Subject: fix owner of /var/log/btmp + +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 +@@ -11,7 +11,7 @@ d /run/user 0755 root root ~10d + F /run/utmp 0664 root utmp - + + f /var/log/wtmp 0664 root utmp - +-f /var/log/btmp 0600 root utmp - ++f /var/log/btmp 0600 root root - + + d /var/cache/man - - - 30d + diff --git a/fix-support-for-boot-prefixed-initscript-bnc-746506.patch b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch new file mode 100644 index 0000000..77a2e6b --- /dev/null +++ b/fix-support-for-boot-prefixed-initscript-bnc-746506.patch @@ -0,0 +1,42 @@ +From: Frederic Crozat +Date: Thu, 23 Aug 2012 11:08:25 +0200 +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 + p[strlen(p) - sizeof(".service") + 1] = 0; + found_sysv = access(p, F_OK) >= 0; + +- if (!found_sysv) ++ if (!found_sysv) { ++#ifdef HAVE_SYSV_COMPAT ++ free(p); ++ p = NULL; ++ if (!isempty(arg_root)) ++ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name); ++ else ++ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name); ++ if (!p) { ++ r = log_oom(); ++ goto finish; ++ } ++ p[strlen(p) - sizeof(".service") + 1] = 0; ++ found_sysv = access(p, F_OK) >= 0; ++ ++ if (!found_sysv) { ++ continue; ++ } ++#else + continue; ++#endif ++ } + + /* Mark this entry, so that we don't try enabling it as native unit */ + args[f] = (char*) ""; diff --git a/force-lvm-restart-after-cryptsetup-target-is-reached.patch b/force-lvm-restart-after-cryptsetup-target-is-reached.patch new file mode 100644 index 0000000..8b4f879 --- /dev/null +++ b/force-lvm-restart-after-cryptsetup-target-is-reached.patch @@ -0,0 +1,104 @@ +From: Frederic Crozat +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 + #include + #include ++#include + + #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; + } diff --git a/handle-SYSTEMCTL_OPTIONS-environment-variable.patch b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch new file mode 100644 index 0000000..d66c24f --- /dev/null +++ b/handle-SYSTEMCTL_OPTIONS-environment-variable.patch @@ -0,0 +1,42 @@ +From: Frederic Crozat +Date: Tue, 22 Jan 2013 17:02:04 +0000 +Subject: handle SYSTEMCTL_OPTIONS environment variable + +(bnc#798620) +--- + 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[]) { + log_parse_environment(); + log_open(); + ++ if (secure_getenv("SYSTEMCTL_OPTIONS") && ++ (!program_invocation_short_name || ++ (program_invocation_short_name && strstr(program_invocation_short_name, "systemctl")))) { ++ char **parsed_systemctl_options = strv_split_quoted(getenv("SYSTEMCTL_OPTIONS")); ++ ++ if (*parsed_systemctl_options && **parsed_systemctl_options) { ++ char **k,**a; ++ char **new_argv = new(char*, strv_length(argv) + strv_length(parsed_systemctl_options) + 1); ++ new_argv[0] = strdup(argv[0]); ++ for (k = new_argv+1, a = parsed_systemctl_options; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ for (a = argv+1; *a; k++, a++) { ++ *k = strdup(*a); ++ } ++ *k = NULL; ++ argv = new_argv; ++ argc = strv_length(new_argv); ++ strv_free (parsed_systemctl_options); ++ } ++ } ++ + r = parse_argv(argc, argv); + if (r < 0) + goto finish; diff --git a/handle-disable_caplock-and-compose_table-and-kbd_rate.patch b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch new file mode 100644 index 0000000..050f921 --- /dev/null +++ b/handle-disable_caplock-and-compose_table-and-kbd_rate.patch @@ -0,0 +1,233 @@ +From: Frederic Crozat +Date: Fri, 19 Aug 2011 15:29:49 +0000 +Subject: handle disable_caplock and compose_table and kbd_rate + +(bnc#746595) +--- + 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 +@@ -40,6 +40,7 @@ + #include "macro.h" + #include "virt.h" + #include "fileio.h" ++#include "strv.h" + + static bool is_vconsole(int fd) { + unsigned char data[1]; +@@ -99,8 +100,8 @@ static int enable_utf8(int fd) { + return r; + } + +-static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, pid_t *_pid) { +- const char *args[8]; ++static int keymap_load(const char *vc, const char *map, const char *map_toggle, bool utf8, bool disable_capslock, pid_t *_pid) { ++ const char *args[9]; + int i = 0; + pid_t pid; + +@@ -119,6 +120,8 @@ static int keymap_load(const char *vc, const char *map, const char *map_toggle, + args[i++] = map; + if (map_toggle) + args[i++] = map_toggle; ++ if (disable_capslock) ++ args[i++] = "disable.capslock"; + args[i++] = NULL; + + pid = fork(); +@@ -212,6 +215,101 @@ static void font_copy_to_all_vcs(int fd) { + } + } + ++#ifdef HAVE_SYSV_COMPAT ++static int load_compose_table(const char *vc, const char *compose_table, pid_t *_pid) { ++ const char *args[1024]; ++ int i = 0, j = 0; ++ pid_t pid; ++ char **strv_compose_table = NULL; ++ char *to_free[1024]; ++ ++ if (isempty(compose_table)) { ++ /* An empty map means no compose table*/ ++ *_pid = 0; ++ return 0; ++ } ++ ++ args[i++] = KBD_LOADKEYS; ++ args[i++] = "-q"; ++ args[i++] = "-C"; ++ args[i++] = vc; ++ ++ strv_compose_table = strv_split(compose_table, WHITESPACE); ++ if (strv_compose_table) { ++ bool compose_loaded = false; ++ bool compose_clear = false; ++ char **name; ++ char *arg; ++ ++ STRV_FOREACH (name, strv_compose_table) { ++ if (streq(*name,"-c") || streq(*name,"clear")) { ++ compose_clear = true; ++ continue; ++ } ++ if (!compose_loaded) { ++ if (compose_clear) ++ args[i++] = "-c"; ++ } ++ asprintf(&arg, "compose.%s",*name); ++ compose_loaded = true; ++ args[i++] = to_free[j++] = arg; ++ ++ } ++ strv_free(strv_compose_table); ++ } ++ args[i++] = NULL; ++ ++ if ((pid = fork()) < 0) { ++ log_error("Failed to fork: %m"); ++ return -errno; ++ } else if (pid == 0) { ++ execv(args[0], (char **) args); ++ _exit(EXIT_FAILURE); ++ } ++ ++ *_pid = pid; ++ ++ for (i=0 ; i < j ; i++) ++ free (to_free[i]); ++ ++ return 0; ++} ++#endif ++ ++static int set_kbd_rate(const char *vc, const char *kbd_rate, const char *kbd_delay, pid_t *_pid) { ++ const char *args[7]; ++ int i = 0; ++ pid_t pid; ++ ++ if (isempty(kbd_rate) && isempty(kbd_delay)) { ++ *_pid = 0; ++ return 0; ++ } ++ ++ args[i++] = "/bin/kbdrate"; ++ if (!isempty(kbd_rate)) { ++ args[i++] = "-r"; ++ args[i++] = kbd_rate; ++ } ++ if (!isempty(kbd_delay)) { ++ args[i++] = "-d"; ++ args[i++] = kbd_delay; ++ } ++ args[i++] = "-s"; ++ args[i++] = NULL; ++ ++ if ((pid = fork()) < 0) { ++ log_error("Failed to fork: %m"); ++ return -errno; ++ } else if (pid == 0) { ++ execv(args[0], (char **) args); ++ _exit(EXIT_FAILURE); ++ } ++ ++ *_pid = pid; ++ return 0; ++} ++ + int main(int argc, char **argv) { + const char *vc; + char *vc_keymap = NULL; +@@ -219,8 +317,16 @@ int main(int argc, char **argv) { + char *vc_font = NULL; + char *vc_font_map = NULL; + char *vc_font_unimap = NULL; ++#ifdef HAVE_SYSV_COMPAT ++ char *vc_kbd_delay = NULL; ++ char *vc_kbd_rate = NULL; ++ char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_compose_table = NULL; ++ pid_t kbd_rate_pid = 0, compose_table_pid = 0; ++#endif + int fd = -1; + bool utf8; ++ bool disable_capslock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -276,13 +382,43 @@ int main(int argc, char **argv) { + log_warning("Failed to read /proc/cmdline: %s", strerror(-r)); + } + ++ if (r <= 0) { ++#ifdef HAVE_SYSV_COMPAT ++ r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE, ++ "KEYTABLE", &vc_keymap, ++ "KBD_DELAY", &vc_kbd_delay, ++ "KBD_RATE", &vc_kbd_rate, ++ "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "COMPOSETABLE", &vc_compose_table, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r)); ++ ++ r = parse_env_file("/etc/sysconfig/console", NEWLINE, ++ "CONSOLE_FONT", &vc_font, ++ "CONSOLE_SCREENMAP", &vc_font_map, ++ "CONSOLE_UNICODEMAP", &vc_font_unimap, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); ++ ++ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++ ++#endif ++ } ++ + if (utf8) + enable_utf8(fd); + else + disable_utf8(fd); + + r = EXIT_FAILURE; +- if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 && ++ ++ if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 && ++#ifdef HAVE_SYSV_COMPAT ++ load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 && ++ set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 && ++#endif + font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0) + r = EXIT_SUCCESS; + +@@ -290,6 +426,14 @@ finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); + ++#ifdef HAVE_SYSV_COMPAT ++ if (compose_table_pid > 0) ++ wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid); ++ ++ if (kbd_rate_pid > 0) ++ wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid); ++#endif ++ + if (font_pid > 0) { + wait_for_terminate_and_warn(KBD_SETFONT, font_pid); + if (font_copy) +@@ -300,6 +444,12 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++#ifdef HAVE_SYSV_COMPAT ++ free(vc_kbd_delay); ++ free(vc_kbd_rate); ++ free(vc_kbd_disable_caps_lock); ++ free(vc_compose_table); ++#endif + + if (fd >= 0) + close_nointr_nofail(fd); diff --git a/handle-etc-HOSTNAME.patch b/handle-etc-HOSTNAME.patch new file mode 100644 index 0000000..075d67d --- /dev/null +++ b/handle-etc-HOSTNAME.patch @@ -0,0 +1,81 @@ +From: Frederic Crozat +Date: Fri, 15 Feb 2013 16:04:39 +0000 +Subject: handle /etc/HOSTNAME + +(bnc#803653) +--- + src/core/hostname-setup.c | 22 +++++++++++++++++----- + 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 +@@ -61,12 +61,24 @@ int hostname_setup(void) { + + r = read_and_strip_hostname("/etc/hostname", &b); + if (r < 0) { +- if (r == -ENOENT) +- enoent = true; +- else ++ if (r == -ENOENT) { ++ /* use SUSE fallback */ ++ r = read_and_strip_hostname("/etc/HOSTNAME", &b); ++ if (r < 0) { ++ if (r == -ENOENT) ++ enoent = true; ++ else ++ log_warning("Failed to read configured hostname: %s", strerror(-r)); ++ hn = NULL; ++ } ++ else ++ hn = b; ++ ++ } ++ else { + log_warning("Failed to read configured hostname: %s", strerror(-r)); +- +- hn = NULL; ++ 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 +@@ -129,6 +129,10 @@ static int read_data(void) { + if (r < 0 && r != -ENOENT) + return r; + ++ r = read_one_line_file("/etc/HOSTNAME", &data[PROP_STATIC_HOSTNAME]); ++ if (r < 0 && r != -ENOENT) ++ return r; ++ + return 0; + } + +@@ -283,6 +287,7 @@ static int write_data_hostname(void) { + + static int write_data_static_hostname(void) { + ++ int r; + if (isempty(data[PROP_STATIC_HOSTNAME])) { + + if (unlink("/etc/hostname") < 0) +@@ -290,7 +295,12 @@ static int write_data_static_hostname(void) { + + return 0; + } +- return write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ ++ r = write_string_file_atomic_label("/etc/hostname", data[PROP_STATIC_HOSTNAME]); ++ if (!r) { ++ r = symlink_atomic("/etc/hostname", "/etc/HOSTNAME"); ++ } ++ return r; + } + + static int write_data_other(void) { diff --git a/handle-numlock-value-in-etc-sysconfig-keyboard.patch b/handle-numlock-value-in-etc-sysconfig-keyboard.patch new file mode 100644 index 0000000..67fe015 --- /dev/null +++ b/handle-numlock-value-in-etc-sysconfig-keyboard.patch @@ -0,0 +1,191 @@ +Set NumLock according to /etc/sysconfig/keyboard. + +https://bugzilla.novell.com/show_bug.cgi?id=746595 + +Authors: +Stanislav Brabec +Cristian Rodríguez + +Index: systemd-204/src/vconsole/vconsole-setup.c +=================================================================== +--- systemd-204.orig/src/vconsole/vconsole-setup.c ++++ systemd-204/src/vconsole/vconsole-setup.c +@@ -42,6 +42,10 @@ + #include "fileio.h" + #include "strv.h" + ++#define BIOS_DATA_AREA 0x400 ++#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 ++#define BDA_KSF4_NUMLOCK_MASK 0x02 ++ + static bool is_vconsole(int fd) { + unsigned char data[1]; + +@@ -321,12 +325,14 @@ int main(int argc, char **argv) { + char *vc_kbd_delay = NULL; + char *vc_kbd_rate = NULL; + char *vc_kbd_disable_caps_lock = NULL; ++ char *vc_kbd_numlock = NULL; + char *vc_compose_table = NULL; + pid_t kbd_rate_pid = 0, compose_table_pid = 0; + #endif + int fd = -1; + bool utf8; + bool disable_capslock = false; ++ bool numlock = false; + pid_t font_pid = 0, keymap_pid = 0; + bool font_copy = false; + int r = EXIT_FAILURE; +@@ -389,6 +395,7 @@ int main(int argc, char **argv) { + "KBD_DELAY", &vc_kbd_delay, + "KBD_RATE", &vc_kbd_rate, + "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock, ++ "KBD_NUMLOCK", &vc_kbd_numlock, + "COMPOSETABLE", &vc_compose_table, + NULL); + if (r < 0 && r != -ENOENT) +@@ -403,6 +410,36 @@ int main(int argc, char **argv) { + log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); + + disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0; ++#if defined(__i386__) || defined(__x86_64__) ++ if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) { ++ int _cleanup_close_ fdmem; ++ char c; ++ ++ fdmem = open ("/dev/mem", O_RDONLY); ++ ++ if(fdmem < 0) { ++ r = EXIT_FAILURE; ++ log_error("Failed to open /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to seek /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if(read (fdmem, &c, sizeof(char)) == -1) { ++ r = EXIT_FAILURE; ++ log_error("Failed to read /dev/mem: %m"); ++ goto finish; ++ } ++ ++ if (c & BDA_KSF4_NUMLOCK_MASK) ++ numlock = true; ++ } else ++#endif ++ numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "yes"); + + #endif + } +@@ -425,6 +462,10 @@ int main(int argc, char **argv) { + finish: + if (keymap_pid > 0) + wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid); ++ if (numlock) ++ touch("/run/numlock-on"); ++ else ++ unlink("/run/numlock-on"); + + #ifdef HAVE_SYSV_COMPAT + if (compose_table_pid > 0) +@@ -444,6 +485,7 @@ finish: + free(vc_font); + free(vc_font_map); + free(vc_font_unimap); ++ free(vc_kbd_numlock); + #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 += \ + rules/61-accelerometer.rules + + # ------------------------------------------------------------------------------ ++numlock_on_SOURCES = \ ++ src/login/numlock-on.c ++ ++numlock_on_CFLAGS = \ ++ $(AM_CFLAGS) ++ ++udevlibexec_PROGRAMS += \ ++ numlock-on ++ ++dist_udevrules_DATA += \ ++ rules/73-seat-numlock.rules ++ ++# ------------------------------------------------------------------------------ + 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 +@@ -0,0 +1,8 @@ ++# This file is part of SUSE customization of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (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 +@@ -0,0 +1,34 @@ ++/* ++ * numlock-on.c: Turn numlock-on ++ * ++ * This file may be freely copied under the terms of the GNU General ++ * Public License (GPL), version 2, or at your option any later ++ * version. ++ ++ * Copyright (C) 2013 Stanislav Brabec, SUSE ++ * ++ * based on setleds.c, which is ++ * Copyright (C) 1994-1999 Andries E. Brouwer ++ */ ++ ++#include ++#include ++#include ++#include ++ ++int ++main(int argc, char **argv) { ++ char flags; ++ ++ if (ioctl(0, KDGKBLED, &flags)) { ++ perror("KDGKBLED"); ++ exit(1); ++ } ++ ++ if (ioctl(0, KDSKBLED, flags | LED_NUM | (LED_NUM << 4))) { ++ perror("KDSKBLED"); ++ exit(1); ++ } ++ ++ 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 +@@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup + DefaultDependencies=no + Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service +-Before=sysinit.target shutdown.target ++Before=sysinit.target shutdown.target systemd-udev-trigger.service + ConditionPathExists=/dev/tty0 + + [Service] diff --git a/handle-root_uses_lang-value-in-etc-sysconfig-language.patch b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch new file mode 100644 index 0000000..e2ac6c7 --- /dev/null +++ b/handle-root_uses_lang-value-in-etc-sysconfig-language.patch @@ -0,0 +1,54 @@ +From: Frederic Crozat +Date: Tue, 4 Dec 2012 16:51:32 +0000 +Subject: handle root_uses_lang value in /etc/sysconfig/language + +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) { + char *variables[_VARIABLE_MAX] = {}; + int r = 0, i; ++#ifdef HAVE_SYSV_COMPAT ++ char _cleanup_free_ *root_uses_lang; ++ ++ zero(root_uses_lang); ++#endif + + if (detect_container(NULL) <= 0) { + r = parse_env_file("/proc/cmdline", WHITESPACE, +@@ -117,6 +122,28 @@ int locale_setup(void) { + log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); + } + ++#ifdef HAVE_SYSV_COMPAT ++ if (r <= 0 && ++ (r = parse_env_file("/etc/sysconfig/language", NEWLINE, ++ "ROOT_USES_LANG", &root_uses_lang, ++ "RC_LANG", &variables[VARIABLE_LANG], ++ NULL)) < 0) { ++ ++ 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]); ++ ++ variables[VARIABLE_LANG]=strdup("POSIX"); ++ } ++ } ++ ++#endif ++ + if (!variables[VARIABLE_LANG]) { + variables[VARIABLE_LANG] = strdup("C"); + if (!variables[VARIABLE_LANG]) { diff --git a/libgcrypt.m4 b/libgcrypt.m4 new file mode 100644 index 0000000..b0aeccd --- /dev/null +++ b/libgcrypt.m4 @@ -0,0 +1,123 @@ +dnl Autoconf macros for libgcrypt +dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. +dnl +dnl This file is free software; as a special exception the author gives +dnl unlimited permission to copy and/or distribute it, with or without +dnl modifications, as long as this notice is preserved. +dnl +dnl This file is distributed in the hope that it will be useful, but +dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + +dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. +dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed +dnl with the API version to also check the API compatibility. Example: +dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed +dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using +dnl this features allows to prevent build against newer versions of libgcrypt +dnl with a changed API. +dnl +AC_DEFUN([AM_PATH_LIBGCRYPT], +[ AC_ARG_WITH(libgcrypt-prefix, + AC_HELP_STRING([--with-libgcrypt-prefix=PFX], + [prefix where LIBGCRYPT is installed (optional)]), + libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") + if test x$libgcrypt_config_prefix != x ; then + if test x${LIBGCRYPT_CONFIG+set} != xset ; then + LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config + fi + fi + + AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) + tmp=ifelse([$1], ,1:1.2.0,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` + min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` + else + req_libgcrypt_api=0 + min_libgcrypt_version="$tmp" + fi + + AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) + ok=no + if test "$LIBGCRYPT_CONFIG" != "no" ; then + req_major=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + req_micro=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` + libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` + major=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + micro=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -gt "$req_minor"; then + ok=yes + else + if test "$minor" -eq "$req_minor"; then + if test "$micro" -ge "$req_micro"; then + ok=yes + fi + fi + fi + fi + fi + fi + if test $ok = yes; then + AC_MSG_RESULT([yes ($libgcrypt_config_version)]) + else + AC_MSG_RESULT(no) + fi + if test $ok = yes; then + # If we have a recent libgcrypt, we should also check that the + # API is compatible + if test "$req_libgcrypt_api" -gt 0 ; then + tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + AC_MSG_CHECKING([LIBGCRYPT API version]) + if test "$req_libgcrypt_api" -eq "$tmp" ; then + AC_MSG_RESULT([okay]) + else + ok=no + AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) + fi + fi + fi + fi + if test $ok = yes; then + LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` + LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` + ifelse([$2], , :, [$2]) + if test x"$host" != x ; then + libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` + if test x"$libgcrypt_config_host" != xnone ; then + if test x"$libgcrypt_config_host" != x"$host" ; then + AC_MSG_WARN([[ +*** +*** The config script $LIBGCRYPT_CONFIG was +*** built for $libgcrypt_config_host and thus may not match the +*** used host $host. +*** You may want to use the configure option --with-libgcrypt-prefix +*** to specify a matching config script. +***]]) + fi + fi + fi + else + LIBGCRYPT_CFLAGS="" + LIBGCRYPT_LIBS="" + ifelse([$3], , :, [$3]) + fi + AC_SUBST(LIBGCRYPT_CFLAGS) + AC_SUBST(LIBGCRYPT_LIBS) +]) diff --git a/localfs.service b/localfs.service new file mode 100644 index 0000000..da3face --- /dev/null +++ b/localfs.service @@ -0,0 +1,8 @@ +[Unit] +Description=Shadow /etc/init.d/boot.localfs +DefaultDependencies=no +After=local-fs.target + +[Service] +RemainAfterExit=true +ExecStart=/bin/true diff --git a/macros.systemd b/macros.systemd new file mode 100644 index 0000000..dc70ceb --- /dev/null +++ b/macros.systemd @@ -0,0 +1,115 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- */ +# RPM macros for packages installing systemd unit files +# +### +# +# When a package install systemd unit files, it should use the following macros: +# +# add %systemd_requires in the specfile +# +# %pre +# %service_add_pre demo.service demo1.service +# +# %post +# %service_add_post demo.service demo1.service +# +# %preun +# %service_del_preun demo.service +# +# %postun +# %service_del_postun demo.service +# +### + +# This is for systemctl +%systemd_requires \ +Requires(pre): systemd \ +Requires(post): systemd \ +Requires(preun): systemd \ +Requires(postun): systemd \ + +%_unitdir /usr/lib/systemd/system +%_presetdir /usr/lib/systemd/system-preset +%_udevhwdbdir /usr/lib/udev/hwdb.d +%_udevrulesdir /usr/lib/udev/rules.d +%_journalcatalogdir /usr/lib/systemd/catalog +%_tmpfilesdir /usr/lib/tmpfiles.d +%_sysctldir /usr/lib/sysctl.d + +%service_add_pre() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +# disable migration if initial install under systemd \ +[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ +if [ $FIRST_ARG -eq 1 ]; then \ + for service in %{?*} ; do \ + sysv_service=${service%.*} \ + touch "/var/lib/systemd/migrated/$sysv_service" || : \ + done \ +else \ + for service in %{?*} ; do \ + sysv_service=${service%.*} \ + if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ + services_to_migrate="$services_to_migrate $sysv_service" \ + fi \ + done \ + if [ -n "$services_to_migrate" ]; then \ + /usr/sbin/systemd-sysv-convert --save $services_to_migrate >/dev/null 2>&1 || : \ + fi \ +fi \ +%{nil} + +# On install, tell systemd to reload its unit files +%service_add_post() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +[ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : \ +for service in %{?*} ; do \ + sysv_service=${service%.*} \ + if [ ! -e "/var/lib/systemd/migrated/$sysv_service" ]; then \ + services_to_migrate="$services_to_migrate $sysv_service" \ + touch "/var/lib/systemd/migrated/$sysv_service" || : \ + fi \ +done \ +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +if [ -n "$services_to_migrate" ]; then \ + /usr/sbin/systemd-sysv-convert --apply $services_to_migrate >/dev/null 2>&1 || : \ +elif [ $FIRST_ARG -eq 1 ]; then \ + /usr/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \ +fi \ +%{nil} + +# On uninstall, disable and stop services +%service_del_preun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -eq 0 ]; then \ +# Package removal, not upgrade \ + /usr/bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + /usr/bin/systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +# On uninstall, tell systemd to reload its unit files +%service_del_postun() \ +test -n "$FIRST_ARG" || FIRST_ARG=$1 \ +if [ $FIRST_ARG -ge 1 ]; then \ +# Package upgrade, not uninstall \ + /usr/bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ +else # package uninstall \ + for service in %{?*} ; do \ + sysv_service=${service%.*} \ + rm -f "/var/lib/systemd/migrated/$sysv_service" 2> /dev/null || : \ + done \ + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \ +fi \ +%{nil} + +%udev_hwdb_update() \ +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : \ +%{nil} + +%udev_rules_update() \ +/usr/bin/udevadm control --reload >/dev/null 2>&1 || : \ +%{nil} + +%journal_catalog_update() \ +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : \ +%{nil} diff --git a/macros.systemd.upstream b/macros.systemd.upstream new file mode 100644 index 0000000..dc19f93 --- /dev/null +++ b/macros.systemd.upstream @@ -0,0 +1,73 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- */ +# +# 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 . + +# RPM macros for packages installing systemd unit files + +%_unitdir @systemunitdir@ +%_presetdir @systempresetdir@ +%_udevhwdbdir @udevhwdbdir@ +%_udevrulesdir @udevrulesdir@ +%_journalcatalogdir @catalogdir@ +%_tmpfilesdir @tmpfilesdir@ +%_sysctldir @sysctldir@ + +%systemd_requires \ +Requires(post): systemd \ +Requires(preun): systemd \ +Requires(postun): systemd \ +%{nil} + +%systemd_post() \ +if [ $1 -eq 1 ] ; then \ + # Initial installation \ + @rootbindir@/systemctl preset %{?*} >/dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_preun() \ +if [ $1 -eq 0 ] ; then \ + # Package removal, not upgrade \ + @rootbindir@/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \ + @rootbindir@/systemctl stop %{?*} > /dev/null 2>&1 || : \ +fi \ +%{nil} + +%systemd_postun() \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +%{nil} + +%systemd_postun_with_restart() \ +@rootbindir@/systemctl daemon-reload >/dev/null 2>&1 || : \ +if [ $1 -ge 1 ] ; then \ + # Package upgrade, not uninstall \ + @rootbindir@/systemctl try-restart %{?*} >/dev/null 2>&1 || : \ +fi \ +%{nil} + +%udev_hwdb_update() \ +@rootbindir@/udevadm hwdb --update >/dev/null 2>&1 || : \ +%{nil} + +%udev_rules_update() \ +@rootbindir@/udevadm control --reload >/dev/null 2>&1 || : \ +%{nil} + +%journal_catalog_update() \ +@rootbindir@/journalctl --update-catalog >/dev/null 2>&1 || : \ +%{nil} diff --git a/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch new file mode 100644 index 0000000..238d23b --- /dev/null +++ b/module-load-handle-SUSE-etc-sysconfig-kernel-module-list.patch @@ -0,0 +1,66 @@ +From: Frederic Crozat +Date: Wed, 12 Oct 2011 15:18:29 +0200 +Subject: module-load: handle SUSE /etc/sysconfig/kernel module list + +--- + src/modules-load/modules-load.c | 27 ++++++++++++++++++++++++++- + 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[]) { + int main(int argc, char *argv[]) { + int r, k; + struct kmod_ctx *ctx; ++#ifdef HAVE_SYSV_COMPAT ++ _cleanup_free_ char *modules_on_boot = NULL; ++#endif + + r = parse_argv(argc, argv); + if (r <= 0) +@@ -318,7 +321,29 @@ int main(int argc, char *argv[]) { + r = k; + } + } +- ++#ifdef HAVE_SYSV_COMPAT ++ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT"); ++ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE, ++ "MODULES_LOADED_ON_BOOT", &modules_on_boot, ++ NULL)) < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/kernel: %s", strerror(-r)); ++ } else ++ r = EXIT_SUCCESS; ++ if (modules_on_boot) { ++ char **modules = strv_split(modules_on_boot,WHITESPACE); ++ char **module; ++ ++ if (modules) { ++ STRV_FOREACH(module, modules) { ++ k = load_module(ctx, *module); ++ if (k < 0) ++ r = EXIT_FAILURE; ++ } ++ } ++ strv_free(modules); ++ } ++#endif + 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 +@@ -13,6 +13,7 @@ Conflicts=shutdown.target + After=systemd-readahead-collect.service systemd-readahead-replay.service + Before=sysinit.target shutdown.target + ConditionCapability=CAP_SYS_MODULE ++ConditionPathExists=|/etc/sysconfig/kernel + ConditionDirectoryNotEmpty=|/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/lib/modules-load.d + ConditionDirectoryNotEmpty=|/usr/local/lib/modules-load.d diff --git a/nss-myhostname-config b/nss-myhostname-config new file mode 100644 index 0000000..110db7a --- /dev/null +++ b/nss-myhostname-config @@ -0,0 +1,31 @@ +#!/bin/bash +# sed calls copied from fedora package +set -e + +case "$1" in + --help) + echo "$0 [--enable|--disable]" + exit 0 + ;; + --enable) + sed -i.bak -e ' + /^hosts:/ !b + /\/ b + s/[[:blank:]]*$/ myhostname/ + ' /etc/nsswitch.conf + ;; + --disable) + sed -i.bak -e ' + /^hosts:/ !b + s/[[:blank:]]\+myhostname\>// + ' /etc/nsswitch.conf + ;; + "") + if grep -q "^hosts:.*\" /etc/nsswitch.conf; then + echo "enabled" + else + echo "disabled" + fi + ;; + *) echo "invalid argument $1"; exit 1 ;; +esac diff --git a/optionally-warn-if-nss-myhostname-is-called.patch b/optionally-warn-if-nss-myhostname-is-called.patch new file mode 100644 index 0000000..93f8c8b --- /dev/null +++ b/optionally-warn-if-nss-myhostname-is-called.patch @@ -0,0 +1,106 @@ +From: Ludwig Nussel +Date: Fri, 20 May 2011 15:38:46 +0200 +Subject: optionally warn if nss-myhostname is called + +--- + configure.ac | 11 +++++++++++ + 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 + fi + AM_CONDITIONAL(HAVE_MYHOSTNAME, [test "$have_myhostname" = "yes"]) + ++if test "x$have_myhostname" != "xno"; then ++ AC_MSG_CHECKING([log warning messages for nss-myhostname]) ++ AC_ARG_WITH(nss-my-hostname-warning, AS_HELP_STRING([--with-nss-my-hostname-warning], [log warning to syslog when nss-myhostname is called (default=no)]),[],[with_nss_my_hostname_warning=no]) ++ AC_MSG_RESULT([$with_nss_my_hostname_warning]) ++ ++ if test x$with_nss_my_hostname_warning != xno; then ++ AC_CHECK_HEADERS([syslog.h]) ++ AC_DEFINE([LOG_NSS_MY_HOSTNAME_WARNING],[1],[whether to log warning message for nss-myhostname]) ++ fi ++fi ++ + # ------------------------------------------------------------------------------ + 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 +@@ -29,6 +29,9 @@ + #include + #include + #include ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++#include ++#endif + + #include "ifconf.h" + #include "macro.h" +@@ -47,6 +50,10 @@ + #define LOCALADDRESS_IPV6 &in6addr_loopback + #define LOOPBACK_INTERFACE "lo" + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn); ++#endif ++ + 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( + return NSS_STATUS_NOTFOUND; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + /* 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( + local_address_ipv4 = LOCALADDRESS_IPV4; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + return fill_in_hostent( + canonical, additional, + af, +@@ -509,6 +522,9 @@ found: + canonical = hn; + } + ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++ warn(hn); ++#endif + return fill_in_hostent( + canonical, additional, + af, +@@ -537,3 +553,19 @@ enum nss_status _nss_myhostname_gethostbyaddr_r( + errnop, h_errnop, + NULL); + } ++ ++#ifdef LOG_NSS_MY_HOSTNAME_WARNING ++static void warn(const char* hn) { ++ if (strstr(program_invocation_short_name, "nscd")) { ++ syslog(LOG_WARNING, ++ "Some application tried to resolve hostname \"%s\" which is not in DNS. Stop nscd to find out which one.\n", ++ hn); ++ } else { ++ syslog(LOG_WARNING, ++ "%s(%u) tried to resolve hostname \"%s\" which is not in DNS. This might be the reason for the delays you experience.\n", ++ program_invocation_short_name, ++ getpid(), ++ hn); ++ } ++} ++#endif diff --git a/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch new file mode 100644 index 0000000..ec21387 --- /dev/null +++ b/parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch @@ -0,0 +1,131 @@ +From: Frederic Crozat +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 , not used, equivalent to X-Interactive */ ++ if (parsed && !startswith_no_case (parsed[0], "")) { ++ 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++) diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..1870630 --- /dev/null +++ b/pre_checkin.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec@suse.cz) +# create a -mini spec for systemd for bootstrapping + +ORIG_SPEC=systemd +EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n" +sed "s/^%define bootstrap.*$/${EDIT_WARNING}%define bootstrap 1/; + s/^%define udevpkgname.*$/${EDIT_WARNING}%define udevpkgname udev-mini/; + s/^\(Name:.*\)$/\1-mini/; + s/^BuildRoot.*/&\n\nProvides: %{real} = %{version}-%{release}\n/ + " < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec +cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes +cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc + +osc service localrun format_spec_file diff --git a/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch new file mode 100644 index 0000000..2e13936 --- /dev/null +++ b/remain_after_exit-initscript-heuristic-and-add-new-LSB-hea.patch @@ -0,0 +1,91 @@ +From: Frederic Crozat +Date: Wed, 7 Dec 2011 15:15:07 +0000 +Subject: remain_after_exit initscript heuristic and add new LSB headers + +Add remain_after_exit heuristic for initscripts and add LSB headers +PIDFile: and X-Systemd-RemainAfterExit to control it. + +(bnc#721426) (bnc#727771) +--- + src/core/service.c | 34 ++++++++++++++++++++++++++++++++-- + 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 +@@ -135,6 +135,7 @@ static void service_init(Unit *u) { + #ifdef HAVE_SYSV_COMPAT + s->sysv_start_priority = -1; + s->sysv_start_priority_from_rcnd = -1; ++ s->sysv_remain_after_exit_heuristic = true; + #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) { + free(short_description); + short_description = d; + ++ } else if (startswith_no_case(t, "PIDFile:")) { ++ char *fn; ++ ++ state = LSB; ++ ++ fn = strstrip(t+8); ++ if (!path_is_absolute(fn)) { ++ log_warning("[%s:%u] PID file not absolute. Ignoring.", path, line); ++ continue; ++ } ++ ++ if (!(fn = strdup(fn))) { ++ r = -ENOMEM; ++ goto finish; ++ } ++ ++ free(s->pid_file); ++ s->pid_file = fn; ++ s->sysv_remain_after_exit_heuristic = false; ++ s->remain_after_exit = false; ++ } else if (startswith_no_case(t, "X-Systemd-RemainAfterExit:")) { ++ char *j; ++ ++ state = LSB; ++ if ((j = strstrip(t+26)) && *j) { ++ s->remain_after_exit = parse_boolean(j); ++ s->sysv_remain_after_exit_heuristic = false; ++ } + } 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) { + + /* Special setting for all SysV services */ + s->type = SERVICE_FORKING; +- s->remain_after_exit = !s->pid_file; ++ if (s->sysv_remain_after_exit_heuristic) ++ s->remain_after_exit = !s->pid_file; + 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) { + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && + (s->bus_name_good || s->type != SERVICE_DBUS)) { + #ifdef HAVE_SYSV_COMPAT +- if (s->sysv_enabled && !s->pid_file) ++ if (s->sysv_enabled && !s->pid_file && s->sysv_remain_after_exit_heuristic) + 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 { + bool is_sysv:1; + bool sysv_has_lsb:1; + bool sysv_enabled:1; ++ bool sysv_remain_after_exit_heuristic:1; + int sysv_start_priority_from_rcnd; + int sysv_start_priority; + diff --git a/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch new file mode 100644 index 0000000..e5c85f0 --- /dev/null +++ b/restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch @@ -0,0 +1,89 @@ +From: Frederic Crozat +Date: Mon, 29 Oct 2012 13:01:20 +0000 +Subject: restore /var/run and /var/lock bind mount if they aren't symlink + +--- + Makefile.am | 9 +++++++++ + units/var-lock.mount | 19 +++++++++++++++++++ + units/var-run.mount | 19 +++++++++++++++++++ + 3 files changed, 47 insertions(+) + 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 = \ + units/system-update.target \ + units/initrd-switch-root.target + ++if HAVE_SYSV_COMPAT ++dist_systemunit_DATA += \ ++ units/var-run.mount \ ++ units/var-lock.mount ++endif ++ + nodist_systemunit_DATA = \ + units/getty@.service \ + units/serial-getty@.service \ +@@ -4058,6 +4064,9 @@ RUNLEVEL4_TARGET_WANTS += \ + systemd-update-utmp-runlevel.service + RUNLEVEL5_TARGET_WANTS += \ + systemd-update-utmp-runlevel.service ++LOCAL_FS_TARGET_WANTS += \ ++ 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 +--- /dev/null ++++ b/units/var-lock.mount +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Lock Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/lock ++ConditionPathIsSymbolicLink=!/var/lock ++ ++[Mount] ++What=/run/lock ++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 +@@ -0,0 +1,19 @@ ++# This file is part of systemd. ++# ++# systemd is free software; you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++ ++[Unit] ++Description=Runtime Directory ++Before=local-fs.target ++# skip mounting if the directory does not exist or is a symlink ++ConditionPathIsDirectory=/var/run ++ConditionPathIsSymbolicLink=!/var/run ++ ++[Mount] ++What=/run ++Where=/var/run ++Type=bind ++Options=bind diff --git a/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch new file mode 100644 index 0000000..52fe82e --- /dev/null +++ b/rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch @@ -0,0 +1,20 @@ +From: Robert Schweikert +Date: Fri, 12 Apr 2013 12:08:16 -0400 +Subject: rules: add lid switch of ARM based Chromebook as a power switch to + logind + +--- + src/login/70-power-switch.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/login/70-power-switch.rules b/src/login/70-power-switch.rules +index 36fb827..d925ab7 100644 +--- a/src/login/70-power-switch.rules ++++ b/src/login/70-power-switch.rules +@@ -9,5 +9,6 @@ ACTION=="remove", GOTO="power_switch_end" + + SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" + SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" ++SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="gpio-keys.8", TAG+="power-switch" + + LABEL="power_switch_end" diff --git a/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch new file mode 100644 index 0000000..fb00b6d --- /dev/null +++ b/service-flags-sysv-service-with-detected-pid-as-RemainAfte.patch @@ -0,0 +1,33 @@ +From: Frederic Crozat +Date: Fri, 30 Sep 2011 12:58:17 +0200 +Subject: service: flags sysv service with detected pid as + RemainAfterExit=false + +LSB header doesn't give pidfile, so all LSB initscripts have +RemainAfterExit=false, causing daemon termination to not be reported as +such by systemd. Checking at startup if daemon is still running for +sysv initscript to disable RemainAfterExit helps a lot. +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 + cgroup_ok = cgroup_good(s); + + if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) && +- (s->bus_name_good || s->type != SERVICE_DBUS)) ++ (s->bus_name_good || s->type != SERVICE_DBUS)) { ++#ifdef HAVE_SYSV_COMPAT ++ if (s->sysv_enabled && !s->pid_file) ++ s->remain_after_exit = false; ++#endif + service_set_state(s, SERVICE_RUNNING); ++ } + else if (s->remain_after_exit) + service_set_state(s, SERVICE_EXITED); + else diff --git a/sysctl-handle-boot-sysctl.conf-kernel_release.patch b/sysctl-handle-boot-sysctl.conf-kernel_release.patch new file mode 100644 index 0000000..3ca7dc2 --- /dev/null +++ b/sysctl-handle-boot-sysctl.conf-kernel_release.patch @@ -0,0 +1,50 @@ +From 752a4370ecb5643a432ad73b1e22c80cd304948f Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 17 May 2013 13:31:46 +0200 +Subject: [PATCH] sysctl: handle /boot/sysctl.conf- + +Add support for kernel release sysctl.conf files (for per-flavor +configuration), needed by openSUSE (bnc#809420). +--- + src/sysctl/sysctl.c | 8 ++++++++ + 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 +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + #include "log.h" + #include "strv.h" +@@ -297,6 +298,13 @@ int main(int argc, char *argv[]) { + } else { + _cleanup_strv_free_ char **files = NULL; + char **f; ++ char kernel_sysctl[PATH_MAX]; ++ struct utsname uts; ++ ++ assert_se(uname(&uts) >= 0); ++ ++ snprintf(kernel_sysctl, sizeof(kernel_sysctl), "/boot/sysctl.conf-%s", uts.release); ++ r = parse_file(sysctl_options, kernel_sysctl, true); + + 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 +@@ -20,6 +20,7 @@ ConditionDirectoryNotEmpty=|/usr/lib/sys + ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d + ConditionDirectoryNotEmpty=|/etc/sysctl.d + ConditionDirectoryNotEmpty=|/run/sysctl.d ++ConditionPathExistsGlob=|/boot/sysctl.conf-* + + [Service] + Type=oneshot diff --git a/systemctl-does-not-expand-u-so-revert-back-to-I.patch b/systemctl-does-not-expand-u-so-revert-back-to-I.patch new file mode 100644 index 0000000..6502fa4 --- /dev/null +++ b/systemctl-does-not-expand-u-so-revert-back-to-I.patch @@ -0,0 +1,27 @@ +From 9541fe6adff9941e487084c718ff2d46ed2929c6 Mon Sep 17 00:00:00 2001 +From: Auke Kok +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 + diff --git a/systemd-204.tar.xz b/systemd-204.tar.xz new file mode 100644 index 0000000..ae11dd5 --- /dev/null +++ b/systemd-204.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:072c393503c7c1e55ca7acf3db659cbd28c7fe5fa94fab3db95360bafd96731b +size 2186264 diff --git a/systemd-insserv_conf b/systemd-insserv_conf new file mode 100644 index 0000000..5bdebd1 --- /dev/null +++ b/systemd-insserv_conf @@ -0,0 +1,34 @@ +#!/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 + diff --git a/systemd-journald.init b/systemd-journald.init new file mode 100644 index 0000000..0b8d508 --- /dev/null +++ b/systemd-journald.init @@ -0,0 +1,33 @@ +#! /bin/sh +# +# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# /etc/init.d/systemd-journald +# +### BEGIN INIT INFO +# Provides: syslog +# Required-Start: $null +# Required-Stop: $null +# Default-Start: 2 3 5 +# Default-Stop: +# Short-Description: compat wrapper for journald +# Description: compat wrapper for journald +### END INIT INFO + +. /etc/rc.status + +rc_reset + +case "$1" in + start|stop|restart) + rc_failed 3 + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +rc_exit diff --git a/systemd-mini-rpmlintrc b/systemd-mini-rpmlintrc new file mode 100644 index 0000000..219445d --- /dev/null +++ b/systemd-mini-rpmlintrc @@ -0,0 +1,18 @@ +addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") +addFilter(".*dangling-symlink .* /dev/null.*") +addFilter(".*files-duplicate .*/reboot.8.*") +addFilter(".*files-duplicate .*/sd_is_socket.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") +addFilter(".*dbus-policy-allow-receive") +addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") +addFilter(".*dangling-symlink /lib/udev/devices/core.*") +addFilter(".*dangling-symlink /lib/udev/devices/fd.*") +addFilter(".*incoherent-init-script-name boot.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") +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.*") diff --git a/systemd-mini.changes b/systemd-mini.changes new file mode 100644 index 0000000..0a35d39 --- /dev/null +++ b/systemd-mini.changes @@ -0,0 +1,3118 @@ +------------------------------------------------------------------- +Wed Jun 19 08:44:52 UTC 2013 - mhrusecky@suse.com + +- Dropped backward compatibility +- Added check for upstream rpm macros changes + +------------------------------------------------------------------- +Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com + +- Split out RPM macros into separate package to simplify dependencies + +------------------------------------------------------------------- +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 + +------------------------------------------------------------------- +Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de + +- Explicitly list libattr-devel as BuildRequires +- More robust make install call. Remove redundant %clean section. + +------------------------------------------------------------------- +Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz + +- Cleanup NumLock setting code + (handle-numlock-value-in-etc-sysconfig-keyboard.patch). + +------------------------------------------------------------------- +Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com + +- Only apply 1007-add-msft-compability-rules.patch when not + building systemd-mini. + +------------------------------------------------------------------- +Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com + +- Add udev MSFT compability rules (bnc#805059). + add: 1007-add-msft-compability-rules.patch +- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). +- Clean-up spec file, put udev patches after systemd patches. +- Rebase patches so they would apply nicely. + +------------------------------------------------------------------- +Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org + +- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch + fixes : + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + ignoring: Invalid argument +- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch + systemctl disable should remove dangling symlinks. +- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch + alien childs are reported as alive when they are really dead. + +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + +------------------------------------------------------------------- +Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org + +- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash +support has been removed from the kernel. +- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 +- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +only on ARM, patch rejected upstream because is too generic. +- no such define TARGET_SUSE exists but it is used in +Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +use HAVE_SYSV_COMPAT instead. + +------------------------------------------------------------------- +Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com + +- Do no ship defaults for sysctl, they should be part of aaa_base + (currently in procps). +- Add hostname-setup-shortname.patch: ensure shortname is set as + hostname (bnc#820213). + +------------------------------------------------------------------- +Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com + +- Rebase + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to + fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). + +------------------------------------------------------------------- +Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com + +- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure + /boot/sysctl.conf- is handled (bnc#809420). + +------------------------------------------------------------------- +Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com + +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't + free variable whose content is still be used (bnc#819970). + +------------------------------------------------------------------- +Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com + +- Add configure flags to ensure boot.local/halt.local are run on + startup/shutdown. + +------------------------------------------------------------------- +Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com + +- Fix firmware loading by enabling --with-firmware-path (bnc#817551). + +------------------------------------------------------------------- +Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de + +- Fix systemd-sysv-convert, so empty runlevel folders don't lead + to "line 44: [: too many arguments" + +------------------------------------------------------------------- +Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com + +- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup + when using /etc/HOSTNAME. + +------------------------------------------------------------------- +Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com + +- Rename remaning udev patches (clean-up). +- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at + boot time not from udev (bnc#761109). +- Drop unused patches: + 1001-Reinstate-TIMEOUT-handling.patch + 1005-udev-fix-sg-autoload-regression.patch + 1026-re-add-persistent-net.patch + +------------------------------------------------------------------- +Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com + +- Use drop-in file to fix bnc#804158. + +------------------------------------------------------------------- +Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com + +- add some more conflicts to make bootstrap work + +------------------------------------------------------------------- +Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com + +- Do not provide %{release} for systemd-analyze +- Add more conflicts to -mini packages +- Disable Predictable Network interface names until it has been + reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. +- Don't package /usr/lib/firmware/update (not used) + +------------------------------------------------------------------- +Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org + +- Fix packaging error, there is no syslog.target anymore + do not pretend there is one. + +------------------------------------------------------------------- +Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com + +- Update to release 202: + + 'systemctl list-jobs' got some polishing. '--type=' argument + may now be passed more than once. 'systemctl list-sockets' has + been added. + + systemd gained a new unit 'systemd-static-nodes.service' +    that generates static device nodes earlier during boot, and +    can run in conjunction with udev. + + systemd-nspawn now places all containers in the new /machine +    top-level cgroup directory in the name=systemd hierarchy. + + bootchart can now store its data in the journal. + + journactl can now take multiple --unit= and --user-unit= +    switches. + + The cryptsetup logic now understands the "luks.key=" kernel +    command line switch. If a configured key file is missing, it + will fallback to prompting the user. +- Rebase some patches +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to + properly handle SYSTEMCTL_OPTIONS + +------------------------------------------------------------------- +Fri Apr 19 12:47:13 UTC 2013 - max@suse.com + +- Fix regression in the default for tmp auto-deletion + (systemd-tmp-safe-defaults.patch, FATE#314974). + +------------------------------------------------------------------- +Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com + +- Update to release 201: + + udev now supports different nameng policies for network + interface for predictable names. + + udev gained support for loading additional device properties + from an indexed database. %udev_hwdb_update macro should be + used by packages adding entries to this database. + + Journal gained support for "Message Catalog", indexed database + to link up additional information with journal entries. + %journal_catalog_update macro should be used by packages adding + %entries to this database. + + "age" field for tmpfiles entries can be set to 0, forcing + removal of files matching this entry. + + coredumpctl gained "gdb" verb to invoke gdb on selected + coredump. + + New rpm macros has been added: %udev_rules_update(), + %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, + %_tmpfilesdir, %_sysctldir. + + In service files, %U can be used for configured user name of + the service. + + nspawn can be invoked without a controlling TTY. + + systemd and nspawn can accept socket file descriptors when + started for socket activation. This allow socket activated + nspawn containers. + + logind can now automatically suspend/hibernate/shutdown system + on idle. + + ConditionACPower can be used in unit file to detect if AC power + source is connected or if system is on battery power. + + EnvironmentFile= in unit files supports file globbing. + + Behaviour of PrivateTmp=, ReadWriteDirectories=, + ReadOnlyDirectories= and InaccessibleDirectories= has + changed. The private /tmp and /var/tmp directories are now + shared by all processes of a service (which means + ExecStartPre= may now leave data in /tmp that ExecStart= of + the same service can still access). When a service is + stopped its temporary directories are immediately deleted + (normal clean-up with tmpfiles is still done in addition to + this though). + + Resource limits (as exposed by cgroup controlers) can be + controlled dynamically at runtime for all units, using + "systemctl set-cgroup-attr foobar.server cgroup.attribute + value". Those settings are stored persistenly on disk. + + systemd-vconsole-setup will now copy all fonts settings to all + allocated VTs. + + timedated now exposes CanNTP property to indicate if a local + NTP service is available. + + pstore file system is mounted by default, if available. + + SMACK policies are loaded at early boot, if available. + + Timer units now support calendar time events. + + systemd-detect-virt detect xen PVs. + + Some distributions specific LSB targets has been dropped: + $x-display-manager, $mail-transfer-agent, + $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As + well mail-transfer-agent.target and syslog.target has been + removed. + + systemd-journal-gatewayd gained SSL support and now runs as + unprivileged user/group + "systemd-journal-gateway:systemd-journal-gateway" + + systemd-analyze will read, when available, boot time + performance from EFI variable from boot loader supporting it. + + A new generator for automatically mounting EFI System Partition + (ESP) to /boot (if empty and no other file system has been + configured in fstab for it). + + logind will now send out PrepareForSleep(false) out + unconditionally, after coming back from suspend. + + tmpfiles gained a new "X" line type, that allows + configuration of files and directories (with wildcards) that + shall be excluded from automatic cleanup ("aging"). + + udev default rules set the device node permissions now only + at "add" events, and do not change them any longer with a + later "change" event. + + A new bootctl tool has been added that is an interface for + certain EFI boot loader operations. + + A new tool kernel-install has been added to install kernel + images according to Boot Loader Specification. + + A new tool systemd-activate can be used to test socket + activation. + + A new group "systemd-journal" is now owning journal files, + replacing "adm" group. + + journalctl gained "--reverse" to show output in reverse order, + "--pager-end" to jump at the end of the journal in the + pager (only less is supported) and "--user-unit" to filter for + user units. + + New unit files has been addedto ease for systemd usage in + initrd. + + "systemctl start" now supports "--irreversible" to queue + operations which can be reserved. It is now used to make + shutdown requests more robust. + + Auke Kok's bootchart has been merged and relicensed to + LGPLv2.1+. + + nss-myhostname has been merged in systemd codebase. + + some defaults sysctl values are now set by default: the safe + sysrq options are turned on, IP route verification is turned + on, and source routing disabled. The recently added hardlink + and softlink protection of the kernel is turned on. + + Add support for predictable network naming logic. It can be + turned off with kernel command line switch: net.ifnames=0 + + journald will now explicitly flush journal files to disk at the + latest 5 min after each write and will mark file offline until + next read. This should increase reliability in case of crash. + + remote-fs-setup.target target has been added to pull in + specific services when at least one remote file system is to be + mounted. + + timers.target and paths.target have been added as canonical + targets to pull user timer and path units, similar to + sockets.targets. + + udev daemon now sets default number of worker processes in + parallel based on number of CPUs instead of RAM. + + Most unit file settings which takes likst of items can now be +reset by assigning empty string to them, using drop-in. + + Add support for drop-in configuration file for units. + + Most unit file settings which takes likst of items can now be + reset by assigning empty string to them, using drop-in. + + improve systemg-cgtop output. + + improve 'systemctl status' output for socket, drop-in for units. + + 'hostnamectl set-hostname' allows setting FQDN hostnames. + + fractional time intervals are now parsed properly. + + localectl can list available X11 keymaps. + + systemd-analyze dot can filter for specific units and has been + rewritten in C. + + systemctl gained "list-dependencies" command. + + Inhibitors are now honored no only in GNOME. +- Many patches has been dropped, being merged upstream. +- Many patches has been renamed and regenerated with git, to have + consistent naming, authorship and comments embedded. +- Add + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: + re-add support for boot.* initscripts until they are all migrated + to systemd unit files. +- Merge patches for nss-myhostname package to this package. + +------------------------------------------------------------------- +Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com + +- Add chromebook lid switch as a power switch to logind rule to + enable suspend on lid close + +------------------------------------------------------------------- +Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com + +- Add improve-readahead-spinning.patch: improve readahead + performance on spinning media with ext4. +- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal + (bnc#789589). +- Add fix-lsb-provides.patch: ensure LSB provides are correctly + handled if also referenced as dependencies (bnc#809646). +- Add fix-loopback-mount.patch: ensure udevd is started (and + therefore static devices are created) before mounting + (bnc#809820). +- Update systemd-sysv-convert to search services files in new + location (bnc#809695). +- Add logind-nvidia-acl.diff: set ACL on nvidia devices + (bnc#808319). +- Add do-no-isolate-on-fsck-failure.patch: do not turn off services + if fsck fails (bnc#812874) +- Add wait-for-processes-killed.patch: wait for processes killed by + SIGTERM before killing them with SIGKILL. +- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to + systemctl command (bnc#801878). + +------------------------------------------------------------------- +Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz + +- Fixed disabling CapsLock and enabling NumLock (bnc#746595, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + systemd-numlock-suse.patch). +- Explicitly require libgcrypt-devel to fix build failure. + +------------------------------------------------------------------- +Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com + +- udev: ensure that the network interfaces are renamed even if they + exist (bnc#809843). + add: 1027-udev-always-rename-network.patch + +------------------------------------------------------------------- +Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com + +- udev: re-add persistent network rules (bnc#809843). + add: 1026-re-add-persistent-net.patch +- rebase all patches, ensure that they apply properly. + +------------------------------------------------------------------- +Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com + +- Add rbind-mount.patch: handle rbind mount points correctly + (bnc#804575). + +------------------------------------------------------------------- +Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com + +- Ensure journal is flushed on disk when systemd-logger is + installed for the first time. +- Add improve-journal-perf.patch: improve journal performance on + query. +- Add support-hybrid-suspend.patch: add support for hybrid suspend. +- Add forward-to-pmutils.patch: forward suspend/hibernation calls + to pm-utils, if installed (bnc#790157). + +------------------------------------------------------------------- +Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com + +- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer + add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +- udev: expose new ISO9660 properties from libblkid + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + +------------------------------------------------------------------- +Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de + +- Create getty@tty1.service to restore traditional SUSE behavior + of not clearing tty1. (bnc#804158) +- Better use of find -exec + +------------------------------------------------------------------- +Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com + +- Add early-sync-shutdown.patch: start sync just when + shutdown.target is beginning +- Update parse-multiline-env-file.patch to better handle continuing + lines. +- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). +- Add systemctl-print-wall-on-if-successful.patch: only print on + wall if successful. +- Add improve-bash-completion.patch: improve bash completion. + +------------------------------------------------------------------- +Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de + +- disable nss-myhostname warning (bnc#783841) + => disable-nss-myhostname-warning-bnc-783841.diff + +------------------------------------------------------------------- +Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com + +- rework patch: + 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- udev: use unique names for temporary files created in /dev. + add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +- cdrom_id: add data track count for bad virtual drive. + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + +------------------------------------------------------------------- +Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com + +- usb_id: ensure we have a valid serial number as a string (bnc#779493). + add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- cdrom_id: created links for the default cd/dvd drive (bnc#783054). + add: 1021-create-default-links-for-primary-cd_dvd-drive.patch + +------------------------------------------------------------------- +Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com + +- Add cryptsetup-accept-read-only.patch: accept "read-only" in + addition to "readonly" in crypttab +- Update parse-multiline-env-file.patch to correctly handle + commented lines (bnc#793411) + +------------------------------------------------------------------- +Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com + +- udev: Fix device matching in the accelerometer + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +- keymap: add aditional support for some keyboard keys + add: 1018-keymap-add-aditional-support.patch +- journalctl: require argument for --priority + add: journalctl-require-argument-for-priority +- dropped useless patches: + libudev-validate-argument-udev_enumerate_new.patch + kmod-fix-builtin-typo.patch +- rename udev-root-symlink.service to systemd-udev-root-symlink.service. +- fix in udev package missing link in basic.target.wants for + systemd-udev-root-symlink.service + +------------------------------------------------------------------- +Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com + +- Add tmpfiles-X-type.patch: allow to clean directories with + removing them. +- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with + --ignore-dependencies waiting for dependencies (bnc#800365). +- Update systemd-numlock-suse.patch: udev-trigger.service is now + called systemd-udev-trigger.service. +- Add improve-man-environment.patch: improve manpage regarding + Environment value. + +------------------------------------------------------------------- +Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com + +- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly + (bnc#798620). +- Update crypt-loop-file.patch to correctly detect crypto loop + files (bnc#799514). +- Add journalctl-remove-leftover-message.patch: remove debug + message in systemctl. +- Add job-avoid-recursion-when-cancelling.patch: prevent potential + recursion when cancelling a service. +- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully + parsed. +- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff + max date for journal. +- Add reword-rescue-mode-hints.patch: reword rescue prompt. +- Add improve-overflow-checks.patch: improve time overflow checks. +- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour + with symlinks. +- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure + hostnamectl requires an argument when called with set-hostname + option. +- Add agetty-overrides-term.patch: pass correctly terminal type to + agetty. +- Add check-for-empty-strings-in-strto-conversions.patch: better + check for empty strings in strto* conversions. +- Add strv-cleanup-error-path-loops.patch: cleanup strv on error + path. +- Add cryptsetup-handle-plain.patch: correctly handle "plain" + option in cryptsetup. +- Add fstab-generator-improve-error-message.patch: improve error + message in fstab-generator. +- Add delta-accept-t-option.patch: accept -t option in + systemd-delta. +- Add highlight-ordering-cycle-deletions.patch: highlight ordering + cycle deletions in logs. +- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; + in ExecStart. +- Add hostnamectl-fix-parsing-no-ask-password.patch: accept + no-ask-password in hostnamectl. +- Add systemd-cgls-fix-piping-output.patch: fix piping output of + systemd-cgls. +- Add core-load-fragment-improve-error-message.patch: improve error + message when parsing fragments. +- Add fix-potential-bad-mem-access.patch: fix potential bad memory + access. +- Add socket-improve-error-message.patch: improve error message in + socket handling. +- Add journal-send-always-send-syslog_identifier.patch: always send + syslog_identifier if available for journal. +- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. +- Add crypsetup-generator-state-file-name-in-error-message.patch: + add filename in error message from crypsetup-generator. +- Add fstab-generator-error-message-on-duplicates.patch: improve + error message on duplicate in fstab-generator. +- Add systemctl-verbose-message-on-missing-install.patch: reword + missing install error message in systemctl. +- Add shutdown-improvements.patch: various improvements at + shutdown. +- Add localectl-fix-assertion.patch: fix assertion in localectl. +- Add path-util-fix-potential-crash.patch: fix potential crash in + path-util. +- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. +- Add socket-verbose-error-message.patch: add more verbose error + message in socket handling. +- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: + handle properly ssh-logins without pam tty field. +- Add fstab-generator-properly-detect-bind-mounts.patch: properly + detect bind-mounts in fstab-generator. +- Add localectl-support-systems-without-locale-archive.patch: + localectl now supports systemd without locale-archive file. +- Add logind-capability-making-seats-without-fb.patch: allows + capability of making seats without fb. +- Add service-forking-ignore-exit-status-main-process.patch: ignore + exit-statis of main process when forking, if specified in unit + file. +- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't + assert on reboot if dbus isn't there. +- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: + ignore non tty non-x11 session on shutdown. +- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io + error. +- Add do-not-make-sockets-dependent-on-lo.patch: do not make + sockets dependent on lo interface. +- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't + force MNT_FORCE on final umount at shutdown. +- Add shutdown-ignore-loop-devices-without-backing-file.patch: + ignore loop devices without backing file at shutdown. +- Add fix-bad-mem-access.patch: fix bad memory access +- Add parse-multiline-env-file.patch: correctly parse multiline + environment files (bnc#793411). + +------------------------------------------------------------------- +Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com + +- Add multiple-sulogin.patch: allows multiple sulogin instance + (bnc#793182). + +------------------------------------------------------------------- +Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com + +- udev: path_id - handle Hyper-V devices + add: 1008-udev-path_id-handle-Hyper-V-devices.patch +- keymap: Update the list of Samsung Series 9 models + add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +- keymap: Add Samsung 700T + add: 1010-keymap-Add-Samsung-700T.patch +- libudev: avoid leak during realloc failure + add: 1011-libudev-avoid-leak-during-realloc-failure.patch +- libudev: do not resolve $attr{device} symlinks + add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +- libudev: validate 'udev' argument to udev_enumerate_new() + add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +- udev: fix whitespace + add: 1014-udev-fix-whitespace.patch +- udev: properly handle symlink removal by 'change' event + add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +- udev: builtin - do not fail builtin initialization if one of + them returns an error + add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +- udev: use usec_t and now() + add: 1017-udev-use-usec_t-and-now.patch + +------------------------------------------------------------------- +Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com + +- udevd: add missing ':' to getopt_long 'e'. + add: 1007-udevd-add-missing-to-getopt_long-e.patch +- clean up systemd.spec, make it easy to see which are udev and + systemd patches. +- make 'reload' and 'force-reload' LSB compliant (bnc#793936). + +------------------------------------------------------------------- +Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org + +- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. +- timedated-donot-close-bogus-dbus-connection.patch: Avoid + closing an non-existent dbus connection and getting assertion + failures. + +------------------------------------------------------------------- +Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com + +- add conflicts between udev-mini and udev-mini-devel to libudev1 + +------------------------------------------------------------------- +Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org + +- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: + do not consider failure to umount / and /usr an error. + +------------------------------------------------------------------- +Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com + +- Add fix-devname-prefix.patch: fix modules.devname path, it isn't + in /usr. +- Move post script to fix symlinks in /etc/systemd/system to a + trigger to run it after old systemd is uninstalled. + +------------------------------------------------------------------- +Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com + +- Add fix-debugshell.patch: use /bin/bash if sushell isn't + installed (bnc#789052). +- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype + (bnc#792182). +- Ensure libudev1 and libudev-mini1 conflicts. + +------------------------------------------------------------------- +Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com + +- Fix creation of /dev/root link. + +------------------------------------------------------------------- +Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com + +- Add remount-ro-before-unmount.patch: always remount read-only + before unmounting in final shutdown loop. +- Add switch-root-try-pivot-root.patch: try pivot_root before + overmounting / + +------------------------------------------------------------------- +Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com + +- links more manpages for migrated tools (from Christopher + Yeleighton). +- disable boot.localnet service, ypbind service will do the right + thing now (bnc#716746) +- add xdm-display-manager.patch: pull xdm.service instead of + display-manager.service (needed until xdm initscript is migrated + to native systemd service). +- Add fix-permissions-btmp.patch: ensure btmp is owned only by root + (bnc#777405). +- Have the udev package create a tape group, as referenced by + 50-udev-default.rules and 60-persistent-storage-tape.rules + (DimStar). +- Add fix-bad-memory-access.patch: fix crash in journal rotation. +- Add fix-dbus-crash.patch: fix D-Bus caused crash. +- Add sync-on-shutdown.patch: ensure sync is done when initiating + shutdown. +- Add mount-efivars.patch: mount efivars if booting on UEFI. + + +------------------------------------------------------------------- +Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com + +- Ship a empty systemd-journald initscript in systemd-logger to + stop insserv to complain about missing syslog dependency. +- Update + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch + with bug fixes from Debian. + +------------------------------------------------------------------- +Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com + +- /var/log/journal is now only provided by systemd-logger (journal + won't be persistent for people using another syslog + implementation). +- install README in /var/log (in systemd-logger) and /etc/init.d +- create adm group when installing systemd. +- fix path in udev-root-symlink.systemd. +- Enforce Requires(post) dependency on libudev in main systemd + package (help upgrade). +- Ensure configuration is reloaded when upgrading and save random + seed when installing. +- Create /lib/udev symlink, if we do a fresh install. +- Add fix-build-glibc217.patch: fix build with latest glibc. +- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only + used to bootstrap systemd-mini. + +------------------------------------------------------------------- +Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com + +- adding a package systemd-logger that blocks syslog implementations + from installation to make an installation that only uses the journal + +------------------------------------------------------------------- +Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com + +- Don't hardcode path for systemctl in udev post script. +- Ensure systemd-udevd.service is shadowing boot.udev when booting + under systemd. +- Fix udev daemon upgrade under both systemd and sysvinit. +- Add fix-logind-pty-seat.patch: fix logind complaining when doing + su/sudo in X terminal. + +------------------------------------------------------------------- +Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com + +- add libudev1 to baselibs.conf + +------------------------------------------------------------------- +Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com + +- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) + +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + +------------------------------------------------------------------- +Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com + +- Create and own more systemd drop-in directories. + +------------------------------------------------------------------- +Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com + +- Improve mini packages for bootstrapping. +- do not mount /tmp as tmpfs by default. + +------------------------------------------------------------------- +Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com + +- Fix install script when there is no inittab + +------------------------------------------------------------------- +Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com + +- Create a systemd-mini specfile to prevent cycle in bootstrapping + +------------------------------------------------------------------- +Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + +- udev and its subpackages are now generated by systemd source + package. +- migrate udev and systemd to /usr +- Update to version 194: + + if /etc/vconsole.conf is non-existent or empty and if + /etc/sysconfig/console:CONSOLE_FONT (resp + /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp + keymap) is not modified. +- Changes from version 44 to 193: + + journalctl gained --cursor= to show entries starting from a + specified location in journal. + + Size limit enforced to 4K for fields exported with "-o json" in + journalctl. Use --all to disable this behavior. + + Optional journal gateway daemon + (systemd-journal-gatewayd.service) to access journal via HTTP + and JSON. Use "wget http://localhost:19531/entries" to get + /var/log/messages compatible format and + 'curl -H"Accept: application/json" + http://localhost:19531/entries' for JSON formatted content. + HTML5 static page is also available as explained on + http://0pointer.de/public/journal-gatewayd + + do not mount cpuset controler, doesn't work well by default + ATM. + + improved nspawn behaviour with /etc/localtime + + journald logs its maximize size on disk + + multi-seat X wrapper (partially merged in upstream X server). + + HandleSleepKey has been splitted into HandleSuspendKey and + HandleHibernateKey. + + systemd and logind now handle system sleep states, in + particular suspending and hibernating. + + new cgroups are mounted by default (cpu, cpuacct, + net_cls, net_pri) + + sync at shutdown is now handled by kernel + + imported journalctl output (colors, filtering, pager, bash + completion). + + suffix ".service" may now be ommited on most systemctl command + involving service unit names. + + much improved nspawn containers support. + + new conditions added : ConditionFileNotEmpty, ConditionHost, + ConditionPathIsReadWrite + + tmpfiles "w" supports file globbing + + logind handles lid switch, power and sleep keys all the time, + unless systemd-inhibit + --what=handle-power-key:handle-sleep-key:handle-lid-switch is + run by Desktop Environments. + + support for reading structured kernel message is used by + default (need kernel >= 3.5). /proc/kmsg is now used only by + classic syslog daemons. + + Forward Secure Sealing is now support for Journal files. + + RestartPrevenExitStatus and SuccessExitStatus allow configure + of exit status (exit code or signal). + + handles keyfile-size and keyfile-offset in /etc/crypttab. + + TimeoutSec settings has been splitted into TimeoutStartSec and + TimeoutStopSec. + + add SystemCallFilters option to add blacklist/whitelist to + system calls, using SECCOMP mode 2 of kernel >= 3.5. + + systemctl udevadm info now takes a /dev or /sys path as argument: + - udevadm info /dev/sda + + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. + + systemd-loginctl and systemd-journalctl have been renamed + to loginctl and journalctl to match systemctl. + + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is + no longer supported. udev_monitor_new_from_netlink() needs to + be used to subscribe to events. + + udev: when udevd is started by systemd, processes which are left + behind by forking them off of udev rules, are unconditionally + cleaned up and killed now after the event handling has finished. + Services or daemons must be started as systemd services. + Services can be pulled-in by udev to get started, but they can + no longer be directly forked by udev rules. + + For almost all files, license is now LGPL2.1+ (from previous + GPL2.0+). Exception are some minor stuff in udev (will be + changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] + library. + + var-run.mount and var-lock.mount are no longer provided + (should be converted to symlinks). + + A new service type Type=idle to avoid ugly interleaving of + getty output and boot status messages. + + systemd-delta has been added, a tool to explore differences + between user/admin configuration and vendor defaults. + + /tmp mouted as tmpfs by default. + + /media is now longer mounted as tmpfs + + GTK tool has been split off to systemd-ui package. + + much improved documentation. +- Merge BuildRequires from udev package: + gobject-introspection-devel, gtk-doc, libsepol-devel, + libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), + pjgconfig(libcryptsetup), pkgconfig(libpci), + pkgconfig(libqrencode), pkgconfig(libselinux), + pkgconfig(usbutils). +- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) +- Merge sources from udev package: boot.udev, write_dev_root.rules, + udev-root-symlink.systemd. +- Merge patches from udev package: numbered started from 1000): + 0001-Reinstate-TIMEOUT-handling.patch, + 0013-re-enable-by_path-links-for-ata-devices.patch, + 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, + 0026-udev-netlink-null-rules.patch, + 0027-udev-fix-sg-autoload-regression.patch. +- Remove following patches, merged upstream: + 0001-util-never-follow-symlinks-in-rm_rf_children.patch, + fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, + fix-swap-priority.patch, improve-restart-behaviour.patch, + fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, + ulimit-support.patch, change-terminal.patch, + fix-tty-startup.patch, fix-write-user-state-file.patch, + fix-analyze-exception.patch, use_localtime.patch, + journalctl-pager-improvement.patch, + avoid-random-seed-cycle.patch, + 0001-add-sparse-support-to-detect-endianness-bug.patch, + drop-timezone.patch. +- Rebase the following patches: + 0001-Add-bootsplash-handling-for-password-dialogs.patch, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, + 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, + crypt-loop-file.patch, + delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, + dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, + fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, + new-lsb-headers.patch, storage-after-cryptsetup.patch, + support-suse-clock-sysconfig.patch, support-sysvinit.patch, + sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. + +------------------------------------------------------------------- +Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com + +- Add use_localtime.patch: use /etc/localtime instead of + /etc/timezone (bnc#773491) +- Add support-suse-clock-sysconfig.patch: read SUSE + /etc/sysconfig/clock file. +- Add drop-timezone.patch: drop support for /etc/timezone, never + supported on openSUSE. +- Add journalctl-pager-improvement.patch: better handle output when + using pager. +- Add fix-enable-disable-boot-initscript.patch: support boot.* + initscripts for systemctl enable /disable (bnc#746506). + +------------------------------------------------------------------- +Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com + +- Ensure systemd macros never fails (if systemd isn't install) + +------------------------------------------------------------------- +Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com + +- Add fix-analyze-exception.patch: prevent exception if running + systemd-analyze before boot is complete (bnc#772506) + +------------------------------------------------------------------- +Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz + +- Fix NumLock detection/set race condition (bnc#746595#c47). + +------------------------------------------------------------------- +Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com + +- Move systemd-analyse to a subpackage, to remove any python + dependencies from systemd main package (bnc#772039). + +------------------------------------------------------------------- +Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com + +- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on + kernel commandline are handled. +- Add fix-write-user-state-file.patch: write logind state file + correctly. +- Disable logind-logout.patch: cause too many issues (bnc#769531). + +------------------------------------------------------------------- +Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com + +- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). + +------------------------------------------------------------------- +Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz + +- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). + +------------------------------------------------------------------- +Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com + +- Add fix-dir-noatime-tmpfiles.patch: do not modify directory + atime, which was preventing removing empty directories + (bnc#751253, rh#810257). +- Add improve-restart-behaviour.patch: prevent deadlock during + try-restart (bnc#743218). +- Add journal-bugfixes.patch: don't crash when rotating journal + (bnc#768953) and prevent memleak at rotation time too. +- Add ulimit-support.patch: add support for system wide ulimit + (bnc#744818). +- Add change-terminal.patch: use vt102 instead of vt100 as terminal + for non-vc tty. +- Package various .wants directories, which were no longer packaged + due to plymouth units being removed from systemd package. +- Fix buildrequires for manpages build. + +------------------------------------------------------------------- +Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com + +- Do not ship plymouth units, they are shipped by plymouth package + now (bnc#769397). +- Fix module loading (bnc#769462) + +------------------------------------------------------------------- +Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com + +- Add fix-swap-priority: fix default swap priority (bnc#731601). + +------------------------------------------------------------------- +Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com + +- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real + fix. + +------------------------------------------------------------------- +Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com + +- Update new-lsb-headers.patch to handle entries written after + description tag (bnc#727771, bnc#747931). + +------------------------------------------------------------------- +Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com + +- Disable logind-logout.patch: it crashes sudo session (if called + after su -l) (bnc#746704). + +------------------------------------------------------------------- +Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com + +- Add fix-getty-isolate.patch: don't quit getty when changing + runlevel (bnc#746594) + +------------------------------------------------------------------- +Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz + +- Implemented SUSE specific sysconfig numlock logic (bnc#746595). + +------------------------------------------------------------------- +Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com + +- Add dbus-1 as BuildRequires to fix build. + +------------------------------------------------------------------- +Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com + +- apply ppc patch to systemd-gtk too (fixes build) + +------------------------------------------------------------------- +Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com + +- Update fixppc.patch with upstream patches +- Add comments from upstream in + 0001-util-never-follow-symlinks-in-rm_rf_children.patch. +- Add logind-logout.patch: it should fix sudo / su with pam_systemd + (bnc#746704). + +------------------------------------------------------------------- +Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix + endianness error, preventing journal to work properly on ppc. +- Add fixppc.patch: fix build and warnings on ppc. + +------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + +------------------------------------------------------------------- +Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com + +- Add fix-c++-compat.patch: fix C++ compatibility error in header. + +------------------------------------------------------------------- +Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com + +- Add systemd-journald-fix-endianess-bug.patch: fix journald not + starting on ppc architecture. +- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth + is correctly called and conflicts with bootsplash. + +------------------------------------------------------------------- +Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com + +- Remove rsyslog listen.conf, handled directly by rsyslog now + (bnc#747871). + +------------------------------------------------------------------- +Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + requires /etc/os-release, support for /etc/SuSE-release is no + longer present. + + Track class of PAM logins to distinguish greeters from normal + user logins. + + Various bug fixes. + +------------------------------------------------------------------- +Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de + +- Use pkgconfig symbols for BuildRequires and specify version + +------------------------------------------------------------------- +Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com + +- Enable Plymouth integration. + * Bootsplash related files will be moved to the bootsplash + package + +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + +------------------------------------------------------------------- +Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com + +- Ensure systemd show service status when started behind bootsplash + (bnc#736225). +- Disable core dump redirection to journal, not stable atm. + +------------------------------------------------------------------- +Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com + +- Update modules_on_boot.patch to not cause failed state for + systemd-modules-load.service (bnc#741481). + +------------------------------------------------------------------- +Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com + +- Update to version 39: + + New systemd-cgtop tool to show control groups by their resource + usage. + + Linking against libacl for ACLs is optional again. + + If a group "adm" exists, journal files are automatically owned + by them, thus allow members of this group full access to the + system journal as well as all user journals. + + The journal now stores the SELinux context of the logging + client for all entries. + + Add C++ inclusion guards to all public headers. + + New output mode "cat" in the journal to print only text + messages, without any meta data like date or time. + + Include tiny X server wrapper as a temporary stop-gap to teach + XOrg udev display enumeration (until XOrg supports udev + hotplugging for display devices). + + Add new systemd-cat tool for executing arbitrary programs with + STDERR/STDOUT connected to the journal. Can also act as BSD + logger replacement, and does so by default. + + Optionally store all locally generated coredumps in the journal + along with meta data. + + systemd-tmpfiles learnt four new commands: n, L, c, b, for + writing short strings to files (for usage for /sys), and for + creating symlinks, character and block device nodes. + + New unit file option ControlGroupPersistent= to make cgroups + persistent. + + Support multiple local RTCs in a sane way. + + No longer monopolize IO when replaying readahead data on + rotating disks. + + Don't show kernel threads in systemd-cgls anymore, unless + requested with new -k switch. +- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. +- Add fdupes to BuildRequires and use it at build time. + +------------------------------------------------------------------- +Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com + +- Make the systemd journal persistent by creating the + /var/log/journal directory + +------------------------------------------------------------------- +Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com + +- Update to version 38 : + - Bugfixes + - Implementation of a Journal Utility Library + - Implementation of a 128 Bit ID Utility Library +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure + syslog socket goes away early during shutdown. +- Add listen.conf for rsyslog. This will ensure that it will still + work fine with rsyslog and the new journal. + +------------------------------------------------------------------- +Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com + +- Add fix-is-enabled.patch: ensure systemctl is-enabled work + properly when systemd isn't running. +- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't + exist (bnc#733022, bnc#735047). +- Add sysctl-modules.patch: ensure sysctl is started after modules + are loaded (bnc#725412). +- Fix warning in insserv patch. +- Update avoid-random-seed-cycle.patch with better upstream + approach. +- Update storage-after-cryptsetup.patch to restart lvm before + local-fs.target, not after it (bnc#740106). +- Increase pam-config dependency (bnc#713319). + +------------------------------------------------------------------- +Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com + +- Remove storage-after-cryptsetup.service, add + storage-after-cryptsetup.patch instead to prevent dependency + cycle (bnc#722539). +- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure + fsck/cryptsetup is run after lvm/md/dmraid have landed + (bnc#724912). +- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). +- Add do_not_warn_pidfile.patch: Fix PID warning in logs + (bnc#732912). +- Add mount-swap-log.patch: Ensure swap and mount output is + redirected to default log target (rhb#750032). +- Add color-on-boot.patch: ensure colored status are displayed at + boot time. +- Update modules_on_boot.patch to fix bnc#732041. +- Replace private_tmp_crash.patch with log_on_close.patch, better + upstream fix for bnc#699829 and fix bnc#731719. +- Update vconsole patch to fix memleaks and crash (bnc#734527). +- Add handle-racy-daemon.patch: fix warnings with sendmail + (bnc#732912). +- Add new-lsb-headers.patch: support PIDFile: and + X-Systemd-RemainAfterExit: header in initscript (bnc#727771). +- Update bootsplash services to not start if vga= is missing from + cmdline (bnc#727771) +- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and + change default permissions on /var/lock (bnc#733523). +- Add garbage_collect_units: ensure error units are correctly + garbage collected (rhb#680122). +- Add crypt-loop-file.patch: add support for crypt file loop + (bnc#730496). + +------------------------------------------------------------------- +Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com + +- Fix rpm macros to only call presets on initial install + (bnc#728104). + +------------------------------------------------------------------- +Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com + +- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint + (bnc#726791). + +------------------------------------------------------------------- +Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com + +- Add avoid-random-seed-cycle.patch: fix dependency cycle between + cryptsetup and random-seed-load (bnc#721666). +- Add crash-isolating.patch: fix crash when isolating a service. +- Fix bootsplash being killed too early. +- Fix some manpages not being redirected properly. +- Add storage-after-cryptsetup.service to restart lvm after + cryptsetup. Fixes lvm on top of LUKS (bnc#724238). + +------------------------------------------------------------------- +Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com + +- Recommends dbus-1-python, do not requires python (bnc#716939) +- Add private_tmp_crash.patch: prevent crash in debug mode + (bnc#699829). +- Add systemctl-completion-fix.patch: fix incorrect bash completion + with some commands (git). + +------------------------------------------------------------------- +Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com + +- Shadow single sysv service, it was breaking runlevel 1. +- Add modules_on_boot.patch to handle /etc/sysconfig/kernel + MODULES_ON_BOOT variable (bnc#721662). + +------------------------------------------------------------------- +Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com + +- Update to release 37: + - many bugfixes + - ConditionCapability added, useful for containers. + - locale mechanism got extend to kbd configuration for + both X and the console + - don't try to guess PID for SysV services anymore (bnc#723194) +- Drop detect-non-running.patch, logind-warning.patch. +- Rewrite systemd-sysv-convert in bash (bnc#716939) +------------------------------------------------------------------- +Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com + +- make sure updaters get in the /sbin/init from here - the sub package + of the split package will decide which init wins in update case + +------------------------------------------------------------------- +Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com + +- under openSUSE if it's not systemd, chances are good it's + sysvinit + +------------------------------------------------------------------- +Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com + +- do not list specific sbin_init providers + +------------------------------------------------------------------- +Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com + +- Add logind-warning.patch: fix pam warning (bnc#716384) + +------------------------------------------------------------------- +Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com + +- Update to version 36 : + - many bugfixes + - systemd now requires socket-activated syslog implementations + - After=syslog.target is no longer needed in .service files + - X-Interactive is ignored in LSB headers (was not working) +- Enable back insserv.conf parsing in systemd core and fix added + dependencies (bnc#721428). +- Fix detection of LSB services status when running daemon + (bnc#721426). +- Drop 0001-execute-fix-bus-serialization-for-commands.patch, + fix-reload.patch + +------------------------------------------------------------------- +Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com + +- Add services to stop bootsplash at end of startup and start it at + beginning of shutdown. +- Fix bootsplash call and ensure dependencies are set right. + +------------------------------------------------------------------- +Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com + +- Add detect-non-running.patch: fix assertion when running + systemctl under non systemd system (git). +- Requires presets branding package. +- Improve macros a little bit. + +------------------------------------------------------------------- +Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com + +- Merge migration rpm macros into service_add/service_del macros. +- Use systemd presets in rpm macros +- Add fix-reload.patch: handle daemon-reload and start condition + properly (bnc#719221). + +------------------------------------------------------------------- +Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com + +- Add systemd-splash / bootsplash-startup.service: enable + bootsplash at startup. + +------------------------------------------------------------------- +Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com + +- Create -32bit package (bnc#713319) + +------------------------------------------------------------------- +Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com + +- Do not mask localnet service, it is not yet handled by systemd. + (bnc#716746) + +------------------------------------------------------------------- +Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com + +- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: + remove insserv.conf parsing from systemd and use generator + instead. +- put back default.target creation at package install and remove + inittab generator, Yast2 is now able to create it. + +------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + +------------------------------------------------------------------- +Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com + +- Update compose_table patch to use two separate loadkeys call, + compose table overflows otherwise (spotted by Werner Fink). + +------------------------------------------------------------------- +Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com + +- Add tty1.patch: ensure passphrase are handled before starting + gettty on tty1. +- Add inittab generator, creating default.target at startup based + on /etc/inittab value. +- No longer try to create /etc/systemd/system/default.target at + initial package install (bnc#707418) +- Fix configuration path used for systemd user manager. +- Ensure pam-config output is no display in install script. +- Remove buildrequires on vala, no longer needed. + +------------------------------------------------------------------- +Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com + +- Handle disable_capslock, compose table and kbd_rate +- Add rpm macros.systemd file. +- Do not disable klogd, it has its own service now. +- Handle kexec correctly (bnc#671673). +- Disable preload services, they are conflicting with systemd. + +------------------------------------------------------------------- +Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com + +- enable pam_systemd module, using pam-config. + +------------------------------------------------------------------- +Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de + +- Fix crash with systemctl enable. + +------------------------------------------------------------------- +Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com + +- Fix localfs.service to no cause cycle and starts it after + local-fs.target. + +------------------------------------------------------------------- +Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com + +- Remove root-fsck.patch, mkinitrd will use the same path as + dracut. +- Add systemd-cryptsetup.patch: don't complain on "none" option in + crypttab. +- Add systemd-cryptsetup-query.patch: block boot until passphrase + is typed. + +------------------------------------------------------------------- +Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com + +- Add root-fsck.patch: do not run fsck on / if it is rw +- Ship a non null localfs.service, fixes static mount points not + being mounted properly. + +------------------------------------------------------------------- +Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de + +- Update to version 33: + * optimizations and bugfixes. + * New PrivateNetwork= service setting which allows you to shut off + networking for a specific service (i.e. all routable network + interfaces will disappear for that service). + * Merged insserv-parsing.patch and bash-completion-restart.patch + patches. + +------------------------------------------------------------------- +Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com + +- Add insserv-parsing.patch: read/parse insserv.conf. +- Add bash-completion-restart.patch: fix restart service list + (bnc#704782). + +------------------------------------------------------------------- +Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de + +- Split up devel package. +- restart logind after upgrade. +- Adjust rpmlintrc for changes. + +------------------------------------------------------------------- +Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de + +- Update to version 32: + * bugfixes + * improve selinux setup + +------------------------------------------------------------------- +Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de + +- Update to version 31: + * rewrite of enable/disable code: New features systemctl --runtime, + systemctl mask, systemctl link and presets. + * sd-daemon is now shared library. + +------------------------------------------------------------------- +Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de + +- Update to version 30: + + Logic from pam_systemd has been moved to new systemd-login. + + VT gettys are autospawn only when needed + + Handle boot.local/halt.local on SUSE distribution + + add support for systemctl --root + +------------------------------------------------------------------- +Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com + +- Make sure to not start kbd initscript, it is handled by systemd + natively. + +------------------------------------------------------------------- +Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com + +- version 29: + + enable chkconfig support in systemctl for openSUSE. + + systemctl: plug a leak upon create_symlink mismatch + + mount /run without MS_NOEXEC + + dbus: fix name of capability property + + systemctl: fix double unref of a dbus message + + cryptsetup-generator: fix /etc/cryptsetup options + + selinux: selinuxfs can be mounted on /sys/fs/selinux + + readahead-common: fix total memory size detection + + systemctl: fix 'is-enabled' for native units under /lib + + systemctl: fix a FILE* leak + + pam-module: add debug= parameter + + remote-fs.target: do not order after network.target +- update tarball url. + +------------------------------------------------------------------- +Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de + +- Use RPM macros instead of $RPM_FOO variables +- Don't require %{version}-%{release} of the base package, + %{version} is sufficient + +------------------------------------------------------------------- +Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - mount /run without MS_NOEXEC + - readahead-common: fix total memory size detection + - enable chkconfig support in systemctl for openSUSE + - selinux: selinuxfs can be mounted on /sys/fs/selinux + - cryptsetup-generator: fix /etc/cryptsetup options + - systemctl: fix double unref of a dbus message +- drop merged chkconfig patch + +------------------------------------------------------------------- +Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com + +- Add sysv chkconfig patch to be able to enable / disable sysv + initscripts with systemctl. +- Ensure plymouth support is buildable conditionnally. + +------------------------------------------------------------------- +Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com + +- version 28 + - drop hwclock-save.service + - fix segfault when a DBus message has no interface + - man: update the list of unit search locations + - readahead-collect: ignore EACCES for fanotify + - rtc in localtime: use settimeofday(NULL, tz) + instead of hwclock(8) + +------------------------------------------------------------------- +Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - fix crash in D-Bus code + +------------------------------------------------------------------- +Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values + - util: use new VT ESC sequence to clear scrollback buffer + - sd-daemon: move _sd_hidden_ from .h to .c file + - missing: add IP_TRANSPARENT + +------------------------------------------------------------------- +Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com + +- version 27 + - util: use open_terminal() in chvt() too + - socket: expose SO_BROADCAST + - git: add .mailmap + - exec: expose tty reset options in dbus introspection data + - socket: expose IP_TRANSPARENT + - exec: hangup/reset/deallocate VTs in gettys + - socket: use 666 socket mode by default since neither fifos, + nor sockets, nor mqueues need to be executable + - socket: add POSIX mqueue support + - README: document relation to nss-myhostname + - hostnamed: check that nss-myhostname is installed + +------------------------------------------------------------------- +Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - sysctl: apply /etc/sysctl.conf last + - systemd-analyze: print hostname, kernelversion and arch at + the top of the plot + - pam: downgrade a few log msgs + - hostnamed: SetPrettyHostname() should check PK action + org.freedesktop.hostname1.set-static-hostname + - user-sessions: ignore EROFS when unlinking /etc/nologin if + the file doesn't exist anyway + - unit: make ignoring in snapshots a per unit property, + instead of a per unit type property + - vconsole: use open_terminal() instead of open() + - units: enable automount units only if the kernel supports them + +------------------------------------------------------------------- +Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org + +- remove policy filter + +------------------------------------------------------------------- +Thu May 5 08:59:46 CEST 2011 - meissner@suse.de + +- add missing buildrequires dbus-1-devel, vala, libxslt-devel +- touch vala files for rebuilding to unbreak Factory + +------------------------------------------------------------------- +Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com + +- also delete plymouth files + +------------------------------------------------------------------- +Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com + +- disable plymouth sub-package until plymouth gets into Factory + +------------------------------------------------------------------- +Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - binfmt, modules-load, sysctl, tmpfiles: add missing + ConditionDirectoryNotEmpty= + - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib + and where appropriate /lib directories + +------------------------------------------------------------------- +Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com + +- version 26 + - plymouth: introduce plymouth.enable=0 kernel command line + - util: don't AND cx with cx + - man: typo in sd_daemon reference + - util: conf_files_list() return list as parameter + - dbus: make daemon reexecution synchronous + +------------------------------------------------------------------- +Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - service: properly notice when services with a main process + that isn't a child of init die + - unit: fix assert when trying to load unit instances for + uninstanciable types + - def: lower default timeout to 90s + - manager: fix serialization counter + +------------------------------------------------------------------- +Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't hit assert when dumping properties + - cryptsetup: fix keyfile size option processing + - socket: improve warning message when we get POLLHUP + - mount: failure to mount cgroup hierarchies should not be fatal + - configure: add AC_SYS_LARGEFILE + +------------------------------------------------------------------- +Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run + - sysctl.d, binfmt.d, modules-load.d: switch to stacked config + dirs in /lib, /etc, /run + - manager: mkdir /run/systemd/system when starting up + - man: Spelling fixes + +------------------------------------------------------------------- +Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com + +- version 25 + - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs + and /proc/fs/nfsd. + - socket: support ListeSpecial= sockets + - vconsole: don't set console font/keymap if settings are empty + - nspawn: don't fail when we receive SIGCHLD + - cgroup: don't accidentaly trim on reload + - units: set capability bounding set for syslog services + - socket: log more information about invalid poll events + - man: fix specification of default timeouts + - mount,crypto: rework meaning of noauto/nofail + - fsck: don't fsck against basic.target in order to properly + allow automount /home + - manager: when running in test mode, do not write generated + unit files to /run/systemd/generator + - mount: properly parse timeouts options in the middle of + the string + - hostnamed: drop all caps but CAP_SYS_ADMIN + - execute: when we run as PID 1 the kernel doesn't give us + CAP_SETPCAP by default. Get that temporarily when dropping + capabilities for good + - mount: make device timeout configurable + - cryptsetup: do not order crypto DM devices against the + cryptsetup service + - socket: reuse existing FIFOs + - socket: guarantee order in which sockets are passed to be + the one of the configuration file + - systemctl: always consider unit files with no + [Install] section but stored in /lib enabled + - job: also print status messages when we successfully started + a unit + - hostnamed: add reference to SMBIOS specs + - man: runlevel 5 is usually more comprehensive, so use it + instead of 3 to detect whether a sysv service is enabled + - polkit: follow the usual syntax for polkit actions + - hostnamed: introduce systemd-hostnamed + - units: order quotacheck after remount-rootfs + - hostname: split out hostname validation into util.c + - dbus: split out object management code into dbus-common, + and simplify it + - strv: properly override settings in env_append() + - strv: detect non-assignments in env blocks properly in + env_append() + - strv: handle empty lists in strv_copy() properly + - util: truncate newline inside of read_one_line_file() + - util: modernize get_parent_of_pid() a bit + - crypto: let the cryptsetup binary handles its own + configurable timeouts + - logger,initctl: use global exit timeout + - ask-password: use default timeout + - manager: drop all pending jobs when isolating + - manager: introduce IgnoreOnIsolate flag so that we can keep + systemd-logger around when isolating + - units: never pull in sysinit from utmp, so that we can + shutdown from emergency mode without pulling in sysinit + - manager: downgrade a few log messages + - units: require syslog.socket from the logger because we + simply fail if we don't have it + - logger: adjust socket description to match service + - units: set stdout of kmsg syslogd to /dev/null + - units: add --no-block when starting normal service after + shell exited + - ask-password: use kill(PID, 0) before querying a password + - ask-password: support passwords without timeouts + - ask-password: always send final NUL char + - ask-password: properly accept empty passwords from agent + - unit: skip default cgroup setup if we have no hierarchy + - units: isolate emergency.target instead of emergency.service + when we fail to mount all file systems + - mount: don't pull in stdio logger for root mount unit + - cgroup: be nice to Ingo Molnar + - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL + - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL + - socket: try creating a socket under our own identity if we + have no perms to consult the selinux database + - socket: fix check for SEQPACKET + - execute: don't fail if we cannot fix OOM in a container + - unit: fix dump output + - socket: be a bit more verbose when refusing to start a + socket unit + - socket: support netlink sockets + - local-fs: invoke emergency.service mounting at boot fails + - path: optionally, create watched directories in .path units + - tmpfiles: don't warn if two identical lines are configured + - man: add man page for ask-password + - dbus: expose monotonic timestamps on the bus + - manager: no need to use randomized generator dir when running + as system manager + - don't make up buffer sizes, use standard LINE_MAX instead + - unit: disallow configuration of more than one on_failure + dependencies if OnFailureIsolate= is on + - unit: pull in logger unit only when running in system mode + - manager: serialize/deserialize max job id and /usr taint flag + - manager: don't garbage collect jobs when isolating, to change + global state + - unit: introduce OnFailureIsolate= + - mount: relabel both before and after a mount, just in case + - cmdline: we actually want to parse the kernel cmdline in VMs, + just not in containers + - units: rename rtc-set.target to time-sync.target and pull it + in by hwclock-load.service + - job: fix deserialization of jobs: do not ignore ordering + - systemctl: properly parse JobNew signals + - service: fix units with more than one socket + - systemctl: make most operations NOPs in a chroot + - manager: don't show PID for incoming signals if it is 0 + - man: fix description of systemctl reload-or-try-restart + - mount: block creation of mount units for API file systems + - units: call the logger a bridge too + - build-sys: always place user units in /usr/lib/systemd + - pkgconfig: update .pc file accordingly + - lookup: always also look into /usr/lib for units + - exec: support unlimited resources + - selinux: relabel /run the same way as /dev after loading + the policy since they both come pre-filled and unlabelled + - manager: fd must be int, not char + - change remaining /var/run to /run + - units: move user units from /usr/share to /usr/lib since + they might be arch-dependent + - man: document /etc/sysctl.d/ + - binfmt: add binfmt tool to set up binfmt_misc at boot + - tmpfiles: create leading directories for d/D instructions + - condition: add ConditionSecurity + - load-fragment: unify config_parse_condition_{kernel, virt} + - condition: fix dumping of conditions + - initctl: /dev/initctl is a named pipe, not a socket + - kmsg-syslogd: pass facility value into kmsg + - move /var/lock to HAVE_SYSV_COMPAT + - tmpfiles: split off rules for legacy systems into legacy.conf + - general: replace a few uses of /var/run by /run + - tmpfiles: enforce new /var/lock semantics + - man: document ConditionPathIsDirectory= + - mount: also relabel pre-mounted API dirs + - log: don't strip facility when writing to kmsg + - build-sys: create a number of drop-in config dirs + - random: do not print warning if random seed doesn't exist + - plymouth: use PID file to detect whether ply is running + - build-sys: install systemd-analyze by default + - analyze: improve output + - analyze: add plotter + - unit: when deserializing do reconnect to dbus/syslog when + they show up + - analyze: beautify output a bit + - add systemd-analyze tool + - unit: don't override timestamps due to state changes when + deserializing + - plymouth: don't explicitly enable status message when + plymouth is up + - status: show status messages unconditionally if plymouth + is around + - taint: add missing cgroups taint flag + - locale: don't access misinitialized variable + - quota: do not pull in quota tools for mounts that do not + originate in neither /etc/fstab nor fragment files + - manager: fix taint check for /usr + - unit: never apply /etc/rcN.d/ priority to native services + - unit: fix parsing of condition-result + - unit: don't complain about failed units when deserializing + - exec: drop process group kill mode since it has little use + and confuses the user + - cgroup: explain when we cannot initialize the cgroup stuff + - systemctl: don't truncate description when using pager + - ask-password: also accept Backspace as first keypress as + silent mode switch + - unit: when deserializing jobs, don't pull in dependencies + - locale: fix LC_MESSAGES variable name + - plymouth: Remove the calls to plymouth message + - udev: systemd-tag all ttys + - tmpfiles fix /run/lock permissions + - ask-password: use TAB to disable asterisk password echo + - execute: socket isn't abstract anymore + - use /run instead of /dev/.run + - man: explain a couple of default dependencies + - mount: pull in quota services from local mountpoints with + usr/grpquota options + - service: pull in sysv facility targets from the sysv units, + not the other way round + - units: pull in syslog.target from syslog.socket + - units: don't ever pull in SysV targets from other SysV + targets + - units: document that some targets exists only for compat + with SysV + - man: document pidns containers + - units: deemphesize Names= settings, and explain why nobody + whould use them + - units: on mandriva/fedora create single.service alias via + symlink, not Names= + - units: get rid of runlevel Names=, the symlinks in + /lib/systemd/system are much more useful + - rework syslog detection so that we need no compile-time + option what the name of the syslog implementation is + - man: document .requires/ directories + - special: get rid of dbus.target + - exec: properly apply capability bounding set, add inverted + bounding sets + - dbus: add service D-Bus property "Sockets" + - dbus: consolidate service SysV conditionals + - unit: serialize condition test results + - def: centralize definition of default timeout in one place + - chkconfig: check against runlevel 5 instead of 3, since it is + a superset of the latter + - systemctl: accept condstop as alias for stop + - dbus: allow LoadUnit to unprivileged users + - umount: make sure skip_ro is always correctly initialized +- create /run (link it to /var/run) +- refresh splash password patch +- conflict with old mkinitrd version (we need /run) +- conflict with old udev (we need /run) + +------------------------------------------------------------------- +Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com + +- new snapshot + - man: fix systemctl try-restart description + - Add Frugalware display-manager service + - main: revert recognition of "b" argument + - main: interpret all argv[] arguments unconditionally when + run in a container + - loopback: downgrade an error to warning + - nspawn: bind mount /etc/localtime + - nspawn: make tty code more robust against closed/reopened + /dev/console + - util: make touched files non-writable by default + - nspawn: allocate a new pty instead of passing ours through + to avoid terminal settings chaos + - main: parse the whole arv[] as kernel command line + - main: check if we have a valid PID before getting the name + - ask-password: reset signal mask after we are done + - cgroup: don't recheck all the time whether the systemd + hierarchy is mounted, to make strace outputs nicer and save + a few stat()s + - man: document systemd-nspawn + - cgls: don't strip user processes and kernel threads from + default output + - umount: don't try to remount bind mounts ro during shutdown + - getty: move automatic serial getty logic into generator + - container: skip a few things when we are run in a container + such as accessing /proc/cmdline + - cgls: by default start with group of PID 1 + - pam: determine user cgroup tree from cgroup of PID 1 + - nspawn: move container into its own name=systemd cgroup + - manager: don't show kernel boot-up time for containers + - manager: show who killed us + - units: add console-shell.service which can be used insted of + the gettys to get a shell on /dev/console + +------------------------------------------------------------------- +Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com + +- new snapshot + - build-sys: move remaining tools from sbin/ to bin/ since they + might eventually be useful for user execution + - hostname: don't override the hostname with localhost if it + is already set and /etc/hostname unset + - audit: give up sending auditing messages when it failed due + to EPERM + - nspawn: don't require selinux on if it is compiled in + - main: remove AF_UNIX sockets before binding + - shutdown: print a nice message when terminating a container + - nspawn: mount /selinux if needed + - shutdown: just call exit() if we are in a container + - umount: assume that a non-existing /dev/loop device means it + is already detached + - socket: use 777 as default mode for sockets + - main: log to the console in a container + - main: don't parse /proc/cmdline in containers + - util: add detect_container() + - nspawn: reset environment and load login shell + - core: move abstract namespace sockets to /dev/.run + - nspawn: add simple chroot(1) like tool to execute commands + in a namespace container + - util: return exit status in wait_for_terminate_and_warn() + - util: properly identify pty devices by their major + +------------------------------------------------------------------- +Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com + +- new snapshot + - polkit: autogenerate polkit policy with correct paths + - systemctl: support remote and privileged systemctl access + via SSH and pkexec + - gnome-ask-password-agent: fix path to watch + +------------------------------------------------------------------- +Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com + +- fix broken sysctl.service linking + +------------------------------------------------------------------- +Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: move the last flag files to /dev/.run + - util: close all fds before freezing execution + - dbus: timeout connection setup + - main: properly handle -b boot option + - pam: do not leak file descriptor if flock fails +- disable sysv services natively provided by systemd + +------------------------------------------------------------------- +Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com + +- new snapshot + - main: refuse system to be started in a chroot + - main: don't check if /usr really is a mount point, since it is + fine if it is passed pre-mounted to us from the initrd + - condition: take a timestamp and store last result of conditions + - dev: use /dev/.run/systemd as runtime directory, instead of + /dev/.systemd + - machine-id: move machine-id-setup to /sbin + - pkconfig: export full search path as .pc variable + - selinux: bump up error level when in non-enforcing mode + - dbus: fix dbus assert due to uninitialized error + - dbus: properly generate UnknownInterface, UnknownProperty + and PropertyReadOnly errors + - mount: use /dev/.run as an early boot alias for /var/run + +------------------------------------------------------------------- +Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com + +- version 20 + - service: prefix description with LSB only if script has LSB header, + use 'SysV:' otherwise + - unit: don't accidently create ordering links to targets when + default deps are off for either target and unit + - mount: support less cumbersome x-systemd-xxx mount options + - unit: distuingish mandatory from triggering conditions + - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object + is unknown + - systemctl: when forwarding is-enabled to chkconfig + hardcode runlevel 3 + - job: introduce new job result code 'skipped' to use when pre + conditions of job did not apply + - job: convert job type as early as we can, to simplify things + - Keep emacs configuration in one configuration file. + - syslog: make sure the kmsg bridge is always pulled in and + never terminated automatically + - mount: make /media a tmpfs + +------------------------------------------------------------------- +Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com + +- new snapshot + - add org.freedesktop.DBus.Properies.Set method + - main: introduce /etc/machine-id + - systemctl: fix exit code when directing is-enabled + to chkconfig + - dbus: add 'Tainted' property to Manager object + - dbus: expose distribution name and features on manager + object as properties + - man: document changed EnvironmentFile= behaviour + - main: add link to wiki page with longer explanation of the + /usr madness + - execute: load environment files at time of execution, not + when we load the service configuration + - path: after installing inotify watches, recheck file again + to fix race + - path: don't use IN_ATTRIB on parent dirs when watching a + file, since those cannot be removed without emptying the dir + first anyway and we need IN_ATTRIB only to detect the link + count dropping to 0 + - kill: always send SIGCONT after SIGTERM + - readahead: disable collector automatically on read-only media + - sysctl: use scandir() instead of nftw() to guarantee + systematic ordering + - support DT_UNKNOWN where necessary for compat with reiserfs + - systemctl: always null-terminate the password +- call systemd-machine-id-setup at installation + +------------------------------------------------------------------- +Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com + +- version 19 + - udev: don't ignore non-encrypted block devices with no + superblock + - udev: expose ttyUSB devices too + - udev: mark hvc devices for exposure in systemd + - cryptsetup: add a terse help + - agent: don't print warnings if a password was removed or + timed out + - systemctl: shutdown agent explicitly so that it can reset + the tty properly + - never clean up a service that still has a process in it + - label: udev might be making changes in /dev while we + iterate through it + - systemctl: properly handle job results + - job: also trigger on-failure dependencies when jobs faile + due to dependencies, timeout + - job: when cancelling jobs, make sure to propagate this + properly to depending jobs + - job: start job timeout on enqueuing not when we start to + process a job + - unit: increase default timeout to 3min + - logger: leave the logger longer around and allow it do + handle more connections + - dbus: pass along information why a job failed when it + failed (dbus api change!) + - general: unify error code we generate on timeout + - units: synchronize gettys to plymouth even if plymouth is + killed by gdm + - job: start job timer when we begin running the job, not + already when we add it to the queue of jobs + - cryptsetup: try to show the mount point for a crypto disk + if we can + - rescue: terminate plymouth entirely when going into + rescue mode + - ask-password: fix handling of timeouts when waiting + for password + - ask-password: supported plymouth cached passwords + - main: print warning if /usr is on a seperate partition + - ensure we start not a single getty before plymouth is + gone because we never know which ttys plymouth still controls + - unit: introduce ConditionVirtualization= + +------------------------------------------------------------------- +Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't rely that timer/path units have an initialized + unit field (bnc#671561) + +------------------------------------------------------------------- +Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com + +- new snapshot + - order network mounts after network.target (bnc#672855) + +------------------------------------------------------------------- +Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com + +- new snapshot + - kmsg-syslogd: increase terminate timeout to 5min to generte + less debug spew + - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) + - unit: don't timeout fsck + - man: fixed typo in SyslogIdentifier= + - tmpfiles: never clean up block devices + - main: refuse --test as root + +------------------------------------------------------------------- +Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: order fsck@.service before basic.target + instead of local-fs.target to relax things a little + - readahead: remove misleading error messages + - man: don't do more reloads than necessary in spec files + - util: retry opening a TTY on EIO + - util: beef up logic to find ctty name + - tmpfiles: kill double slashes in unix socket names +- drop vhangup patch, it is fixed in login(3) by forwarding the + SIGHUP to the child process + +------------------------------------------------------------------- +Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com + +- revert back to conflicts: sysvinit + +------------------------------------------------------------------- +Thu Feb 17 15:04:44 CET 2011 - werner@suse.de + +- Add temporary workaround for bnc#652633, that is do a vhangup + to all processes on a tty line used for a getty + +------------------------------------------------------------------- +Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com + +- version 18 + - systemctl: introduce --ignore-dependencies + - systemctl: introduce --failed to show only failed services + - systemctl: introduce --failed to show only failed services + - rescue: make 'systemctl default' fail if there is already + something running when the shell exited + - util: seperate welcome line from other output by empty lines + - manager: don't consider transaction jobs conflicting with + queued jobs redundant + - udev: ignore block devices which no known contents, to avoid + trying of mounts/swapons when devices aren't set up full yet + - swap: handle "nofail" from fstab + - mount,swap: properly add dependencies to logger if needed + - service: change default std output to inherit + - exec: introduce global defaults for the standard output + of services + - udev: use SYSTEMD_READY to mask uninitialized DM devices + - fsck: output to /dev/console by default in addition to syslog + - execute: optionally forward program output to /dev/console in + addition to syslog/kmsg + - socket: refuse socket activation for SysV services + - fsck: do not fail boot if fsck returns with an error code that + hasn't 2 or 6 set + - shutdown: execute all binaries in /lib/systemd/system-shutdown + as last step before invoking reboot() + - job: make status message printing more verbose + - cryptsetup: fix unit file description + - tmpfiles: never delete AF_UNIX sockets that are alive + - getty: don't parse console= anymore, use + /sys/class/tty/console/active instead + - properly resolve /dev/console if more than once console= + argument was passed on the kernel command line + - getty: do not auto-spawn getty's on VC ttys if console=ttyN + - fsck: skip root fsck if dracut already did it + - util: when determining the right TERM for /dev/console + consult /sys/class/tty/console/active + - pam: introduce whitelist and blacklist user list feature + - systemctl: minor optimizations + - systemctl: don't unnecessarily close stdin/stdout/stderr for + tty agent so that locking by tty works + - readahead: disable readahead in virtual machines + - tmpfiles: move binary to /bin to make it publicly available + - tmpfiles: take names of tmpfiles configuration files on the + command line + - tmpfiles: log to stderr if possible + - tmpfiles: support globs + - units: introduce and hook up sound.target + - dbus: allow all clients access to org.freedesktop.DBus.Peer + - consider udev devices with SYSTEMD_READY=0 as unplugged + - systemctl: don't start agent for --user + - systemctl: make sure the tty agent does not retain a copy + of stdio + +------------------------------------------------------------------- +Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com + +- new snapshot + - plymouth: move plymouth out of TARGET_FEDORA + - build-sys: fix AC_COMPILE_IFELSE tests + - build-sys: ensure selinux configure check follows logic of + other optional features + - build-sys: autodetect and use pkg-config for libselinux + - dbus: use ControlGroup as property name to match config option + - pam: optionally reset cgroup memberships for login sessions + - load-fragment: properly parse Nice= value + - automount: use unit_pending_inactive() where appropriate + +------------------------------------------------------------------- +Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de + +- Removed unecessary workaround for plymouth startup. + +------------------------------------------------------------------- +Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de + +- Split plymouth support into systemd-plymouth package. + +------------------------------------------------------------------- +Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com + +- new snapshot + - clang: fix some issues found with clang-analyzer + - gcc: make gcc shut up + +------------------------------------------------------------------- +Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com + +- version 17 + - vala 0.10 seem to work fine + - cryptsetup: fix ordering loop when dealing with encrypted + swap devices + - main: don't warn if /etc/mtab is a symlink to /proc/mounts + - socket: don't crash if the .service unit for a .socket unit + is not found + - mount: ignore if an fsck is requested for a bind mount, + so that we don't wait for the bind 'device' to show up + - automount: fix segfault when shutting down + - man: give an example for vconsole.conf + - dbus: don't try to connect to the system bus before it is + actually up + - service: make chain of main commands and control commands + independent of each other, so that both can be executed + simultaneously and independently + - service: don't allow reload operations for oneshot services + - vala: convert from dbus-glib to gdbus + - systemctl: highlight failed processes in systemctl status + - systemctl: show process type along process exit codes + - service: when reloading a service fails don't fail the entire + service but just the reload job + +------------------------------------------------------------------- +Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com + +- new snapshot + - shutdown: use correct kexec options + - serial-getty: do not invoke /sbin/securetty; recent + pam_securetty looks for console= in /proc/cmdline + - systemctl: before spawning pager cache number of columns + - pam: optionally keep processes of root user around + - service: if a reload operation fails, don't shut down + the service + - execute: make sending of SIGKILL on shutdown optional + - mount: do not translate uuids to lowercase + - man: document missing KillSignal= and swap options +- require recent util-linux +- drop mtab symlink creation which is done in util-linux + +------------------------------------------------------------------- +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com + +- version 16 + - device: don't warn if we cannot bump the udev socket buffer + - logger: when passing on PID info, fall back to our own if + originating process is already gone + - service: don't hit an assert if information in LSB headers is + incorrectly formatted + - execute,util: fix two small memory leaks + - getty: unset locale before execution + - execute: drop empty assignments from env blocks on execution + but keep them around otherwise to make them visible + - umount: don't try to detach the dm device the root dir is on, + to minimize warning messages + - locale: fix variable names + - fragment: allow prefixing of the EnvironmentFile= + path with - to ignore errors + - util: don't pass invalid fd to fdopendir() on error to avoid + corruption of errno + - tmpfiles: nicer message when two or more conflicting lines + are configured for the same file + - fragment: properly handle quotes in assignments in + EnvironmentFile= files + - sysctl: don't warn if sysctls are gone + - readahead: ignore if files are removed during collection or + before replay + - serial: use TERM=vt100 instead of TERM=vt100-nav + - cryptsetup: call mkswap on dm device, not on source device + - mount-setup: mount /dev/pts with mode=620,gid=5 by default + and make GID overridable via configure switch + - systemctl: implement auto-pager a la git + - shutdown: drop redundant sync() invocation + - util: invoke sync() implicitly on freeze() + - tmpfiles: do no follow symlinks when cleaning up dirs + +------------------------------------------------------------------- +Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de + +- Add support for building plymouth support with openSUSE + +------------------------------------------------------------------- +Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com + +- new snapshot + - pam: do not sort user sessions into their own cgroups in + the 'cpu' hierarchy + - mount-setup: drop noexec flag from default mount options + for /dev/shm + - systemd.pc: change 'session' to 'user' + +------------------------------------------------------------------- +Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com + +- new snapshot + - ifdef suse-only sysv script lookup code + +------------------------------------------------------------------- +Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org + +- add bootsplash handling patch to be able to enter e.g. + crypto passphrases (bnc#659885) + +------------------------------------------------------------------- +Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com + +- new snapshot + - add LSB 'smtp' alias for mail-transport-agent.target + +------------------------------------------------------------------- +Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com + +- new snapshot + - path: fix watching the root directory + - update README + +------------------------------------------------------------------- +Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com + +- new snapshot + - gnome-ask-password-agent: also support libnotify < 0.7 for now + - udev: increase event buffer size +- require fsck -l + +------------------------------------------------------------------- +Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com + +- version 15 + - dbus: use the right data slot allocator + - manager: bump up max number of units to 128K + - build-sys: allow cross-compilation +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com + +- new snapshot + - units: simplify shutdown scripts + - logger: fix error handling + - swap: order file-based swap devices after remount-rootfs +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com + +- new snapshot + - systemctl: don't return LSB status error codes for 'show' + - mount: do not try to mount disabled cgroup controllers + - man: document /etc/modules-load.d/, /etc/os-release, + locale.conf, /etc/vconsole.conf, /etc/hostname + - units: move a couple of units from base.target to + sysinit.target + - man: reorder things to follow the same order everywhere +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com + +- version 13 + - cryptsetup: actually show disk name + - cryptsetup: show udev device name when asking for password + - sysctl: implement native tool and support /etc/sysctl.d + - units: enable console ask-password agent by default + - introduce /etc/os-release distro description + - job: make sure we don't fail umount.target if a mount unit + failed to stop + - cgroup: after killing cgroup processes, ensure the group is + really dead gone. wait for 3s at max + - cgroup: if we couldn't remove a cgroup after killing + evertyhing in it then it's fine + - cryptsetup: automatically order crypt partitions before + cryptsetup.target + - man: trivial BindTo description fix + - manager: make list of default controllers configurable + - build: expose libcryptsetup dependency in build string + - pam: document controllers= switch + - cgroup: by default, duplicate service cgroup in the cpu hierarchy + - pam: duplicate cgroup tree in the cpu hierarchy by default, + optionally more +- enable native crypto handling instead of boot.crypto +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com + +- version 12 + - ask-password: add --console mode to ask /dev/console +- revert too new libnotify code/requirement + +------------------------------------------------------------------- +Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com + +- new snapshot + - cryptsetup: reword questions a little + - units: order hwclock after readahead + - path: don't mention too many inotify msgs + - cryptsetup: include device name in password question + - cryptsetup: lock ourselves into memory as long as we deal + with passwords + - plymouth: use updated socket name + - units: set TERM for gettys again, since they acquire a TTY + - units: allow start-up of plymouth ask-password agent very early + - units: enable ask-paswword .path units early enough to be useful + for early mounts + - units: delay getty until logins are allowed + - pam: always rely on loginuid instead of uid to determine cgroup + and XDG_RUNTIME_DIR name + - cgroup: call root cgroup system instead of systemd-1 + - exec: determine right TERM= setting based on tty name + - pam: rename master user cgroup to 'master' + - drop support for MANAGER_SESSION, introduce MANAGER_USER + - units: use ConditionDirectoryNotEmpty= where applicable + - unit: introduce ConditionDirectoryNotEmpty= + - delete tmp.mount which may conflict with an unrelated fstab + entry +- revert too new libnotify code/requirement +- disable native crypto handling + +------------------------------------------------------------------- +Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com + +- new snapshot + - load-dropin: add support for .requires directories + - manager: consider jobs already installed as redundant when + reducing new transactions + - manager: always pull 'following' units into transaction + - util: always highlight distro name + - units: make use of agetty mandatory + - manager: don't fail transaction if adding CONFLICTED_BY job fails + - job: make it possible to wait for devices to be unplugged + - tmpfiles: ignore files marked with the sticky bit + - cryptsetup: handle password=none properly + - cryptsetup: properly parse cipher= switch + - cryptsetup: support non-LUKS crypto partitions + - ask-password: enable password agent + - automatically start cryptsetup when looking for mount source + - log: add automatic log target + - cryptsetup: hook up tool with ask-password + - manager: hookup generators + - split mount_point_is_api() and mount_point_ignore() +- replace boot.crypto job with systemd native crypto handling +- enable readahead (requires 2.6.37+ kernel's fanotify to work) + +------------------------------------------------------------------- +Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com + +- new snapshot + - tmpfiles: include reference to man page in tmpfiles files + - vconsole: support additional keymap for toggling layouts + - main: warn if /etc/mtab is not a symlink + - add bash completion for systemctl --system + - man: minor tmpfiles(5) updates and reindenting + - main: rename process on startup to 'systemd' to avoid confusion + - unit: add ConditionNull= condition + - ac-power: make ac-power a proper binary that scripts can call + - manager: parse RD_TIMESTAMP passed from initrd + - modules-load: fix minor race + - label: use internal utility functions wher epossible + - cryptsetup: minimal cryptsetup unit generator + - selinux: relabel /dev after loading policy + - log: downgrade syslog connection failure message + - service: delay automatic restart if job is pending + - manager: when isolating undo all pending jobs, too + - manager: only minimize impact if we are in fail mode +- replace /etc/mtab with link to /proc/self/mounts + +------------------------------------------------------------------- +Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com + +- new snapshot + - man/tmpfiles.d.xml: add a manpage for tmpfiles + - do not overwrite other udev tags + - readahead: shortcut replay if /.readahead doesn't exist + +------------------------------------------------------------------- +Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fsck: return SUCCESS when we skip the check + - fsck: skip checking / if it is writable + - units: fix variable expansion + - mount: don't pull in nofail mounts by default, but use them + if they are around + - job: recursively fail BoundBy dependencies + - fsck: fix target name to check for + - units: rename fedora/single.service to rescue.service + - units: introduce plymouth-start and plymouth-kexec + - unit: get rid of IgnoreDependencyFailure= + - use util-linux:agetty instead of mingetty + - unit: replace StopRetroactively= by BindTo= dependencies + - automount: show who's triggering an automount + - units: run sysctl only if /etc/sysctl.conf exists + - systemctl: always show what and where for mount units + - shutdown: reword a few messages a little + - manager: show which jobs are actually installed after a transaction + - timer: when deserializing timer state stay elapsed + - device: set recursive_stop=true by default + - unit: suppress incorrect deserialization errors + - swap: there's no reason not order swap after sysinit + - socket: fix IPv6 availability detection + +------------------------------------------------------------------- +Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - create /dev/stderr and friends early on boot + - run sysv related scripts with TERM=linux + - add only swaps listed in /etc/fstab automatically to swap.target + - errors: refer to systemctl status when useful + - swap: add default cgroup to swap exec env + - readahead: bump a device's request_nr when enabling readahead + - shutdown: properly handle sigtimedwait() timing out + - main: fix typo in kernel cmdline parameters help + - ord-tty: properly handle SIGINT/SIGTERM + - systemctl: automatically spawn temporary password agent + - ask-password: properly handle multiple pending passwords + - ask-password: enable plymouth agent by default + - ask-password: add minimal plymouth password agent + +------------------------------------------------------------------- +Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - make sure to pass TERM=linux to all sysv scripts + - don't unset HOME/TERM when run in session mode + - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run + - tmpfiles: Don't clean /var/lock/subsys + - tmpfiles: Make wtmp match utmp perms, and add btmp + - umount: Make sure / is remounted ro on shutdown + - unset HOME and TERM set from the kernel + - activate wall agent automatically + - ask-password: add basic tty agent + +------------------------------------------------------------------- +Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - rename ask-password-agent to gnome-ask-password-agent + - fsck: suppress error message if we cannot change into single + user mode since + - dbus: epose FsckPassNo property for service objects + - man: document systemctl --force + - introduce 'systemctl kill' + +------------------------------------------------------------------- +Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - syslog: enable kmsg bridge by default + - fsck: add initial version of fsck and quotacheck wrappers + - tmpfiles: remove forcefsck/fastboot flag files after boot + - swap: listen for POLLPRI events on /proc/swaps if availabled + - tmpfiles: integrate native tmpwatch + - shutdown: loop only as long as we manage to unmount/detach devices + - umount: disable dm devices by devnode, not by path name + - introduce final.target + - replace distro-specific shutdown scripts with native services + - try to get rid of DM devices + - log to console by default + - introduce kexec.service, kexec.target and exit.target + - hook in fsck@.service instance for all mount points with passno > 0 + - systemctl: warn if user enables unit with no installation instructions + - dbus: add introspection to midlevel paths + - look for dynamic throw-away units in /dev/.systemd/system + - major rework, use /sbin/swapon for setting up swaps + - introduce Restart=on-failure and Restart=on-abort + - units: enable utmp for serial gettys too + - rename 'banned' load state to 'masked' + - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service +- use systemd-native fsck/mount +- use systemd-native tmpfiles.d/ instead of tmpwatch + +------------------------------------------------------------------- +Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com + +new snapshot + - fix 'systemctl enable getty@.service' + - properly support 'banning' of services + - handle nologin + - add native reboot/shutdown implementation + +------------------------------------------------------------------- +Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com + +- version 11 + +------------------------------------------------------------------- +Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - readahead fixes + +------------------------------------------------------------------- +Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de + +- /etc/modules.d was renamed to modules-load.d +- only include tmpfiles.d/*conf files + +------------------------------------------------------------------- +Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com + +- don't create sysv order deps on merged units +- fix Provides: handling in LSB headers (network.target) +- native (optional) readahead + +------------------------------------------------------------------- +Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de + +- Do not package man pages twice. + +------------------------------------------------------------------- +Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - basic services are enabled by default now + +------------------------------------------------------------------- +Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - vconsole and locale setup + - hook up tmpwatch + +------------------------------------------------------------------- +Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - add new utility to initialize the virtual console + - initialize locale from /etc/locale by default + - ask-password: allow services query SSL/harddisk passphrases + +------------------------------------------------------------------- +Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com + +- version 10 + - logger: support SOCK_STREAM /dev/log sockets + - make sure the file system is writable before we write utmp data + - systemctl: use isolate when called as telinit for a runlevel + - initctl: properly use isolate when activating runlevels + - set HOME=/root when running shells + - make sure we don't crash if there's an automount unit without + mount unit + - start logger only after syslog is up + +------------------------------------------------------------------- +Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com + +- version 9 + - units: don't add shutdown conflicts dep to umount.target + - dbus: don't send cgroup agent messages directly to system bus + - dbus: don't accept activation requests anymore if we are going + down anyway + - systemctl: fix return value of systemctl start and friends + - service: wait for process exit only if we actually killed + somebody + +------------------------------------------------------------------- +Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com + +- version 8 + - KERNEL 2.6.36+ REQUIRED! + - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup + - invoke sulogin instead of /bin/sh + - systemctl: show timestamps for state changes + - add global configuration options for handling of auto mounts + +------------------------------------------------------------------- +Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com + +- apply /etc/fstab mount options to all api mounts +- properly handle LABEL="" in fstab +- do not consider LSB exit codes 5 and 6 as failure + +------------------------------------------------------------------- +Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com + +- prefix sysv job descriptions with LSB: +- add native sysctl + hwclock + random seed service files +- properly fallback to rescue.target if default.target is hosed +- rename ValidNoProcess= to RemainAfterExit= +- add systemd-modules-load tool to handle /etc/modules.d/ + +------------------------------------------------------------------- +Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com + +- add support for delayed shutdown, similar to sysv in style +- rename Type=finish to Type=oneshot and allow multiple ExecStart= +- don't show ENOENT for non exitent configuration files +- log build time features on startup +- rearrange structs to make them smaller +- move runlevel[2-5] links to /lib +- create default.target link to /lib not /etc +- handle random-seed +- write utmp record before we kill all processes +- create /var/lock/subsys, /var/run/utmp + +------------------------------------------------------------------- +Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com + +- add audit messages for service changes +- update utmp with external program +- all to refuse manual service starting/stopping + +------------------------------------------------------------------- +Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com + +- version 7 + - hide output if quiet is passed on the kernel cmdline + - fix auto restarting of units after a configuration reload + - don't call bus_path_escape() with NULL unit name + +------------------------------------------------------------------- +Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com + +- version 6 + - man page update + +------------------------------------------------------------------- +Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - downgrade a few log messages + - properly handle devices which are referenced before they exist + +------------------------------------------------------------------- +Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fix dependency cycle of boot.* by splitting fsck.target + - sort boot.* before other sysv services + from sysinint.target + - start getty for serial console + +------------------------------------------------------------------- +Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com + +- add licence to subpackages + +------------------------------------------------------------------- +Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com + +- version 5 + - selinux fixes +- fix hanging 'reboot' started from vc + +------------------------------------------------------------------- +Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com + +- enable getty.target by default + +------------------------------------------------------------------- +Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com + +- at install, read old inittab for the defaul target/runlevel +- disable services on package uninstall + +------------------------------------------------------------------- +Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com + +- version 4 + - merge systemd-install into systemctl + +------------------------------------------------------------------- +Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com + +- create config files in /etc in %post +- mark files in /etc as config +- remove nodev from /dev/pts +- add selinux support + +------------------------------------------------------------------- +Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com + +- version 4 (pre) + - require newer vala + - add [Install] section to getty.target and remote-fs.target +- re-enable post-build check + +------------------------------------------------------------------- +Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com + +- do not add sysv services that are not enabled in /etc/rcN.d/ +- allow symlinking unit files to /dev/null +- remove only pam sessions we ourselves created +- unit files in /etc/ always take precedence, even over link targets + +------------------------------------------------------------------- +Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com + +- fix access mode verification of FIFOs + +------------------------------------------------------------------- +Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com + +- fix default mode of /var/run and /var/lock +- force /var/run and /var/lock to be on tmpfs + +------------------------------------------------------------------- +Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com + +- always enable udev and dbus until we can require systemd from + packages providing systemd service files + +------------------------------------------------------------------- +Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com + +- drop systemd-units.rpm + +------------------------------------------------------------------- +Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com + +- version 3 + - treat non-existing cgroups like empty ones, to deal with races + - replace --running-as= by --session and --system + - always allow stopping of units that failed to load + +------------------------------------------------------------------- +Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com + +- update + +------------------------------------------------------------------- +Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com + +- drop libcgroup + +------------------------------------------------------------------- +Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com + +- trim cgroups for services that are "active" but "exited" +- drop /bin/init hack and require now fixed mkinitrd + +------------------------------------------------------------------- +Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com + +- fix reboot issue +- fix abstract namespace name handling (needs udev update) +- prefer private D-Bus socket wherever possible + +------------------------------------------------------------------- +Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com + +- D-Bus 1.3.2 support +- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling + +------------------------------------------------------------------- +Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com + +- fix typo in spec file + +------------------------------------------------------------------- +Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com + +- provide /bin/init to be found by 'too simple' mkinitrd, and work + around mindless relinking of relative links in the buildsystem +- add rpmlintrc to silent warnings about intentional behavior + +------------------------------------------------------------------- +Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com + +- version 2 + +------------------------------------------------------------------- +Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com + +- fix 'reboot -w' to skip the actual reboot +- fix segfault in D-Bus code +- use unique instead of multiple keys in config file +- support continuation lines in config files +- support multiple commands in a single key in config files +- adapt log level of some messages + +------------------------------------------------------------------- +Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com + +- version 1 + - default log level to INFO + - show welcome message + +------------------------------------------------------------------- +Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com + +- add systemd-install --start option +- add more documentation + +------------------------------------------------------------------- +Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot with extended D-Bus support + +------------------------------------------------------------------- +Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com + +- new snapshot with default unit dependency handling + +------------------------------------------------------------------- +Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com + +- split off systemd-units.rpm which can be pulled-in by other + packages without further dependencies + +------------------------------------------------------------------- +Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com + +- more man pages and documentation + +------------------------------------------------------------------- +Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com + +- conflict with upstart +- include all installed doc files + +------------------------------------------------------------------- +Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com + +- provide pam module + +------------------------------------------------------------------- +Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com + +- use private D-Bus connection +- properly handle replacing a running upstart + +------------------------------------------------------------------- +Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com + +- implement wall message in halt/reboot/... +- speak /dev/initctl to old /sbin/init after installing + +------------------------------------------------------------------- +Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com + +- drop no longer needed -fno-strict-aliasing +- add README and examples + +------------------------------------------------------------------- +Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com + +- enable pam and libwrap + +------------------------------------------------------------------- +Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com + +- provide systemd-sysvinit.rpm with /sbin/init and friends + +------------------------------------------------------------------- +Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com + +- libwrap / pam support + +------------------------------------------------------------------- +Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com + +- initial packaging of experimental version 0 + diff --git a/systemd-mini.spec b/systemd-mini.spec new file mode 100644 index 0000000..024ccfe --- /dev/null +++ b/systemd-mini.spec @@ -0,0 +1,1076 @@ +# +# spec file for package systemd-mini +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### +%define bootstrap 1 +%define real systemd +##### WARNING: please do not edit this auto generated spec file. Use the systemd.spec! ##### +%define udevpkgname udev-mini +%define udev_major 1 + +Name: systemd-mini +Url: http://www.freedesktop.org/wiki/Software/systemd +Version: 204 +Release: 0 +Summary: A System and Session Manager +License: LGPL-2.1+ +Group: System/Base +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +Provides: %{real} = %{version}-%{release} + +BuildRequires: audit-devel +BuildRequires: dbus-1 +%if ! 0%{?bootstrap} +BuildRequires: docbook-xsl-stylesheets +%endif +BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif +BuildRequires: gperf +%if ! 0%{?bootstrap} +BuildRequires: gtk-doc +%endif +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libattr-devel +BuildRequires: libcap-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: libusb-devel +%if ! 0%{?bootstrap} +BuildRequires: libxslt-tools +%endif +BuildRequires: pam-devel +BuildRequires: tcpd-devel +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.20 +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 +%endif +BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(liblzma) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif +BuildRequires: pkgconfig(libpci) >= 3 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +%endif +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +BuildRequires: pkgconfig(usbutils) >= 0.82 +%if 0%{?bootstrap} +Requires: this-is-only-for-build-envs +Conflicts: systemd +Conflicts: kiwi +%else +# the buildignore is important for bootstrapping +#!BuildIgnore: udev +Requires: %{udevpkgname} >= 172 +Requires: dbus-1 >= 1.4.0 +Requires: kbd +Requires: pam-config >= 0.79-5 +Requires: pwdutils +Requires: systemd-presets-branding +Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils +%endif +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Obsoletes: systemd-analyze < 201 +Provides: systemd-analyze = %{version} +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz +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 +Source9: nss-myhostname-config +Source10: macros.systemd.upstream + +Source1060: boot.udev +Source1061: write_dev_root_rule +Source1062: systemd-udev-root-symlink + +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +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 +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 +Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch +Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch + +# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done +Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch +# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch +# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices +Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +Patch39: systemd-tmp-safe-defaults.patch +# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file +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 + +# 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 +# an exception will be silently removed with the next version update. +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch23: disable-nss-myhostname-warning-bnc-783841.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch24: handle-etc-HOSTNAME.patch +# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +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 + +# udev patches +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +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 + +%description +Systemd is a system and service manager, compatible with SysV and LSB +init scripts for Linux. systemd provides aggressive parallelization +capabilities, uses socket and D-Bus activation for starting services, +offers on-demand starting of daemons, keeps track of processes using +Linux cgroups, supports snapshotting and restoring of the system state, +maintains mount and automount points and implements an elaborate +transactional dependency-based service control logic. It can work as a +drop-in replacement for sysvinit. + + + +%package devel +Summary: Development headers for systemd +License: LGPL-2.1+ +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Requires: systemd-rpm-macros +%if 0%{?bootstrap} +Conflicts: systemd-devel +%endif + +%description devel +Development headers and auxiliary files for developing applications for systemd. + +%package sysvinit +Summary: System V init tools +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version} +Provides: sbin_init +Conflicts: otherproviders(sbin_init) +Provides: sysvinit:/sbin/init + +%description sysvinit +Drop-in replacement of System V init tools. + +%package -n %{udevpkgname} +Summary: A rule-based device node and kernel event manager +License: GPL-2.0 +Group: System/Kernel +Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +Requires(post): lib%{udevpkgname}%{udev_major} +Conflicts: systemd < 39 +Conflicts: aaa_base < 11.5 +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Conflicts: util-linux < 2.16 +Conflicts: ConsoleKit < 0.4.1 +Requires: filesystem +%if 0%{?bootstrap} +Provides: udev = %{version} +Conflicts: libudev%{udev_major} +Conflicts: udev +%endif + +%description -n %{udevpkgname} +Udev creates and removes device nodes in /dev for devices discovered or +removed from the system. It receives events via kernel netlink messages +and dispatches them according to rules in /lib/udev/rules.d/. Matching +rules may name a device node, create additional symlinks to the node, +call tools to initialize a device, or load needed kernel modules. + + + +%package -n lib%{udevpkgname}%{udev_major} +Summary: Dynamic library to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{udevpkgname} >= %{version}-%{release} +%if 0%{?bootstrap} +Conflicts: libudev%{udev_major} +Conflicts: kiwi +%endif + +%description -n lib%{udevpkgname}%{udev_major} +This package contains the dynamic library libudev, which provides +access to udev device information + +%package -n lib%{udevpkgname}-devel +Summary: Development files for libudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +%if 0%{?bootstrap} +Provides: libudev-devel = %{version} +Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev-devel +%endif + +%description -n lib%{udevpkgname}-devel +This package contains the development files for the library libudev, a +dynamic library, which provides access to udev device information. + +%if ! 0%{?bootstrap} +%package -n libgudev-1_0-0 +Summary: GObject library, to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} + +%description -n libgudev-1_0-0 +This package contains the GObject library libgudev, which provides +access to udev device information. + +%package -n typelib-1_0-GUdev-1_0 +Summary: GObject library, to access udev device information -- Introspection bindings +License: LGPL-2.1+ +Group: System/Libraries + +%description -n typelib-1_0-GUdev-1_0 +This package provides the GObject Introspection bindings for libgudev, which +provides access to udev device information. + +%package -n libgudev-1_0-devel +Summary: Devel package for libgudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: glib2-devel +Requires: libgudev-1_0-0 = %{version}-%{release} +Requires: libudev-devel = %{version}-%{release} +Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} + +%description -n libgudev-1_0-devel +This is the devel package for the GObject library libgudev, which +provides GObject access to udev device information. + +%package logger +Summary: Journal only logging +License: LGPL-2.1+ +Group: System/Base +Provides: syslog +Provides: sysvinit(syslog) +Conflicts: otherproviders(syslog) + +%description logger +This package marks the installation to not use syslog but only the journal. + +%package -n nss-myhostname +Summary: Plugin for local system host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-myhostname +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured system hostname as returned by +gethostname(2). Various software relies on an always resolvable local +host name. When using dynamic hostnames this is usually achieved by +patching /etc/hosts at the same time as changing the host name. This +however is not ideal since it requires a writable /etc file system and +is fragile because the file might be edited by the administrator at +the same time. nss-myhostname simply returns all locally +configured public IP addresses, or -- if none are configured -- +the IPv4 address 127.0.0.2 (wich is on the local loopback) and the +IPv6 address ::1 (which is the local host) for whatever system +hostname is configured locally. Patching /etc/hosts is thus no +longer necessary. + +Note that nss-myhostname only provides a workaround for broken +software. If nss-myhostname is trigged by an application a message +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. + +%endif + +%prep +%setup -q -n systemd-%{version} +echo "Checking whether upstream rpm macros changed..." +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 + +# only needed for bootstrap +%if 0%{?bootstrap} +cp %{SOURCE7} m4/ +%endif + +# systemd patches +%patch0 -p1 +%patch1 -p1 +%patch3 -p1 +# don't apply when bootstrapping to not modify configure.in +%if ! 0%{?bootstrap} +%patch4 -p1 +%endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch27 -p1 +%patch37 -p1 +%ifarch %arm +%patch38 -p1 +%endif +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -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 +%endif + +%build +autoreconf -fiv + +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' '+'; +export V=1 +# keep split-usr until all packages have moved their systemd rules to /usr +%configure \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ +%if 0%{?bootstrap} + --disable-gudev \ + --disable-myhostname \ +%else + --enable-manpages \ + --enable-gtk-doc \ + --with-nss-my-hostname-warning \ +%endif + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + CFLAGS="%{optflags}" +make %{?_smp_mflags} + +%install +make install DESTDIR="%buildroot" + +# move to %{_lib} +%if ! 0%{?bootstrap} +mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +%endif + +mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +%if ! 0%{?bootstrap} +ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +%endif +ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +%if ! 0%{?bootstrap} +install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config +%endif + +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} +install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} +install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +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} + +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 +ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt +ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown +ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit +ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +rm -rf %{buildroot}/etc/systemd/system/*.target.wants +rm -f %{buildroot}/etc/systemd/system/default.target +# aliases for /etc/init.d/* +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +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 +# don't mount /tmp as tmpfs for now +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount + +# create %{_libexecdir}/modules-load.d +mkdir -p %{buildroot}%{_libexecdir}/modules-load.d +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf +# load sg module at boot time +sg +EOF + +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf + +# do not ship sysctl defaults in systemd package, will be part of +# aaa_base (in procps for now) +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf + +# remove README file for now +rm -f %{buildroot}/etc/init.d/README +%if 0%{?bootstrap} +rm -f %{buildroot}/var/log/README +%endif + +# legacy links +for f in loginctl journalctl ; do + ln -s $f %{buildroot}%{_bindir}/systemd-$f +%if ! 0%{?bootstrap} + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 +%endif +done +ln -s /usr/lib/udev %{buildroot}/lib/udev + +# Create the /var/log/journal directory to change the volatile journal to a persistent one +mkdir -p %{buildroot}/var/log/journal + +# Make sure directories in /var exist +mkdir -p %{buildroot}/var/lib/systemd/coredump +mkdir -p %{buildroot}/var/lib/systemd/catalog +#create ghost databases +touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin + +# Make sure the NTP units dir exists +mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ + +# Make sure the shutdown/sleep drop-in dirs exist +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ + +# Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants +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 +[Service] +# ensure tty1 isn't cleared (bnc#804158) +TTYVTDisallocate=no +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 + +%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 +/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/sbin/ldconfig +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : + +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -n "$runlevel" ] ; then + /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + fi +fi +# Create default config in /etc at first install. +# Later package updates should not overwrite these settings. +if [ "$1" -eq 1 ]; then + # Enable these services by default. + /usr/bin/systemctl enable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : +fi + +%triggerpostun -- systemd < 194 +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + +%postun +/sbin/ldconfig +if [ $1 -ge 1 ]; then + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : +fi +if [ $1 -eq 0 ]; then + /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : +fi + +%preun +if [ $1 -eq 0 ]; then + /usr/bin/systemctl disable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : + rm -f /etc/systemd/system/default.target 2>&1 || : +fi + +%pretrans -n %{udevpkgname} -p +if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then + posix.symlink("/lib/udev", "/usr/lib/udev") +end + +%pre -n %{udevpkgname} +if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev +elif [ ! -e /lib/udev ]; then + ln -s /usr/lib/udev /lib/udev +fi +# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules +/usr/sbin/groupadd -r tape 2> /dev/null || : +# kill daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root ; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : + udevadm control --exit 2>&1 || : + fi +fi + +%post -n %{udevpkgname} +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : +%{fillup_and_insserv -Y boot.udev} +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +# cleanup old stuff +rm -f /etc/sysconfig/udev +rm -f /etc/udev/rules.d/20-cdrom.rules +rm -f /etc/udev/rules.d/55-cdrom.rules +rm -f /etc/udev/rules.d/65-cdrom.rules +systemctl daemon-reload >/dev/null 2>&1 || : +# start daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi + fi +fi + +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi +fi + +%postun -n %{udevpkgname} +%insserv_cleanup +systemctl daemon-reload >/dev/null 2>&1 || : + +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi +fi + +%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%if ! 0%{?bootstrap} + +%post -n libgudev-1_0-0 -p /sbin/ldconfig + +%postun -n libgudev-1_0-0 -p /sbin/ldconfig + +%post logger +if [ "$1" -eq 1 ]; then +# tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : +fi + +%preun -n nss-myhostname +if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then + %{_sbindir}/nss-myhostname-config --disable +fi + +%post -n nss-myhostname -p /sbin/ldconfig + +%postun -n nss-myhostname -p /sbin/ldconfig + +%endif + +%files +%defattr(-,root,root) +/bin/systemd +/bin/systemd-ask-password +/bin/systemctl +%{_bindir}/bootctl +%{_bindir}/kernel-install +%{_bindir}/hostnamectl +%{_bindir}/localectl +%{_bindir}/systemctl +%{_bindir}/systemd-analyze +%{_bindir}/systemd-coredumpctl +%{_bindir}/systemd-delta +%{_bindir}/systemd-notify +%{_bindir}/systemd-journalctl +%{_bindir}/journalctl +%{_bindir}/systemd-ask-password +%{_bindir}/loginctl +%{_bindir}/systemd-loginctl +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-nspawn +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl +%{_sbindir}/systemd-sysv-convert +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* +%{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/user +%dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev.service +%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.target +%{_prefix}/lib/systemd/system/*.mount +%{_prefix}/lib/systemd/system/*.timer +%{_prefix}/lib/systemd/system/*.socket +%{_prefix}/lib/systemd/system/*.wants +%{_prefix}/lib/systemd/system/*.path +%{_prefix}/lib/systemd/user/*.target +%{_prefix}/lib/systemd/user/*.service +%exclude %{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-* +%{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/catalog +%{_prefix}/lib/systemd/catalog/systemd.catalog +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-preset +%dir %{_prefix}/lib/systemd/user-preset +%dir %{_prefix}/lib/systemd/system-generators +%dir %{_prefix}/lib/systemd/user-generators +%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_prefix}/lib/systemd/system-shutdown/ +%dir %{_prefix}/lib/systemd/system-sleep/ +%dir %{_prefix}/lib/systemd/system/default.target.wants +%dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +%if ! 0%{?bootstrap} +%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_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 +/%{_lib}/security/pam_systemd.so + +%dir %{_libexecdir}/modules-load.d +%dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d/sg.conf + +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + +%dir %{_libexecdir}/binfmt.d +%dir %{_sysconfdir}/binfmt.d + +%dir %{_libexecdir}/sysctl.d +%dir %{_sysconfdir}/sysctl.d + +%dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/xdg/systemd +%dir %{_sysconfdir}/xdg/systemd/user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.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 + +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%{_datadir}/systemd + +%if ! 0%{?bootstrap} +# Packaged in sysvinit subpackage +%exclude %{_mandir}/man1/init.1* +%exclude %{_mandir}/man8/halt.8* +%exclude %{_mandir}/man8/reboot.8* +%exclude %{_mandir}/man8/shutdown.8* +%exclude %{_mandir}/man8/poweroff.8* +%exclude %{_mandir}/man8/telinit.8* +%exclude %{_mandir}/man8/runlevel.8* +%exclude %{_mandir}/man*/*udev*.[0-9]* + +%{_mandir}/man1/*.1* +%{_mandir}/man3/*.3* +%{_mandir}/man5/*.5* +%{_mandir}/man7/*.7* +%{_mandir}/man8/*.8* +%endif +%{_docdir}/systemd +%{_prefix}/lib/udev/rules.d/70-uaccess.rules +%{_prefix}/lib/udev/rules.d/71-seat.rules +%{_prefix}/lib/udev/rules.d/73-seat-late.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%endif +%{_prefix}/lib/udev/rules.d/99-systemd.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/numlock-on +%endif +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%ghost /var/lib/systemd/catalog/database +%{_datadir}/bash-completion/completions/* +%if 0%{suse_version} < 1310 +%{_sysconfdir}/rpm/macros.systemd +%endif +%dir /var/lib/systemd +%dir /var/lib/systemd/sysv-convert +%dir /var/lib/systemd/migrated +%dir /var/lib/systemd/catalog +%dir /var/lib/systemd/coredump + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so +%dir %{_includedir}/systemd +%{_includedir}/systemd/sd-login.h +%{_includedir}/systemd/sd-daemon.h +%{_includedir}/systemd/sd-id128.h +%{_includedir}/systemd/sd-journal.h +%{_includedir}/systemd/sd-messages.h +%{_includedir}/systemd/sd-shutdown.h +%{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc + +%files sysvinit +%defattr(-,root,root,-) +/sbin/init +/sbin/reboot +/sbin/halt +/sbin/shutdown +/sbin/poweroff +/sbin/telinit +/sbin/runlevel +%if ! 0%{?bootstrap} +%{_mandir}/man1/init.1* +%{_mandir}/man8/halt.8* +%{_mandir}/man8/reboot.8* +%{_mandir}/man8/shutdown.8* +%{_mandir}/man8/poweroff.8* +%{_mandir}/man8/telinit.8* +%{_mandir}/man8/runlevel.8* +%endif + +%files -n %{udevpkgname} +%defattr(-,root,root) +/sbin/udevd +/sbin/udevadm +# keep for compatibility +%ghost /lib/udev +%{_bindir}/udevadm +%{_prefix}/lib/firmware +%dir %{_prefix}/lib/udev/ +%{_prefix}/lib/udev/accelerometer +%{_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 +%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_prefix}/lib/udev/rules.d/*.rules +%dir %{_prefix}/lib/udev/hwdb.d +%{_prefix}/lib/udev/hwdb.d/* +%{_sysconfdir}/init.d/boot.udev +%dir %{_sysconfdir}/udev/ +%dir %{_sysconfdir}/udev/rules.d/ +%ghost %{_sysconfdir}/udev/hwdb.bin +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! 0%{?bootstrap} +%{_mandir}/man?/*udev*.[0-9]* +%endif +%dir %{_prefix}/lib/systemd/system +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udevd*.socket +%dir %{_prefix}/lib/systemd/system/sysinit.target.wants +%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service +%dir %{_prefix}/lib/systemd/system/sockets.target.wants +%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket + +%files -n lib%{udevpkgname}%{udev_major} +%defattr(-,root,root) +%{_libdir}/libudev.so.* + +%files -n lib%{udevpkgname}-devel +%defattr(-,root,root) +%{_includedir}/libudev.h +%{_libdir}/libudev.so +%{_datadir}/pkgconfig/udev.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/libudev +%{_datadir}/gtk-doc/html/libudev/* +%endif + +%if ! 0%{?bootstrap} +%files -n libgudev-1_0-0 +%defattr(-,root,root) +%{_libdir}/libgudev-1.0.so.* + +%files -n typelib-1_0-GUdev-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/GUdev-1.0.typelib + +%files -n libgudev-1_0-devel +%defattr(-,root,root) +%dir %{_includedir}/gudev-1.0 +%dir %{_includedir}/gudev-1.0/gudev +%{_includedir}/gudev-1.0/gudev/*.h +%{_libdir}/libgudev-1.0.so +%{_libdir}/pkgconfig/gudev-1.0.pc +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/gudev +%{_datadir}/gtk-doc/html/gudev/* +%{_datadir}/gir-1.0/GUdev-1.0.gir + +%files logger +%defattr(-,root,root) +%dir /var/log/journal +/var/log/README +/etc/init.d/systemd-journald + +%files -n nss-myhostname +%defattr(-, root, root) +%{_sbindir}/nss-myhostname-config +/%{_lib}/*nss_myhostname* + +%endif + +%changelog diff --git a/systemd-rpm-macros.changes b/systemd-rpm-macros.changes new file mode 100644 index 0000000..3d222ce --- /dev/null +++ b/systemd-rpm-macros.changes @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Mon Jun 17 10:49:50 UTC 2013 - mhrusecky@suse.com + +- New package with systemd rpm macros to avoid unnecessary build time + dependencies + diff --git a/systemd-rpm-macros.spec b/systemd-rpm-macros.spec new file mode 100644 index 0000000..0268d06 --- /dev/null +++ b/systemd-rpm-macros.spec @@ -0,0 +1,57 @@ +# +# spec file for package systemd-rpm-macros +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +#!BuildIgnore: util-linux + +Name: systemd-rpm-macros +Version: 1 +Release: 0 +Summary: RPM macros for systemd +License: LGPL-2.1+ +Group: System/Base +Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines +Source0: macros.systemd +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch + +%description +Starting with openSUSE 12.1, several RPM macros must be used to package systemd +services files. This package provides these macros. + +%prep + +%build + +%install +mkdir -p %{buildroot}%{_sysconfdir}/rpm +install -m644 %{S:0} %{buildroot}%{_sysconfdir}/rpm +UNITDIR="`cat %{S:0} | sed -n 's|.*_unitdir[[:blank:]]*||p'`" +for i in $UNITDIR `dirname $UNITDIR`; do + mkdir -p %{buildroot}$i + echo $i >> unitdir +done + +%post + +%postun + +%files -f unitdir +%defattr(-,root,root) +%{_sysconfdir}/rpm/macros.systemd + +%changelog diff --git a/systemd-rpmlintrc b/systemd-rpmlintrc new file mode 100644 index 0000000..219445d --- /dev/null +++ b/systemd-rpmlintrc @@ -0,0 +1,18 @@ +addFilter(".*dangling-symlink /sbin/(halt|init|poweroff|telinit|shutdown|runlevel|reboot).*") +addFilter(".*dangling-symlink .* /dev/null.*") +addFilter(".*files-duplicate .*/reboot.8.*") +addFilter(".*files-duplicate .*/sd_is_socket.3.*") +addFilter("non-conffile-in-etc /etc/bash_completion.d/systemd-bash-completion.sh") +addFilter("non-conffile-in-etc /etc/rpm/macros.systemd") +addFilter(".*dbus-policy-allow-receive") +addFilter(".*dangling-symlink /lib/udev/devices/std(in|out|err).*") +addFilter(".*dangling-symlink /lib/udev/devices/core.*") +addFilter(".*dangling-symlink /lib/udev/devices/fd.*") +addFilter(".*incoherent-init-script-name boot.udev.*") +addFilter(".init-script-without-%stop_on_removal-preun /etc/init.d/boot.udev") +addFilter(".init-script-without-%restart_on_update-postun /etc/init.d/boot.udev") +addFilter(".*devel-file-in-non-devel-package.*udev.pc.*") +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.*") diff --git a/systemd-sysv-convert b/systemd-sysv-convert new file mode 100644 index 0000000..8ba3f21 --- /dev/null +++ b/systemd-sysv-convert @@ -0,0 +1,179 @@ +#!/bin/bash + +if [ "$UID" != "0" ]; then + echo Need to be root. + exit 1 +fi + +declare -A results_runlevel +declare -A results_priority + +usage() { +cat << EOF +usage: systemd-sysv-convert [-h] [--save] [--show] [--apply] + SERVICE [SERVICE ...] +EOF +} + +help() { +usage +cat << EOF +Save and Restore SysV Service Runlevel Information + +positional arguments: + SERVICE Service names + +optional arguments: + -h, --help show this help message and exit + --save Save SysV runlevel information for one or more services + --show Show saved SysV runlevel information for one or more services + --apply Apply saved SysV runlevel information for one or more services + to systemd counterparts +EOF +} + +find_service() { +local service +local runlevel +declare -i priority +service=$1 +runlevel=$2 +priority=-1 +for l in $(ls /etc/rc.d/rc$runlevel.d/) ; do + initscript=$(basename $l) + if [ ${initscript:0:1} != "S" -o ${initscript:3} != "$service" ]; then + continue + fi + if [ ${initscript:1:2} -ge 0 -a ${initscript:1:2} -le 99 -a ${initscript:1:2} -ge $priority ]; then + if [ ${initscript:1:1} == 0 ]; then + priority=${initscript:2:1} + else + priority=${initscript:1:2} + fi + fi +done +if [ $priority -ge 0 ]; then + return $priority +else + return 255 +fi +} + +lookup_database() { +local services +local service +local service_file +local runlevel +local priority +local -i k +declare -a parsed +services=$@ +k=0 +results_runlevel=() +results_priority=() +while read line ; do + k+=1 + parsed=($line) + service=${parsed[0]} + runlevel=${parsed[1]} + priority=${parsed[2]} + if [ $runlevel -lt 2 -o $runlevel -gt 5 ]; then + echo "Runlevel out of bounds in database line $k. Ignoring" >/dev/stderr + continue + fi + if [ $priority -lt 0 -o $priority -gt 99 ]; then + echo "Priority out of bounds in database line $k. Ignoring" >/dev/stderr + continue + fi + + declare -i found + found=0 + for s in $services ; do + if [ $s == $service ]; then + found=1 + continue + fi + done + if [ $found -eq 0 ]; then + continue + fi + results_runlevel[$service]+=" $runlevel" + results_priority[$service]+=" $priority" +done < /var/lib/systemd/sysv-convert/database +} + +case "$1" in + -h|--help) + help + exit 0 + ;; + --save) + shift + for service in $@ ; do + if [ ! -r "/etc/init.d/$service" ]; then + echo "SysV service $service does not exist" >/dev/stderr + exit 1 + fi + for runlevel in 2 3 4 5; do + find_service $service $runlevel + priority=$? + if [ $priority -lt 255 ]; then + echo "$service $runlevel $priority" >> /var/lib/systemd/sysv-convert/database + fi + done + done + ;; + --show) + shift + services=$@ + lookup_database $services + fail=0 + for service in $services; do + if [ -z "${results_runlevel[$service]}" ]; then + echo No information found about service $service found. >/dev/stderr + fail=1 + continue + fi + declare -i count + count=0 + priority=(${results_priority[$service]}) + for runlevel in ${results_runlevel[$service]}; do + echo SysV service $service enabled in runlevel $runlevel at priority ${priority[$count]} + count+=1 + done + done + exit $fail + ;; + --apply) + shift + services=$@ + for service in $services; do + if [ ! -f "/lib/systemd/system/$service.service" -a ! -f "/usr/lib/systemd/system/$service.service" ]; then + echo systemd service $service.service does not exist. >/dev/stderr + exit 1 + fi + done + lookup_database $services + for service in $services; do + [ -f "/lib/systemd/system/$service.service" ] && service_file="/lib/systemd/system/$service.service" + [ -f "/usr/lib/systemd/system/$service.service" ] && service_file="/usr/lib/systemd/system/$service.service" + + if [ -z "${results_runlevel[$service]}" ]; then + echo No information found about service $service found. >/dev/stderr + fail=1 + continue + fi + for runlevel in ${results_runlevel[$service]}; do + echo ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service >/dev/stderr + mkdir -p "/etc/systemd/system/runlevel$runlevel.target.wants" + /bin/ln -sf $service_file /etc/systemd/system/runlevel$runlevel.target.wants/$service.service + done + + done + ;; + *) usage + exit 2;; +esac + + + diff --git a/systemd-tmp-safe-defaults.patch b/systemd-tmp-safe-defaults.patch new file mode 100644 index 0000000..4c957df --- /dev/null +++ b/systemd-tmp-safe-defaults.patch @@ -0,0 +1,26 @@ +From: Reinhard Max +Date: Fri, 19 Apr 2013 16:12:28 +0200 +Subject: systemd tmp safe defaults + +Fix regression in the default for tmp auto-deletion (FATE#314974). +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 +@@ -8,8 +8,9 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-d /tmp 1777 root root 10d +-d /var/tmp 1777 root root 30d ++# SUSE policy: we don't clean those directories ++d /tmp 1777 root root - ++d /var/tmp 1777 root root - + + # Exclude namespace mountpoints created with PrivateTmp=yes + x /tmp/systemd-private-* diff --git a/systemd-udev-root-symlink b/systemd-udev-root-symlink new file mode 100644 index 0000000..8cbe87e --- /dev/null +++ b/systemd-udev-root-symlink @@ -0,0 +1,9 @@ +[Unit] +Description=Create dynamic rule for /dev/root link +Before=udev.service +DefaultDependencies=no + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=@@PREFIX@@/write_dev_root_rule diff --git a/systemd.changes b/systemd.changes new file mode 100644 index 0000000..702cc8d --- /dev/null +++ b/systemd.changes @@ -0,0 +1,3118 @@ +------------------------------------------------------------------- +Wed Jun 19 08:44:06 UTC 2013 - mhrusecky@suse.com + +- Dropped backward compatibility +- Added check for upstream rpm macros changes + +------------------------------------------------------------------- +Mon Jun 18 12:13:25 UTC 2013 - mhrusecky@suse.com + +- Split out RPM macros into separate package to simplify dependencies + +------------------------------------------------------------------- +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 + +------------------------------------------------------------------- +Sun Jun 16 23:59:28 UTC 2013 - jengelh@inai.de + +- Explicitly list libattr-devel as BuildRequires +- More robust make install call. Remove redundant %clean section. + +------------------------------------------------------------------- +Thu Jun 13 16:00:25 CEST 2013 - sbrabec@suse.cz + +- Cleanup NumLock setting code + (handle-numlock-value-in-etc-sysconfig-keyboard.patch). + +------------------------------------------------------------------- +Wed Jun 12 10:00:53 UTC 2013 - fcrozat@suse.com + +- Only apply 1007-add-msft-compability-rules.patch when not + building systemd-mini. + +------------------------------------------------------------------- +Tue Jun 11 11:01:46 UTC 2013 - rmilasan@suse.com + +- Add udev MSFT compability rules (bnc#805059). + add: 1007-add-msft-compability-rules.patch +- Add sg3_utils requires, need it by 61-msft.rules (bnc#805059). +- Clean-up spec file, put udev patches after systemd patches. +- Rebase patches so they would apply nicely. + +------------------------------------------------------------------- +Tue Jun 11 02:29:49 UTC 2013 - crrodriguez@opensuse.org + +- 0004-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch + fixes : + * systemd-journald[347]: Failed to set ACL on + /var/log/journal/11d90b1c0239b5b2e38ed54f513722e3/user-1000.journal, + ignoring: Invalid argument +- 006-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch + systemctl disable should remove dangling symlinks. +- 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch + alien childs are reported as alive when they are really dead. + +------------------------------------------------------------------- +Wed May 29 10:44:11 CEST 2013 - fcrozat@suse.com + +- Update to release 204: + + systemd-nspawn creates etc/resolv.conf in container if needed. + + systemd-nspawn will store metadata about container in container + cgroup including its root directory. + + cgroup hierarchy has been reworked, all objects are now suffxed + (with .session for user sessions, .user for users, .nspawn for + containers). All cgroup names are now escaped to preven + collision of object names. + + systemctl list-dependencies gained --plain, --reverse, --after + and --before switches. + + systemd-inhibit shows processes name taking inhibitor lock. + + nss-myhostname will now resolve "localhost" implicitly. + + .include is not allowed recursively anymore and only in unit + files. Drop-in files should be favored in most cases. + + systemd-analyze gained "critical-chain" command, to get slowest + chain of units run during boot-up. + + systemd-nspawn@.service has been added to easily run nspawn + container for system services. Just start + "systemd-nspawn@foobar.service" and container from + /var/lib/container/foobar" will be booted. + + systemd-cgls has new --machine parameter to list processes from + one container. + + ConditionSecurity= can now check for apparmor and SMACK. + + /etc/systemd/sleep.conf has been introduced to configure which + kernel operation will be execute when "suspend", "hibernate" or + "hybrid-sleep" is requrested. It allow new kernel "freeze" + state to be used too. (This setting won't have any effect if + pm-utils is installed). + + ENV{SYSTEMD_WANTS} in udev rules will now implicitly escape + passed argument if applicable. +- Regenerate some patches for this new release. +- Rename hostname-setup-shortname.patch to + ensure-shortname-is-set-as-hostname-bnc-820213.patch to be git + format-patch friendly. +- Update apply-ACL-for-nvidia-device-nodes.patch to apply ACL to + /dev/nvidia* (bnc#808319). +- Remove Ensure-debugshell-has-a-correct-value.patch, doable with a + configure option. +- Add systemctl-does-not-expand-u-so-revert-back-to-I.patch: avoids + expansion errors. +- Add Start-ctrl-alt-del.target-irreversibly.patch: ctrl-alt-del + should be irreversible for reliability. + +------------------------------------------------------------------- +Tue May 28 03:24:39 UTC 2013 - crrodriguez@opensuse.org + +- Drop Add-bootsplash-handling-for-password-dialogs.patch bootsplash +support has been removed from the kernel. +- Drop ensure-systemd-udevd-is-started-before-local-fs-pre-for-lo.patch +fixed in systemd v199, commit 89d09e1b5c65a2d97840f682e0932c8bb499f166 +- Apply rules-add-lid-switch-of-ARM-based-Chromebook-as-a-power-sw.patch +only on ARM, patch rejected upstream because is too generic. +- no such define TARGET_SUSE exists but it is used in +Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +use HAVE_SYSV_COMPAT instead. + +------------------------------------------------------------------- +Fri May 24 11:37:49 UTC 2013 - fcrozat@suse.com + +- Do no ship defaults for sysctl, they should be part of aaa_base + (currently in procps). +- Add hostname-setup-shortname.patch: ensure shortname is set as + hostname (bnc#820213). + +------------------------------------------------------------------- +Fri May 17 15:53:33 UTC 2013 - fcrozat@suse.com + +- Rebase + parse-etc-insserv.conf-and-adds-dependencies-accordingly.patch to + fix memory corruption (thanks to Michal Vyskocil) (bnc#820454). + +------------------------------------------------------------------- +Fri May 17 11:46:02 UTC 2013 - fcrozat@suse.com + +- Add sysctl-handle-boot-sysctl.conf-kernel_release.patch: ensure + /boot/sysctl.conf- is handled (bnc#809420). + +------------------------------------------------------------------- +Wed May 15 13:02:05 UTC 2013 - fcrozat@suse.com + +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch: don't + free variable whose content is still be used (bnc#819970). + +------------------------------------------------------------------- +Tue May 14 14:22:05 UTC 2013 - fcrozat@suse.com + +- Add configure flags to ensure boot.local/halt.local are run on + startup/shutdown. + +------------------------------------------------------------------- +Mon May 13 18:08:41 UTC 2013 - rmilasan@suse.com + +- Fix firmware loading by enabling --with-firmware-path (bnc#817551). + +------------------------------------------------------------------- +Mon Apr 29 14:50:37 UTC 2013 - dschung@cs.uni-kl.de + +- Fix systemd-sysv-convert, so empty runlevel folders don't lead + to "line 44: [: too many arguments" + +------------------------------------------------------------------- +Fri Apr 26 16:37:28 CEST 2013 - fcrozat@suse.com + +- Fix handle-etc-HOSTNAME.patch to properly set hostname at startup + when using /etc/HOSTNAME. + +------------------------------------------------------------------- +Thu Apr 25 08:19:30 UTC 2013 - rmilasan@suse.com + +- Rename remaning udev patches (clean-up). +- Generate %{_libexecdir}/modules-load.d/sg.conf so we load sg module at + boot time not from udev (bnc#761109). +- Drop unused patches: + 1001-Reinstate-TIMEOUT-handling.patch + 1005-udev-fix-sg-autoload-regression.patch + 1026-re-add-persistent-net.patch + +------------------------------------------------------------------- +Tue Apr 23 14:58:47 CEST 2013 - fcrozat@suse.com + +- Use drop-in file to fix bnc#804158. + +------------------------------------------------------------------- +Tue Apr 23 12:44:16 UTC 2013 - coolo@suse.com + +- add some more conflicts to make bootstrap work + +------------------------------------------------------------------- +Mon Apr 22 09:48:22 UTC 2013 - fcrozat@suse.com + +- Do not provide %{release} for systemd-analyze +- Add more conflicts to -mini packages +- Disable Predictable Network interface names until it has been + reviewed by network team, with /usr/lib/tmpfiles.d/network.conf. +- Don't package /usr/lib/firmware/update (not used) + +------------------------------------------------------------------- +Sun Apr 21 22:24:15 UTC 2013 - crrodriguez@opensuse.org + +- Fix packaging error, there is no syslog.target anymore + do not pretend there is one. + +------------------------------------------------------------------- +Fri Apr 19 16:40:17 UTC 2013 - fcrozat@suse.com + +- Update to release 202: + + 'systemctl list-jobs' got some polishing. '--type=' argument + may now be passed more than once. 'systemctl list-sockets' has + been added. + + systemd gained a new unit 'systemd-static-nodes.service' +    that generates static device nodes earlier during boot, and +    can run in conjunction with udev. + + systemd-nspawn now places all containers in the new /machine +    top-level cgroup directory in the name=systemd hierarchy. + + bootchart can now store its data in the journal. + + journactl can now take multiple --unit= and --user-unit= +    switches. + + The cryptsetup logic now understands the "luks.key=" kernel +    command line switch. If a configured key file is missing, it + will fallback to prompting the user. +- Rebase some patches +- Update handle-SYSTEMCTL_OPTIONS-environment-variable.patch to + properly handle SYSTEMCTL_OPTIONS + +------------------------------------------------------------------- +Fri Apr 19 12:47:13 UTC 2013 - max@suse.com + +- Fix regression in the default for tmp auto-deletion + (systemd-tmp-safe-defaults.patch, FATE#314974). + +------------------------------------------------------------------- +Fri Apr 12 16:58:31 UTC 2013 - fcrozat@suse.com + +- Update to release 201: + + udev now supports different nameng policies for network + interface for predictable names. + + udev gained support for loading additional device properties + from an indexed database. %udev_hwdb_update macro should be + used by packages adding entries to this database. + + Journal gained support for "Message Catalog", indexed database + to link up additional information with journal entries. + %journal_catalog_update macro should be used by packages adding + %entries to this database. + + "age" field for tmpfiles entries can be set to 0, forcing + removal of files matching this entry. + + coredumpctl gained "gdb" verb to invoke gdb on selected + coredump. + + New rpm macros has been added: %udev_rules_update(), + %_udevhwdbdir, %_udevrulesdir, %_journalcatalogdir, + %_tmpfilesdir, %_sysctldir. + + In service files, %U can be used for configured user name of + the service. + + nspawn can be invoked without a controlling TTY. + + systemd and nspawn can accept socket file descriptors when + started for socket activation. This allow socket activated + nspawn containers. + + logind can now automatically suspend/hibernate/shutdown system + on idle. + + ConditionACPower can be used in unit file to detect if AC power + source is connected or if system is on battery power. + + EnvironmentFile= in unit files supports file globbing. + + Behaviour of PrivateTmp=, ReadWriteDirectories=, + ReadOnlyDirectories= and InaccessibleDirectories= has + changed. The private /tmp and /var/tmp directories are now + shared by all processes of a service (which means + ExecStartPre= may now leave data in /tmp that ExecStart= of + the same service can still access). When a service is + stopped its temporary directories are immediately deleted + (normal clean-up with tmpfiles is still done in addition to + this though). + + Resource limits (as exposed by cgroup controlers) can be + controlled dynamically at runtime for all units, using + "systemctl set-cgroup-attr foobar.server cgroup.attribute + value". Those settings are stored persistenly on disk. + + systemd-vconsole-setup will now copy all fonts settings to all + allocated VTs. + + timedated now exposes CanNTP property to indicate if a local + NTP service is available. + + pstore file system is mounted by default, if available. + + SMACK policies are loaded at early boot, if available. + + Timer units now support calendar time events. + + systemd-detect-virt detect xen PVs. + + Some distributions specific LSB targets has been dropped: + $x-display-manager, $mail-transfer-agent, + $mail-transport-agent, $mail-transfer-agent, $smtp, $null. As + well mail-transfer-agent.target and syslog.target has been + removed. + + systemd-journal-gatewayd gained SSL support and now runs as + unprivileged user/group + "systemd-journal-gateway:systemd-journal-gateway" + + systemd-analyze will read, when available, boot time + performance from EFI variable from boot loader supporting it. + + A new generator for automatically mounting EFI System Partition + (ESP) to /boot (if empty and no other file system has been + configured in fstab for it). + + logind will now send out PrepareForSleep(false) out + unconditionally, after coming back from suspend. + + tmpfiles gained a new "X" line type, that allows + configuration of files and directories (with wildcards) that + shall be excluded from automatic cleanup ("aging"). + + udev default rules set the device node permissions now only + at "add" events, and do not change them any longer with a + later "change" event. + + A new bootctl tool has been added that is an interface for + certain EFI boot loader operations. + + A new tool kernel-install has been added to install kernel + images according to Boot Loader Specification. + + A new tool systemd-activate can be used to test socket + activation. + + A new group "systemd-journal" is now owning journal files, + replacing "adm" group. + + journalctl gained "--reverse" to show output in reverse order, + "--pager-end" to jump at the end of the journal in the + pager (only less is supported) and "--user-unit" to filter for + user units. + + New unit files has been addedto ease for systemd usage in + initrd. + + "systemctl start" now supports "--irreversible" to queue + operations which can be reserved. It is now used to make + shutdown requests more robust. + + Auke Kok's bootchart has been merged and relicensed to + LGPLv2.1+. + + nss-myhostname has been merged in systemd codebase. + + some defaults sysctl values are now set by default: the safe + sysrq options are turned on, IP route verification is turned + on, and source routing disabled. The recently added hardlink + and softlink protection of the kernel is turned on. + + Add support for predictable network naming logic. It can be + turned off with kernel command line switch: net.ifnames=0 + + journald will now explicitly flush journal files to disk at the + latest 5 min after each write and will mark file offline until + next read. This should increase reliability in case of crash. + + remote-fs-setup.target target has been added to pull in + specific services when at least one remote file system is to be + mounted. + + timers.target and paths.target have been added as canonical + targets to pull user timer and path units, similar to + sockets.targets. + + udev daemon now sets default number of worker processes in + parallel based on number of CPUs instead of RAM. + + Most unit file settings which takes likst of items can now be +reset by assigning empty string to them, using drop-in. + + Add support for drop-in configuration file for units. + + Most unit file settings which takes likst of items can now be + reset by assigning empty string to them, using drop-in. + + improve systemg-cgtop output. + + improve 'systemctl status' output for socket, drop-in for units. + + 'hostnamectl set-hostname' allows setting FQDN hostnames. + + fractional time intervals are now parsed properly. + + localectl can list available X11 keymaps. + + systemd-analyze dot can filter for specific units and has been + rewritten in C. + + systemctl gained "list-dependencies" command. + + Inhibitors are now honored no only in GNOME. +- Many patches has been dropped, being merged upstream. +- Many patches has been renamed and regenerated with git, to have + consistent naming, authorship and comments embedded. +- Add + Revert-service-drop-support-for-SysV-scripts-for-the-early.patch: + re-add support for boot.* initscripts until they are all migrated + to systemd unit files. +- Merge patches for nss-myhostname package to this package. + +------------------------------------------------------------------- +Fri Apr 12 16:17:04 UTC 2013 - rschweikert@suse.com + +- Add chromebook lid switch as a power switch to logind rule to + enable suspend on lid close + +------------------------------------------------------------------- +Mon Apr 8 14:51:47 CEST 2013 - fcrozat@suse.com + +- Add improve-readahead-spinning.patch: improve readahead + performance on spinning media with ext4. +- Add fix-journal-vacuum-logic.patch: fix vacuum logic in journal + (bnc#789589). +- Add fix-lsb-provides.patch: ensure LSB provides are correctly + handled if also referenced as dependencies (bnc#809646). +- Add fix-loopback-mount.patch: ensure udevd is started (and + therefore static devices are created) before mounting + (bnc#809820). +- Update systemd-sysv-convert to search services files in new + location (bnc#809695). +- Add logind-nvidia-acl.diff: set ACL on nvidia devices + (bnc#808319). +- Add do-no-isolate-on-fsck-failure.patch: do not turn off services + if fsck fails (bnc#812874) +- Add wait-for-processes-killed.patch: wait for processes killed by + SIGTERM before killing them with SIGKILL. +- Update systemctl-options.patch to only apply SYSTEMCTL_OPTIONS to + systemctl command (bnc#801878). + +------------------------------------------------------------------- +Tue Apr 2 22:09:42 CEST 2013 - sbrabec@suse.cz + +- Fixed disabling CapsLock and enabling NumLock (bnc#746595, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + systemd-numlock-suse.patch). +- Explicitly require libgcrypt-devel to fix build failure. + +------------------------------------------------------------------- +Thu Mar 28 09:24:43 UTC 2013 - rmilasan@suse.com + +- udev: ensure that the network interfaces are renamed even if they + exist (bnc#809843). + add: 1027-udev-always-rename-network.patch + +------------------------------------------------------------------- +Wed Mar 20 10:14:59 UTC 2013 - rmilasan@suse.com + +- udev: re-add persistent network rules (bnc#809843). + add: 1026-re-add-persistent-net.patch +- rebase all patches, ensure that they apply properly. + +------------------------------------------------------------------- +Thu Feb 21 14:45:12 UTC 2013 - fcrozat@suse.com + +- Add rbind-mount.patch: handle rbind mount points correctly + (bnc#804575). + +------------------------------------------------------------------- +Tue Feb 19 11:20:31 CET 2013 - fcrozat@suse.com + +- Ensure journal is flushed on disk when systemd-logger is + installed for the first time. +- Add improve-journal-perf.patch: improve journal performance on + query. +- Add support-hybrid-suspend.patch: add support for hybrid suspend. +- Add forward-to-pmutils.patch: forward suspend/hibernation calls + to pm-utils, if installed (bnc#790157). + +------------------------------------------------------------------- +Tue Feb 19 09:51:18 UTC 2013 - rmilasan@suse.com + +- udev: usb_id: parse only 'size' bytes of the 'descriptors' buffer + add: 1024-udev-usb_id-parse-only-size-bytes-of-the-descriptors.patch +- udev: expose new ISO9660 properties from libblkid + add: 1025-udev-expose-new-ISO9660-properties-from-libblkid.patch + +------------------------------------------------------------------- +Mon Feb 18 09:27:05 UTC 2013 - jengelh@inai.de + +- Create getty@tty1.service to restore traditional SUSE behavior + of not clearing tty1. (bnc#804158) +- Better use of find -exec + +------------------------------------------------------------------- +Fri Feb 15 16:04:39 UTC 2013 - fcrozat@suse.com + +- Add early-sync-shutdown.patch: start sync just when + shutdown.target is beginning +- Update parse-multiline-env-file.patch to better handle continuing + lines. +- Add handle-HOSTNAME.patch: handle /etc/HOSTNAME (bnc#803653). +- Add systemctl-print-wall-on-if-successful.patch: only print on + wall if successful. +- Add improve-bash-completion.patch: improve bash completion. + +------------------------------------------------------------------- +Fri Feb 15 13:05:19 UTC 2013 - lnussel@suse.de + +- disable nss-myhostname warning (bnc#783841) + => disable-nss-myhostname-warning-bnc-783841.diff + +------------------------------------------------------------------- +Wed Feb 13 11:34:06 UTC 2013 - rmilasan@suse.com + +- rework patch: + 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- udev: use unique names for temporary files created in /dev. + add: 1022-udev-use-unique-names-for-temporary-files-created-in.patch +- cdrom_id: add data track count for bad virtual drive. + add: 1023-cdrom_id-add-data-track-count-for-bad-virtual-drive.patch + +------------------------------------------------------------------- +Tue Feb 12 09:16:23 UTC 2013 - rmilasan@suse.com + +- usb_id: ensure we have a valid serial number as a string (bnc#779493). + add: 1020-usb_id-some-strange-devices-have-a-very-bogus-or-strage-serial.patch +- cdrom_id: created links for the default cd/dvd drive (bnc#783054). + add: 1021-create-default-links-for-primary-cd_dvd-drive.patch + +------------------------------------------------------------------- +Fri Feb 1 16:27:45 UTC 2013 - fcrozat@suse.com + +- Add cryptsetup-accept-read-only.patch: accept "read-only" in + addition to "readonly" in crypttab +- Update parse-multiline-env-file.patch to correctly handle + commented lines (bnc#793411) + +------------------------------------------------------------------- +Tue Jan 29 13:32:30 UTC 2013 - rmilasan@suse.com + +- udev: Fix device matching in the accelerometer + add: 1019-udev-Fix-device-matching-in-the-accelerometer.patch +- keymap: add aditional support for some keyboard keys + add: 1018-keymap-add-aditional-support.patch +- journalctl: require argument for --priority + add: journalctl-require-argument-for-priority +- dropped useless patches: + libudev-validate-argument-udev_enumerate_new.patch + kmod-fix-builtin-typo.patch +- rename udev-root-symlink.service to systemd-udev-root-symlink.service. +- fix in udev package missing link in basic.target.wants for + systemd-udev-root-symlink.service + +------------------------------------------------------------------- +Mon Jan 28 10:49:21 UTC 2013 - fcrozat@suse.com + +- Add tmpfiles-X-type.patch: allow to clean directories with + removing them. +- Add systemd-fix-merge-ignore-dependencies.patch: fix merging with + --ignore-dependencies waiting for dependencies (bnc#800365). +- Update systemd-numlock-suse.patch: udev-trigger.service is now + called systemd-udev-trigger.service. +- Add improve-man-environment.patch: improve manpage regarding + Environment value. + +------------------------------------------------------------------- +Tue Jan 22 17:02:04 UTC 2013 - fcrozat@suse.com + +- Add systemctl-options.patch: handle SYSTEMCTL_OPTIONS internaly + (bnc#798620). +- Update crypt-loop-file.patch to correctly detect crypto loop + files (bnc#799514). +- Add journalctl-remove-leftover-message.patch: remove debug + message in systemctl. +- Add job-avoid-recursion-when-cancelling.patch: prevent potential + recursion when cancelling a service. +- Add sysctl-parse-all-keys.patch: ensure sysctl file is fully + parsed. +- Add journal-fix-cutoff-max-date.patch: fix computation of cutoff + max date for journal. +- Add reword-rescue-mode-hints.patch: reword rescue prompt. +- Add improve-overflow-checks.patch: improve time overflow checks. +- Add fix-swap-behaviour-with-symlinks.patch: fix swap behaviour + with symlinks. +- Add hostnamectl-fix-set-hostname-with-no-argument.patch: ensure + hostnamectl requires an argument when called with set-hostname + option. +- Add agetty-overrides-term.patch: pass correctly terminal type to + agetty. +- Add check-for-empty-strings-in-strto-conversions.patch: better + check for empty strings in strto* conversions. +- Add strv-cleanup-error-path-loops.patch: cleanup strv on error + path. +- Add cryptsetup-handle-plain.patch: correctly handle "plain" + option in cryptsetup. +- Add fstab-generator-improve-error-message.patch: improve error + message in fstab-generator. +- Add delta-accept-t-option.patch: accept -t option in + systemd-delta. +- Add highlight-ordering-cycle-deletions.patch: highlight ordering + cycle deletions in logs. +- Add core-interpret-escaped-semicolon-as-escaped.patch: accept \; + in ExecStart. +- Add hostnamectl-fix-parsing-no-ask-password.patch: accept + no-ask-password in hostnamectl. +- Add systemd-cgls-fix-piping-output.patch: fix piping output of + systemd-cgls. +- Add core-load-fragment-improve-error-message.patch: improve error + message when parsing fragments. +- Add fix-potential-bad-mem-access.patch: fix potential bad memory + access. +- Add socket-improve-error-message.patch: improve error message in + socket handling. +- Add journal-send-always-send-syslog_identifier.patch: always send + syslog_identifier if available for journal. +- Add crypsetup-handle-nofail.patch: handle nofail in cryptsetup. +- Add crypsetup-generator-state-file-name-in-error-message.patch: + add filename in error message from crypsetup-generator. +- Add fstab-generator-error-message-on-duplicates.patch: improve + error message on duplicate in fstab-generator. +- Add systemctl-verbose-message-on-missing-install.patch: reword + missing install error message in systemctl. +- Add shutdown-improvements.patch: various improvements at + shutdown. +- Add localectl-fix-assertion.patch: fix assertion in localectl. +- Add path-util-fix-potential-crash.patch: fix potential crash in + path-util. +- Add coredumpctl-fix-crash.patch: fix crash in coredumpctl. +- Add socket-verbose-error-message.patch: add more verbose error + message in socket handling. +- Add pam-properly-handle-ssh-logins-without-pam-tty-field.patch: + handle properly ssh-logins without pam tty field. +- Add fstab-generator-properly-detect-bind-mounts.patch: properly + detect bind-mounts in fstab-generator. +- Add localectl-support-systems-without-locale-archive.patch: + localectl now supports systemd without locale-archive file. +- Add logind-capability-making-seats-without-fb.patch: allows + capability of making seats without fb. +- Add service-forking-ignore-exit-status-main-process.patch: ignore + exit-statis of main process when forking, if specified in unit + file. +- Add systemctl-no-assert-on-reboot-without-dbus.patch: don't + assert on reboot if dbus isn't there. +- Add logind-ignore-non-tty-non-x11-session-on-shutdown.patch: + ignore non tty non-x11 session on shutdown. +- Add journalctl-quit-on-io-error.patch: fix journalctl quit on io + error. +- Add do-not-make-sockets-dependent-on-lo.patch: do not make + sockets dependent on lo interface. +- Add shutdown-dont-force-mnt-force-on-final-umount.patch: don't + force MNT_FORCE on final umount at shutdown. +- Add shutdown-ignore-loop-devices-without-backing-file.patch: + ignore loop devices without backing file at shutdown. +- Add fix-bad-mem-access.patch: fix bad memory access +- Add parse-multiline-env-file.patch: correctly parse multiline + environment files (bnc#793411). + +------------------------------------------------------------------- +Thu Jan 10 15:43:25 UTC 2013 - fcrozat@suse.com + +- Add multiple-sulogin.patch: allows multiple sulogin instance + (bnc#793182). + +------------------------------------------------------------------- +Wed Jan 9 09:42:50 UTC 2013 - rmilasan@suse.com + +- udev: path_id - handle Hyper-V devices + add: 1008-udev-path_id-handle-Hyper-V-devices.patch +- keymap: Update the list of Samsung Series 9 models + add: 1009-keymap-Update-the-list-of-Samsung-Series-9-models.patch +- keymap: Add Samsung 700T + add: 1010-keymap-Add-Samsung-700T.patch +- libudev: avoid leak during realloc failure + add: 1011-libudev-avoid-leak-during-realloc-failure.patch +- libudev: do not resolve $attr{device} symlinks + add: 1012-libudev-do-not-resolve-attr-device-symlinks.patch +- libudev: validate 'udev' argument to udev_enumerate_new() + add: 1013-libudev-validate-udev-argument-to-udev_enumerate_new.patch +- udev: fix whitespace + add: 1014-udev-fix-whitespace.patch +- udev: properly handle symlink removal by 'change' event + add: 1015-udev-properly-handle-symlink-removal-by-change-event.patch +- udev: builtin - do not fail builtin initialization if one of + them returns an error + add: 1016-udev-builtin-do-not-fail-builtin-initialization-if-o.patch +- udev: use usec_t and now() + add: 1017-udev-use-usec_t-and-now.patch + +------------------------------------------------------------------- +Tue Jan 8 12:47:43 UTC 2013 - rmilasan@suse.com + +- udevd: add missing ':' to getopt_long 'e'. + add: 1007-udevd-add-missing-to-getopt_long-e.patch +- clean up systemd.spec, make it easy to see which are udev and + systemd patches. +- make 'reload' and 'force-reload' LSB compliant (bnc#793936). + +------------------------------------------------------------------- +Tue Dec 11 00:22:50 UTC 2012 - crrodriguez@opensuse.org + +- detect-btrfs-ssd.patch: Fix btrfs detection on SSD. +- timedated-donot-close-bogus-dbus-connection.patch: Avoid + closing an non-existent dbus connection and getting assertion + failures. + +------------------------------------------------------------------- +Mon Dec 10 14:22:21 UTC 2012 - coolo@suse.com + +- add conflicts between udev-mini and udev-mini-devel to libudev1 + +------------------------------------------------------------------- +Thu Dec 6 22:47:09 UTC 2012 - crrodriguez@opensuse.org + +- revert-of-9279749b84cc87c7830280b7895a48bed03c9429.patch: + do not consider failure to umount / and /usr an error. + +------------------------------------------------------------------- +Wed Dec 5 15:13:27 UTC 2012 - fcrozat@suse.com + +- Add fix-devname-prefix.patch: fix modules.devname path, it isn't + in /usr. +- Move post script to fix symlinks in /etc/systemd/system to a + trigger to run it after old systemd is uninstalled. + +------------------------------------------------------------------- +Tue Dec 4 16:51:32 UTC 2012 - fcrozat@suse.com + +- Add fix-debugshell.patch: use /bin/bash if sushell isn't + installed (bnc#789052). +- Add handle-root-uses-lang.patch: handle ROOT_USES_LANG=ctype + (bnc#792182). +- Ensure libudev1 and libudev-mini1 conflicts. + +------------------------------------------------------------------- +Thu Nov 22 14:22:00 UTC 2012 - rmilasan@suse.com + +- Fix creation of /dev/root link. + +------------------------------------------------------------------- +Tue Nov 20 18:25:49 CET 2012 - fcrozat@suse.com + +- Add remount-ro-before-unmount.patch: always remount read-only + before unmounting in final shutdown loop. +- Add switch-root-try-pivot-root.patch: try pivot_root before + overmounting / + +------------------------------------------------------------------- +Tue Nov 20 09:36:43 UTC 2012 - fcrozat@suse.com + +- links more manpages for migrated tools (from Christopher + Yeleighton). +- disable boot.localnet service, ypbind service will do the right + thing now (bnc#716746) +- add xdm-display-manager.patch: pull xdm.service instead of + display-manager.service (needed until xdm initscript is migrated + to native systemd service). +- Add fix-permissions-btmp.patch: ensure btmp is owned only by root + (bnc#777405). +- Have the udev package create a tape group, as referenced by + 50-udev-default.rules and 60-persistent-storage-tape.rules + (DimStar). +- Add fix-bad-memory-access.patch: fix crash in journal rotation. +- Add fix-dbus-crash.patch: fix D-Bus caused crash. +- Add sync-on-shutdown.patch: ensure sync is done when initiating + shutdown. +- Add mount-efivars.patch: mount efivars if booting on UEFI. + + +------------------------------------------------------------------- +Thu Nov 15 14:31:28 UTC 2012 - fcrozat@suse.com + +- Ship a empty systemd-journald initscript in systemd-logger to + stop insserv to complain about missing syslog dependency. +- Update + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch + with bug fixes from Debian. + +------------------------------------------------------------------- +Wed Nov 14 17:36:05 UTC 2012 - fcrozat@suse.com + +- /var/log/journal is now only provided by systemd-logger (journal + won't be persistent for people using another syslog + implementation). +- install README in /var/log (in systemd-logger) and /etc/init.d +- create adm group when installing systemd. +- fix path in udev-root-symlink.systemd. +- Enforce Requires(post) dependency on libudev in main systemd + package (help upgrade). +- Ensure configuration is reloaded when upgrading and save random + seed when installing. +- Create /lib/udev symlink, if we do a fresh install. +- Add fix-build-glibc217.patch: fix build with latest glibc. +- Add libgcrypt.m4: copy of autoconf macro from libgcrypt, only + used to bootstrap systemd-mini. + +------------------------------------------------------------------- +Tue Nov 6 14:40:37 UTC 2012 - coolo@suse.com + +- adding a package systemd-logger that blocks syslog implementations + from installation to make an installation that only uses the journal + +------------------------------------------------------------------- +Mon Nov 5 14:37:46 UTC 2012 - fcrozat@suse.com + +- Don't hardcode path for systemctl in udev post script. +- Ensure systemd-udevd.service is shadowing boot.udev when booting + under systemd. +- Fix udev daemon upgrade under both systemd and sysvinit. +- Add fix-logind-pty-seat.patch: fix logind complaining when doing + su/sudo in X terminal. + +------------------------------------------------------------------- +Sat Nov 3 07:21:44 UTC 2012 - coolo@suse.com + +- add libudev1 to baselibs.conf + +------------------------------------------------------------------- +Fri Nov 2 14:07:15 UTC 2012 - coolo@suse.com + +- udev is GPL-2.0, the rest remains LGPL-2.1+ (bnc#787824) + +------------------------------------------------------------------- +Mon Oct 29 13:01:20 UTC 2012 - fcrozat@suse.com + +- Add var-run-lock.patch: make sure /var/run and /var/lock are + handled as bind mount if they aren't symlinks. +- Update storage-after-cryptsetup.patch with new systemctl path. +- Migrate broken symlinks in /etc/systemd/system due to new systemd + location. + +------------------------------------------------------------------- +Fri Oct 26 13:37:52 UTC 2012 - fcrozat@suse.com + +- Update to release 195: + + journalctl agained --since and --until, as well as filtering + for units with --unit=/-u. + + allow ExecReload properly for Type=oneshot (needed for + iptables.service, rpc-nfsd.service). + + journal daemon supports time-based rotation and vaccuming. + + journalctl -F allow to list all values of a certain field in + journal database. + + new commandline clients for timedated, locald and hostnamed + + new tool systemd-coredumpctl to list and extract coredumps from + journal. + + improve gatewayd: follow mode, filtering, support for + HTML5/JSON Server-Sent-Events. + + reload support in SysV initscripts is now detected when file is + parted. + + "systemctl status --follow" as been removed, use "journalctl -fu + instead" + + journald.conf RuntimeMinSize and PersistentMinSize settings + have been removed. +- Add compatibility symlink for systemd-ask-password and systemctl + in /bin. + +------------------------------------------------------------------- +Thu Oct 18 12:27:07 UTC 2012 - fcrozat@suse.com + +- Create and own more systemd drop-in directories. + +------------------------------------------------------------------- +Tue Oct 16 13:18:13 UTC 2012 - fcrozat@suse.com + +- Improve mini packages for bootstrapping. +- do not mount /tmp as tmpfs by default. + +------------------------------------------------------------------- +Tue Oct 16 07:40:23 UTC 2012 - fcrozat@suse.com + +- Fix install script when there is no inittab + +------------------------------------------------------------------- +Mon Oct 15 14:48:47 UTC 2012 - fcrozat@suse.com + +- Create a systemd-mini specfile to prevent cycle in bootstrapping + +------------------------------------------------------------------- +Thu Oct 4 11:23:42 UTC 2012 - fcrozat@suse.com + +- udev and its subpackages are now generated by systemd source + package. +- migrate udev and systemd to /usr +- Update to version 194: + + if /etc/vconsole.conf is non-existent or empty and if + /etc/sysconfig/console:CONSOLE_FONT (resp + /etc/sysconfig/keyboard:KEYTABLE) set, console font (resp + keymap) is not modified. +- Changes from version 44 to 193: + + journalctl gained --cursor= to show entries starting from a + specified location in journal. + + Size limit enforced to 4K for fields exported with "-o json" in + journalctl. Use --all to disable this behavior. + + Optional journal gateway daemon + (systemd-journal-gatewayd.service) to access journal via HTTP + and JSON. Use "wget http://localhost:19531/entries" to get + /var/log/messages compatible format and + 'curl -H"Accept: application/json" + http://localhost:19531/entries' for JSON formatted content. + HTML5 static page is also available as explained on + http://0pointer.de/public/journal-gatewayd + + do not mount cpuset controler, doesn't work well by default + ATM. + + improved nspawn behaviour with /etc/localtime + + journald logs its maximize size on disk + + multi-seat X wrapper (partially merged in upstream X server). + + HandleSleepKey has been splitted into HandleSuspendKey and + HandleHibernateKey. + + systemd and logind now handle system sleep states, in + particular suspending and hibernating. + + new cgroups are mounted by default (cpu, cpuacct, + net_cls, net_pri) + + sync at shutdown is now handled by kernel + + imported journalctl output (colors, filtering, pager, bash + completion). + + suffix ".service" may now be ommited on most systemctl command + involving service unit names. + + much improved nspawn containers support. + + new conditions added : ConditionFileNotEmpty, ConditionHost, + ConditionPathIsReadWrite + + tmpfiles "w" supports file globbing + + logind handles lid switch, power and sleep keys all the time, + unless systemd-inhibit + --what=handle-power-key:handle-sleep-key:handle-lid-switch is + run by Desktop Environments. + + support for reading structured kernel message is used by + default (need kernel >= 3.5). /proc/kmsg is now used only by + classic syslog daemons. + + Forward Secure Sealing is now support for Journal files. + + RestartPrevenExitStatus and SuccessExitStatus allow configure + of exit status (exit code or signal). + + handles keyfile-size and keyfile-offset in /etc/crypttab. + + TimeoutSec settings has been splitted into TimeoutStartSec and + TimeoutStopSec. + + add SystemCallFilters option to add blacklist/whitelist to + system calls, using SECCOMP mode 2 of kernel >= 3.5. + + systemctl udevadm info now takes a /dev or /sys path as argument: + - udevadm info /dev/sda + + XDG_RUNTIME_DIR now uses numeric UIDs instead of usernames. + + systemd-loginctl and systemd-journalctl have been renamed + to loginctl and journalctl to match systemctl. + + udev: RUN+="socket:..." and udev_monitor_new_from_socket() is + no longer supported. udev_monitor_new_from_netlink() needs to + be used to subscribe to events. + + udev: when udevd is started by systemd, processes which are left + behind by forking them off of udev rules, are unconditionally + cleaned up and killed now after the event handling has finished. + Services or daemons must be started as systemd services. + Services can be pulled-in by udev to get started, but they can + no longer be directly forked by udev rules. + + For almost all files, license is now LGPL2.1+ (from previous + GPL2.0+). Exception are some minor stuff in udev (will be + changed to LGPL2.1 eventually) and MIT license sd-daemon.[ch] + library. + + var-run.mount and var-lock.mount are no longer provided + (should be converted to symlinks). + + A new service type Type=idle to avoid ugly interleaving of + getty output and boot status messages. + + systemd-delta has been added, a tool to explore differences + between user/admin configuration and vendor defaults. + + /tmp mouted as tmpfs by default. + + /media is now longer mounted as tmpfs + + GTK tool has been split off to systemd-ui package. + + much improved documentation. +- Merge BuildRequires from udev package: + gobject-introspection-devel, gtk-doc, libsepol-devel, + libusb-devel, pkgconfig(blkid), pkgconfig-glib-2.0), + pjgconfig(libcryptsetup), pkgconfig(libpci), + pkgconfig(libqrencode), pkgconfig(libselinux), + pkgconfig(usbutils). +- Add pkgconfig(libqrencode) and pkgconfig(libmicrohttpd) +- Merge sources from udev package: boot.udev, write_dev_root.rules, + udev-root-symlink.systemd. +- Merge patches from udev package: numbered started from 1000): + 0001-Reinstate-TIMEOUT-handling.patch, + 0013-re-enable-by_path-links-for-ata-devices.patch, + 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch, + 0026-udev-netlink-null-rules.patch, + 0027-udev-fix-sg-autoload-regression.patch. +- Remove following patches, merged upstream: + 0001-util-never-follow-symlinks-in-rm_rf_children.patch, + fixppc.patch, logind-logout.patch, fix-getty-isolate.patch, + fix-swap-priority.patch, improve-restart-behaviour.patch, + fix-dir-noatime-tmpfiles.patch, journal-bugfixes.patch, + ulimit-support.patch, change-terminal.patch, + fix-tty-startup.patch, fix-write-user-state-file.patch, + fix-analyze-exception.patch, use_localtime.patch, + journalctl-pager-improvement.patch, + avoid-random-seed-cycle.patch, + 0001-add-sparse-support-to-detect-endianness-bug.patch, + drop-timezone.patch. +- Rebase the following patches: + 0001-Add-bootsplash-handling-for-password-dialogs.patch, + 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch, + 0001-service-Fix-dependencies-added-when-parsing-insserv..patch, + 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch, + crypt-loop-file.patch, + delay-fsck-cryptsetup-after-md-lvm-dmraid.patch, + dm-lvm-after-local-fs-pre-target.patch, fastboot-forcefsck.patch, + fix-enable-disable-boot-initscript.patch, modules_on_boot.patch, + new-lsb-headers.patch, storage-after-cryptsetup.patch, + support-suse-clock-sysconfig.patch, support-sysvinit.patch, + sysctl-modules.patch, systemd-numlock-suse.patch, tty1.patch. + +------------------------------------------------------------------- +Thu Aug 23 11:11:25 CEST 2012 - fcrozat@suse.com + +- Add use_localtime.patch: use /etc/localtime instead of + /etc/timezone (bnc#773491) +- Add support-suse-clock-sysconfig.patch: read SUSE + /etc/sysconfig/clock file. +- Add drop-timezone.patch: drop support for /etc/timezone, never + supported on openSUSE. +- Add journalctl-pager-improvement.patch: better handle output when + using pager. +- Add fix-enable-disable-boot-initscript.patch: support boot.* + initscripts for systemctl enable /disable (bnc#746506). + +------------------------------------------------------------------- +Mon Jul 30 11:37:17 UTC 2012 - fcrozat@suse.com + +- Ensure systemd macros never fails (if systemd isn't install) + +------------------------------------------------------------------- +Mon Jul 23 08:28:15 UTC 2012 - fcrozat@suse.com + +- Add fix-analyze-exception.patch: prevent exception if running + systemd-analyze before boot is complete (bnc#772506) + +------------------------------------------------------------------- +Fri Jul 20 19:24:08 CEST 2012 - sbrabec@suse.cz + +- Fix NumLock detection/set race condition (bnc#746595#c47). + +------------------------------------------------------------------- +Wed Jul 18 13:14:37 UTC 2012 - fcrozat@suse.com + +- Move systemd-analyse to a subpackage, to remove any python + dependencies from systemd main package (bnc#772039). + +------------------------------------------------------------------- +Tue Jul 10 16:48:20 UTC 2012 - fcrozat@suse.com + +- Add fastboot-forcefsck.patch: ensure fastboot and forcefsck on + kernel commandline are handled. +- Add fix-write-user-state-file.patch: write logind state file + correctly. +- Disable logind-logout.patch: cause too many issues (bnc#769531). + +------------------------------------------------------------------- +Mon Jul 9 11:01:20 UTC 2012 - fcrozat@suse.com + +- Add fix-tty-startup.patch: don't limit tty VT to 12 (bnc#770182). + +------------------------------------------------------------------- +Tue Jul 3 20:07:47 CEST 2012 - sbrabec@suse.cz + +- Fix SUSE specific sysconfig numlock logic for 12.2 (bnc#746595). + +------------------------------------------------------------------- +Tue Jul 3 17:58:39 CEST 2012 - fcrozat@suse.com + +- Add fix-dir-noatime-tmpfiles.patch: do not modify directory + atime, which was preventing removing empty directories + (bnc#751253, rh#810257). +- Add improve-restart-behaviour.patch: prevent deadlock during + try-restart (bnc#743218). +- Add journal-bugfixes.patch: don't crash when rotating journal + (bnc#768953) and prevent memleak at rotation time too. +- Add ulimit-support.patch: add support for system wide ulimit + (bnc#744818). +- Add change-terminal.patch: use vt102 instead of vt100 as terminal + for non-vc tty. +- Package various .wants directories, which were no longer packaged + due to plymouth units being removed from systemd package. +- Fix buildrequires for manpages build. + +------------------------------------------------------------------- +Mon Jul 2 15:44:28 UTC 2012 - fcrozat@suse.com + +- Do not ship plymouth units, they are shipped by plymouth package + now (bnc#769397). +- Fix module loading (bnc#769462) + +------------------------------------------------------------------- +Thu Jun 7 13:14:40 UTC 2012 - fcrozat@suse.com + +- Add fix-swap-priority: fix default swap priority (bnc#731601). + +------------------------------------------------------------------- +Fri May 25 11:08:27 UTC 2012 - fcrozat@suse.com + +- Re-enable logind-logout.patch, fix in xdm-np PAM file is the real + fix. + +------------------------------------------------------------------- +Thu May 24 11:45:54 UTC 2012 - fcrozat@suse.com + +- Update new-lsb-headers.patch to handle entries written after + description tag (bnc#727771, bnc#747931). + +------------------------------------------------------------------- +Thu May 3 11:40:20 UTC 2012 - fcrozat@suse.com + +- Disable logind-logout.patch: it crashes sudo session (if called + after su -l) (bnc#746704). + +------------------------------------------------------------------- +Tue Apr 24 15:46:54 UTC 2012 - fcrozat@suse.com + +- Add fix-getty-isolate.patch: don't quit getty when changing + runlevel (bnc#746594) + +------------------------------------------------------------------- +Fri Apr 20 17:16:37 CEST 2012 - sbrabec@suse.cz + +- Implemented SUSE specific sysconfig numlock logic (bnc#746595). + +------------------------------------------------------------------- +Thu Apr 19 10:07:47 UTC 2012 - fcrozat@suse.com + +- Add dbus-1 as BuildRequires to fix build. + +------------------------------------------------------------------- +Tue Apr 3 09:37:09 UTC 2012 - dvaleev@suse.com + +- apply ppc patch to systemd-gtk too (fixes build) + +------------------------------------------------------------------- +Thu Mar 22 08:47:36 UTC 2012 - fcrozat@suse.com + +- Update fixppc.patch with upstream patches +- Add comments from upstream in + 0001-util-never-follow-symlinks-in-rm_rf_children.patch. +- Add logind-logout.patch: it should fix sudo / su with pam_systemd + (bnc#746704). + +------------------------------------------------------------------- +Mon Mar 19 14:07:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-add-sparse-support-to-detect-endianness-bug.patch: fix + endianness error, preventing journal to work properly on ppc. +- Add fixppc.patch: fix build and warnings on ppc. + +------------------------------------------------------------------- +Mon Mar 19 10:11:23 UTC 2012 - fcrozat@suse.com + +- Add 0001-util-never-follow-symlinks-in-rm_rf_children.patch: fix + CVE-2012-1174 (bnc#752281). + +------------------------------------------------------------------- +Fri Mar 16 09:21:54 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + Support optional initialization of the machine ID from the KVM + or container configured UUID. + + Support immediate reboots with "systemctl reboot -ff" + + Show /etc/os-release data in systemd-analyze output + + Many bugfixes for the journal, including endianess fixes and + ensuring that disk space enforcement works + + non-UTF8 strings are refused if used in configuration and unit + files. + + Register Mimo USB Screens as suitable for automatic seat + configuration + + Reorder configuration file lookup order. /etc now always + overrides /run. + + manpages for journal utilities. +- Drop fix-c++-compat.patch, no-tmpfs-fsck.patch, + systemd-journald-fix-endianess-bug.patch. +- Requires util-linux >= 2.21 (needed to fix fsck on tmpfs). + +------------------------------------------------------------------- +Mon Mar 12 08:50:36 UTC 2012 - fcrozat@suse.com + +- Add fix-c++-compat.patch: fix C++ compatibility error in header. + +------------------------------------------------------------------- +Wed Feb 29 13:22:17 UTC 2012 - fcrozat@suse.com + +- Add systemd-journald-fix-endianess-bug.patch: fix journald not + starting on ppc architecture. +- Add correct_plymouth_paths_and_conflicts.patch: ensure plymouth + is correctly called and conflicts with bootsplash. + +------------------------------------------------------------------- +Tue Feb 21 08:58:31 UTC 2012 - fcrozat@suse.com + +- Remove rsyslog listen.conf, handled directly by rsyslog now + (bnc#747871). + +------------------------------------------------------------------- +Mon Feb 20 13:33:45 UTC 2012 - fcrozat@suse.com + +- Update to version 43: + + requires /etc/os-release, support for /etc/SuSE-release is no + longer present. + + Track class of PAM logins to distinguish greeters from normal + user logins. + + Various bug fixes. + +------------------------------------------------------------------- +Sun Feb 19 07:56:05 UTC 2012 - jengelh@medozas.de + +- Use pkgconfig symbols for BuildRequires and specify version + +------------------------------------------------------------------- +Fri Feb 17 09:22:50 UTC 2012 - tittiatcoke@gmail.com + +- Enable Plymouth integration. + * Bootsplash related files will be moved to the bootsplash + package + +------------------------------------------------------------------- +Mon Feb 13 12:11:17 UTC 2012 - fcrozat@suse.com + +- Update to version 42: + + Various bug fixes + + Watchdog support for supervising services is now usable + + Service start rate limiting is now configurable and can be + turned off per service. + + New CanReboot(), CanPowerOff() bus calls in systemd-logind +- Dropped fix-kmod-build.patch, fix-message-after-chkconfig.patch, + is-enabled-non-existing-service.patch (merged upstream) +- Add libxslt1 / docbook-xsl-stylesheets as BuildRequires for + manpage generation + +------------------------------------------------------------------- +Thu Feb 9 16:19:38 UTC 2012 - fcrozat@suse.com + +- Update to version 41: + + systemd binary is now installed in /lib/systemd (symlink for + /bin/systemd is available now) + + kernel modules are now loaded through libkmod + + Watchdog support is now useful (not complete) + + new kernel command line available to set system wide + environment variable: systemd.setenv + + journald capabilities set is now limited + + SIGPIPE is ignored by default. This can be disabled with + IgnoreSIGPIPE=no in unit files. +- Add fix-kmod-build.patch: fix build with libkmod +- Drop remote-fs-after-network.patch (merged upstream) +- Add dm-lvm-after-local-fs-pre-target.patch: ensure md / lvm + /dmraid is started before mounting partitions, if fsck was + disabled for them (bnc#733283). +- Update lsb-header patch to correctly disable heuristic if + X-Systemd-RemainAfterExit is specified (whatever its value) +- Add fix-message-after-chkconfig.patch: don't complain if only + sysv services are called in systemctl. +- Add is-enabled-non-existing-service.patch: fix error message when + running is-enabled on non-existing service. + +------------------------------------------------------------------- +Tue Feb 7 14:43:58 UTC 2012 - fcrozat@suse.com + +- Update to version 40: + + reason why a service failed is now exposed in the"Result" D-Bus + property. + + Rudimentary service watchdog support (not complete) + + Improve bootcharts, by immediatly changing argv[0] after + forking to to reflect which process will be executed. + + Various bug fixes. +- Add remote-fs-after-network.patch and update insserv patch: + ensure remote-fs-pre.target is enabled and started before network + mount points (bnc#744293). +- Ensure journald doesn't prevent syslogs to read from /proc/kmsg. + +------------------------------------------------------------------- +Tue Jan 31 13:40:51 CET 2012 - fcrozat@suse.com + +- Ensure systemd show service status when started behind bootsplash + (bnc#736225). +- Disable core dump redirection to journal, not stable atm. + +------------------------------------------------------------------- +Thu Jan 26 16:00:27 UTC 2012 - fcrozat@suse.com + +- Update modules_on_boot.patch to not cause failed state for + systemd-modules-load.service (bnc#741481). + +------------------------------------------------------------------- +Wed Jan 25 10:37:06 UTC 2012 - fcrozat@suse.com + +- Update to version 39: + + New systemd-cgtop tool to show control groups by their resource + usage. + + Linking against libacl for ACLs is optional again. + + If a group "adm" exists, journal files are automatically owned + by them, thus allow members of this group full access to the + system journal as well as all user journals. + + The journal now stores the SELinux context of the logging + client for all entries. + + Add C++ inclusion guards to all public headers. + + New output mode "cat" in the journal to print only text + messages, without any meta data like date or time. + + Include tiny X server wrapper as a temporary stop-gap to teach + XOrg udev display enumeration (until XOrg supports udev + hotplugging for display devices). + + Add new systemd-cat tool for executing arbitrary programs with + STDERR/STDOUT connected to the journal. Can also act as BSD + logger replacement, and does so by default. + + Optionally store all locally generated coredumps in the journal + along with meta data. + + systemd-tmpfiles learnt four new commands: n, L, c, b, for + writing short strings to files (for usage for /sys), and for + creating symlinks, character and block device nodes. + + New unit file option ControlGroupPersistent= to make cgroups + persistent. + + Support multiple local RTCs in a sane way. + + No longer monopolize IO when replaying readahead data on + rotating disks. + + Don't show kernel threads in systemd-cgls anymore, unless + requested with new -k switch. +- Drop systemd-syslog_away_early_on_shutdown.patch: fixed upstream. +- Add fdupes to BuildRequires and use it at build time. + +------------------------------------------------------------------- +Thu Jan 19 13:47:39 UTC 2012 - tittiatcoke@gmail.com + +- Make the systemd journal persistent by creating the + /var/log/journal directory + +------------------------------------------------------------------- +Wed Jan 18 09:03:51 UTC 2012 - tittiatcoke@gmail.com + +- Update to version 38 : + - Bugfixes + - Implementation of a Journal Utility Library + - Implementation of a 128 Bit ID Utility Library +- 11 Patches integrated upstream +- Add systemd-syslog_away_early_on_shutdown.patch: make sure + syslog socket goes away early during shutdown. +- Add listen.conf for rsyslog. This will ensure that it will still + work fine with rsyslog and the new journal. + +------------------------------------------------------------------- +Mon Jan 9 17:01:22 UTC 2012 - fcrozat@suse.com + +- Add fix-is-enabled.patch: ensure systemctl is-enabled work + properly when systemd isn't running. +- Add logind-console.patch: do not bail logind if /dev/tty0 doesn't + exist (bnc#733022, bnc#735047). +- Add sysctl-modules.patch: ensure sysctl is started after modules + are loaded (bnc#725412). +- Fix warning in insserv patch. +- Update avoid-random-seed-cycle.patch with better upstream + approach. +- Update storage-after-cryptsetup.patch to restart lvm before + local-fs.target, not after it (bnc#740106). +- Increase pam-config dependency (bnc#713319). + +------------------------------------------------------------------- +Wed Dec 7 15:15:07 UTC 2011 - fcrozat@suse.com + +- Remove storage-after-cryptsetup.service, add + storage-after-cryptsetup.patch instead to prevent dependency + cycle (bnc#722539). +- Add delay-fsck-cryptsetup-after-md-lvm-dmraid.patch: ensure + fsck/cryptsetup is run after lvm/md/dmraid have landed + (bnc#724912). +- Add cron-tty-pam.patch: Fix cron filling logs (bnc#731358). +- Add do_not_warn_pidfile.patch: Fix PID warning in logs + (bnc#732912). +- Add mount-swap-log.patch: Ensure swap and mount output is + redirected to default log target (rhb#750032). +- Add color-on-boot.patch: ensure colored status are displayed at + boot time. +- Update modules_on_boot.patch to fix bnc#732041. +- Replace private_tmp_crash.patch with log_on_close.patch, better + upstream fix for bnc#699829 and fix bnc#731719. +- Update vconsole patch to fix memleaks and crash (bnc#734527). +- Add handle-racy-daemon.patch: fix warnings with sendmail + (bnc#732912). +- Add new-lsb-headers.patch: support PIDFile: and + X-Systemd-RemainAfterExit: header in initscript (bnc#727771). +- Update bootsplash services to not start if vga= is missing from + cmdline (bnc#727771) +- Add lock-opensuse.patch: disable /var/lock/{subsys,lockdev} and + change default permissions on /var/lock (bnc#733523). +- Add garbage_collect_units: ensure error units are correctly + garbage collected (rhb#680122). +- Add crypt-loop-file.patch: add support for crypt file loop + (bnc#730496). + +------------------------------------------------------------------- +Sat Nov 19 15:40:38 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Fri Nov 4 14:44:18 UTC 2011 - fcrozat@suse.com + +- Fix rpm macros to only call presets on initial install + (bnc#728104). + +------------------------------------------------------------------- +Thu Oct 27 13:39:03 UTC 2011 - fcrozat@suse.com + +- Add no-tmpfs-fsck.patch: don't try to fsck tmpfs mountpoint + (bnc#726791). + +------------------------------------------------------------------- +Wed Oct 19 13:18:54 UTC 2011 - fcrozat@suse.com + +- Add avoid-random-seed-cycle.patch: fix dependency cycle between + cryptsetup and random-seed-load (bnc#721666). +- Add crash-isolating.patch: fix crash when isolating a service. +- Fix bootsplash being killed too early. +- Fix some manpages not being redirected properly. +- Add storage-after-cryptsetup.service to restart lvm after + cryptsetup. Fixes lvm on top of LUKS (bnc#724238). + +------------------------------------------------------------------- +Fri Oct 14 13:07:07 UTC 2011 - fcrozat@suse.com + +- Recommends dbus-1-python, do not requires python (bnc#716939) +- Add private_tmp_crash.patch: prevent crash in debug mode + (bnc#699829). +- Add systemctl-completion-fix.patch: fix incorrect bash completion + with some commands (git). + +------------------------------------------------------------------- +Wed Oct 12 13:21:15 UTC 2011 - fcrozat@suse.com + +- Shadow single sysv service, it was breaking runlevel 1. +- Add modules_on_boot.patch to handle /etc/sysconfig/kernel + MODULES_ON_BOOT variable (bnc#721662). + +------------------------------------------------------------------- +Wed Oct 12 08:38:36 UTC 2011 - fcrozat@suse.com + +- Update to release 37: + - many bugfixes + - ConditionCapability added, useful for containers. + - locale mechanism got extend to kbd configuration for + both X and the console + - don't try to guess PID for SysV services anymore (bnc#723194) +- Drop detect-non-running.patch, logind-warning.patch. +- Rewrite systemd-sysv-convert in bash (bnc#716939) +------------------------------------------------------------------- +Tue Oct 11 13:57:32 UTC 2011 - coolo@suse.com + +- make sure updaters get in the /sbin/init from here - the sub package + of the split package will decide which init wins in update case + +------------------------------------------------------------------- +Tue Oct 11 13:10:27 UTC 2011 - coolo@suse.com + +- under openSUSE if it's not systemd, chances are good it's + sysvinit + +------------------------------------------------------------------- +Tue Oct 11 11:07:02 UTC 2011 - coolo@suse.com + +- do not list specific sbin_init providers + +------------------------------------------------------------------- +Wed Oct 5 16:18:48 UTC 2011 - fcrozat@suse.com + +- Add logind-warning.patch: fix pam warning (bnc#716384) + +------------------------------------------------------------------- +Fri Sep 30 13:55:31 UTC 2011 - fcrozat@suse.com + +- Update to version 36 : + - many bugfixes + - systemd now requires socket-activated syslog implementations + - After=syslog.target is no longer needed in .service files + - X-Interactive is ignored in LSB headers (was not working) +- Enable back insserv.conf parsing in systemd core and fix added + dependencies (bnc#721428). +- Fix detection of LSB services status when running daemon + (bnc#721426). +- Drop 0001-execute-fix-bus-serialization-for-commands.patch, + fix-reload.patch + +------------------------------------------------------------------- +Thu Sep 29 16:08:33 UTC 2011 - fcrozat@suse.com + +- Add services to stop bootsplash at end of startup and start it at + beginning of shutdown. +- Fix bootsplash call and ensure dependencies are set right. + +------------------------------------------------------------------- +Thu Sep 29 13:43:00 UTC 2011 - fcrozat@suse.com + +- Add detect-non-running.patch: fix assertion when running + systemctl under non systemd system (git). +- Requires presets branding package. +- Improve macros a little bit. + +------------------------------------------------------------------- +Mon Sep 26 14:52:46 UTC 2011 - fcrozat@suse.com + +- Merge migration rpm macros into service_add/service_del macros. +- Use systemd presets in rpm macros +- Add fix-reload.patch: handle daemon-reload and start condition + properly (bnc#719221). + +------------------------------------------------------------------- +Fri Sep 23 15:39:03 UTC 2011 - fcrozat@suse.com + +- Add systemd-splash / bootsplash-startup.service: enable + bootsplash at startup. + +------------------------------------------------------------------- +Fri Sep 16 15:54:54 UTC 2011 - fcrozat@suse.com + +- Create -32bit package (bnc#713319) + +------------------------------------------------------------------- +Mon Sep 12 08:33:04 UTC 2011 - fcrozat@suse.com + +- Do not mask localnet service, it is not yet handled by systemd. + (bnc#716746) + +------------------------------------------------------------------- +Fri Sep 9 09:28:54 UTC 2011 - fcrozat@suse.com + +- Add revert_insserv_conf_parsing.patch and systemd-insserv_conf: + remove insserv.conf parsing from systemd and use generator + instead. +- put back default.target creation at package install and remove + inittab generator, Yast2 is now able to create it. + +------------------------------------------------------------------- +Thu Sep 1 09:25:40 UTC 2011 - fcrozat@novell.com + +- Update to version 34: + * Bugfixes + * optionaly apply cgroup attributes to cgroups systemd creates + * honour sticky bit when trimming cgroup trees + * improve readahead +- Add libacl-devel as BuildRequires (needed for systemd-uaccess) +- Add some %{nil} to systemd.macros to fix some build issues. +- Fix dbus assertion +- move gtk part to its own package, to reduce bootstrapping + (bnc#713981). + +------------------------------------------------------------------- +Fri Aug 26 14:10:30 UTC 2011 - fcrozat@suse.com + +- Update compose_table patch to use two separate loadkeys call, + compose table overflows otherwise (spotted by Werner Fink). + +------------------------------------------------------------------- +Wed Aug 24 13:02:12 UTC 2011 - fcrozat@novell.com + +- Add tty1.patch: ensure passphrase are handled before starting + gettty on tty1. +- Add inittab generator, creating default.target at startup based + on /etc/inittab value. +- No longer try to create /etc/systemd/system/default.target at + initial package install (bnc#707418) +- Fix configuration path used for systemd user manager. +- Ensure pam-config output is no display in install script. +- Remove buildrequires on vala, no longer needed. + +------------------------------------------------------------------- +Fri Aug 19 15:29:49 UTC 2011 - fcrozat@suse.com + +- Handle disable_capslock, compose table and kbd_rate +- Add rpm macros.systemd file. +- Do not disable klogd, it has its own service now. +- Handle kexec correctly (bnc#671673). +- Disable preload services, they are conflicting with systemd. + +------------------------------------------------------------------- +Fri Aug 19 08:15:15 UTC 2011 - fcrozat@suse.com + +- enable pam_systemd module, using pam-config. + +------------------------------------------------------------------- +Thu Aug 18 07:31:12 UTC 2011 - aj@suse.de + +- Fix crash with systemctl enable. + +------------------------------------------------------------------- +Tue Aug 16 17:02:27 UTC 2011 - fcrozat@suse.com + +- Fix localfs.service to no cause cycle and starts it after + local-fs.target. + +------------------------------------------------------------------- +Thu Aug 4 15:59:58 UTC 2011 - fcrozat@suse.com + +- Remove root-fsck.patch, mkinitrd will use the same path as + dracut. +- Add systemd-cryptsetup.patch: don't complain on "none" option in + crypttab. +- Add systemd-cryptsetup-query.patch: block boot until passphrase + is typed. + +------------------------------------------------------------------- +Wed Aug 3 16:03:25 UTC 2011 - fcrozat@suse.com + +- Add root-fsck.patch: do not run fsck on / if it is rw +- Ship a non null localfs.service, fixes static mount points not + being mounted properly. + +------------------------------------------------------------------- +Wed Aug 3 07:11:33 UTC 2011 - aj@suse.de + +- Update to version 33: + * optimizations and bugfixes. + * New PrivateNetwork= service setting which allows you to shut off + networking for a specific service (i.e. all routable network + interfaces will disappear for that service). + * Merged insserv-parsing.patch and bash-completion-restart.patch + patches. + +------------------------------------------------------------------- +Tue Aug 2 08:29:30 UTC 2011 - fcrozat@suse.com + +- Add insserv-parsing.patch: read/parse insserv.conf. +- Add bash-completion-restart.patch: fix restart service list + (bnc#704782). + +------------------------------------------------------------------- +Mon Aug 1 09:04:53 UTC 2011 - aj@suse.de + +- Split up devel package. +- restart logind after upgrade. +- Adjust rpmlintrc for changes. + +------------------------------------------------------------------- +Fri Jul 29 10:48:20 UTC 2011 - aj@suse.de + +- Update to version 32: + * bugfixes + * improve selinux setup + +------------------------------------------------------------------- +Thu Jul 28 07:27:32 UTC 2011 - aj@suse.de + +- Update to version 31: + * rewrite of enable/disable code: New features systemctl --runtime, + systemctl mask, systemctl link and presets. + * sd-daemon is now shared library. + +------------------------------------------------------------------- +Tue Jul 19 11:56:43 UTC 2011 - aj@suse.de + +- Update to version 30: + + Logic from pam_systemd has been moved to new systemd-login. + + VT gettys are autospawn only when needed + + Handle boot.local/halt.local on SUSE distribution + + add support for systemctl --root + +------------------------------------------------------------------- +Wed Jun 29 12:54:24 UTC 2011 - fcrozat@suse.com + +- Make sure to not start kbd initscript, it is handled by systemd + natively. + +------------------------------------------------------------------- +Fri Jun 17 09:34:24 UTC 2011 - fcrozat@novell.com + +- version 29: + + enable chkconfig support in systemctl for openSUSE. + + systemctl: plug a leak upon create_symlink mismatch + + mount /run without MS_NOEXEC + + dbus: fix name of capability property + + systemctl: fix double unref of a dbus message + + cryptsetup-generator: fix /etc/cryptsetup options + + selinux: selinuxfs can be mounted on /sys/fs/selinux + + readahead-common: fix total memory size detection + + systemctl: fix 'is-enabled' for native units under /lib + + systemctl: fix a FILE* leak + + pam-module: add debug= parameter + + remote-fs.target: do not order after network.target +- update tarball url. + +------------------------------------------------------------------- +Wed Jun 15 10:00:29 UTC 2011 - saschpe@suse.de + +- Use RPM macros instead of $RPM_FOO variables +- Don't require %{version}-%{release} of the base package, + %{version} is sufficient + +------------------------------------------------------------------- +Tue Jun 14 15:10:41 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - mount /run without MS_NOEXEC + - readahead-common: fix total memory size detection + - enable chkconfig support in systemctl for openSUSE + - selinux: selinuxfs can be mounted on /sys/fs/selinux + - cryptsetup-generator: fix /etc/cryptsetup options + - systemctl: fix double unref of a dbus message +- drop merged chkconfig patch + +------------------------------------------------------------------- +Tue Jun 14 12:39:25 UTC 2011 - fcrozat@novell.com + +- Add sysv chkconfig patch to be able to enable / disable sysv + initscripts with systemctl. +- Ensure plymouth support is buildable conditionnally. + +------------------------------------------------------------------- +Thu May 26 21:16:06 CEST 2011 - kay.sievers@novell.com + +- version 28 + - drop hwclock-save.service + - fix segfault when a DBus message has no interface + - man: update the list of unit search locations + - readahead-collect: ignore EACCES for fanotify + - rtc in localtime: use settimeofday(NULL, tz) + instead of hwclock(8) + +------------------------------------------------------------------- +Sat May 21 23:57:30 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - fix crash in D-Bus code + +------------------------------------------------------------------- +Sat May 21 18:17:59 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - socket: always use SO_{RCV,SND}BUFFORCE to allow larger values + - util: use new VT ESC sequence to clear scrollback buffer + - sd-daemon: move _sd_hidden_ from .h to .c file + - missing: add IP_TRANSPARENT + +------------------------------------------------------------------- +Sat May 21 16:17:38 CEST 2011 - kay.sievers@novell.com + +- version 27 + - util: use open_terminal() in chvt() too + - socket: expose SO_BROADCAST + - git: add .mailmap + - exec: expose tty reset options in dbus introspection data + - socket: expose IP_TRANSPARENT + - exec: hangup/reset/deallocate VTs in gettys + - socket: use 666 socket mode by default since neither fifos, + nor sockets, nor mqueues need to be executable + - socket: add POSIX mqueue support + - README: document relation to nss-myhostname + - hostnamed: check that nss-myhostname is installed + +------------------------------------------------------------------- +Tue May 17 19:15:17 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - sysctl: apply /etc/sysctl.conf last + - systemd-analyze: print hostname, kernelversion and arch at + the top of the plot + - pam: downgrade a few log msgs + - hostnamed: SetPrettyHostname() should check PK action + org.freedesktop.hostname1.set-static-hostname + - user-sessions: ignore EROFS when unlinking /etc/nologin if + the file doesn't exist anyway + - unit: make ignoring in snapshots a per unit property, + instead of a per unit type property + - vconsole: use open_terminal() instead of open() + - units: enable automount units only if the kernel supports them + +------------------------------------------------------------------- +Thu May 5 07:45:46 UTC 2011 - coolo@opensuse.org + +- remove policy filter + +------------------------------------------------------------------- +Thu May 5 08:59:46 CEST 2011 - meissner@suse.de + +- add missing buildrequires dbus-1-devel, vala, libxslt-devel +- touch vala files for rebuilding to unbreak Factory + +------------------------------------------------------------------- +Mon May 2 23:05:35 CEST 2011 - kay.sievers@novell.com + +- also delete plymouth files + +------------------------------------------------------------------- +Mon May 2 19:00:41 CEST 2011 - kay.sievers@novell.com + +- disable plymouth sub-package until plymouth gets into Factory + +------------------------------------------------------------------- +Sun May 1 22:51:28 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - binfmt, modules-load, sysctl, tmpfiles: add missing + ConditionDirectoryNotEmpty= + - binfmt, modules-load, sysctl, tmpfiles: read /usr/local/lib + and where appropriate /lib directories + +------------------------------------------------------------------- +Sat Apr 30 04:56:55 CEST 2011 - kay.sievers@novell.com + +- version 26 + - plymouth: introduce plymouth.enable=0 kernel command line + - util: don't AND cx with cx + - man: typo in sd_daemon reference + - util: conf_files_list() return list as parameter + - dbus: make daemon reexecution synchronous + +------------------------------------------------------------------- +Thu Apr 28 14:07:12 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - service: properly notice when services with a main process + that isn't a child of init die + - unit: fix assert when trying to load unit instances for + uninstanciable types + - def: lower default timeout to 90s + - manager: fix serialization counter + +------------------------------------------------------------------- +Wed Apr 27 04:19:05 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't hit assert when dumping properties + - cryptsetup: fix keyfile size option processing + - socket: improve warning message when we get POLLHUP + - mount: failure to mount cgroup hierarchies should not be fatal + - configure: add AC_SYS_LARGEFILE + +------------------------------------------------------------------- +Mon Apr 25 21:45:02 CEST 2011 - kay.sievers@novell.com + +- new snapshot + - tmpfiles.d: switch to stacked config dirs in /lib, /etc, /run + - sysctl.d, binfmt.d, modules-load.d: switch to stacked config + dirs in /lib, /etc, /run + - manager: mkdir /run/systemd/system when starting up + - man: Spelling fixes + +------------------------------------------------------------------- +Thu Apr 21 04:39:57 CEST 2011 - kay.sievers@novell.com + +- version 25 + - mount: Allow creating mount units for /var/lib/nfs/rpc_pipefs + and /proc/fs/nfsd. + - socket: support ListeSpecial= sockets + - vconsole: don't set console font/keymap if settings are empty + - nspawn: don't fail when we receive SIGCHLD + - cgroup: don't accidentaly trim on reload + - units: set capability bounding set for syslog services + - socket: log more information about invalid poll events + - man: fix specification of default timeouts + - mount,crypto: rework meaning of noauto/nofail + - fsck: don't fsck against basic.target in order to properly + allow automount /home + - manager: when running in test mode, do not write generated + unit files to /run/systemd/generator + - mount: properly parse timeouts options in the middle of + the string + - hostnamed: drop all caps but CAP_SYS_ADMIN + - execute: when we run as PID 1 the kernel doesn't give us + CAP_SETPCAP by default. Get that temporarily when dropping + capabilities for good + - mount: make device timeout configurable + - cryptsetup: do not order crypto DM devices against the + cryptsetup service + - socket: reuse existing FIFOs + - socket: guarantee order in which sockets are passed to be + the one of the configuration file + - systemctl: always consider unit files with no + [Install] section but stored in /lib enabled + - job: also print status messages when we successfully started + a unit + - hostnamed: add reference to SMBIOS specs + - man: runlevel 5 is usually more comprehensive, so use it + instead of 3 to detect whether a sysv service is enabled + - polkit: follow the usual syntax for polkit actions + - hostnamed: introduce systemd-hostnamed + - units: order quotacheck after remount-rootfs + - hostname: split out hostname validation into util.c + - dbus: split out object management code into dbus-common, + and simplify it + - strv: properly override settings in env_append() + - strv: detect non-assignments in env blocks properly in + env_append() + - strv: handle empty lists in strv_copy() properly + - util: truncate newline inside of read_one_line_file() + - util: modernize get_parent_of_pid() a bit + - crypto: let the cryptsetup binary handles its own + configurable timeouts + - logger,initctl: use global exit timeout + - ask-password: use default timeout + - manager: drop all pending jobs when isolating + - manager: introduce IgnoreOnIsolate flag so that we can keep + systemd-logger around when isolating + - units: never pull in sysinit from utmp, so that we can + shutdown from emergency mode without pulling in sysinit + - manager: downgrade a few log messages + - units: require syslog.socket from the logger because we + simply fail if we don't have it + - logger: adjust socket description to match service + - units: set stdout of kmsg syslogd to /dev/null + - units: add --no-block when starting normal service after + shell exited + - ask-password: use kill(PID, 0) before querying a password + - ask-password: support passwords without timeouts + - ask-password: always send final NUL char + - ask-password: properly accept empty passwords from agent + - unit: skip default cgroup setup if we have no hierarchy + - units: isolate emergency.target instead of emergency.service + when we fail to mount all file systems + - mount: don't pull in stdio logger for root mount unit + - cgroup: be nice to Ingo Molnar + - pam: use /proc/self/sessionid only with CAP_AUDIT_CONTROL + - pam: use /proc/self/loginuid only with CAP_AUDIT_CONTROL + - socket: try creating a socket under our own identity if we + have no perms to consult the selinux database + - socket: fix check for SEQPACKET + - execute: don't fail if we cannot fix OOM in a container + - unit: fix dump output + - socket: be a bit more verbose when refusing to start a + socket unit + - socket: support netlink sockets + - local-fs: invoke emergency.service mounting at boot fails + - path: optionally, create watched directories in .path units + - tmpfiles: don't warn if two identical lines are configured + - man: add man page for ask-password + - dbus: expose monotonic timestamps on the bus + - manager: no need to use randomized generator dir when running + as system manager + - don't make up buffer sizes, use standard LINE_MAX instead + - unit: disallow configuration of more than one on_failure + dependencies if OnFailureIsolate= is on + - unit: pull in logger unit only when running in system mode + - manager: serialize/deserialize max job id and /usr taint flag + - manager: don't garbage collect jobs when isolating, to change + global state + - unit: introduce OnFailureIsolate= + - mount: relabel both before and after a mount, just in case + - cmdline: we actually want to parse the kernel cmdline in VMs, + just not in containers + - units: rename rtc-set.target to time-sync.target and pull it + in by hwclock-load.service + - job: fix deserialization of jobs: do not ignore ordering + - systemctl: properly parse JobNew signals + - service: fix units with more than one socket + - systemctl: make most operations NOPs in a chroot + - manager: don't show PID for incoming signals if it is 0 + - man: fix description of systemctl reload-or-try-restart + - mount: block creation of mount units for API file systems + - units: call the logger a bridge too + - build-sys: always place user units in /usr/lib/systemd + - pkgconfig: update .pc file accordingly + - lookup: always also look into /usr/lib for units + - exec: support unlimited resources + - selinux: relabel /run the same way as /dev after loading + the policy since they both come pre-filled and unlabelled + - manager: fd must be int, not char + - change remaining /var/run to /run + - units: move user units from /usr/share to /usr/lib since + they might be arch-dependent + - man: document /etc/sysctl.d/ + - binfmt: add binfmt tool to set up binfmt_misc at boot + - tmpfiles: create leading directories for d/D instructions + - condition: add ConditionSecurity + - load-fragment: unify config_parse_condition_{kernel, virt} + - condition: fix dumping of conditions + - initctl: /dev/initctl is a named pipe, not a socket + - kmsg-syslogd: pass facility value into kmsg + - move /var/lock to HAVE_SYSV_COMPAT + - tmpfiles: split off rules for legacy systems into legacy.conf + - general: replace a few uses of /var/run by /run + - tmpfiles: enforce new /var/lock semantics + - man: document ConditionPathIsDirectory= + - mount: also relabel pre-mounted API dirs + - log: don't strip facility when writing to kmsg + - build-sys: create a number of drop-in config dirs + - random: do not print warning if random seed doesn't exist + - plymouth: use PID file to detect whether ply is running + - build-sys: install systemd-analyze by default + - analyze: improve output + - analyze: add plotter + - unit: when deserializing do reconnect to dbus/syslog when + they show up + - analyze: beautify output a bit + - add systemd-analyze tool + - unit: don't override timestamps due to state changes when + deserializing + - plymouth: don't explicitly enable status message when + plymouth is up + - status: show status messages unconditionally if plymouth + is around + - taint: add missing cgroups taint flag + - locale: don't access misinitialized variable + - quota: do not pull in quota tools for mounts that do not + originate in neither /etc/fstab nor fragment files + - manager: fix taint check for /usr + - unit: never apply /etc/rcN.d/ priority to native services + - unit: fix parsing of condition-result + - unit: don't complain about failed units when deserializing + - exec: drop process group kill mode since it has little use + and confuses the user + - cgroup: explain when we cannot initialize the cgroup stuff + - systemctl: don't truncate description when using pager + - ask-password: also accept Backspace as first keypress as + silent mode switch + - unit: when deserializing jobs, don't pull in dependencies + - locale: fix LC_MESSAGES variable name + - plymouth: Remove the calls to plymouth message + - udev: systemd-tag all ttys + - tmpfiles fix /run/lock permissions + - ask-password: use TAB to disable asterisk password echo + - execute: socket isn't abstract anymore + - use /run instead of /dev/.run + - man: explain a couple of default dependencies + - mount: pull in quota services from local mountpoints with + usr/grpquota options + - service: pull in sysv facility targets from the sysv units, + not the other way round + - units: pull in syslog.target from syslog.socket + - units: don't ever pull in SysV targets from other SysV + targets + - units: document that some targets exists only for compat + with SysV + - man: document pidns containers + - units: deemphesize Names= settings, and explain why nobody + whould use them + - units: on mandriva/fedora create single.service alias via + symlink, not Names= + - units: get rid of runlevel Names=, the symlinks in + /lib/systemd/system are much more useful + - rework syslog detection so that we need no compile-time + option what the name of the syslog implementation is + - man: document .requires/ directories + - special: get rid of dbus.target + - exec: properly apply capability bounding set, add inverted + bounding sets + - dbus: add service D-Bus property "Sockets" + - dbus: consolidate service SysV conditionals + - unit: serialize condition test results + - def: centralize definition of default timeout in one place + - chkconfig: check against runlevel 5 instead of 3, since it is + a superset of the latter + - systemctl: accept condstop as alias for stop + - dbus: allow LoadUnit to unprivileged users + - umount: make sure skip_ro is always correctly initialized +- create /run (link it to /var/run) +- refresh splash password patch +- conflict with old mkinitrd version (we need /run) +- conflict with old udev (we need /run) + +------------------------------------------------------------------- +Wed Mar 16 18:38:04 CET 2011 - kay.sievers@novell.com + +- new snapshot + - man: fix systemctl try-restart description + - Add Frugalware display-manager service + - main: revert recognition of "b" argument + - main: interpret all argv[] arguments unconditionally when + run in a container + - loopback: downgrade an error to warning + - nspawn: bind mount /etc/localtime + - nspawn: make tty code more robust against closed/reopened + /dev/console + - util: make touched files non-writable by default + - nspawn: allocate a new pty instead of passing ours through + to avoid terminal settings chaos + - main: parse the whole arv[] as kernel command line + - main: check if we have a valid PID before getting the name + - ask-password: reset signal mask after we are done + - cgroup: don't recheck all the time whether the systemd + hierarchy is mounted, to make strace outputs nicer and save + a few stat()s + - man: document systemd-nspawn + - cgls: don't strip user processes and kernel threads from + default output + - umount: don't try to remount bind mounts ro during shutdown + - getty: move automatic serial getty logic into generator + - container: skip a few things when we are run in a container + such as accessing /proc/cmdline + - cgls: by default start with group of PID 1 + - pam: determine user cgroup tree from cgroup of PID 1 + - nspawn: move container into its own name=systemd cgroup + - manager: don't show kernel boot-up time for containers + - manager: show who killed us + - units: add console-shell.service which can be used insted of + the gettys to get a shell on /dev/console + +------------------------------------------------------------------- +Mon Mar 14 18:29:23 CET 2011 - kay.sievers@novell.com + +- new snapshot + - build-sys: move remaining tools from sbin/ to bin/ since they + might eventually be useful for user execution + - hostname: don't override the hostname with localhost if it + is already set and /etc/hostname unset + - audit: give up sending auditing messages when it failed due + to EPERM + - nspawn: don't require selinux on if it is compiled in + - main: remove AF_UNIX sockets before binding + - shutdown: print a nice message when terminating a container + - nspawn: mount /selinux if needed + - shutdown: just call exit() if we are in a container + - umount: assume that a non-existing /dev/loop device means it + is already detached + - socket: use 777 as default mode for sockets + - main: log to the console in a container + - main: don't parse /proc/cmdline in containers + - util: add detect_container() + - nspawn: reset environment and load login shell + - core: move abstract namespace sockets to /dev/.run + - nspawn: add simple chroot(1) like tool to execute commands + in a namespace container + - util: return exit status in wait_for_terminate_and_warn() + - util: properly identify pty devices by their major + +------------------------------------------------------------------- +Sat Mar 12 14:26:28 CET 2011 - kay.sievers@novell.com + +- new snapshot + - polkit: autogenerate polkit policy with correct paths + - systemctl: support remote and privileged systemctl access + via SSH and pkexec + - gnome-ask-password-agent: fix path to watch + +------------------------------------------------------------------- +Fri Mar 11 13:59:34 CET 2011 - kay.sievers@novell.com + +- fix broken sysctl.service linking + +------------------------------------------------------------------- +Fri Mar 11 01:39:41 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: move the last flag files to /dev/.run + - util: close all fds before freezing execution + - dbus: timeout connection setup + - main: properly handle -b boot option + - pam: do not leak file descriptor if flock fails +- disable sysv services natively provided by systemd + +------------------------------------------------------------------- +Thu Mar 10 14:16:50 CET 2011 - kay.sievers@novell.com + +- new snapshot + - main: refuse system to be started in a chroot + - main: don't check if /usr really is a mount point, since it is + fine if it is passed pre-mounted to us from the initrd + - condition: take a timestamp and store last result of conditions + - dev: use /dev/.run/systemd as runtime directory, instead of + /dev/.systemd + - machine-id: move machine-id-setup to /sbin + - pkconfig: export full search path as .pc variable + - selinux: bump up error level when in non-enforcing mode + - dbus: fix dbus assert due to uninitialized error + - dbus: properly generate UnknownInterface, UnknownProperty + and PropertyReadOnly errors + - mount: use /dev/.run as an early boot alias for /var/run + +------------------------------------------------------------------- +Tue Mar 8 19:06:45 UTC 2011 - kay.sievers@novell.com + +- version 20 + - service: prefix description with LSB only if script has LSB header, + use 'SysV:' otherwise + - unit: don't accidently create ordering links to targets when + default deps are off for either target and unit + - mount: support less cumbersome x-systemd-xxx mount options + - unit: distuingish mandatory from triggering conditions + - dbus: return DBUS_ERROR_UNKNOWN_OBJECT when an object + is unknown + - systemctl: when forwarding is-enabled to chkconfig + hardcode runlevel 3 + - job: introduce new job result code 'skipped' to use when pre + conditions of job did not apply + - job: convert job type as early as we can, to simplify things + - Keep emacs configuration in one configuration file. + - syslog: make sure the kmsg bridge is always pulled in and + never terminated automatically + - mount: make /media a tmpfs + +------------------------------------------------------------------- +Mon Mar 7 17:24:46 CET 2011 - kay.sievers@novell.com + +- new snapshot + - add org.freedesktop.DBus.Properies.Set method + - main: introduce /etc/machine-id + - systemctl: fix exit code when directing is-enabled + to chkconfig + - dbus: add 'Tainted' property to Manager object + - dbus: expose distribution name and features on manager + object as properties + - man: document changed EnvironmentFile= behaviour + - main: add link to wiki page with longer explanation of the + /usr madness + - execute: load environment files at time of execution, not + when we load the service configuration + - path: after installing inotify watches, recheck file again + to fix race + - path: don't use IN_ATTRIB on parent dirs when watching a + file, since those cannot be removed without emptying the dir + first anyway and we need IN_ATTRIB only to detect the link + count dropping to 0 + - kill: always send SIGCONT after SIGTERM + - readahead: disable collector automatically on read-only media + - sysctl: use scandir() instead of nftw() to guarantee + systematic ordering + - support DT_UNKNOWN where necessary for compat with reiserfs + - systemctl: always null-terminate the password +- call systemd-machine-id-setup at installation + +------------------------------------------------------------------- +Tue Mar 1 12:28:01 CET 2011 - kay.sievers@novell.com + +- version 19 + - udev: don't ignore non-encrypted block devices with no + superblock + - udev: expose ttyUSB devices too + - udev: mark hvc devices for exposure in systemd + - cryptsetup: add a terse help + - agent: don't print warnings if a password was removed or + timed out + - systemctl: shutdown agent explicitly so that it can reset + the tty properly + - never clean up a service that still has a process in it + - label: udev might be making changes in /dev while we + iterate through it + - systemctl: properly handle job results + - job: also trigger on-failure dependencies when jobs faile + due to dependencies, timeout + - job: when cancelling jobs, make sure to propagate this + properly to depending jobs + - job: start job timeout on enqueuing not when we start to + process a job + - unit: increase default timeout to 3min + - logger: leave the logger longer around and allow it do + handle more connections + - dbus: pass along information why a job failed when it + failed (dbus api change!) + - general: unify error code we generate on timeout + - units: synchronize gettys to plymouth even if plymouth is + killed by gdm + - job: start job timer when we begin running the job, not + already when we add it to the queue of jobs + - cryptsetup: try to show the mount point for a crypto disk + if we can + - rescue: terminate plymouth entirely when going into + rescue mode + - ask-password: fix handling of timeouts when waiting + for password + - ask-password: supported plymouth cached passwords + - main: print warning if /usr is on a seperate partition + - ensure we start not a single getty before plymouth is + gone because we never know which ttys plymouth still controls + - unit: introduce ConditionVirtualization= + +------------------------------------------------------------------- +Mon Feb 21 19:30:30 CET 2011 - kay.sievers@novell.com + +- new snapshot + - dbus: don't rely that timer/path units have an initialized + unit field (bnc#671561) + +------------------------------------------------------------------- +Mon Feb 21 13:58:51 CET 2011 - kay.sievers@novell.com + +- new snapshot + - order network mounts after network.target (bnc#672855) + +------------------------------------------------------------------- +Mon Feb 21 04:19:15 CET 2011 - kay.sievers@novell.com + +- new snapshot + - kmsg-syslogd: increase terminate timeout to 5min to generte + less debug spew + - shutdown(8) - call kexec if kexec kernel is loaded (bnc#671673) + - unit: don't timeout fsck + - man: fixed typo in SyslogIdentifier= + - tmpfiles: never clean up block devices + - main: refuse --test as root + +------------------------------------------------------------------- +Fri Feb 18 13:52:22 CET 2011 - kay.sievers@novell.com + +- new snapshot + - units: order fsck@.service before basic.target + instead of local-fs.target to relax things a little + - readahead: remove misleading error messages + - man: don't do more reloads than necessary in spec files + - util: retry opening a TTY on EIO + - util: beef up logic to find ctty name + - tmpfiles: kill double slashes in unix socket names +- drop vhangup patch, it is fixed in login(3) by forwarding the + SIGHUP to the child process + +------------------------------------------------------------------- +Fri Feb 18 09:33:55 UTC 2011 - coolo@novell.com + +- revert back to conflicts: sysvinit + +------------------------------------------------------------------- +Thu Feb 17 15:04:44 CET 2011 - werner@suse.de + +- Add temporary workaround for bnc#652633, that is do a vhangup + to all processes on a tty line used for a getty + +------------------------------------------------------------------- +Wed Feb 16 21:39:20 CET 2011 - kay.sievers@novell.com + +- version 18 + - systemctl: introduce --ignore-dependencies + - systemctl: introduce --failed to show only failed services + - systemctl: introduce --failed to show only failed services + - rescue: make 'systemctl default' fail if there is already + something running when the shell exited + - util: seperate welcome line from other output by empty lines + - manager: don't consider transaction jobs conflicting with + queued jobs redundant + - udev: ignore block devices which no known contents, to avoid + trying of mounts/swapons when devices aren't set up full yet + - swap: handle "nofail" from fstab + - mount,swap: properly add dependencies to logger if needed + - service: change default std output to inherit + - exec: introduce global defaults for the standard output + of services + - udev: use SYSTEMD_READY to mask uninitialized DM devices + - fsck: output to /dev/console by default in addition to syslog + - execute: optionally forward program output to /dev/console in + addition to syslog/kmsg + - socket: refuse socket activation for SysV services + - fsck: do not fail boot if fsck returns with an error code that + hasn't 2 or 6 set + - shutdown: execute all binaries in /lib/systemd/system-shutdown + as last step before invoking reboot() + - job: make status message printing more verbose + - cryptsetup: fix unit file description + - tmpfiles: never delete AF_UNIX sockets that are alive + - getty: don't parse console= anymore, use + /sys/class/tty/console/active instead + - properly resolve /dev/console if more than once console= + argument was passed on the kernel command line + - getty: do not auto-spawn getty's on VC ttys if console=ttyN + - fsck: skip root fsck if dracut already did it + - util: when determining the right TERM for /dev/console + consult /sys/class/tty/console/active + - pam: introduce whitelist and blacklist user list feature + - systemctl: minor optimizations + - systemctl: don't unnecessarily close stdin/stdout/stderr for + tty agent so that locking by tty works + - readahead: disable readahead in virtual machines + - tmpfiles: move binary to /bin to make it publicly available + - tmpfiles: take names of tmpfiles configuration files on the + command line + - tmpfiles: log to stderr if possible + - tmpfiles: support globs + - units: introduce and hook up sound.target + - dbus: allow all clients access to org.freedesktop.DBus.Peer + - consider udev devices with SYSTEMD_READY=0 as unplugged + - systemctl: don't start agent for --user + - systemctl: make sure the tty agent does not retain a copy + of stdio + +------------------------------------------------------------------- +Tue Feb 8 19:10:06 CET 2011 - kay.sievers@novell.com + +- new snapshot + - plymouth: move plymouth out of TARGET_FEDORA + - build-sys: fix AC_COMPILE_IFELSE tests + - build-sys: ensure selinux configure check follows logic of + other optional features + - build-sys: autodetect and use pkg-config for libselinux + - dbus: use ControlGroup as property name to match config option + - pam: optionally reset cgroup memberships for login sessions + - load-fragment: properly parse Nice= value + - automount: use unit_pending_inactive() where appropriate + +------------------------------------------------------------------- +Tue Feb 8 17:40:29 CET 2011 - jeffm@suse.de + +- Removed unecessary workaround for plymouth startup. + +------------------------------------------------------------------- +Fri Feb 4 21:24:11 CET 2011 - jeffm@suse.de + +- Split plymouth support into systemd-plymouth package. + +------------------------------------------------------------------- +Sat Jan 22 14:42:34 CET 2011 - kay.sievers@novell.com + +- new snapshot + - clang: fix some issues found with clang-analyzer + - gcc: make gcc shut up + +------------------------------------------------------------------- +Sat Jan 22 14:40:24 CET 2011 - kay.sievers@novell.com + +- version 17 + - vala 0.10 seem to work fine + - cryptsetup: fix ordering loop when dealing with encrypted + swap devices + - main: don't warn if /etc/mtab is a symlink to /proc/mounts + - socket: don't crash if the .service unit for a .socket unit + is not found + - mount: ignore if an fsck is requested for a bind mount, + so that we don't wait for the bind 'device' to show up + - automount: fix segfault when shutting down + - man: give an example for vconsole.conf + - dbus: don't try to connect to the system bus before it is + actually up + - service: make chain of main commands and control commands + independent of each other, so that both can be executed + simultaneously and independently + - service: don't allow reload operations for oneshot services + - vala: convert from dbus-glib to gdbus + - systemctl: highlight failed processes in systemctl status + - systemctl: show process type along process exit codes + - service: when reloading a service fails don't fail the entire + service but just the reload job + +------------------------------------------------------------------- +Wed Jan 19 12:55:40 CET 2011 - kay.sievers@novell.com + +- new snapshot + - shutdown: use correct kexec options + - serial-getty: do not invoke /sbin/securetty; recent + pam_securetty looks for console= in /proc/cmdline + - systemctl: before spawning pager cache number of columns + - pam: optionally keep processes of root user around + - service: if a reload operation fails, don't shut down + the service + - execute: make sending of SIGKILL on shutdown optional + - mount: do not translate uuids to lowercase + - man: document missing KillSignal= and swap options +- require recent util-linux +- drop mtab symlink creation which is done in util-linux + +------------------------------------------------------------------- +Sat Jan 8 19:25:40 CET 2011 - kay.sievers@novell.com + +- version 16 + - device: don't warn if we cannot bump the udev socket buffer + - logger: when passing on PID info, fall back to our own if + originating process is already gone + - service: don't hit an assert if information in LSB headers is + incorrectly formatted + - execute,util: fix two small memory leaks + - getty: unset locale before execution + - execute: drop empty assignments from env blocks on execution + but keep them around otherwise to make them visible + - umount: don't try to detach the dm device the root dir is on, + to minimize warning messages + - locale: fix variable names + - fragment: allow prefixing of the EnvironmentFile= + path with - to ignore errors + - util: don't pass invalid fd to fdopendir() on error to avoid + corruption of errno + - tmpfiles: nicer message when two or more conflicting lines + are configured for the same file + - fragment: properly handle quotes in assignments in + EnvironmentFile= files + - sysctl: don't warn if sysctls are gone + - readahead: ignore if files are removed during collection or + before replay + - serial: use TERM=vt100 instead of TERM=vt100-nav + - cryptsetup: call mkswap on dm device, not on source device + - mount-setup: mount /dev/pts with mode=620,gid=5 by default + and make GID overridable via configure switch + - systemctl: implement auto-pager a la git + - shutdown: drop redundant sync() invocation + - util: invoke sync() implicitly on freeze() + - tmpfiles: do no follow symlinks when cleaning up dirs + +------------------------------------------------------------------- +Tue Dec 28 22:08:28 CET 2010 - jeffm@suse.de + +- Add support for building plymouth support with openSUSE + +------------------------------------------------------------------- +Mon Dec 27 22:15:41 CET 2010 - kay.sievers@novell.com + +- new snapshot + - pam: do not sort user sessions into their own cgroups in + the 'cpu' hierarchy + - mount-setup: drop noexec flag from default mount options + for /dev/shm + - systemd.pc: change 'session' to 'user' + +------------------------------------------------------------------- +Thu Dec 16 16:52:04 CET 2010 - kay.sievers@novell.com + +- new snapshot + - ifdef suse-only sysv script lookup code + +------------------------------------------------------------------- +Thu Dec 16 12:49:00 UTC 2010 - seife@opensuse.org + +- add bootsplash handling patch to be able to enter e.g. + crypto passphrases (bnc#659885) + +------------------------------------------------------------------- +Thu Dec 9 18:54:15 CET 2010 - kay.sievers@novell.com + +- new snapshot + - add LSB 'smtp' alias for mail-transport-agent.target + +------------------------------------------------------------------- +Wed Dec 8 12:43:53 CET 2010 - kay.sievers@novell.com + +- new snapshot + - path: fix watching the root directory + - update README + +------------------------------------------------------------------- +Fri Nov 26 19:17:46 CET 2010 - kay.sievers@novell.com + +- new snapshot + - gnome-ask-password-agent: also support libnotify < 0.7 for now + - udev: increase event buffer size +- require fsck -l + +------------------------------------------------------------------- +Thu Nov 25 06:45:41 CET 2010 - kay.sievers@novell.com + +- version 15 + - dbus: use the right data slot allocator + - manager: bump up max number of units to 128K + - build-sys: allow cross-compilation +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Tue Nov 23 11:49:43 CET 2010 - kay.sievers@novell.com + +- new snapshot + - units: simplify shutdown scripts + - logger: fix error handling + - swap: order file-based swap devices after remount-rootfs +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Mon Nov 22 10:10:59 CET 2010 - kay.sievers@novell.com + +- new snapshot + - systemctl: don't return LSB status error codes for 'show' + - mount: do not try to mount disabled cgroup controllers + - man: document /etc/modules-load.d/, /etc/os-release, + locale.conf, /etc/vconsole.conf, /etc/hostname + - units: move a couple of units from base.target to + sysinit.target + - man: reorder things to follow the same order everywhere +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Sat Nov 20 19:58:14 CET 2010 - kay.sievers@novell.com + +- version 13 + - cryptsetup: actually show disk name + - cryptsetup: show udev device name when asking for password + - sysctl: implement native tool and support /etc/sysctl.d + - units: enable console ask-password agent by default + - introduce /etc/os-release distro description + - job: make sure we don't fail umount.target if a mount unit + failed to stop + - cgroup: after killing cgroup processes, ensure the group is + really dead gone. wait for 3s at max + - cgroup: if we couldn't remove a cgroup after killing + evertyhing in it then it's fine + - cryptsetup: automatically order crypt partitions before + cryptsetup.target + - man: trivial BindTo description fix + - manager: make list of default controllers configurable + - build: expose libcryptsetup dependency in build string + - pam: document controllers= switch + - cgroup: by default, duplicate service cgroup in the cpu hierarchy + - pam: duplicate cgroup tree in the cpu hierarchy by default, + optionally more +- enable native crypto handling instead of boot.crypto +- revert too new libnotify code/requirement +- revert fsck -l option requirement + +------------------------------------------------------------------- +Wed Nov 17 01:32:04 CET 2010 - kay.sievers@novell.com + +- version 12 + - ask-password: add --console mode to ask /dev/console +- revert too new libnotify code/requirement + +------------------------------------------------------------------- +Tue Nov 16 11:47:28 CET 2010 - kay.sievers@novell.com + +- new snapshot + - cryptsetup: reword questions a little + - units: order hwclock after readahead + - path: don't mention too many inotify msgs + - cryptsetup: include device name in password question + - cryptsetup: lock ourselves into memory as long as we deal + with passwords + - plymouth: use updated socket name + - units: set TERM for gettys again, since they acquire a TTY + - units: allow start-up of plymouth ask-password agent very early + - units: enable ask-paswword .path units early enough to be useful + for early mounts + - units: delay getty until logins are allowed + - pam: always rely on loginuid instead of uid to determine cgroup + and XDG_RUNTIME_DIR name + - cgroup: call root cgroup system instead of systemd-1 + - exec: determine right TERM= setting based on tty name + - pam: rename master user cgroup to 'master' + - drop support for MANAGER_SESSION, introduce MANAGER_USER + - units: use ConditionDirectoryNotEmpty= where applicable + - unit: introduce ConditionDirectoryNotEmpty= + - delete tmp.mount which may conflict with an unrelated fstab + entry +- revert too new libnotify code/requirement +- disable native crypto handling + +------------------------------------------------------------------- +Mon Nov 15 18:45:31 CET 2010 - kay.sievers@novell.com + +- new snapshot + - load-dropin: add support for .requires directories + - manager: consider jobs already installed as redundant when + reducing new transactions + - manager: always pull 'following' units into transaction + - util: always highlight distro name + - units: make use of agetty mandatory + - manager: don't fail transaction if adding CONFLICTED_BY job fails + - job: make it possible to wait for devices to be unplugged + - tmpfiles: ignore files marked with the sticky bit + - cryptsetup: handle password=none properly + - cryptsetup: properly parse cipher= switch + - cryptsetup: support non-LUKS crypto partitions + - ask-password: enable password agent + - automatically start cryptsetup when looking for mount source + - log: add automatic log target + - cryptsetup: hook up tool with ask-password + - manager: hookup generators + - split mount_point_is_api() and mount_point_ignore() +- replace boot.crypto job with systemd native crypto handling +- enable readahead (requires 2.6.37+ kernel's fanotify to work) + +------------------------------------------------------------------- +Thu Nov 11 07:44:02 CET 2010 - kay.sievers@novell.com + +- new snapshot + - tmpfiles: include reference to man page in tmpfiles files + - vconsole: support additional keymap for toggling layouts + - main: warn if /etc/mtab is not a symlink + - add bash completion for systemctl --system + - man: minor tmpfiles(5) updates and reindenting + - main: rename process on startup to 'systemd' to avoid confusion + - unit: add ConditionNull= condition + - ac-power: make ac-power a proper binary that scripts can call + - manager: parse RD_TIMESTAMP passed from initrd + - modules-load: fix minor race + - label: use internal utility functions wher epossible + - cryptsetup: minimal cryptsetup unit generator + - selinux: relabel /dev after loading policy + - log: downgrade syslog connection failure message + - service: delay automatic restart if job is pending + - manager: when isolating undo all pending jobs, too + - manager: only minimize impact if we are in fail mode +- replace /etc/mtab with link to /proc/self/mounts + +------------------------------------------------------------------- +Fri Nov 5 00:28:10 CET 2010 - kay.sievers@novell.com + +- new snapshot + - man/tmpfiles.d.xml: add a manpage for tmpfiles + - do not overwrite other udev tags + - readahead: shortcut replay if /.readahead doesn't exist + +------------------------------------------------------------------- +Fri Oct 29 21:20:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fsck: return SUCCESS when we skip the check + - fsck: skip checking / if it is writable + - units: fix variable expansion + - mount: don't pull in nofail mounts by default, but use them + if they are around + - job: recursively fail BoundBy dependencies + - fsck: fix target name to check for + - units: rename fedora/single.service to rescue.service + - units: introduce plymouth-start and plymouth-kexec + - unit: get rid of IgnoreDependencyFailure= + - use util-linux:agetty instead of mingetty + - unit: replace StopRetroactively= by BindTo= dependencies + - automount: show who's triggering an automount + - units: run sysctl only if /etc/sysctl.conf exists + - systemctl: always show what and where for mount units + - shutdown: reword a few messages a little + - manager: show which jobs are actually installed after a transaction + - timer: when deserializing timer state stay elapsed + - device: set recursive_stop=true by default + - unit: suppress incorrect deserialization errors + - swap: there's no reason not order swap after sysinit + - socket: fix IPv6 availability detection + +------------------------------------------------------------------- +Wed Oct 27 12:00:26 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - create /dev/stderr and friends early on boot + - run sysv related scripts with TERM=linux + - add only swaps listed in /etc/fstab automatically to swap.target + - errors: refer to systemctl status when useful + - swap: add default cgroup to swap exec env + - readahead: bump a device's request_nr when enabling readahead + - shutdown: properly handle sigtimedwait() timing out + - main: fix typo in kernel cmdline parameters help + - ord-tty: properly handle SIGINT/SIGTERM + - systemctl: automatically spawn temporary password agent + - ask-password: properly handle multiple pending passwords + - ask-password: enable plymouth agent by default + - ask-password: add minimal plymouth password agent + +------------------------------------------------------------------- +Tue Oct 26 13:10:01 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - make sure to pass TERM=linux to all sysv scripts + - don't unset HOME/TERM when run in session mode + - mount: add nosuid,nodev,noexec switches to /var/lock and /var/run + - tmpfiles: Don't clean /var/lock/subsys + - tmpfiles: Make wtmp match utmp perms, and add btmp + - umount: Make sure / is remounted ro on shutdown + - unset HOME and TERM set from the kernel + - activate wall agent automatically + - ask-password: add basic tty agent + +------------------------------------------------------------------- +Sat Oct 23 18:09:23 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - rename ask-password-agent to gnome-ask-password-agent + - fsck: suppress error message if we cannot change into single + user mode since + - dbus: epose FsckPassNo property for service objects + - man: document systemctl --force + - introduce 'systemctl kill' + +------------------------------------------------------------------- +Sat Oct 23 14:57:57 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - syslog: enable kmsg bridge by default + - fsck: add initial version of fsck and quotacheck wrappers + - tmpfiles: remove forcefsck/fastboot flag files after boot + - swap: listen for POLLPRI events on /proc/swaps if availabled + - tmpfiles: integrate native tmpwatch + - shutdown: loop only as long as we manage to unmount/detach devices + - umount: disable dm devices by devnode, not by path name + - introduce final.target + - replace distro-specific shutdown scripts with native services + - try to get rid of DM devices + - log to console by default + - introduce kexec.service, kexec.target and exit.target + - hook in fsck@.service instance for all mount points with passno > 0 + - systemctl: warn if user enables unit with no installation instructions + - dbus: add introspection to midlevel paths + - look for dynamic throw-away units in /dev/.systemd/system + - major rework, use /sbin/swapon for setting up swaps + - introduce Restart=on-failure and Restart=on-abort + - units: enable utmp for serial gettys too + - rename 'banned' load state to 'masked' + - optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service +- use systemd-native fsck/mount +- use systemd-native tmpfiles.d/ instead of tmpwatch + +------------------------------------------------------------------- +Fri Oct 8 14:49:04 CEST 2010 - kay.sievers@novell.com + +new snapshot + - fix 'systemctl enable getty@.service' + - properly support 'banning' of services + - handle nologin + - add native reboot/shutdown implementation + +------------------------------------------------------------------- +Thu Oct 7 15:58:10 CEST 2010 - kay.sievers@novell.com + +- version 11 + +------------------------------------------------------------------- +Wed Oct 6 09:27:13 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - readahead fixes + +------------------------------------------------------------------- +Sun Oct 3 08:08:13 UTC 2010 - aj@suse.de + +- /etc/modules.d was renamed to modules-load.d +- only include tmpfiles.d/*conf files + +------------------------------------------------------------------- +Wed Sep 29 11:55:11 CEST 2010 - kay.sievers@novell.com + +- don't create sysv order deps on merged units +- fix Provides: handling in LSB headers (network.target) +- native (optional) readahead + +------------------------------------------------------------------- +Sun Sep 26 20:39:53 UTC 2010 - aj@suse.de + +- Do not package man pages twice. + +------------------------------------------------------------------- +Wed Sep 22 11:40:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - basic services are enabled by default now + +------------------------------------------------------------------- +Tue Sep 21 14:39:02 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - vconsole and locale setup + - hook up tmpwatch + +------------------------------------------------------------------- +Fri Sep 17 10:58:24 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - add new utility to initialize the virtual console + - initialize locale from /etc/locale by default + - ask-password: allow services query SSL/harddisk passphrases + +------------------------------------------------------------------- +Fri Sep 17 10:54:24 CEST 2010 - kay.sievers@novell.com + +- version 10 + - logger: support SOCK_STREAM /dev/log sockets + - make sure the file system is writable before we write utmp data + - systemctl: use isolate when called as telinit for a runlevel + - initctl: properly use isolate when activating runlevels + - set HOME=/root when running shells + - make sure we don't crash if there's an automount unit without + mount unit + - start logger only after syslog is up + +------------------------------------------------------------------- +Fri Sep 3 11:52:42 CEST 2010 - kay.sievers@novell.com + +- version 9 + - units: don't add shutdown conflicts dep to umount.target + - dbus: don't send cgroup agent messages directly to system bus + - dbus: don't accept activation requests anymore if we are going + down anyway + - systemctl: fix return value of systemctl start and friends + - service: wait for process exit only if we actually killed + somebody + +------------------------------------------------------------------- +Thu Aug 26 22:14:04 CEST 2010 - kay.sievers@novell.com + +- version 8 + - KERNEL 2.6.36+ REQUIRED! + - mount cgroup file systems to /sys/fs/cgroup instead of /cgroup + - invoke sulogin instead of /bin/sh + - systemctl: show timestamps for state changes + - add global configuration options for handling of auto mounts + +------------------------------------------------------------------- +Fri Aug 20 06:51:26 CEST 2010 - kay.sievers@novell.com + +- apply /etc/fstab mount options to all api mounts +- properly handle LABEL="" in fstab +- do not consider LSB exit codes 5 and 6 as failure + +------------------------------------------------------------------- +Tue Aug 17 22:54:41 CEST 2010 - kay.sievers@novell.com + +- prefix sysv job descriptions with LSB: +- add native sysctl + hwclock + random seed service files +- properly fallback to rescue.target if default.target is hosed +- rename ValidNoProcess= to RemainAfterExit= +- add systemd-modules-load tool to handle /etc/modules.d/ + +------------------------------------------------------------------- +Tue Aug 17 09:01:04 CEST 2010 - kay.sievers@novell.com + +- add support for delayed shutdown, similar to sysv in style +- rename Type=finish to Type=oneshot and allow multiple ExecStart= +- don't show ENOENT for non exitent configuration files +- log build time features on startup +- rearrange structs to make them smaller +- move runlevel[2-5] links to /lib +- create default.target link to /lib not /etc +- handle random-seed +- write utmp record before we kill all processes +- create /var/lock/subsys, /var/run/utmp + +------------------------------------------------------------------- +Wed Aug 11 11:29:17 CEST 2010 - kay.sievers@novell.com + +- add audit messages for service changes +- update utmp with external program +- all to refuse manual service starting/stopping + +------------------------------------------------------------------- +Tue Aug 10 06:54:23 CEST 2010 - kay.sievers@novell.com + +- version 7 + - hide output if quiet is passed on the kernel cmdline + - fix auto restarting of units after a configuration reload + - don't call bus_path_escape() with NULL unit name + +------------------------------------------------------------------- +Fri Aug 6 13:07:35 CEST 2010 - kay.sievers@novell.com + +- version 6 + - man page update + +------------------------------------------------------------------- +Fri Aug 6 09:48:34 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - downgrade a few log messages + - properly handle devices which are referenced before they exist + +------------------------------------------------------------------- +Fri Aug 6 01:59:50 CEST 2010 - kay.sievers@novell.com + +- new snapshot + - fix dependency cycle of boot.* by splitting fsck.target + - sort boot.* before other sysv services + from sysinint.target + - start getty for serial console + +------------------------------------------------------------------- +Thu Aug 5 23:12:32 CEST 2010 - kay.sievers@novell.com + +- add licence to subpackages + +------------------------------------------------------------------- +Wed Aug 4 12:42:23 CEST 2010 - kay.sievers@novell.com + +- version 5 + - selinux fixes +- fix hanging 'reboot' started from vc + +------------------------------------------------------------------- +Mon Aug 2 16:33:20 CEST 2010 - kay.sievers@novell.com + +- enable getty.target by default + +------------------------------------------------------------------- +Sat Jul 24 11:16:52 CEST 2010 - kay.sievers@novell.com + +- at install, read old inittab for the defaul target/runlevel +- disable services on package uninstall + +------------------------------------------------------------------- +Sat Jul 24 09:50:05 CEST 2010 - kay.sievers@novell.com + +- version 4 + - merge systemd-install into systemctl + +------------------------------------------------------------------- +Fri Jul 23 10:39:19 CEST 2010 - kay.sievers@novell.com + +- create config files in /etc in %post +- mark files in /etc as config +- remove nodev from /dev/pts +- add selinux support + +------------------------------------------------------------------- +Thu Jul 22 10:51:16 CEST 2010 - kay.sievers@novell.com + +- version 4 (pre) + - require newer vala + - add [Install] section to getty.target and remote-fs.target +- re-enable post-build check + +------------------------------------------------------------------- +Wed Jul 21 08:51:22 CEST 2010 - kay.sievers@novell.com + +- do not add sysv services that are not enabled in /etc/rcN.d/ +- allow symlinking unit files to /dev/null +- remove only pam sessions we ourselves created +- unit files in /etc/ always take precedence, even over link targets + +------------------------------------------------------------------- +Tue Jul 20 21:20:43 CEST 2010 - kay.sievers@novell.com + +- fix access mode verification of FIFOs + +------------------------------------------------------------------- +Sun Jul 18 11:31:06 CEST 2010 - kay.sievers@novell.com + +- fix default mode of /var/run and /var/lock +- force /var/run and /var/lock to be on tmpfs + +------------------------------------------------------------------- +Wed Jul 14 17:49:57 CEST 2010 - kay.sievers@novell.com + +- always enable udev and dbus until we can require systemd from + packages providing systemd service files + +------------------------------------------------------------------- +Wed Jul 14 01:10:27 CEST 2010 - kay.sievers@novell.com + +- drop systemd-units.rpm + +------------------------------------------------------------------- +Wed Jul 14 00:07:24 CEST 2010 - kay.sievers@novell.com + +- version 3 + - treat non-existing cgroups like empty ones, to deal with races + - replace --running-as= by --session and --system + - always allow stopping of units that failed to load + +------------------------------------------------------------------- +Tue Jul 13 06:22:56 CEST 2010 - kay.sievers@novell.com + +- update + +------------------------------------------------------------------- +Mon Jul 12 18:23:41 CEST 2010 - kay.sievers@novell.com + +- drop libcgroup + +------------------------------------------------------------------- +Mon Jul 12 10:04:26 CEST 2010 - kay.sievers@novell.com + +- trim cgroups for services that are "active" but "exited" +- drop /bin/init hack and require now fixed mkinitrd + +------------------------------------------------------------------- +Sun Jul 11 23:38:45 CEST 2010 - kay.sievers@novell.com + +- fix reboot issue +- fix abstract namespace name handling (needs udev update) +- prefer private D-Bus socket wherever possible + +------------------------------------------------------------------- +Sun Jul 11 00:50:14 CEST 2010 - kay.sievers@novell.com + +- D-Bus 1.3.2 support +- use COLD_BOOT=1 on reboot to skip sysv boot.d/ handling + +------------------------------------------------------------------- +Fri Jul 9 10:05:00 CEST 2010 - kay.sievers@novell.com + +- fix typo in spec file + +------------------------------------------------------------------- +Fri Jul 9 09:09:33 CEST 2010 - kay.sievers@novell.com + +- provide /bin/init to be found by 'too simple' mkinitrd, and work + around mindless relinking of relative links in the buildsystem +- add rpmlintrc to silent warnings about intentional behavior + +------------------------------------------------------------------- +Fri Jul 9 06:18:52 CEST 2010 - kay.sievers@novell.com + +- version 2 + +------------------------------------------------------------------- +Thu Jul 8 23:48:09 CEST 2010 - kay.sievers@novell.com + +- fix 'reboot -w' to skip the actual reboot +- fix segfault in D-Bus code +- use unique instead of multiple keys in config file +- support continuation lines in config files +- support multiple commands in a single key in config files +- adapt log level of some messages + +------------------------------------------------------------------- +Wed Jul 7 06:20:00 CEST 2010 - kay.sievers@novell.com + +- version 1 + - default log level to INFO + - show welcome message + +------------------------------------------------------------------- +Tue Jul 6 08:55:03 CEST 2010 - kay.sievers@novell.com + +- add systemd-install --start option +- add more documentation + +------------------------------------------------------------------- +Mon Jul 5 16:23:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot with extended D-Bus support + +------------------------------------------------------------------- +Sun Jul 4 21:31:49 CEST 2010 - kay.sievers@novell.com + +- new snapshot with default unit dependency handling + +------------------------------------------------------------------- +Sat Jul 3 16:54:19 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jul 2 10:04:26 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Thu Jul 1 17:40:28 CEST 2010 - kay.sievers@novell.com + +- new snapshot + +------------------------------------------------------------------- +Fri Jun 25 00:34:03 CEST 2010 - kay.sievers@novell.com + +- split off systemd-units.rpm which can be pulled-in by other + packages without further dependencies + +------------------------------------------------------------------- +Thu Jun 24 09:40:06 CEST 2010 - kay.sievers@novell.com + +- add more documentation + +------------------------------------------------------------------- +Tue Jun 22 22:13:02 CEST 2010 - kay.sievers@novell.com + +- more man pages and documentation + +------------------------------------------------------------------- +Tue Jun 22 18:14:05 CEST 2010 - kay.sievers@novell.com + +- conflict with upstart +- include all installed doc files + +------------------------------------------------------------------- +Tue Jun 22 09:33:44 CEST 2010 - kay.sievers@novell.com + +- provide pam module + +------------------------------------------------------------------- +Mon Jun 21 10:21:20 CEST 2010 - kay.sievers@novell.com + +- use private D-Bus connection +- properly handle replacing a running upstart + +------------------------------------------------------------------- +Fri Jun 18 09:37:46 CEST 2010 - kay.sievers@novell.com + +- implement wall message in halt/reboot/... +- speak /dev/initctl to old /sbin/init after installing + +------------------------------------------------------------------- +Thu Jun 17 23:54:59 CEST 2010 - kay.sievers@novell.com + +- drop no longer needed -fno-strict-aliasing +- add README and examples + +------------------------------------------------------------------- +Thu Jun 17 23:23:42 CEST 2010 - kay.sievers@novell.com + +- enable pam and libwrap + +------------------------------------------------------------------- +Thu Jun 17 23:10:57 CEST 2010 - kay.sievers@novell.com + +- provide systemd-sysvinit.rpm with /sbin/init and friends + +------------------------------------------------------------------- +Thu Jun 17 11:06:14 CEST 2010 - kay.sievers@novell.com + +- libwrap / pam support + +------------------------------------------------------------------- +Wed Jun 16 09:46:15 CEST 2010 - kay.sievers@novell.com + +- initial packaging of experimental version 0 + diff --git a/systemd.spec b/systemd.spec new file mode 100644 index 0000000..daba57f --- /dev/null +++ b/systemd.spec @@ -0,0 +1,1071 @@ +# +# spec file for package systemd +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define bootstrap 0 +%define real systemd +%define udevpkgname udev +%define udev_major 1 + +Name: systemd +Url: http://www.freedesktop.org/wiki/Software/systemd +Version: 204 +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: docbook-xsl-stylesheets +%endif +BuildRequires: fdupes +%if ! 0%{?bootstrap} +BuildRequires: gobject-introspection-devel +%endif +BuildRequires: gperf +%if ! 0%{?bootstrap} +BuildRequires: gtk-doc +%endif +BuildRequires: intltool +BuildRequires: libacl-devel +BuildRequires: libattr-devel +BuildRequires: libcap-devel +BuildRequires: libsepol-devel +BuildRequires: libtool +BuildRequires: libusb-devel +%if ! 0%{?bootstrap} +BuildRequires: libxslt-tools +%endif +BuildRequires: pam-devel +BuildRequires: tcpd-devel +BuildRequires: xz +BuildRequires: pkgconfig(blkid) >= 2.20 +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 +%endif +BuildRequires: pkgconfig(libkmod) >= 5 +BuildRequires: pkgconfig(liblzma) +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libmicrohttpd) +%endif +BuildRequires: pkgconfig(libpci) >= 3 +%if ! 0%{?bootstrap} +BuildRequires: pkgconfig(libqrencode) +%endif +BuildRequires: pkgconfig(libselinux) >= 2.1.9 +BuildRequires: pkgconfig(libsepol) +BuildRequires: pkgconfig(usbutils) >= 0.82 +%if 0%{?bootstrap} +Requires: this-is-only-for-build-envs +Conflicts: systemd +Conflicts: kiwi +%else +# the buildignore is important for bootstrapping +#!BuildIgnore: udev +Requires: %{udevpkgname} >= 172 +Requires: dbus-1 >= 1.4.0 +Requires: kbd +Requires: pam-config >= 0.79-5 +Requires: pwdutils +Requires: systemd-presets-branding +Requires: util-linux >= 2.21 +Requires(post): coreutils +Requires(post): findutils +%endif +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Obsoletes: systemd-analyze < 201 +Provides: systemd-analyze = %{version} +Source0: http://www.freedesktop.org/software/systemd/systemd-%{version}.tar.xz +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 +Source9: nss-myhostname-config +Source10: macros.systemd.upstream + +Source1060: boot.udev +Source1061: write_dev_root_rule +Source1062: systemd-udev-root-symlink + +# PATCH-FIX-UPSTREAM avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch lnussel@suse.com bnc#791101 -- avoid assertion if invalid address familily is passed to gethostbyaddr_r +Patch0: avoid-assertion-if-invalid-address-familily-is-passed-to-g.patch +# PATCH-FIX-UPSTREAM optionally-warn-if-nss-myhostname-is-called.patch lnussel@suse.com -- optionally warn if nss-myhostname is called +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 +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 +Patch14: ensure-DM-and-LVM-are-started-before-local-fs-pre-target.patch +Patch15: timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch +Patch16: fix-support-for-boot-prefixed-initscript-bnc-746506.patch +Patch17: restore-var-run-and-var-lock-bind-mount-if-they-aren-t-sym.patch +Patch18: fix-owner-of-var-log-btmp.patch + +# PATCH-FIX-OPENSUSE ensure-ask-password-wall-starts-after-getty-tty1.patch -- don't start getty on tty1 until all password request are done +Patch5: ensure-ask-password-wall-starts-after-getty-tty1.patch +# PATCH-FIX-OPENSUSE handle-root_uses_lang-value-in-etc-sysconfig-language.patch bnc#792182 fcrozat@suse.com -- handle ROOT_USES_LANG=ctype +Patch20: handle-root_uses_lang-value-in-etc-sysconfig-language.patch +# PATCH-FIX-OPENSUSE allow-multiple-sulogin-to-be-started.patch bnc#793182 fcrozat@suse.com -- handle multiple sulogin +Patch21: allow-multiple-sulogin-to-be-started.patch +# PATCH-FIX-OPENSUSE handle-SYSTEMCTL_OPTIONS-environment-variable.patch bnc#798620 fcrozat@suse.com -- handle SYSTEMCTL_OPTIONS environment variable +Patch22: handle-SYSTEMCTL_OPTIONS-environment-variable.patch +# PATCH-FIX-OPENSUSE apply-ACL-for-nvidia-device-nodes.patch bnc#808319 -- set ACL on nvidia devices +Patch27: apply-ACL-for-nvidia-device-nodes.patch +# PATCH-FIX-OPENSUSE Revert-service-drop-support-for-SysV-scripts-for-the-early.patch fcrozat@suse.com -- handle boot.* initscripts +Patch37: Revert-service-drop-support-for-SysV-scripts-for-the-early.patch +# PATCH-FIX-OPENSUSE systemd-tmp-safe-defaults.patch FATE#314974 max@suse.de -- Return to SUSE's "safe defaults" policy on deleting files from tmp direcorie. +Patch39: systemd-tmp-safe-defaults.patch +# PATCH-FIX-OPENSUSE sysctl-handle-boot-sysctl.conf-kernel_release.patch bnc#809420 fcrozat@suse.com -- handle /boot/sysctl.conf- file +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 + +# 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 +# an exception will be silently removed with the next version update. +# PATCH-FIX-OPENSUSE disable-nss-myhostname-warning-bnc-783841.diff lnussel@suse.de -- disable nss-myhostname warning (bnc#783841) +Patch23: disable-nss-myhostname-warning-bnc-783841.patch +# PATCH-FIX-OPENSUSE handle-HOSTNAME.patch fcrozat@suse.com -- handle /etc/HOSTNAME (bnc#803653) +Patch24: handle-etc-HOSTNAME.patch +# PATCH-FIX-OPENSUSE Forward-suspend-hibernate-calls-to-pm-utils.patch fcrozat@suse.com bnc#790157 -- forward to pm-utils +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 + +# udev patches +# PATCH-FIX-OPENSUSE 1001-re-enable-by_path-links-for-ata-devices.patch +Patch1001: 1001-re-enable-by_path-links-for-ata-devices.patch +# PATCH-FIX-OPENSUSE 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +Patch1002: 1002-rules-create-by-id-scsi-links-for-ATA-devices.patch +# PATCH-FIX-OPENSUSE 1003-udev-netlink-null-rules.patch +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 + +%description +Systemd is a system and service manager, compatible with SysV and LSB +init scripts for Linux. systemd provides aggressive parallelization +capabilities, uses socket and D-Bus activation for starting services, +offers on-demand starting of daemons, keeps track of processes using +Linux cgroups, supports snapshotting and restoring of the system state, +maintains mount and automount points and implements an elaborate +transactional dependency-based service control logic. It can work as a +drop-in replacement for sysvinit. + + + +%package devel +Summary: Development headers for systemd +License: LGPL-2.1+ +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Requires: systemd-rpm-macros +%if 0%{?bootstrap} +Conflicts: systemd-devel +%endif + +%description devel +Development headers and auxiliary files for developing applications for systemd. + +%package sysvinit +Summary: System V init tools +License: LGPL-2.1+ +Group: System/Base +Requires: %{name} = %{version} +Provides: sbin_init +Conflicts: otherproviders(sbin_init) +Provides: sysvinit:/sbin/init + +%description sysvinit +Drop-in replacement of System V init tools. + +%package -n %{udevpkgname} +Summary: A rule-based device node and kernel event manager +License: GPL-2.0 +Group: System/Kernel +Url: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html +PreReq: /bin/pidof /bin/rm /usr/bin/stat %insserv_prereq %fillup_prereq /usr/sbin/groupadd /usr/bin/getent /sbin/mkinitrd /usr/bin/sg_inq +Requires(post): lib%{udevpkgname}%{udev_major} +Conflicts: systemd < 39 +Conflicts: aaa_base < 11.5 +Conflicts: filesystem < 11.5 +Conflicts: mkinitrd < 2.7.0 +Conflicts: util-linux < 2.16 +Conflicts: ConsoleKit < 0.4.1 +Requires: filesystem +%if 0%{?bootstrap} +Provides: udev = %{version} +Conflicts: libudev%{udev_major} +Conflicts: udev +%endif + +%description -n %{udevpkgname} +Udev creates and removes device nodes in /dev for devices discovered or +removed from the system. It receives events via kernel netlink messages +and dispatches them according to rules in /lib/udev/rules.d/. Matching +rules may name a device node, create additional symlinks to the node, +call tools to initialize a device, or load needed kernel modules. + + + +%package -n lib%{udevpkgname}%{udev_major} +Summary: Dynamic library to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: %{udevpkgname} >= %{version}-%{release} +%if 0%{?bootstrap} +Conflicts: libudev%{udev_major} +Conflicts: kiwi +%endif + +%description -n lib%{udevpkgname}%{udev_major} +This package contains the dynamic library libudev, which provides +access to udev device information + +%package -n lib%{udevpkgname}-devel +Summary: Development files for libudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} +%if 0%{?bootstrap} +Provides: libudev-devel = %{version} +Conflicts: libudev%{udev_major} = %{version} +Conflicts: libudev-devel +%endif + +%description -n lib%{udevpkgname}-devel +This package contains the development files for the library libudev, a +dynamic library, which provides access to udev device information. + +%if ! 0%{?bootstrap} +%package -n libgudev-1_0-0 +Summary: GObject library, to access udev device information +License: LGPL-2.1+ +Group: System/Libraries +Requires: lib%{udevpkgname}%{udev_major} = %{version}-%{release} + +%description -n libgudev-1_0-0 +This package contains the GObject library libgudev, which provides +access to udev device information. + +%package -n typelib-1_0-GUdev-1_0 +Summary: GObject library, to access udev device information -- Introspection bindings +License: LGPL-2.1+ +Group: System/Libraries + +%description -n typelib-1_0-GUdev-1_0 +This package provides the GObject Introspection bindings for libgudev, which +provides access to udev device information. + +%package -n libgudev-1_0-devel +Summary: Devel package for libgudev +License: LGPL-2.1+ +Group: Development/Libraries/Other +Requires: glib2-devel +Requires: libgudev-1_0-0 = %{version}-%{release} +Requires: libudev-devel = %{version}-%{release} +Requires: typelib-1_0-GUdev-1_0 = %{version}-%{release} + +%description -n libgudev-1_0-devel +This is the devel package for the GObject library libgudev, which +provides GObject access to udev device information. + +%package logger +Summary: Journal only logging +License: LGPL-2.1+ +Group: System/Base +Provides: syslog +Provides: sysvinit(syslog) +Conflicts: otherproviders(syslog) + +%description logger +This package marks the installation to not use syslog but only the journal. + +%package -n nss-myhostname +Summary: Plugin for local system host name resolution +License: LGPL-2.1+ +Group: System/Libraries + +%description -n nss-myhostname +nss-myhostname is a plugin for the GNU Name Service Switch (NSS) +functionality of the GNU C Library (glibc) providing host name +resolution for the locally configured system hostname as returned by +gethostname(2). Various software relies on an always resolvable local +host name. When using dynamic hostnames this is usually achieved by +patching /etc/hosts at the same time as changing the host name. This +however is not ideal since it requires a writable /etc file system and +is fragile because the file might be edited by the administrator at +the same time. nss-myhostname simply returns all locally +configured public IP addresses, or -- if none are configured -- +the IPv4 address 127.0.0.2 (wich is on the local loopback) and the +IPv6 address ::1 (which is the local host) for whatever system +hostname is configured locally. Patching /etc/hosts is thus no +longer necessary. + +Note that nss-myhostname only provides a workaround for broken +software. If nss-myhostname is trigged by an application a message +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. + +%endif + +%prep +%setup -q -n systemd-%{version} +echo "Checking whether upstream rpm macros changed..." +[ -z "`diff -Naru "%{S:10}" src/core/macros.systemd.in`" ] || exit 1 + +# only needed for bootstrap +%if 0%{?bootstrap} +cp %{SOURCE7} m4/ +%endif + +# systemd patches +%patch0 -p1 +%patch1 -p1 +%patch3 -p1 +# don't apply when bootstrapping to not modify configure.in +%if ! 0%{?bootstrap} +%patch4 -p1 +%endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch27 -p1 +%patch37 -p1 +%ifarch %arm +%patch38 -p1 +%endif +%patch39 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -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 +%endif + +%build +autoreconf -fiv + +# prevent pre-generated and distributed files from re-building +find . -name "*.[1-8]" -exec touch '{}' '+'; +export V=1 +# keep split-usr until all packages have moved their systemd rules to /usr +%configure \ + --docdir=%{_docdir}/systemd \ + --with-pamlibdir=/%{_lib}/security \ +%if 0%{?bootstrap} + --disable-gudev \ + --disable-myhostname \ +%else + --enable-manpages \ + --enable-gtk-doc \ + --with-nss-my-hostname-warning \ +%endif + --enable-selinux \ + --enable-split-usr \ + --disable-static \ + --with-firmware-path="%{_prefix}/lib/firmware:/lib/firmware" \ + --with-rc-local-script-path-start=/etc/init.d/boot.local \ + --with-rc-local-script-path-stop=/etc/init.d/halt.local \ + --with-debug-shell=/bin/bash \ + CFLAGS="%{optflags}" +make %{?_smp_mflags} + +%install +make install DESTDIR="%buildroot" + +# move to %{_lib} +%if ! 0%{?bootstrap} +mv $RPM_BUILD_ROOT%{_libdir}/libnss_myhostname.so.2 $RPM_BUILD_ROOT/%{_lib} +%endif + +mkdir -p $RPM_BUILD_ROOT/{sbin,lib,bin} +ln -sf %{_bindir}/udevadm $RPM_BUILD_ROOT/sbin/udevadm +ln -sf %{_bindir}/systemd-ask-password $RPM_BUILD_ROOT/bin/systemd-ask-password +ln -sf %{_bindir}/systemctl $RPM_BUILD_ROOT/bin/systemctl +ln -sf %{_prefix}/lib/systemd/systemd-udevd $RPM_BUILD_ROOT/sbin/udevd +%if ! 0%{?bootstrap} +ln -sf systemd-udevd.8 $RPM_BUILD_ROOT/%{_mandir}/man8/udevd.8 +%endif +ln -sf /lib/firmware $RPM_BUILD_ROOT/usr/lib/firmware +%if ! 0%{?bootstrap} +install -m755 -D %{S:8} $RPM_BUILD_ROOT/etc/init.d/systemd-journald +install -D -m 755 %{S:9} %{buildroot}%{_sbindir}/nss-myhostname-config +%endif + +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1060} +sed -ie "s|@@SYSTEMD@@|%{_prefix}/lib/systemd|g" %{S:1060} +sed -ie "s|@@BINDIR@@|%{_bindir}|g" %{S:1060} +install -m755 -D %{S:1060} $RPM_BUILD_ROOT/etc/init.d/boot.udev +ln -s systemd-udevd.service $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/udev.service +sed -ie "s|@@PREFIX@@|%{_bindir}|g" %{S:1061} +install -m755 -D %{S:1061} $RPM_BUILD_ROOT/%{_prefix}/lib/udev/write_dev_root_rule +sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062} +install -m644 -D %{S:1062} $RPM_BUILD_ROOT/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +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} + +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 +ln -s ../usr/bin/systemctl %{buildroot}/sbin/halt +ln -s ../usr/bin/systemctl %{buildroot}/sbin/shutdown +ln -s ../usr/bin/systemctl %{buildroot}/sbin/poweroff +ln -s ../usr/bin/systemctl %{buildroot}/sbin/telinit +ln -s ../usr/bin/systemctl %{buildroot}/sbin/runlevel +rm -rf %{buildroot}/etc/systemd/system/*.target.wants +rm -f %{buildroot}/etc/systemd/system/default.target +# aliases for /etc/init.d/* +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/cgroup.service +ln -s systemd-tmpfiles-setup.service %{buildroot}/%{_prefix}/lib/systemd/system/cleanup.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/clock.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/crypto-early.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/device-mapper.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/earlysyslog.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/kbd.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/ldconfig.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/loadmodules.service +install -m644 %{S:2} %{buildroot}/%{_prefix}/lib/systemd/system/localfs.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/localnet.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/proc.service +ln -s systemd-fsck-root.service %{buildroot}/%{_prefix}/lib/systemd/system/rootfsck.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/single.service +ln -s /dev/null %{buildroot}/%{_prefix}/lib/systemd/system/swap.service +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 +# don't mount /tmp as tmpfs for now +rm %{buildroot}/%{_prefix}/lib/systemd/system/local-fs.target.wants/tmp.mount + +# create %{_libexecdir}/modules-load.d +mkdir -p %{buildroot}%{_libexecdir}/modules-load.d +cat << EOF > %{buildroot}%{_libexecdir}/modules-load.d/sg.conf +# load sg module at boot time +sg +EOF + +# To avoid making life hard for Factory developers, don't package the +# kernel.core_pattern setting until systemd-coredump is a part of an actual +# systemd release and it's made clear how to get the core dumps out of the +# journal. +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-coredump.conf + +# do not ship sysctl defaults in systemd package, will be part of +# aaa_base (in procps for now) +rm -f %{buildroot}%{_prefix}/lib/sysctl.d/50-default.conf + +# remove README file for now +rm -f %{buildroot}/etc/init.d/README +%if 0%{?bootstrap} +rm -f %{buildroot}/var/log/README +%endif + +# legacy links +for f in loginctl journalctl ; do + ln -s $f %{buildroot}%{_bindir}/systemd-$f +%if ! 0%{?bootstrap} + ln -s $f.1 %{buildroot}%{_mandir}/man1/systemd-$f.1 +%endif +done +ln -s /usr/lib/udev %{buildroot}/lib/udev + +# Create the /var/log/journal directory to change the volatile journal to a persistent one +mkdir -p %{buildroot}/var/log/journal + +# Make sure directories in /var exist +mkdir -p %{buildroot}/var/lib/systemd/coredump +mkdir -p %{buildroot}/var/lib/systemd/catalog +#create ghost databases +touch %{buildroot}/var/lib/systemd/catalog/database +touch %{buildroot}%{_sysconfdir}/udev/hwdb.bin + +# Make sure the NTP units dir exists +mkdir -p %{buildroot}%{_prefix}/lib/systemd/ntp-units.d/ + +# Make sure the shutdown/sleep drop-in dirs exist +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-shutdown/ +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-sleep/ + +# Make sure these directories are properly owned +mkdir -p %{buildroot}%{_prefix}/lib/systemd/system/default.target.wants +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 +[Service] +# ensure tty1 isn't cleared (bnc#804158) +TTYVTDisallocate=no +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 + +%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 +/usr/sbin/pam-config -a --systemd >/dev/null 2>&1 || : +/sbin/ldconfig +/usr/bin/systemd-machine-id-setup >/dev/null 2>&1 || : +/usr/lib/systemd/systemd-random-seed save >/dev/null 2>&1 || : +/usr/bin/systemctl daemon-reexec >/dev/null 2>&1 || : +/usr/bin/journalctl --update-catalog >/dev/null 2>&1 || : + +# Try to read default runlevel from the old inittab if it exists +if [ ! -e /etc/systemd/system/default.target -a -e /etc/inittab ]; then + runlevel=$(awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null) + if [ -n "$runlevel" ] ; then + /bin/ln -sf /usr/lib/systemd/system/runlevel$runlevel.target /etc/systemd/system/default.target 2>&1 || : + fi +fi +# Create default config in /etc at first install. +# Later package updates should not overwrite these settings. +if [ "$1" -eq 1 ]; then + # Enable these services by default. + /usr/bin/systemctl enable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : +fi + +%triggerpostun -- systemd < 194 +# migrate any symlink which may refer to the old path +for f in $(find /etc/systemd/system -type l -xtype l); do + new_target="/usr$(readlink $f)" + [ -f "$new_target" ] && ln -s -f $new_target $f || : +done + +%postun +/sbin/ldconfig +if [ $1 -ge 1 ]; then + /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : + /usr/bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || : +fi +if [ $1 -eq 0 ]; then + /usr/sbin/pam-config -d --systemd >/dev/null 2>&1 || : +fi + +%preun +if [ $1 -eq 0 ]; then + /usr/bin/systemctl disable \ + getty@.service \ + systemd-readahead-collect.service \ + systemd-readahead-replay.service \ + remote-fs.target >/dev/null 2>&1 || : + rm -f /etc/systemd/system/default.target 2>&1 || : +fi + +%pretrans -n %{udevpkgname} -p +if posix.stat("/lib/udev") and not posix.stat("/usr/lib/udev") then + posix.symlink("/lib/udev", "/usr/lib/udev") +end + +%pre -n %{udevpkgname} +if test -L /usr/lib/udev -a /lib/udev -ef /usr/lib/udev ; then + rm /usr/lib/udev + mv /lib/udev /usr/lib + ln -s /usr/lib/udev /lib/udev +elif [ ! -e /lib/udev ]; then + ln -s /usr/lib/udev /lib/udev +fi +# Create "tape" group which is referenced by 50-udev-default.rules and 60-persistent-storage-tape.rules +/usr/sbin/groupadd -r tape 2> /dev/null || : +# kill daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root ; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service udev.service udev-control.socket udev-kernel.socket >/dev/null 2>&1 || : + udevadm control --exit 2>&1 || : + fi +fi + +%post -n %{udevpkgname} +/usr/bin/udevadm hwdb --update >/dev/null 2>&1 || : +%{fillup_and_insserv -Y boot.udev} +# add KERNEL name match to existing persistent net rules +sed -ri '/KERNEL/ ! { s/NAME="(eth|wlan|ath)([0-9]+)"/KERNEL=="\1*", NAME="\1\2"/}' \ + /etc/udev/rules.d/70-persistent-net.rules >/dev/null 2>&1 || : +# cleanup old stuff +rm -f /etc/sysconfig/udev +rm -f /etc/udev/rules.d/20-cdrom.rules +rm -f /etc/udev/rules.d/55-cdrom.rules +rm -f /etc/udev/rules.d/65-cdrom.rules +systemctl daemon-reload >/dev/null 2>&1 || : +# start daemon if we are not in a chroot +if test -f /proc/1/exe -a -d /proc/1/root; then + if test "$(stat -Lc '%%D-%%i' /)" = "$(stat -Lc '%%D-%%i' /proc/1/root)"; then + if ! systemctl start systemd-udevd.service >/dev/null 2>&1; then + /usr/lib/systemd/systemd-udevd --daemon >/dev/null 2>&1 || : + fi + fi +fi + +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi +fi + +%postun -n %{udevpkgname} +%insserv_cleanup +systemctl daemon-reload >/dev/null 2>&1 || : + +if [ "${YAST_IS_RUNNING}" != "instsys" ]; then + if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then + echo "Skipping recreation of existing initial ramdisks, due" + echo "to presence of /var/lib/no_initrd_recreation_by_suspend" + elif [ -x /sbin/mkinitrd ]; then + [ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup + /sbin/mkinitrd || : + fi +fi + +%post -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%postun -n lib%{udevpkgname}%{udev_major} -p /sbin/ldconfig + +%if ! 0%{?bootstrap} + +%post -n libgudev-1_0-0 -p /sbin/ldconfig + +%postun -n libgudev-1_0-0 -p /sbin/ldconfig + +%post logger +if [ "$1" -eq 1 ]; then +# tell journal to start logging on disk if directory didn't exist before + systemctl --no-block restart systemd-journal-flush.service >/dev/null 2>&1 || : +fi + +%preun -n nss-myhostname +if [ "$1" -eq 0 -a -f /etc/nsswitch.conf ] ; then + %{_sbindir}/nss-myhostname-config --disable +fi + +%post -n nss-myhostname -p /sbin/ldconfig + +%postun -n nss-myhostname -p /sbin/ldconfig + +%endif + +%files +%defattr(-,root,root) +/bin/systemd +/bin/systemd-ask-password +/bin/systemctl +%{_bindir}/bootctl +%{_bindir}/kernel-install +%{_bindir}/hostnamectl +%{_bindir}/localectl +%{_bindir}/systemctl +%{_bindir}/systemd-analyze +%{_bindir}/systemd-coredumpctl +%{_bindir}/systemd-delta +%{_bindir}/systemd-notify +%{_bindir}/systemd-journalctl +%{_bindir}/journalctl +%{_bindir}/systemd-ask-password +%{_bindir}/loginctl +%{_bindir}/systemd-loginctl +%{_bindir}/systemd-inhibit +%{_bindir}/systemd-tty-ask-password-agent +%{_bindir}/systemd-tmpfiles +%{_bindir}/systemd-machine-id-setup +%{_bindir}/systemd-nspawn +%{_bindir}/systemd-stdio-bridge +%{_bindir}/systemd-detect-virt +%{_bindir}/timedatectl +%{_sbindir}/systemd-sysv-convert +%{_libdir}/libsystemd-daemon.so.* +%{_libdir}/libsystemd-login.so.* +%{_libdir}/libsystemd-id128.so.* +%{_libdir}/libsystemd-journal.so.* +%{_bindir}/systemd-cgls +%{_bindir}/systemd-cgtop +%{_bindir}/systemd-cat +%dir %{_prefix}/lib/kernel +%dir %{_prefix}/lib/kernel/install.d +%{_prefix}/lib/kernel/install.d/50-depmod.install +%{_prefix}/lib/kernel/install.d/90-loaderentry.install +%dir %{_prefix}/lib/systemd +%dir %{_prefix}/lib/systemd/user +%dir %{_prefix}/lib/systemd/system +%exclude %{_prefix}/lib/systemd/system/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/udev.service +%exclude %{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%exclude %{_prefix}/lib/systemd/system/*.target.wants/systemd-udev*.* +%exclude %{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/*.automount +%{_prefix}/lib/systemd/system/*.service +%{_prefix}/lib/systemd/system/*.target +%{_prefix}/lib/systemd/system/*.mount +%{_prefix}/lib/systemd/system/*.timer +%{_prefix}/lib/systemd/system/*.socket +%{_prefix}/lib/systemd/system/*.wants +%{_prefix}/lib/systemd/system/*.path +%{_prefix}/lib/systemd/user/*.target +%{_prefix}/lib/systemd/user/*.service +%exclude %{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/systemd-* +%{_prefix}/lib/systemd/systemd +%dir %{_prefix}/lib/systemd/catalog +%{_prefix}/lib/systemd/catalog/systemd.catalog +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-shutdown +%dir %{_prefix}/lib/systemd/system-preset +%dir %{_prefix}/lib/systemd/user-preset +%dir %{_prefix}/lib/systemd/system-generators +%dir %{_prefix}/lib/systemd/user-generators +%dir %{_prefix}/lib/systemd/ntp-units.d/ +%dir %{_prefix}/lib/systemd/system-shutdown/ +%dir %{_prefix}/lib/systemd/system-sleep/ +%dir %{_prefix}/lib/systemd/system/default.target.wants +%dir %{_prefix}/lib/systemd/system/dbus.target.wants +%dir %{_prefix}/lib/systemd/system/getty@tty1.service.d +%{_prefix}/lib/systemd/system/getty@tty1.service.d/noclear.conf +%if ! 0%{?bootstrap} +%{_prefix}/lib/systemd/system-generators/systemd-cryptsetup-generator +%endif +%{_prefix}/lib/systemd/system-generators/systemd-efi-boot-generator +%{_prefix}/lib/systemd/system-generators/systemd-getty-generator +%{_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 +/%{_lib}/security/pam_systemd.so + +%dir %{_libexecdir}/modules-load.d +%dir %{_sysconfdir}/modules-load.d +%{_libexecdir}/modules-load.d/sg.conf + +%dir %{_libexecdir}/tmpfiles.d +%dir %{_sysconfdir}/tmpfiles.d +%{_libexecdir}/tmpfiles.d/*.conf + +%dir %{_libexecdir}/binfmt.d +%dir %{_sysconfdir}/binfmt.d + +%dir %{_libexecdir}/sysctl.d +%dir %{_sysconfdir}/sysctl.d + +%dir %{_sysconfdir}/systemd +%dir %{_sysconfdir}/systemd/system +%dir %{_sysconfdir}/systemd/user +%dir %{_sysconfdir}/xdg/systemd +%dir %{_sysconfdir}/xdg/systemd/user +%config(noreplace) %{_sysconfdir}/systemd/bootchart.conf +%config(noreplace) %{_sysconfdir}/systemd/system.conf +%config(noreplace) %{_sysconfdir}/systemd/logind.conf +%config(noreplace) %{_sysconfdir}/systemd/journald.conf +%config(noreplace) %{_sysconfdir}/systemd/user.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.locale1.conf +%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.login1.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 + +%{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml +%{_datadir}/dbus-1/interfaces/org.freedesktop.timedate1.xml +%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.locale1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.login1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service +%{_datadir}/dbus-1/system-services/org.freedesktop.timedate1.service +%dir %{_datadir}/polkit-1 +%dir %{_datadir}/polkit-1/actions +%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.locale1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.timedate1.policy +%{_datadir}/polkit-1/actions/org.freedesktop.login1.policy +%{_datadir}/systemd + +%if ! 0%{?bootstrap} +# Packaged in sysvinit subpackage +%exclude %{_mandir}/man1/init.1* +%exclude %{_mandir}/man8/halt.8* +%exclude %{_mandir}/man8/reboot.8* +%exclude %{_mandir}/man8/shutdown.8* +%exclude %{_mandir}/man8/poweroff.8* +%exclude %{_mandir}/man8/telinit.8* +%exclude %{_mandir}/man8/runlevel.8* +%exclude %{_mandir}/man*/*udev*.[0-9]* + +%{_mandir}/man1/*.1* +%{_mandir}/man3/*.3* +%{_mandir}/man5/*.5* +%{_mandir}/man7/*.7* +%{_mandir}/man8/*.8* +%endif +%{_docdir}/systemd +%{_prefix}/lib/udev/rules.d/70-uaccess.rules +%{_prefix}/lib/udev/rules.d/71-seat.rules +%{_prefix}/lib/udev/rules.d/73-seat-late.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%endif +%{_prefix}/lib/udev/rules.d/99-systemd.rules +%if ! 0%{?bootstrap} +%{_prefix}/lib/udev/numlock-on +%endif +%dir %{_datadir}/bash-completion +%dir %{_datadir}/bash-completion/completions +%ghost /var/lib/systemd/catalog/database +%{_datadir}/bash-completion/completions/* +%if 0%{suse_version} < 1310 +%{_sysconfdir}/rpm/macros.systemd +%endif +%dir /var/lib/systemd +%dir /var/lib/systemd/sysv-convert +%dir /var/lib/systemd/migrated +%dir /var/lib/systemd/catalog +%dir /var/lib/systemd/coredump + +%files devel +%defattr(-,root,root,-) +%{_libdir}/libsystemd-daemon.so +%{_libdir}/libsystemd-login.so +%{_libdir}/libsystemd-id128.so +%{_libdir}/libsystemd-journal.so +%dir %{_includedir}/systemd +%{_includedir}/systemd/sd-login.h +%{_includedir}/systemd/sd-daemon.h +%{_includedir}/systemd/sd-id128.h +%{_includedir}/systemd/sd-journal.h +%{_includedir}/systemd/sd-messages.h +%{_includedir}/systemd/sd-shutdown.h +%{_datadir}/pkgconfig/systemd.pc +%{_libdir}/pkgconfig/libsystemd-daemon.pc +%{_libdir}/pkgconfig/libsystemd-login.pc +%{_libdir}/pkgconfig/libsystemd-id128.pc +%{_libdir}/pkgconfig/libsystemd-journal.pc + +%files sysvinit +%defattr(-,root,root,-) +/sbin/init +/sbin/reboot +/sbin/halt +/sbin/shutdown +/sbin/poweroff +/sbin/telinit +/sbin/runlevel +%if ! 0%{?bootstrap} +%{_mandir}/man1/init.1* +%{_mandir}/man8/halt.8* +%{_mandir}/man8/reboot.8* +%{_mandir}/man8/shutdown.8* +%{_mandir}/man8/poweroff.8* +%{_mandir}/man8/telinit.8* +%{_mandir}/man8/runlevel.8* +%endif + +%files -n %{udevpkgname} +%defattr(-,root,root) +/sbin/udevd +/sbin/udevadm +# keep for compatibility +%ghost /lib/udev +%{_bindir}/udevadm +%{_prefix}/lib/firmware +%dir %{_prefix}/lib/udev/ +%{_prefix}/lib/udev/accelerometer +%{_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 +%exclude %{_prefix}/lib/udev/rules.d/73-seat-late.rules +%exclude %{_prefix}/lib/udev/rules.d/73-seat-numlock.rules +%exclude %{_prefix}/lib/udev/rules.d/99-systemd.rules +%{_prefix}/lib/udev/rules.d/*.rules +%dir %{_prefix}/lib/udev/hwdb.d +%{_prefix}/lib/udev/hwdb.d/* +%{_sysconfdir}/init.d/boot.udev +%dir %{_sysconfdir}/udev/ +%dir %{_sysconfdir}/udev/rules.d/ +%ghost %{_sysconfdir}/udev/hwdb.bin +%config(noreplace) %{_sysconfdir}/udev/udev.conf +%if ! 0%{?bootstrap} +%{_mandir}/man?/*udev*.[0-9]* +%endif +%dir %{_prefix}/lib/systemd/system +%{_prefix}/lib/systemd/systemd-udevd +%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/basic.target.wants/systemd-udev-root-symlink.service +%{_prefix}/lib/systemd/system/*udev*.service +%{_prefix}/lib/systemd/system/systemd-udevd*.socket +%dir %{_prefix}/lib/systemd/system/sysinit.target.wants +%{_prefix}/lib/systemd/system/sysinit.target.wants/systemd-udev*.service +%dir %{_prefix}/lib/systemd/system/sockets.target.wants +%{_prefix}/lib/systemd/system/sockets.target.wants/systemd-udev*.socket + +%files -n lib%{udevpkgname}%{udev_major} +%defattr(-,root,root) +%{_libdir}/libudev.so.* + +%files -n lib%{udevpkgname}-devel +%defattr(-,root,root) +%{_includedir}/libudev.h +%{_libdir}/libudev.so +%{_datadir}/pkgconfig/udev.pc +%{_libdir}/pkgconfig/libudev.pc +%if ! 0%{?bootstrap} +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/libudev +%{_datadir}/gtk-doc/html/libudev/* +%endif + +%if ! 0%{?bootstrap} +%files -n libgudev-1_0-0 +%defattr(-,root,root) +%{_libdir}/libgudev-1.0.so.* + +%files -n typelib-1_0-GUdev-1_0 +%defattr(-,root,root) +%{_libdir}/girepository-1.0/GUdev-1.0.typelib + +%files -n libgudev-1_0-devel +%defattr(-,root,root) +%dir %{_includedir}/gudev-1.0 +%dir %{_includedir}/gudev-1.0/gudev +%{_includedir}/gudev-1.0/gudev/*.h +%{_libdir}/libgudev-1.0.so +%{_libdir}/pkgconfig/gudev-1.0.pc +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%dir %{_datadir}/gtk-doc/html/gudev +%{_datadir}/gtk-doc/html/gudev/* +%{_datadir}/gir-1.0/GUdev-1.0.gir + +%files logger +%defattr(-,root,root) +%dir /var/log/journal +/var/log/README +/etc/init.d/systemd-journald + +%files -n nss-myhostname +%defattr(-, root, root) +%{_sbindir}/nss-myhostname-config +/%{_lib}/*nss_myhostname* + +%endif + +%changelog diff --git a/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch new file mode 100644 index 0000000..8a67df9 --- /dev/null +++ b/timedate-add-support-for-openSUSE-version-of-etc-sysconfig.patch @@ -0,0 +1,26 @@ +From: Frederic Crozat +Date: Tue, 14 Aug 2012 14:26:16 +0200 +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 +@@ -182,6 +182,13 @@ static int read_data(void) { + goto have_timezone; + } + } ++#ifdef HAVE_SYSV_COMPAT ++ r = parse_env_file("/etc/sysconfig/clock", NEWLINE, ++ "TIMEZONE", &tz.zone, ++ NULL); ++ if (r < 0 && r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r)); ++#endif + + have_timezone: + if (isempty(tz.zone)) { diff --git a/write_dev_root_rule b/write_dev_root_rule new file mode 100644 index 0000000..5011aa3 --- /dev/null +++ b/write_dev_root_rule @@ -0,0 +1,13 @@ +#!/bin/sh + +eval $(@@PREFIX@@/udevadm info --export --export-prefix=ROOT_ --device-id-of-file=/) + +[ "$ROOT_MAJOR" -gt 0 ] || return +mkdir -m 0755 -p /run/udev/rules.d >/dev/null 2>&1 +ln -sf /run/udev /dev/.udev 2>/dev/null || : + +echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", \ +ENV{MAJOR}==\"$ROOT_MAJOR\", ENV{MINOR}==\"$ROOT_MINOR\", \ +SYMLINK+=\"root\"" > /run/udev/rules.d/10-root-symlink.rules + +exit 0