Hello community,

here is the log from the commit of package biosdevname for openSUSE:Factory 
checked in at 2014-05-02 20:52:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/biosdevname (Old)
 and      /work/SRC/openSUSE:Factory/.biosdevname.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "biosdevname"

Changes:
--------
--- /work/SRC/openSUSE:Factory/biosdevname/biosdevname.changes  2014-04-23 
20:35:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.biosdevname.new/biosdevname.changes     
2014-05-02 20:52:26.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Apr 22 13:41:21 UTC 2014 - [email protected]
+
+- Take mainline patch to fix (bnc#869614)
+  Modified: biosdevname_udevrule_rename_all_network_devices.patch
+- Remove %config from etc rule to please obs checker
+- Remove mkinitrd setup script
+
+-------------------------------------------------------------------

Old:
----
  setup-biosdevname.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ biosdevname.spec ++++++
--- /var/tmp/diff_new_pack.a0UkqY/_old  2014-05-02 20:52:26.000000000 +0200
+++ /var/tmp/diff_new_pack.a0UkqY/_new  2014-05-02 20:52:26.000000000 +0200
@@ -30,7 +30,6 @@
 # on LKML.
 ExclusiveArch:  %{ix86} x86_64
 Source0:        %{name}-%{version}.tar.bz2
-Source1:        setup-biosdevname.sh
 Patch1:         biosdevname_v0.5.0_to_git_c140ce659a204d67e4cc.patch
 Patch2:         ignore-broken-BIOSes
 Patch3:         whitelist-dell
@@ -43,8 +42,7 @@
 BuildRequires:  zlib-devel
 # to figure out how to name/location of the rules file
 BuildRequires:  libudev-devel
-# because of mkinitrd_setup in %post and %postun
-PreReq:         mkinitrd
+BuildRequires:  suse-module-tools
 # for ownership of /lib/udev/rules.d
 Requires:       udev
 
@@ -73,15 +71,10 @@
 ./autogen.sh --no-configure
 %configure --disable-rpath --prefix=/ --bindir=/bin --sbindir=/sbin
 make %{?_smp_mflags}
-cp %{S:1} .
 
 %install
 make install DESTDIR=$RPM_BUILD_ROOT
 rm %{buildroot}/sbin/%{name}S || :
-mkdir -p $RPM_BUILD_ROOT/lib/mkinitrd/scripts
-install -m 0755 setup-biosdevname.sh \
-        $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-biosdevname.sh
-
 # remain disabled by default
 perl -pi -e 's,^# GOTO,GOTO,g;' \
        $RPM_BUILD_ROOT/%{_udevrulesdir}/*-biosdevname.rules
@@ -90,9 +83,8 @@
 %defattr(-,root,root,-)
 %doc COPYING README
 /sbin/%{name}
-%config(noreplace) %{_udevrulesdir}/*%{name}.rules
+%{_udevrulesdir}/*%{name}.rules
 %{_mandir}/man1/*
-/lib/mkinitrd/scripts/setup-biosdevname.sh
 
 %post
 /sbin/ldconfig

++++++ biosdevname_udevrule_rename_all_network_devices.patch ++++++
--- /var/tmp/diff_new_pack.a0UkqY/_old  2014-05-02 20:52:26.000000000 +0200
+++ /var/tmp/diff_new_pack.a0UkqY/_new  2014-05-02 20:52:26.000000000 +0200
@@ -1,17 +1,47 @@
-biosdevname: Rename all network devices, not only eth* ones
-
-There are other rules which might have renamed the device already.
-bnc#869614
+From: Tom Gundersen <[email protected]>
+Subject: Fix double renaming of network interfaces on systems with systemd
+References: bnc#869614
+Patch-Mainline: yes
+Git-commit: 6f7fbcc352aeae08b5cf2a8e608f92abf98529f8
+Git-repo: linux.dell.com/biosdevname.git
 
 Signed-off-by: Thomas Renninger <[email protected]>
 
+On systems with systemd, the network interfaces which are renamed by
+biosdevname, could get renamed again by systemd. This happens because,
+two ADD events get generated for every network interface and on the
+second ADD event, the KERNEL!="eth*" check in 71-biosdevname.rules
+matches as the interfaces will have em names. As a result, the NAME
+gets unset and the interface will get renamed again by
+80-net-name-slot.rules again to systemd naming scheme.
+
+This patch addresses the issue by removing the KERNEL!="eth*" check.
+
+Also, this patch enhances the 71-biosdevname.rules to
+
+1. Check the interface type and run biosdevname if it matches ARPHRD_ETHER
+2. Skip running biosdevname if the interface is a virtual device such
+as vlan etc.
+
 Index: biosdevname-0.5.0/biosdevname.rules.in
 ===================================================================
 --- biosdevname-0.5.0.orig/biosdevname.rules.in
 +++ biosdevname-0.5.0/biosdevname.rules.in
-@@ -1,5 +1,4 @@
+@@ -1,7 +1,8 @@
  SUBSYSTEM!="net", GOTO="netdevicename_end"
 -KERNEL!="eth*",   GOTO="netdevicename_end"
  ACTION!="add",    GOTO="netdevicename_end"
  NAME=="?*",       GOTO="netdevicename_end"
++ATTR{type}!="1",  GOTO="netdevicename_end"
++ENV{DEVTYPE}=="?*", GOTO="netdevicename_end"
+ 
+ # whitelist all Dell systems
+ ATTR{[dmi/id]sys_vendor}=="Dell*", ENV{UDEV_BIOSDEVNAME}="1"
+@@ -21,6 +22,6 @@ LABEL="netdevicename_start"
+ 
+ # using NAME= instead of setting INTERFACE_NAME, so that persistent
+ # names aren't generated for these devices, they are "named" on each boot.
+-PROGRAM="/sbin/biosdevname --policy physical --smbios 2.6 --nopirq -i %k", 
NAME="%c",  OPTIONS+="string_escape=replace"
++SUBSYSTEMS=="pci", PROGRAM="/sbin/biosdevname --policy physical -i %k", 
NAME="%c",  OPTIONS+="string_escape=replace"
  
+ LABEL="netdevicename_end"

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to