###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
+# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# #
# 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 #
include Config
-VER = 125
+VER = 3.2.6
+RULES_VER = 20171102
-THISAPP = udev-$(VER)
+THISAPP = eudev-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
# Top-level Rules
###############################################################################
-objects = $(DL_FILE) udev-config-6.2.tar.bz2
+objects = $(DL_FILE) udev-lfs-$(RULES_VER).tar.bz2
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-udev-config-6.2.tar.bz2 = $(DL_FROM)/udev-config-6.2.tar.bz2
+udev-lfs-$(RULES_VER).tar.bz2 = $(DL_FROM)/udev-lfs-$(RULES_VER).tar.bz2
-$(DL_FILE)_MD5 = be98e04cefdd9ca76b8fe7e92735ce29
-udev-config-6.2.tar.bz2_MD5 = 9ff2667ab0f7bfe8182966ef690078a0
+$(DL_FILE)_MD5 = 902c4cdc9235838067cc69978a780e72
+udev-lfs-$(RULES_VER).tar.bz2_MD5 = d92afb0c6e8e616792068ee4737b0d24
install : $(TARGET)
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
- @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/udev-125-netif_rename.patch
- cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/udev-125-ext4_wo_journal.patch
- rm -rf /lib/udev/devices
- cd $(DIR_APP) && tar jxf $(DIR_DL)/udev-config-6.2.tar.bz2
- cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/udev-config-6.2_persistent-storage-fix.patch
- cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/udev-config-6.2_remove-lfs-usb-rule.patch
- 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
- ln -sv /proc/self/fd/1 /lib/udev/devices/stdout
- ln -sv /proc/self/fd/2 /lib/udev/devices/stderr
- ln -sv /proc/kcore /lib/udev/devices/core
- 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=/ 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 $(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
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && tar axf $(DIR_DL)/udev-lfs-$(RULES_VER).tar.bz2
+
+ cd $(DIR_APP) && ./configure \
+ --prefix=/usr \
+ --bindir=/bin \
+ --sbindir=/sbin \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib \
+ --libexecdir=/lib \
+ --with-rootprefix= \
+ --with-rootlibdir=/lib \
+ --enable-manpages \
+ --disable-static
+
+ cd $(DIR_APP) && make $(MAKETUNING)
+ cd $(DIR_APP) && make install
+
+ # Generate hardware database
+ udevadm hwdb --update
+
+ # Install rules
+ cd $(DIR_APP) && make -f udev-lfs-$(RULES_VER)/Makefile.lfs install
+
+ # Disable net generator rule. This does not work with the setup.
+ rm -f /lib/udev/rules.d/75-persistent-net-generator.rules
+ rm -f /lib/udev/rules.d/80-net-name-slot.rules
+
+ # Blacklist some modules
+ cp -vf $(DIR_SRC)/config/udev/blacklist.conf \
+ /etc/modprobe.d/blacklist.conf
+
+ # Install config file
+ install -v -m 644 $(DIR_SRC)/config/udev/udev.conf \
+ /etc/udev/
+
+ # Install alsa rules.
+ install -v -m 644 $(DIR_SRC)/config/udev/25-alsa.rules \
+ /lib/udev/rules.d
+
+ # Install network rules.
+ install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-rename \
+ /lib/udev/network-hotplug-rename
+ install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-vlan \
+ /lib/udev/network-hotplug-vlan
+ install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-bridges \
+ /lib/udev/network-hotplug-bridges
+ install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \
+ /lib/udev/rules.d
+
+ # Install hwrng rules.
+ install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
+ /lib/udev/rules.d
+
+ # Install codel rules.
+ install -v -m 644 $(DIR_SRC)/config/udev/99-codel.rules \
+ /lib/udev/rules.d
+ install -m 755 $(DIR_SRC)/config/udev/enable_codel \
+ /lib/udev/enable_codel
+
@rm -rf $(DIR_APP)
@$(POSTBUILD)