]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - lfs/udev
Fix udev netif_rename problem
[people/pmueller/ipfire-2.x.git] / lfs / udev
index 91500d09eee453dbcf8d7dcf6661986f19fb6c51..4667ff4a68b70f3c370531ef33388b0387bf60ae 100644 (file)
--- a/lfs/udev
+++ b/lfs/udev
@@ -1,22 +1,20 @@
 ###############################################################################
-# This file is part of the IPCop Firewall.                                    #
 #                                                                             #
-# IPCop is free software; you can redistribute it and/or modify               #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation; either version 2 of the License, or           #
+# the Free Software Foundation, either version 3 of the License, or           #
 # (at your option) any later version.                                         #
 #                                                                             #
-# IPCop is distributed in the hope that it will be useful,                    #
+# 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               #
 # GNU General Public License for more details.                                #
 #                                                                             #
 # You should have received a copy of the GNU General Public License           #
-# along with IPCop; if not, write to the Free Software                        #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
-#                                                                             #
-# Makefiles are based on LFSMake, which is                                    #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
 
@@ -34,9 +32,13 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 ifeq "$(LFS_PASS)" "install"
        TARGET     = $(DIR_INFO)/$(THISAPP)-install
+else
+ifeq "$(KLIBC)" "1"
+       TARGET     = $(DIR_INFO)/$(THISAPP)-klibc
 else
        TARGET     = $(DIR_INFO)/$(THISAPP)
 endif
+endif
 
 ###############################################################################
 # Top-level Rules
@@ -78,11 +80,18 @@ $(subst %,%_MD5,$(objects)) :
 $(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
        rm -f /install/initrd/sbin/udev* /install/initrd/usr/sbin/udev* /install/initrd/usr/bin/udev*
-       cd $(DIR_APP) && install udevstart /install/initrd/sbin
+       cd $(DIR_APP) && install udevstart udevinfo udevd udevsettle udevtrigger /install/initrd/sbin
+       cd $(DIR_APP) && make $(MAKETUNING) EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
+                                       extras/firmware extras/floppy extras/path_id \
+                                       extras/scsi_id extras/usb_id extras/volume_id"
+       cd $(DIR_APP) && make DESTDIR=/install/initrd EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
+                                       extras/firmware extras/floppy extras/path_id \
+                                       extras/scsi_id extras/usb_id extras/volume_id" install
        cd /install/initrd/usr/share && rm -rf man
        cd /install/initrd/dev && rm -f console
        cd /install/initrd/dev && mknod -m 0600 console c 5 1
@@ -95,9 +104,35 @@ ifeq "$(LFS_PASS)" "install"
        cd /install/initrd/dev && mknod -m 0600 tty4 c 4 4
        cd /install/initrd/dev && mknod -m 0600 tty5 c 4 5
        cd /install/initrd/dev && mknod -m 0600 tty6 c 4 6
+       cp -f /etc/udev/rules.d/55-scsi-cdrom.rules /install/initrd/etc/udev/rules.d/55-scsi-cdrom.rules
+
 else
+ifeq "$(KLIBC)" "1"
+       cd $(DIR_APP) && sed -i "s|USE_LOG = .*|USE_LOG = false|g" Makefile
+       cd $(DIR_APP) && sed -i "s|USE_KLIBC = .*|USE_KLIBC = true|g" Makefile
+
+       cd $(DIR_APP) && make PROGRAMS="udevd udevsettle udevtrigger" EXTRAS="extras/firmware extras/cdrom_id"
+
+       -mkdir -p /lib/initcpio/udev
+       -mkdir -p /lib/initcpio/install
+       -mkdir -p /lib/initcpio/hooks
+       cd $(DIR_APP) && install -m755 udevd /lib/initcpio/udev
+       cd $(DIR_APP) && install -m755 udevtrigger  /lib/initcpio/udev
+       cd $(DIR_APP) && install -m755 udevsettle  /lib/initcpio/udev
+       cd $(DIR_APP) && install -m755 extras/firmware/firmware.sh  /lib/initcpio/udev
+       cd $(DIR_APP) && install -m755 extras/cdrom_id/cdrom_id  /lib/initcpio/udev
+       
+       install -m755 $(DIR_SRC)/config/mkinitcpio/start_udev /lib/initcpio/udev
+       install -m644 $(DIR_SRC)/config/mkinitcpio/udev.rules  /lib/initcpio/udev
+       install -m755 $(DIR_SRC)/config/mkinitcpio/load-modules.sh /lib/initcpio/udev
+       install -m644 $(DIR_SRC)/config/mkinitcpio/udev_install /lib/initcpio/install/udev
+       install -m644 $(DIR_SRC)/config/mkinitcpio/udev_hook /lib/initcpio/hooks/udev
+
+else
+       rm -rf /lib/udev/devices
        cd $(DIR_APP) && tar jxf $(DIR_DL)/udev-config-6.2.tar.bz2
        install -dv /lib/{firmware,udev/devices/{pts,shm}}
+       echo "Put device firmwares here ..." > /lib/firmware/dirinfo
        mknod -m0666 /lib/udev/devices/null c 1 3
        ln -sv /proc/self/fd /lib/udev/devices/fd
        ln -sv /proc/self/fd/0 /lib/udev/devices/stdin
@@ -111,7 +146,15 @@ else
                                        extras/firmware extras/floppy extras/path_id \
                                        extras/scsi_id extras/usb_id extras/volume_id" install
        cd $(DIR_APP) && cp -v udev-config-6.2/[0-9]* /etc/udev/rules.d/
+       cp -rf $(DIR_SRC)/config/udev/10-dvb.rules /etc/udev/rules.d/
+       cp -rf $(DIR_SRC)/config/udev/55-scsi-cdrom.rules /etc/udev/rules.d/
+       chmod 644 /etc/udev/rules.d/10-dvb.rules
+       chmod 644 /etc/udev/rules.d/55-scsi-cdrom.rules
+       cp -rf $(DIR_SRC)/config/udev/dvb.sh /etc/udev/
+       chmod 755 /etc/udev/dvb.sh
        touch /etc/udev/rules.d/30-persistent-network.rules
+       cp -vf $(DIR_SRC)/config/udev/blacklist /etc/modprobe.d/blacklist
+endif
 endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)