$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/udev-096-netif_rename.patch
ifeq "$(LFS_PASS)" "install"
cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev
cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev install
--- /dev/null
+diff -Naur udev-096.org/udev_device.c udev-096/udev_device.c
+--- udev-096.org/udev_device.c 2006-07-09 21:48:19.000000000 +0200
++++ udev-096/udev_device.c 2009-04-28 22:04:56.000000000 +0200
+@@ -102,40 +102,8 @@
+ strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
+ retval = ioctl(sk, SIOCSIFNAME, &ifr);
+ if (retval != 0) {
+- int loop;
+-
+- /* see if the destination interface name already exists */
+- if (errno != EEXIST) {
+- err("error changing netif name: %s", strerror(errno));
+- goto exit;
+- }
+-
+- /* free our own name, another process may wait for us */
+- strlcpy(ifr.ifr_newname, udev->dev->kernel_name, IFNAMSIZ);
+- strlcat(ifr.ifr_newname, "_rename", IFNAMSIZ);
+- retval = ioctl(sk, SIOCSIFNAME, &ifr);
+- if (retval != 0) {
+- err("error changing netif name: %s", strerror(errno));
+- goto exit;
+- }
+-
+- /* wait 30 seconds for our target to become available */
+- strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ);
+- strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
+- loop = 30 * 20;
+- while (loop--) {
+- retval = ioctl(sk, SIOCSIFNAME, &ifr);
+- if (retval != 0) {
+- if (errno != EEXIST) {
+- err("error changing net interface name: %s", strerror(errno));
+- break;
+- }
+- dbg("wait for netif '%s' to become free, loop=%i", udev->name, (30 * 20) - loop);
+- usleep(1000 * 1000 / 20);
+- }
+- }
++ err("error changing netif name: %s", strerror(errno));
+ }
+-
+ exit:
+ close(sk);
+ return retval;