Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2014-04-12 21:28:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "systemd" Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2014-04-09 18:17:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2014-04-12 21:58:05.000000000 +0200 @@ -1,0 +2,31 @@ +Thu Apr 10 10:17:47 UTC 2014 - werner@suse.de + +- Add two patches from hare@suse.com + 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch + 1012-Skip-persistent-device-link-creation-on-multipath-de.patch + to solve bnc#872929 + +------------------------------------------------------------------- +Wed Apr 9 08:53:21 UTC 2014 - rmilasan@suse.com + +- Increase result size for programs stdout (bnc#867840). + add: 1010-udev-increase-result-size-for-programs.patch +- Update udev-generate-peristent-rule.sh to the latest version. +- Clean-up spec file, re-arange patch to suit the setup, all udev + patches start with 1XXX-*.{patch,diff}. +- Rename: 0013-cdrom_id-use-the-old-MMC-fallback.patch to + 1009-cdrom_id-use-the-old-MMC-fallback.patch +- Rename: 1009-make-xsltproc-use-correct-ROFF-links.patch to + 0009-make-xsltproc-use-correct-ROFF-links.patch +- Rename: 1010-do-not-install-sulogin-unit-with-poweroff.patch to + 0010-do-not-install-sulogin-unit-with-poweroff.patch +- Rename: 1014-journald-with-journaling-FS.patch to + 0014-journald-with-journaling-FS.patch +- Rename: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch to + 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +- Rename: 1019-make-completion-smart-to-be-able-to-redirect.patch to + 0019-make-completion-smart-to-be-able-to-redirect.patch +- Rename: 1022-systemd-tmpfiles-ownerkeep.patch to + 0022-systemd-tmpfiles-ownerkeep.patch + +------------------------------------------------------------------- systemd.changes: same change Old: ---- 0013-cdrom_id-use-the-old-MMC-fallback.patch 1009-make-xsltproc-use-correct-ROFF-links.patch 1010-do-not-install-sulogin-unit-with-poweroff.patch 1014-journald-with-journaling-FS.patch 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch 1019-make-completion-smart-to-be-able-to-redirect.patch 1022-systemd-tmpfiles-ownerkeep.patch New: ---- 0009-make-xsltproc-use-correct-ROFF-links.patch 0010-do-not-install-sulogin-unit-with-poweroff.patch 0014-journald-with-journaling-FS.patch 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch 0019-make-completion-smart-to-be-able-to-redirect.patch 0022-systemd-tmpfiles-ownerkeep.patch 1009-cdrom_id-use-the-old-MMC-fallback.patch 1010-udev-increase-result-size-for-programs.patch 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch 1012-Skip-persistent-device-link-creation-on-multipath-de.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd-mini.spec ++++++ --- /var/tmp/diff_new_pack.evyVcI/_old 2014-04-12 22:03:22.000000000 +0200 +++ /var/tmp/diff_new_pack.evyVcI/_new 2014-04-12 22:03:22.000000000 +0200 @@ -339,47 +339,51 @@ Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch # PATCH-FIX-USTREAM added at 2014/04/08 Patch176: 0005-systemd-python-fix-failing-assert.patch -# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch -# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch -Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch -Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch +Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch +Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch1020: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch -Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +Patch183: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch +Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch1023: systemd-powerd-initctl-support.patch +Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch1024: systemctl-set-default-target.patch +Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch1025: prepare-suspend-to-disk.patch +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch1026: boot-local-start.patch +Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch - +Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch1999: systemd-install-compat_pkgconfig-always.patch +Patch190: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch2000: systemd-dbus-system-bus-address.patch +Patch191: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch2001: let-linker-find-libudev-for-libdevmapper.patch +Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch2002: portmap-wants-rpcbind-socket.patch - -# udev patches -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 -Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch + +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # 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 @@ -394,6 +398,14 @@ Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -707,26 +719,26 @@ %patch174 -p0 %patch175 -p0 %patch176 -p0 -%patch1009 -p1 -%patch1010 -p1 -%patch1012 -p1 -%patch1014 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1999 -p1 -%patch2000 -p1 -%patch2001 -p1 -%patch2002 -p1 +%patch177 -p1 +%patch178 -p1 +%patch179 -p1 +%patch180 -p1 +%patch181 -p1 +%patch182 -p1 +%patch183 -p1 +%patch184 -p1 +%patch185 -p1 +%patch186 -p1 +%patch187 -p1 +%patch188 -p1 +%patch189 -p1 +%patch190 -p1 +%patch191 -p1 +%patch192 -p1 +%patch193 -p1 +%patch194 -p0 + # udev patches -%patch1034 -p0 -%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -736,6 +748,10 @@ %if 0%{?suse_version} <= 1310 %patch1008 -p1 %endif +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.evyVcI/_old 2014-04-12 22:03:22.000000000 +0200 +++ /var/tmp/diff_new_pack.evyVcI/_new 2014-04-12 22:03:22.000000000 +0200 @@ -334,47 +334,51 @@ Patch175: 0004-systemd-python-use-.hex-instead-of-.get_hex.patch # PATCH-FIX-USTREAM added at 2014/04/08 Patch176: 0005-systemd-python-fix-failing-assert.patch -# PATCH-FIX-OPENSUSE 1009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) -Patch1009: 1009-make-xsltproc-use-correct-ROFF-links.patch -# PATCH-FIX-OPENSUSE 1010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) -Patch1010: 1010-do-not-install-sulogin-unit-with-poweroff.patch +# PATCH-FIX-OPENSUSE 0009-make-xsltproc-use-correct-ROFF-links.patch -- Make ROFF links working again in manual pages (bnc#842844) +Patch177: 0009-make-xsltproc-use-correct-ROFF-links.patch +# PATCH-FIX-OPENSUSE 0010-do-not-install-sulogin-unit-with-poweroff.patch -- Avoid installing console-shell.service (bnc#849071) +Patch178: 0010-do-not-install-sulogin-unit-with-poweroff.patch # PATCH-FIX-SUSE 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -Patch1012: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch -# PATCH-FIX-OPENSUSE 1014-journald-with-journaling-FS.patch -Patch1014: 1014-journald-with-journaling-FS.patch -# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch -Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch +Patch179: 0001-pam_systemd_do_override_XDG_RUNTIME_DIR_of_the_original_user.patch +# PATCH-FIX-OPENSUSE 0014-journald-with-journaling-FS.patch +Patch180: 0014-journald-with-journaling-FS.patch +# PATCH-FIX-SUSE 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +Patch181: 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch +# PATCH-FIX-SUSE 0019-make-completion-smart-to-be-able-to-redirect.patch +Patch182: 0019-make-completion-smart-to-be-able-to-redirect.patch # PATCH-FIX-SUSE 0001-add-network-device-after-NFS-mount-units.patch werner@suse.com -Patch1020: 0001-add-network-device-after-NFS-mount-units.patch -# PATCH-FIX-SUSE 1022-systemd-tmpfiles-ownerkeep.patch -Patch1022: 1022-systemd-tmpfiles-ownerkeep.patch +Patch183: 0001-add-network-device-after-NFS-mount-units.patch +# PATCH-FIX-SUSE 0022-systemd-tmpfiles-ownerkeep.patch +Patch184: 0022-systemd-tmpfiles-ownerkeep.patch # PATCH-FIX-SUSE systemd-powerd-initctl-support.patch -Patch1023: systemd-powerd-initctl-support.patch +Patch185: systemd-powerd-initctl-support.patch # PATCH-FIX-SUSE systemctl-set-default-target.patch -Patch1024: systemctl-set-default-target.patch +Patch186: systemctl-set-default-target.patch # PATCH-FIX-SUSE prepare-suspend-to-disk.patch (fate #316824) -Patch1025: prepare-suspend-to-disk.patch +Patch187: prepare-suspend-to-disk.patch # PATCH-FIX-SUSE boot-local-start.patch (bnc #869142) -Patch1026: boot-local-start.patch +Patch188: boot-local-start.patch # PATCH-FIX-SUSE avoid random hangs on timeouts due lost cwd at terminating user manager -Patch1027: avoid-random-hangs-on-timeouts-due-lost-cwd.patch - +Patch189: avoid-random-hangs-on-timeouts-due-lost-cwd.patch # PATCH-FIX-SUSE systemd-install-compat_pkgconfig-always.patch -Patch1999: systemd-install-compat_pkgconfig-always.patch +Patch190: systemd-install-compat_pkgconfig-always.patch # PATCH-FIX-OPENSUSE systemd-dbus-system-bus-address.patch always use /run/dbus not /var/run -Patch2000: systemd-dbus-system-bus-address.patch +Patch191: systemd-dbus-system-bus-address.patch # PATCH-FIX-SUSE During linkage of systemd-cryptsetup let linker find libudev for libdevmapper -Patch2001: let-linker-find-libudev-for-libdevmapper.patch +Patch192: let-linker-find-libudev-for-libdevmapper.patch # PATCH-FIX-SUSE Make sure that rpcbind socket as well as service is up with the target -Patch2002: portmap-wants-rpcbind-socket.patch - -# udev patches -# PATCH-FIX-USTREAM added at 2014/03/03 -Patch1034: 0013-cdrom_id-use-the-old-MMC-fallback.patch +Patch193: portmap-wants-rpcbind-socket.patch # PATCH-FIX-USTREAM added at 2014/03/11 -Patch1035: 0007-dbus-suppress-duplicate-and-misleading-messages.patch +Patch194: 0007-dbus-suppress-duplicate-and-misleading-messages.patch + +# UDEV PATCHES +# ============ +# NOTE: all udev patches start with 1XXX-*.patch, do not use anything else. +# Udev patches mean: patches that affect udev code, src/{udev,libudev} +# nothing else, even if the patch might affect indirectly udev, as long +# as it's not changing the code of udev and libudev, then is not a udev +# patch. Further patches which add and/or changes udev rules. + # 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 @@ -389,6 +393,14 @@ Patch1007: 1007-physical-hotplug-cpu-and-memory.patch # PATCH-FIX-OPENSUSE 1008-add-msft-compability-rules.patch -- for code base <= 1310 Patch1008: 1008-add-msft-compability-rules.patch +# PATCH-FIX-USTREAM added at 2014/03/03 +Patch1009: 1009-cdrom_id-use-the-old-MMC-fallback.patch +# PATCH-FIX-SUSE increase result size for programs (bnc#867840) +Patch1010: 1010-udev-increase-result-size-for-programs.patch +# PATCH-FIX-SUSE skip btrfs check if devices are not ready (bnc#872929) +Patch1011: 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch +# PATCH-FIX-SUSE skip persistent device link creation on mp device (bnc#872929) +Patch1012: 1012-Skip-persistent-device-link-creation-on-multipath-de.patch %description Systemd is a system and service manager, compatible with SysV and LSB @@ -702,26 +714,26 @@ %patch174 -p0 %patch175 -p0 %patch176 -p0 -%patch1009 -p1 -%patch1010 -p1 -%patch1012 -p1 -%patch1014 -p1 -%patch1018 -p1 -%patch1019 -p1 -%patch1020 -p1 -%patch1022 -p1 -%patch1023 -p1 -%patch1024 -p1 -%patch1025 -p1 -%patch1026 -p1 -%patch1027 -p1 -%patch1999 -p1 -%patch2000 -p1 -%patch2001 -p1 -%patch2002 -p1 +%patch177 -p1 +%patch178 -p1 +%patch179 -p1 +%patch180 -p1 +%patch181 -p1 +%patch182 -p1 +%patch183 -p1 +%patch184 -p1 +%patch185 -p1 +%patch186 -p1 +%patch187 -p1 +%patch188 -p1 +%patch189 -p1 +%patch190 -p1 +%patch191 -p1 +%patch192 -p1 +%patch193 -p1 +%patch194 -p0 + # udev patches -%patch1034 -p0 -%patch1035 -p0 %patch1001 -p1 %patch1002 -p1 %patch1003 -p1 @@ -731,6 +743,10 @@ %if 0%{?suse_version} <= 1310 %patch1008 -p1 %endif +%patch1009 -p1 +%patch1010 -p1 +%patch1011 -p1 +%patch1012 -p1 # ensure generate files are removed rm -f units/emergency.service ++++++ 1009-make-xsltproc-use-correct-ROFF-links.patch -> 0009-make-xsltproc-use-correct-ROFF-links.patch ++++++ ++++++ 1010-do-not-install-sulogin-unit-with-poweroff.patch -> 0010-do-not-install-sulogin-unit-with-poweroff.patch ++++++ ++++++ 1014-journald-with-journaling-FS.patch -> 0014-journald-with-journaling-FS.patch ++++++ ++++++ 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch -> 0018-Make-LSB-Skripts-know-about-Required-and-Should.patch ++++++ ++++++ 1019-make-completion-smart-to-be-able-to-redirect.patch -> 0019-make-completion-smart-to-be-able-to-redirect.patch ++++++ ++++++ 1022-systemd-tmpfiles-ownerkeep.patch -> 0022-systemd-tmpfiles-ownerkeep.patch ++++++ ++++++ 0013-cdrom_id-use-the-old-MMC-fallback.patch -> 1009-cdrom_id-use-the-old-MMC-fallback.patch ++++++ --- /work/SRC/openSUSE:Factory/systemd/0013-cdrom_id-use-the-old-MMC-fallback.patch 2014-03-11 09:24:19.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.systemd.new/1009-cdrom_id-use-the-old-MMC-fallback.patch 2014-04-12 21:58:05.000000000 +0200 @@ -38,8 +38,8 @@ diff --git src/udev/cdrom_id/cdrom_id.c src/udev/cdrom_id/cdrom_id.c index 93467c2..33b2bc3 100644 ---- src/udev/cdrom_id/cdrom_id.c -+++ src/udev/cdrom_id/cdrom_id.c +--- a/src/udev/cdrom_id/cdrom_id.c ++++ b/src/udev/cdrom_id/cdrom_id.c @@ -556,7 +556,7 @@ static int cd_profiles(struct udev *udev, int fd) if ((err != 0)) { info_scsi_cmd_err(udev, "GET CONFIGURATION", err); ++++++ 1010-udev-increase-result-size-for-programs.patch ++++++ Index: systemd-210/src/udev/udev-rules.c =================================================================== --- systemd-210.orig/src/udev/udev-rules.c +++ systemd-210/src/udev/udev-rules.c @@ -2027,7 +2027,7 @@ int udev_rules_apply_to_event(struct ude case TK_M_PROGRAM: { char program[UTIL_PATH_SIZE]; char **envp; - char result[UTIL_PATH_SIZE]; + char result[UTIL_LINE_SIZE]; free(event->program_result); event->program_result = NULL; ++++++ 1011-64-btrfs.rules-skip-btrfs-check-if-devices-are-not-r.patch ++++++
From e26a5bb50b8aa741c5b2e57749d576c488e7ab32 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke
Date: Thu, 10 Apr 2014 11:10:41 +0200 Subject: [PATCH 1/2] 64-btrfs.rules: skip btrfs check if devices are not ready
From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke
Date: Thu, 10 Apr 2014 11:14:20 +0200 Subject: [PATCH 2/2] Skip persistent device link creation on multipath device
If any devices are marked with 'SYSTEMD_READY=0' then we shouldn't run any btrfs check on them. --- rules/64-btrfs.rules | 1 + 1 file changed, 1 insertion(+) diff --git a/rules/64-btrfs.rules b/rules/64-btrfs.rules index fe01001..57631bc 100644 --- a/rules/64-btrfs.rules +++ b/rules/64-btrfs.rules @@ -3,6 +3,7 @@ SUBSYSTEM!="block", GOTO="btrfs_end" ACTION=="remove", GOTO="btrfs_end" ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" +ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end" # let the kernel know about this btrfs filesystem, and check if it is complete IMPORT{builtin}="btrfs ready $devnode" -- 1.8.1.4 ++++++ 1012-Skip-persistent-device-link-creation-on-multipath-de.patch ++++++ paths When a device is marked as a multipath device path by setting DM_MULTIPATH_DEVICE_PATH="1" udev should not create any persistent symlinks to that device. Otherwise systemd will get confused about which device to use. --- rules/60-persistent-storage.rules | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules index 1208bd3..fd5bedd 100644 --- a/rules/60-persistent-storage.rules +++ b/rules/60-persistent-storage.rules @@ -39,8 +39,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin # scsi devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" -KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" +KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" +KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", 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}" @@ -70,6 +70,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ IMPORT{builtin}="blkid --noraid" +# Skip blkid on multipath device paths +ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" + # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{builtin}="blkid" -- 1.8.1.4 ++++++ udev-generate-peristent-rule.sh ++++++ --- /var/tmp/diff_new_pack.evyVcI/_old 2014-04-12 22:03:22.000000000 +0200 +++ /var/tmp/diff_new_pack.evyVcI/_new 2014-04-12 22:03:22.000000000 +0200 @@ -9,17 +9,19 @@ # # This program 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 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. +# along with this program. If not, see http://www.gnu.org/licenses/. # # This script run manually by user, will generate a persistent rule for # a given network interface to rename it to new interface name. # -prj=${0##*/} +_prj="$(basename $0 2>/dev/null)" +prj="${_prj%.*}" +ver="0.2" log_info() { @@ -29,28 +31,33 @@ log_error() { - local msg=$1 + local msg="$1" echo "$prj: $msg" >&2 } usage() { - set -f cat << EOF -$prj: udev persistent rule generator +$prj: udev persistent rule generator script Usage: $prj [OPTION] ... - -h show this help - -m generate the persistent rule based on interface MAC address - -p generate the persistent rule based on interface PCI slot - -v be verbose - -c <INTERFACE> current interface name (ex: "ip a s") - -n <INTERFACE> new interface name (ex: net0) - -o <FILE> where to write the new generate rule (default: /dev/stdout) - prefered location is /etc/udev/rules.d/70-persistent-net.rules + -h Show this help + -l List available interfaces + -m Generate the persistent rule based on interface MAC address + default option, if nothing is specified + -p Generate the persistent rule based on interface PCI slot + -v Be more verbose + -V Output the version number + -c [INTERFACE] Current interface name (ex: ip link) + only needed for retrieving information + -n [INTERFACE] New interface name (ex: net0) + -o [FILE] Where to write the new generate rule (default: /dev/stdout) + prefered location is /etc/udev/rules.d/70-persistent-net.rules Example: + $prj -v -c enp0s4 -n lan0 + or $prj -m -c enp0s4 -n net0 -o /etc/udev/rules.d/70-persistent-net.rules or $prj -p -c wlp3s0 -n wlan0 -o /etc/udev/rules.d/50-mynet.rules @@ -60,22 +67,19 @@ display_note() { - cat <<'EOF' - -NOTE: Using the generate persistent rule might mean you will need to do extra -work to ensure that it will work accordingly. This mean, regenerating the -initramfs/initrd image and/or using 'net.ifnames=0' option at boot time. - -In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, -but usually there is no need for 'net.ifnames=0' option if the persistent rule -is available in initramfs/initrd image. + cat << EOF +NOTE: Using the generate persistent rule might mean you will need to do extra work to ensure +that it will work accordingly. This mean, regenerating the initramfs/initrd image and/or using +'net.ifnames=0' option at boot time. +In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, but usually there +is no need for 'net.ifnames=0' option if the persistent rule is available in initramfs/initrd image. EOF } get_pci() { - local path=$1 + local path="$1" local pci="" if [ -L "$path/device" ]; then @@ -87,7 +91,7 @@ get_pci_id() { - local path=$1 + local path="$1" local pci_id="" if [ -r "$path/device/uevent" ]; then @@ -99,7 +103,7 @@ get_macaddr() { - local path=$1 + local path="$1" local macaddr="" if [ -r "$path/address" ]; then @@ -110,7 +114,7 @@ get_type() { - local path=$1 + local path="$1" local dev_type="" if [ -r "$path/type" ]; then @@ -121,7 +125,7 @@ get_dev_id() { - local path=$1 + local path="$1" local dev_id="" if [ -r "$path/dev_id" ]; then @@ -132,7 +136,7 @@ get_devtype() { - local path=$1 + local path="$1" local devtype="" if [ -r "$path/uevent" ]; then local _devtype="$(cat $path/uevent|grep ^DEVTYPE 2>/dev/null)" @@ -143,7 +147,7 @@ get_subsystem() { - local path=$1 + local path="$1" local subsystem="" if [ -L "$path/subsystem" ]; then @@ -153,9 +157,21 @@ echo $subsystem } +get_parent_subsystem() +{ + local path="$1" + local subsystem="" + + if [ -L "$path/device/subsystem" ]; then + local subsystem_link="$(readlink -f $path/device/subsystem 2>/dev/null)" + subsystem="$(basename $subsystem_link 2>/dev/null)" + fi + echo $subsystem +} + get_driver() { - local path=$1 + local path="$1" local driver="" if [ -L "$path/device/driver" ]; then @@ -167,7 +183,7 @@ valid_mac() { - local macaddr=$1 + local macaddr="$1" local valid_macaddr="" if [ -n "$macaddr" ]; then @@ -178,9 +194,11 @@ generate_comment() { - local pci_id=$1 - local driver=$2 - local output=$3 + local pci_id="$1" + local driver="$2" + local output="$3" + local device_type="$4" + local _type="" if [ -z "$pci_id" ]; then log_error "\$pci_id empty." @@ -192,20 +210,27 @@ log_error "\$output empty." exit 1 else - echo "# PCI device $pci_id ($driver) with official udev name $interface renamed to unsupported $new_interface" >> $output + if [ "$device_type" == "pci" ]; then + _type="PCI" + elif [ "$device_type" == "usb" ]; then + _type="USB" + else + _type="Unknown" + fi + echo "# $_type device $pci_id ($driver)" >> $output fi } generate_rule() { - local _subsystem=$1 - local _mac=$2 - local _pci=$3 - local _dev_id=$4 - local _dev_type=$5 - local _kernel=$6 - local _interface=$7 - local output=$8 + local _subsystem="$1" + local _mac="$2" + local _pci="$3" + local _dev_id="$4" + local _dev_type="$5" + local _kernel="$6" + local _interface="$7" + local output="$8" if [ -z "$_subsystem" ]; then log_error "\$_subsystem empty." @@ -238,26 +263,57 @@ fi } +list_adapters() +{ + declare -a netdev + local count=0 + local _netdev="" + local _dev="" + + for _dev in $SYSPATH/*; do + if [ -L "$_dev/device" ]; then + _dev="$(basename $_dev 2>/dev/null)" + netdev[$count]="$_dev" + count=$((count + 1)) + fi + done + + echo "Found $count network interfaces:" + for _netdev in "${netdev[@]}"; do + _macaddr="$(get_macaddr $SYSPATH/$_netdev)" + _pcislot="$(get_pci $SYSPATH/$_netdev)" + echo "I: INTERFACE: $_netdev" + echo "I: MACADDR: $_macaddr" + echo "I: PCI: $_pcislot" + done +} + if [ $# -eq 0 ]; then usage log_error "missing option(s)." exit 1 fi +SYSPATH="/sys/class/net" + use_mac=0 use_pci=0 use_verbose=0 -while getopts "hmpvc:n:o:" opt; do +while getopts "hlmpvVc:n:o:" opt; do case "$opt" in h) usage; exit 0;; + l) + list_adapters; exit 0;; m) use_mac=1 ;; p) use_pci=1 ;; v) use_verbose=1 ;; + V) + echo "$prj $ver"; exit 0;; c) ifcur="$OPTARG" ;; n) @@ -269,14 +325,18 @@ esac done +if [[ "$use_mac" -eq 0 ]] && [[ "$use_pci" -eq 0 ]]; then + use_mac=1 +fi + if [[ "$use_mac" -eq 1 ]] && [[ "$use_pci" -eq 1 ]]; then log_error "generating a persistent rule can be done only using one of the option, -m or -p, not both." exit 1 fi -outfile=$output +outfile="$output" if [ -z "$output" ]; then - outfile=/dev/stdout + outfile="/dev/stdout" else dir="$(dirname $outfile 2>/dev/null)" tmpfile="$dir/.tmp_file" @@ -293,7 +353,7 @@ fi fi -interface=$ifcur +interface="$ifcur" if [ -z "$interface" ]; then log_error "current interface must be specified." exit 1 @@ -303,7 +363,7 @@ fi [ "$use_verbose" -eq 1 ] && echo "I: INTERFACE=$interface" -new_interface=$ifnew +new_interface="$ifnew" if [ -z "$new_interface" ]; then log_error "new interface must be specified." exit 1 @@ -313,7 +373,7 @@ fi [ "$use_verbose" -eq 1 ] && echo "I: INTERFACE_NEW=$new_interface" -path="/sys/class/net/$interface" +path="$SYSPATH/$interface" if [ ! -d "$path" ]; then log_error "devpath $path not a directory." exit 1 @@ -325,6 +385,13 @@ [ "$use_verbose" -eq 1 ] && echo "I: DEVTYPE=$devtype" fi +parent_subsystem="$(get_parent_subsystem $path)" +if [ -z "$parent_subsystem" ]; then + log_error "unable to retrieve parent subsystem for interface $interface." + exit 1 +fi +[ "$use_verbose" -eq 1 ] && echo "I: PARENT_SUBSYSTEM=$parent_subsystem" + subsystem="$(get_subsystem $path)" if [ -z "$subsystem" ]; then log_error "unable to retrieve subsystem for interface $interface." @@ -334,8 +401,7 @@ pci_id="$(get_pci_id $path)" if [ -z "$pci_id" ]; then - log_error "unable to retrieve PCI_ID for interface $interface." - exit 1 + pci_id="0x:0x" fi [ "$use_verbose" -eq 1 ] && echo "I: PCI_ID=$pci_id" @@ -382,23 +448,22 @@ fi [ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type" -if [ "$devtype" == "wlan" ]; then - kernel="wlan*" -else - kernel="eth*" +kernel="eth*" +if [ -n "$devtype" ]; then + if [ "$devtype" == "wlan" ]; then + kernel="wlan*" + fi fi if [ -n "$output" ]; then - echo "Persistent rule saved in "$outfile"" - echo - generate_comment "$pci_id" "$driver" "$output" + echo "Persistent rule written to "$outfile"" + generate_comment "$pci_id" "$driver" "$outfile" "$parent_subsystem" fi -set -f if [ "$use_mac" -eq 1 ]; then generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" if [ -n "$output" ]; then - generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$output" + generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" "$new_interface" "$outfile" fi elif [ "$use_pci" -eq 1 ]; then generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" "$new_interface" -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org