Hello community,
here is the log from the commit of package systemd for openSUSE:Factory checked in at 2012-11-02 17:30:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd", Maintainer is ""
Changes:
--------
New Changes file:
--- /dev/null 2012-10-22 00:44:18.403455820 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2012-11-02 17:30:35.000000000 +0100
@@ -0,0 +1,2347 @@
+-------------------------------------------------------------------
+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
++++ 2150 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes
--- /work/SRC/openSUSE:Factory/systemd/systemd.changes 2012-08-26 11:35:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd.changes 2012-11-02 17:30:35.000000000 +0100
@@ -1,0 +2,187 @@
+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.
+
+-------------------------------------------------------------------
Old:
----
0001-add-sparse-support-to-detect-endianness-bug.patch
0001-util-never-follow-symlinks-in-rm_rf_children.patch
avoid-random-seed-cycle.patch
change-terminal.patch
drop-timezone.patch
fix-analyze-exception.patch
fix-dir-noatime-tmpfiles.patch
fix-getty-isolate.patch
fix-swap-priority.patch
fix-tty-startup.patch
fix-write-user-state-file.patch
fixppc.patch
improve-restart-behaviour.patch
journal-bugfixes.patch
journalctl-pager-improvement.patch
logind-logout.patch
systemd-44.tar.xz
systemd-gtk.changes
systemd-gtk.spec
ulimit-support.patch
use_localtime.patch
New:
----
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
boot.udev
systemd-195.tar.xz
systemd-mini-rpmlintrc
systemd-mini.changes
systemd-mini.spec
udev-root-symlink.systemd
var-run-lock.patch
write_dev_root_rule
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
++++ 834 lines (skipped)
++++++ systemd.spec ++++++
++++ 913 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/systemd/systemd.spec
++++ and /work/SRC/openSUSE:Factory/.systemd.new/systemd.spec
++++++ 0001-Add-bootsplash-handling-for-password-dialogs.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -8,8 +8,8 @@
---
diff --git a/src/ask-password-api.c b/src/ask-password-api.c
index da967ab..b89bcea 100644
---- a/src/ask-password-api.c
-+++ b/src/ask-password-api.c
+--- a/src/shared/ask-password-api.c
++++ b/src/shared/ask-password-api.c
@@ -62,6 +62,9 @@ int ask_password_tty(
bool reset_tty = false;
bool silent_mode = false;
++++++ 0001-Reinstate-TIMEOUT-handling.patch ++++++
Without treating events with timeouts specially some drivers would
cause a 30 seconds stall on boot: .
I also received reports of some drivers not working at all, even
after the timeout.
We will remove this patch when more drivers have been fixed in
the kernel (3.4?).
This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and
57c6f8ae5f52a6e8ffc66a54966346f733dded39.
---
Note: this is mostly a FYI, and whether or not it makes sense
to apply this upstream depends on how big problems other report
regarding this issue.
src/libudev-device.c | 19 +++++++++++++++++++
src/libudev-private.h | 1 +
src/udevd.c | 13 ++++++++++---
4 files changed, 32 insertions(+), 3 deletions(-)
Index: systemd-190/src/libudev/libudev-device.c
===================================================================
--- systemd-190.orig/src/libudev/libudev-device.c
+++ systemd-190/src/libudev/libudev-device.c
@@ -68,6 +68,7 @@ struct udev_device {
struct udev_list tags_list;
unsigned long long int seqnum;
unsigned long long int usec_initialized;
+ int timeout;
int devlink_priority;
int refcount;
dev_t devnum;
@@ -162,6 +163,21 @@ static int udev_device_set_devnum(struct
return 0;
}
+int udev_device_get_timeout(struct udev_device *udev_device)
+{
+ return udev_device->timeout;
+}
+
+static int udev_device_set_timeout(struct udev_device *udev_device, int timeout)
+{
+ char num[32];
+
+ udev_device->timeout = timeout;
+ snprintf(num, sizeof(num), "%u", timeout);
+ udev_device_add_property(udev_device, "TIMEOUT", num);
+ return 0;
+}
+
const char *udev_device_get_devpath_old(struct udev_device *udev_device)
{
return udev_device->devpath_old;
@@ -418,6 +434,8 @@ void udev_device_add_property_from_strin
udev_device_set_devpath_old(udev_device, &property[12]);
} else if (startswith(property, "SEQNUM=")) {
udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10));
+ } else if (startswith(property, "TIMEOUT=")) {
+ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10));
} else if (startswith(property, "IFINDEX=")) {
udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10));
} else if (startswith(property, "DEVMODE=")) {
@@ -605,6 +623,7 @@ struct udev_device *udev_device_new(stru
udev_list_init(udev, &udev_device->sysattr_value_list, true);
udev_list_init(udev, &udev_device->sysattr_list, false);
udev_list_init(udev, &udev_device->tags_list, true);
+ udev_device->timeout = -1;
udev_device->watch_handle = -1;
/* copy global properties */
udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev))
Index: systemd-190/src/libudev/libudev-private.h
===================================================================
--- systemd-190.orig/src/libudev/libudev-private.h
+++ systemd-190/src/libudev/libudev-private.h
@@ -65,6 +65,7 @@ const char *udev_device_get_id_filename(
void udev_device_set_is_initialized(struct udev_device *udev_device);
int udev_device_add_tag(struct udev_device *udev_device, const char *tag);
void udev_device_cleanup_tags_list(struct udev_device *udev_device);
+int udev_device_get_timeout(struct udev_device *udev_device);
unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device);
void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized);
int udev_device_get_devlink_priority(struct udev_device *udev_device);
Index: systemd-190/src/udev/udevd.c
===================================================================
--- systemd-190.orig/src/udev/udevd.c
+++ systemd-190/src/udev/udevd.c
@@ -387,7 +387,7 @@ out:
}
}
-static void event_run(struct event *event)
+static void event_run(struct event *event, bool force)
{
struct udev_list_node *loop;
@@ -413,7 +413,7 @@ static void event_run(struct event *even
return;
}
- if (children >= children_max) {
+ if (!force && children >= children_max) {
if (children_max > 1)
log_debug("maximum number (%i) of children reached\n", children);
return;
@@ -447,6 +447,13 @@ static int event_queue_insert(struct ude
event->state = EVENT_QUEUED;
udev_list_node_append(&event->node, &event_list);
+
+ /* run all events with a timeout set immediately */
+ if (udev_device_get_timeout(dev) > 0) {
+ event_run(event, true);
+ return 0;
+ }
+
return 0;
}
@@ -552,7 +559,7 @@ static void event_queue_start(struct ude
if (is_devpath_busy(event))
continue;
- event_run(event);
+ event_run(event, false);
}
}
++++++ 0001-handle-disable_caplock-and-compose_table-and-kbd_rat.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -7,10 +7,10 @@
src/vconsole-setup.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 121 insertions(+), 3 deletions(-)
-Index: systemd-37/src/vconsole-setup.c
+Index: systemd-189/src/vconsole/vconsole-setup.c
===================================================================
---- systemd-37.orig/src/vconsole/vconsole-setup.c
-+++ systemd-37/src/vconsole/vconsole-setup.c
+--- systemd-189.orig/src/vconsole/vconsole-setup.c
++++ systemd-189/src/vconsole/vconsole-setup.c
@@ -40,6 +40,7 @@
#include "log.h"
#include "macro.h"
@@ -19,7 +19,7 @@
static bool is_vconsole(int fd) {
unsigned char data[1];
-@@ -79,8 +80,8 @@
+@@ -99,8 +100,8 @@ static int enable_utf8(int fd) {
return r;
}
@@ -30,7 +30,7 @@
int i = 0;
pid_t pid;
-@@ -99,6 +100,8 @@
+@@ -119,6 +120,8 @@ static int load_keymap(const char *vc, c
args[i++] = map;
if (map_toggle)
args[i++] = map_toggle;
@@ -38,8 +38,8 @@
+ args[i++] = "disable.capslock";
args[i++] = NULL;
- if ((pid = fork()) < 0) {
-@@ -150,6 +153,101 @@
+ pid = fork();
+@@ -172,6 +175,101 @@ static int load_font(const char *vc, con
return 0;
}
@@ -141,7 +141,7 @@
int main(int argc, char **argv) {
const char *vc;
char *vc_keymap = NULL;
-@@ -163,8 +261,16 @@
+@@ -185,8 +283,16 @@ int main(int argc, char **argv) {
#if defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
char *vc_keytable = NULL;
#endif
@@ -158,29 +158,26 @@
int r = EXIT_FAILURE;
pid_t font_pid = 0, keymap_pid = 0;
-@@ -265,6 +371,10 @@
- #elif defined(TARGET_SUSE)
- if ((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)) < 0) {
-
- if (r != -ENOENT)
-@@ -280,6 +390,7 @@
- if (r != -ENOENT)
- log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r));
+@@ -281,10 +387,15 @@ int main(int argc, char **argv) {
+ free(vc_keymap);
+ vc_keymap = t;
}
+ disable_capslock = vc_kbd_disable_caps_lock && strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
- #elif defined(TARGET_ARCH)
- if ((r = parse_env_file("/etc/rc.conf", NEWLINE,
-@@ -436,7 +547,11 @@
- if (!utf8)
+ #elif defined(TARGET_SUSE)
+ 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));
+@@ -443,7 +554,11 @@ int main(int argc, char **argv) {
disable_utf8(fd);
+
- if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+ if (load_keymap(vc, vc_keymap, vc_keymap_toggle, utf8, disable_capslock, &keymap_pid) >= 0 &&
+#ifdef TARGET_SUSE
@@ -190,7 +187,7 @@
load_font(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
r = EXIT_SUCCESS;
-@@ -444,6 +559,14 @@
+@@ -451,6 +566,14 @@ finish:
if (keymap_pid > 0)
wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
@@ -205,7 +202,7 @@
if (font_pid > 0)
wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
-@@ -451,6 +574,12 @@
+@@ -458,6 +581,12 @@ finish:
free(vc_font);
free(vc_font_map);
free(vc_font_unimap);
@@ -218,4 +215,3 @@
if (fd >= 0)
close_nointr_nofail(fd);
-Only in new/src/vconsole: vconsole-setup.c.orig
++++++ 0001-service-Fix-dependencies-added-when-parsing-insserv..patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -9,8 +9,8 @@
Index: systemd-41/src/service.c
===================================================================
---- systemd-41.orig/src/service.c
-+++ systemd-41/src/service.c
+--- systemd-41.orig/src/core/service.c
++++ systemd-41/src/core/service.c
@@ -3210,23 +3210,30 @@ static void sysv_facility_in_insserv_con
Unit *u;
if (sysv_translate_facility(parsed[0], NULL, &facility) < 0)
++++++ 0001-service-flags-sysv-service-with-detected-pid-as-Rema.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -14,8 +14,8 @@
Index: systemd-37/src/service.c
===================================================================
---- systemd-37.orig/src/service.c
-+++ systemd-37/src/service.c
+--- systemd-37.orig/src/core/service.c
++++ systemd-37/src/core/service.c
@@ -2014,8 +2014,13 @@ static void service_enter_running(Servic
cgroup_ok = cgroup_good(s);
++++++ 0013-re-enable-by_path-links-for-ata-devices.patch ++++++
Index: udev-182/src/udev-builtin-path_id.c
===================================================================
--- udev-182.orig/src/udev/udev-builtin-path_id.c
+++ udev-182/src/udev/udev-builtin-path_id.c
@@ -286,6 +286,85 @@ out:
return hostdev;
}
+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;
@@ -322,16 +401,8 @@ static struct udev_device *handle_scsi(s
goto out;
}
- /*
- * We do not support the ATA transport class, it creates duplicated link
- * names as the fake SCSI host adapters are all separated, they are all
- * re-based as host == 0. ATA should just stop faking two duplicated
- * hierarchies for a single topology and leave the SCSI stuff alone;
- * until that happens, there are no by-path/ links for ATA devices behind
- * an ATA transport class.
- */
if (strstr(name, "/ata") != NULL) {
- parent = NULL;
+ parent = handle_ata(parent, path);
goto out;
}
++++++ 0014-rules-create-by-id-scsi-links-for-ATA-devices.patch ++++++
Index: udev-182/rules/60-persistent-storage.rules
===================================================================
--- udev-182.orig/rules/60-persistent-storage.rules
+++ udev-182/rules/60-persistent-storage.rules
@@ -44,6 +44,10 @@ KERNEL=="cciss*", ENV{DEVTYPE}=="disk",
KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
+# 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"
++++++ 0026-udev-netlink-null-rules.patch ++++++
Index: udev-182/src/udevd.c
===================================================================
--- udev-182.orig/src/udev/udevd.c
+++ udev-182/src/udev/udevd.c
@@ -1683,6 +1683,8 @@ int main(int argc, char *argv[])
dev = udev_monitor_receive_device(monitor);
if (dev != NULL) {
udev_device_set_usec_initialized(dev, now_usec());
+ if (rules == NULL)
+ rules = udev_rules_new(udev, resolve_names);
if (event_queue_insert(dev) < 0)
udev_device_unref(dev);
}
++++++ 0027-udev-fix-sg-autoload-regression.patch ++++++
Index: systemd-190/rules/80-drivers.rules
===================================================================
--- systemd-190.orig/rules/80-drivers.rules
+++ systemd-190/rules/80-drivers.rules
@@ -7,6 +7,7 @@ SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}==
SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", IMPORT{builtin}="kmod load tifm_ms"
SUBSYSTEM=="memstick", IMPORT{builtin}="kmod load ms_block mspro_block"
SUBSYSTEM=="i2o", IMPORT{builtin}="kmod load i2o_block"
+SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST!="[module/sg]", IMPORT{builtin}="kmod load sg"
SUBSYSTEM=="module", KERNEL=="parport_pc", RUN{builtin}="kmod load ppdev"
LABEL="drivers_end"
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -1,3 +1,6 @@
systemd
supplements "packageand(systemd:pam-<targettype>)"
-/lib/systemd/system/
+libudev0
+libgudev-1_0-0
+
++++++ boot.udev ++++++
#!/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"
udev_timeout=180
case "$1" in
start)
# create /dev/root symlink with dynamic rule
if [ -x /lib/udev/write_dev_root_rule ]; then
/lib/udev/write_dev_root_rule
fi
# start udevd
echo -n "Starting udevd: "
/sbin/udevd --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: "
/sbin/udevadm trigger --type=subsystems --action=add
/sbin/udevadm trigger --type=devices --action=add
# wait for events to finish
/sbin/udevadm settle --timeout=$udev_timeout
rc_status -v
;;
stop)
echo -n "Stopping udevd: "
killproc /sbin/udevd
rc_status -v
;;
restart)
echo -n "Restarting udevd: "
killproc /sbin/udevd
/sbin/udevd --daemon
rc_status -v
;;
status)
echo -n "Checking for udevd: "
checkproc /sbin/udevd
rc_status -v
;;
reload)
echo -n "Reloading udev rules: "
/sbin/udevadm control --reload-rules
rc_status -v
;;
force-reload)
echo -n "Restarting udev and reconfiguring all devices: "
killproc /sbin/udevd
rm -rf /dev/.udev /dev/disk
root_symlink_rule
/sbin/udevd --daemon
/sbin/udevadm trigger --action=add
/sbin/udevadm settle --timeout=$udev_timeout
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|restart|status|reload|force-reload}"
exit 1
;;
esac
rc_exit
++++++ crypt-loop-file.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -1,8 +1,8 @@
-Index: systemd-37/src/cryptsetup/cryptsetup-generator.c
+Index: systemd-190/src/cryptsetup/cryptsetup-generator.c
===================================================================
---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c
-+++ systemd-37/src/cryptsetup/cryptsetup-generator.c
-@@ -138,7 +138,7 @@ static int create_disk(
+--- systemd-190.orig/src/cryptsetup/cryptsetup-generator.c
++++ systemd-190/src/cryptsetup/cryptsetup-generator.c
+@@ -136,7 +136,7 @@ static int create_disk(
const char *password,
const char *options) {
@@ -11,62 +11,64 @@
int r;
FILE *f = NULL;
bool noauto, nofail;
-@@ -167,10 +167,50 @@ static int create_disk(
+@@ -168,11 +168,51 @@ static int create_disk(
goto fail;
}
-- if (!(d = unit_name_from_path(u, ".device"))) {
+- d = unit_name_from_path(u, ".device");
+- if (!d) {
- r = -ENOMEM;
- log_error("Failed to allocate device name.");
- goto fail;
+ if (!startswith(device,"/dev/")) {
++ d = unit_name_from_path_instance("cryptsetup", name, ".path");
++ if (!d) {
++ r = -ENOMEM;
++ log_error("Failed to allocate path name.");
++ goto fail;
++ }
++
++ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) {
++ r = -ENOMEM;
++ log_error("Failed to allocate unit file name.");
++ goto fail;
++ }
++
++ f = fopen(path_file, "wxe");
++ if (!f) {
++ r = -errno;
++ log_error("Failed to create unit file: %m");
++ goto fail;
++ }
++
++ fprintf(f,
++ "[Unit]\n"
++ "Description=Cryptography Setup for %s\n"
++ "DefaultDependencies=no\n"
++ "[Path]\n"
++ "PathExists=%s\n",
++ device, device);
++
++ fflush(f);
++
++ if (ferror(f)) {
++ r = -errno;
++ log_error("Failed to write file: %m");
++ goto fail;
++ }
+
-+ if (!(d = unit_name_build_escape("cryptsetup", name, ".path"))) {
-+ r = -ENOMEM;
-+ log_error("Failed to allocate path name.");
-+ goto fail;
-+ }
-+
-+ if (asprintf(&path_file, "%s/%s", arg_dest, d) < 0) {
-+ r = -ENOMEM;
-+ log_error("Failed to allocate unit file name.");
-+ goto fail;
-+ }
-+
-+ if (!(f = fopen(path_file, "wxe"))) {
-+ r = -errno;
-+ log_error("Failed to create unit file: %m");
-+ goto fail;
-+ }
-+
-+ fprintf(f,
-+ "[Unit]\n"
-+ "Description=Cryptography Setup for %s\n"
-+ "DefaultDependencies=no\n"
-+ "[Path]\n"
-+ "PathExists=%s\n",
-+ device, device);
-+
-+ fflush(f);
-+
-+ if (ferror(f)) {
-+ r = -errno;
-+ log_error("Failed to write file: %m");
-+ goto fail;
-+ }
-+
-+ f = NULL;
++ f = NULL;
+ } else {
-+
-+ if (!(d = unit_name_from_path(u, ".device"))) {
-+ r = -ENOMEM;
-+ log_error("Failed to allocate device name.");
-+ goto fail;
-+ }
++ d = unit_name_from_path(u, ".device");
++ if (!d) {
++ r = -ENOMEM;
++ log_error("Failed to allocate device name.");
++ goto fail;
++ }
}
- if (!(f = fopen(p, "wxe"))) {
-@@ -300,6 +340,7 @@ fail:
+ f = fopen(p, "wxe");
+@@ -298,6 +338,7 @@ fail:
free(n);
free(d);
free(e);
++++++ delay-fsck-cryptsetup-after-md-lvm-dmraid.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -8,26 +8,26 @@
units/fsck@.service.in | 2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
-Index: systemd-37/src/cryptsetup/cryptsetup-generator.c
+Index: systemd-189/src/cryptsetup/cryptsetup-generator.c
===================================================================
---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c
-+++ systemd-37/src/cryptsetup/cryptsetup-generator.c
-@@ -112,6 +112,7 @@ static int create_disk(
+--- systemd-189.orig/src/cryptsetup/cryptsetup-generator.c
++++ systemd-189/src/cryptsetup/cryptsetup-generator.c
+@@ -192,6 +192,7 @@ static int create_disk(
"DefaultDependencies=no\n"
- "BindTo=%s dev-mapper-%%i.device\n"
+ "BindsTo=%s dev-mapper-%%i.device\n"
"After=systemd-readahead-collect.service systemd-readahead-replay.service %s\n"
+ "After=md.service dmraid.service lvm.service\n"
"Before=umount.target\n",
d, d);
-Index: systemd-37/units/fsck@.service.in
+Index: systemd-189/units/systemd-fsck@.service.in
===================================================================
---- systemd-37.orig/units/fsck@.service.in
-+++ systemd-37/units/fsck@.service.in
-@@ -9,7 +9,7 @@
- Description=File System Check on %f
+--- systemd-189.orig/units/systemd-fsck@.service.in
++++ systemd-189/units/systemd-fsck@.service.in
+@@ -10,7 +10,7 @@ Description=File System Check on %f
+ Documentation=man:systemd-fsck@.service(8)
DefaultDependencies=no
- BindTo=%i.device
+ BindsTo=%i.device
-After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device
+After=systemd-readahead-collect.service systemd-readahead-replay.service %i.device lvm.service md.service dmraid.service
Before=shutdown.target
++++++ dm-lvm-after-local-fs-pre-target.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -1,9 +1,9 @@
-Index: systemd-37/units/local-fs-pre.target
+Index: systemd-189/units/local-fs-pre.target
===================================================================
---- systemd-37.orig/units/local-fs-pre.target
-+++ systemd-37/units/local-fs-pre.target
-@@ -9,3 +9,4 @@
-
+--- systemd-189.orig/units/local-fs-pre.target
++++ systemd-189/units/local-fs-pre.target
+@@ -8,3 +8,4 @@
[Unit]
Description=Local File Systems (Pre)
+ Documentation=man:systemd.special(7)
+After=md.service lvm.service dmraid.service
++++++ fastboot-forcefsck.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -1,11 +1,11 @@
-Index: systemd-44/src/fsck.c
+Index: systemd-189/src/fsck/fsck.c
===================================================================
---- systemd-44.orig/src/fsck.c
-+++ systemd-44/src/fsck.c
-@@ -127,7 +127,7 @@ static int parse_proc_cmdline(void) {
+--- systemd-189.orig/src/fsck/fsck.c
++++ systemd-189/src/fsck/fsck.c
+@@ -128,7 +128,7 @@ static int parse_proc_cmdline(void) {
arg_skip = true;
- else if (startswith(w, "fsck.mode"))
- log_warning("Invalid fsck.mode= parameter. Ignoring.");
+ else if (startswith(w, "fsck"))
+ log_warning("Invalid fsck parameter. Ignoring.");
-#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
+#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA) || defined(TARGET_SUSE)
else if (strneq(w, "fastboot", l))
++++++ fix-enable-disable-boot-initscript.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -7,11 +7,11 @@
src/systemctl.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
-diff --git a/src/systemctl.c b/src/systemctl.c
-index e94e024..1a98599 100644
---- a/src/systemctl.c
-+++ b/src/systemctl.c
-@@ -3669,7 +3669,27 @@ static int enable_sysv_units(char **args) {
+Index: systemd-195/src/systemctl/systemctl.c
+===================================================================
+--- systemd-195.orig/src/systemctl/systemctl.c
++++ systemd-195/src/systemctl/systemctl.c
+@@ -3453,7 +3453,27 @@ static int enable_sysv_units(char **args
if (!found_sysv) {
free(p);
@@ -39,6 +39,3 @@
}
/* Mark this entry, so that we don't try enabling it as native unit */
---
-1.7.10.4
-
++++++ macros.systemd ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -20,14 +20,14 @@
#
###
-# This is for /bin/systemctl
+# This is for systemctl
%systemd_requires \
Requires(pre): systemd \
Requires(post): systemd \
Requires(preun): systemd \
Requires(postun): systemd \
-%_unitdir /lib/systemd/system
+%_unitdir /usr/lib/systemd/system
%service_add_pre() \
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
@@ -62,11 +62,11 @@
touch "/var/lib/systemd/migrated/$sysv_service" || : \
fi \
done \
-/bin/systemctl daemon-reload >/dev/null 2>&1 || : \
+/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 \
- /bin/systemctl preset %{?*} >/dev/null 2>&1 || : \
+ /usr/bin/systemctl preset %{?*} >/dev/null 2>&1 || : \
fi \
%{nil}
@@ -75,8 +75,8 @@
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
if [ $FIRST_ARG -eq 0 ]; then \
# Package removal, not upgrade \
- /bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \
- /bin/systemctl stop %{?*} > /dev/null 2>&1 || : \
+ /usr/bin/systemctl --no-reload disable %{?*} > /dev/null 2>&1 || : \
+ /usr/bin/systemctl stop %{?*} > /dev/null 2>&1 || : \
fi \
%{nil}
@@ -85,13 +85,13 @@
test -n "$FIRST_ARG" || FIRST_ARG=$1 \
if [ $FIRST_ARG -ge 1 ]; then \
# Package upgrade, not uninstall \
- /bin/systemctl try-restart %{?*} >/dev/null 2>&1 || : \
+ /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 \
- /bin/systemctl daemon-reload >/dev/null 2>&1 || : \
+ /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : \
fi \
%{nil}
++++++ modules_on_boot.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:38.000000000 +0100
@@ -7,24 +7,25 @@
src/modules-load.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
-Index: systemd-44/src/modules-load.c
+Index: systemd-191/src/modules-load/modules-load.c
===================================================================
---- systemd-44.orig/src/modules-load.c
-+++ systemd-44/src/modules-load.c
-@@ -44,6 +44,9 @@ static void systemd_kmod_log(void *data,
- int main(int argc, char *argv[]) {
- int r = EXIT_FAILURE;
- char **files, **fn;
+--- systemd-191.orig/src/modules-load/modules-load.c
++++ systemd-191/src/modules-load/modules-load.c
+@@ -173,6 +173,9 @@ int main(int argc, char *argv[]) {
+ int r = EXIT_FAILURE, k;
+ char **files = NULL, **fn, **i;
+ struct kmod_ctx *ctx;
+#if defined(TARGET_SUSE)
+ char *modules_on_boot = NULL;
+#endif
- struct kmod_ctx *ctx;
- const int probe_flags = KMOD_PROBE_APPLY_BLACKLIST|KMOD_PROBE_IGNORE_LOADED;
-@@ -141,9 +144,59 @@ int main(int argc, char *argv[]) {
+ if (argc > 1) {
+ log_error("This program takes no argument.");
+@@ -256,9 +259,34 @@ int main(int argc, char *argv[]) {
fclose(f);
}
+-
+#if defined(TARGET_SUSE)
+ log_debug("apply: /etc/sysconfig/kernel MODULES_LOADED_ON_BOOT");
+ if ((r = parse_env_file("/etc/sysconfig/kernel", NEWLINE,
@@ -37,37 +38,12 @@
+ if (modules_on_boot) {
+ char **modules = strv_split(modules_on_boot,WHITESPACE);
+ char **module;
-+ struct kmod_list *itr, *modlist = NULL;
-+ int err;
+
+ if (modules) {
+ STRV_FOREACH(module, modules) {
-+ err = kmod_module_new_from_lookup(ctx, *module, &modlist);
-+ if (err < 0) {
-+ log_error("Failed to lookup alias '%s'", *module);
++ k = load_module(ctx, *module);
++ if (k < 0)
+ r = EXIT_FAILURE;
-+ continue;
-+ }
-+ kmod_list_foreach(itr, modlist) {
-+ struct kmod_module *mod = kmod_module_get_module(itr);
-+ err = kmod_module_probe_insert_module(mod, probe_flags,
-+ NULL, NULL, NULL, NULL);
-+
-+ if (err == 0)
-+ log_info("Inserted module '%s'", kmod_module_get_name(mod));
-+ else if (err == KMOD_PROBE_APPLY_BLACKLIST)
-+ log_info("Module '%s' is blacklisted", kmod_module_get_name(mod));
-+ else {
-+ log_error("Failed to insert '%s': %s", kmod_module_get_name(mod),
-+ strerror(-err));
-+ r = EXIT_FAILURE;
-+ }
-+
-+ kmod_module_unref(mod);
-+ }
-
-+ kmod_module_unref_list(modlist);
-+ modlist = NULL;
+ }
+ }
+ strv_free(modules);
@@ -79,16 +55,16 @@
+ free(modules_on_boot);
+#endif
kmod_unref(ctx);
+ strv_free(arg_proc_cmdline_modules);
- return r;
-Index: systemd-44/units/systemd-modules-load.service.in
+Index: systemd-191/units/systemd-modules-load.service.in
===================================================================
---- systemd-44.orig/units/systemd-modules-load.service.in
-+++ systemd-44/units/systemd-modules-load.service.in
-@@ -11,6 +11,7 @@ DefaultDependencies=no
- Conflicts=shutdown.target
+--- systemd-191.orig/units/systemd-modules-load.service.in
++++ systemd-191/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
++++++ new-lsb-headers.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:39.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:39.000000000 +0100
@@ -1,8 +1,8 @@
-Index: systemd-44/src/service.c
+Index: systemd-189/src/core/service.c
===================================================================
---- systemd-44.orig/src/service.c
-+++ systemd-44/src/service.c
-@@ -122,6 +122,7 @@ static void service_init(Unit *u) {
+--- systemd-189.orig/src/core/service.c
++++ systemd-189/src/core/service.c
+@@ -145,6 +145,7 @@ static void service_init(Unit *u) {
#ifdef HAVE_SYSV_COMPAT
s->sysv_start_priority = -1;
s->sysv_start_priority_from_rcnd = -1;
@@ -10,7 +10,7 @@
#endif
s->socket_fd = -1;
s->guess_main_pid = true;
-@@ -840,6 +841,34 @@ static int service_load_sysv_path(Servic
+@@ -877,6 +878,34 @@ static int service_load_sysv_path(Servic
free(short_description);
short_description = d;
@@ -45,7 +45,7 @@
} else if (state == LSB_DESCRIPTION) {
if (startswith(l, "#\t") || startswith(l, "# ")) {
-@@ -894,7 +923,8 @@ static int service_load_sysv_path(Servic
+@@ -935,7 +964,8 @@ static int service_load_sysv_path(Servic
/* Special setting for all SysV services */
s->type = SERVICE_FORKING;
@@ -55,7 +55,7 @@
s->guess_main_pid = false;
s->restart = SERVICE_RESTART_NO;
s->exec_context.ignore_sigpipe = false;
-@@ -2036,7 +2066,7 @@ static void service_enter_running(Servic
+@@ -2107,7 +2137,7 @@ static void service_enter_running(Servic
if ((main_pid_ok > 0 || (main_pid_ok < 0 && cgroup_ok != 0)) &&
(s->bus_name_good || s->type != SERVICE_DBUS)) {
#ifdef HAVE_SYSV_COMPAT
@@ -64,12 +64,12 @@
s->remain_after_exit = false;
#endif
service_set_state(s, SERVICE_RUNNING);
-Index: systemd-44/src/service.h
+Index: systemd-189/src/core/service.h
===================================================================
---- systemd-44.orig/src/service.h
-+++ systemd-44/src/service.h
-@@ -166,6 +166,7 @@ struct Service {
- #ifdef HAVE_SYSV_COMPAT
+--- systemd-189.orig/src/core/service.h
++++ systemd-189/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;
++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:39.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:39.000000000 +0100
@@ -1,6 +1,16 @@
#!/bin/sh
-VERSION=`sed -e '/^Version:/!d' -e 's/Version: *//' systemd.spec`
-RELEASE=`sed -e '/^Release:/!d' -e 's/Release: *//' systemd.spec`
-sed -i -e "s,^\(Version:[ tab]*\).*,\1$VERSION," -e "s,^\(Release:[ tab]*\).*,\1$RELEASE," systemd-gtk.spec
-cp systemd.changes systemd-gtk.changes
+# 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
++++++ storage-after-cryptsetup.patch ++++++
--- /var/tmp/diff_new_pack.PewQ3x/_old 2012-11-02 17:30:39.000000000 +0100
+++ /var/tmp/diff_new_pack.PewQ3x/_new 2012-11-02 17:30:39.000000000 +0100
@@ -7,10 +7,10 @@
src/cryptsetup-generator.c | 80 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 insertions(+), 0 deletions(-)
-Index: systemd-37/src/cryptsetup/cryptsetup-generator.c
+Index: systemd-194/src/cryptsetup/cryptsetup-generator.c
===================================================================
---- systemd-37.orig/src/cryptsetup/cryptsetup-generator.c
-+++ systemd-37/src/cryptsetup/cryptsetup-generator.c
+--- systemd-194.orig/src/cryptsetup/cryptsetup-generator.c
++++ systemd-194/src/cryptsetup/cryptsetup-generator.c
@@ -22,6 +22,7 @@
#include