Stop persistent-net from touching xen-network-devices, solving Bug #162730.
authorMatthias Schwarzott <zzam@gentoo.org>
Tue, 30 Jan 2007 16:14:14 +0000 (16:14 +0000)
committerMatthias Schwarzott <zzam@gentoo.org>
Tue, 30 Jan 2007 16:14:14 +0000 (16:14 +0000)
Package-Manager: portage-2.1.2-r5

sys-fs/udev/ChangeLog
sys-fs/udev/Manifest
sys-fs/udev/files/digest-udev-104-r6 [new file with mode: 0644]
sys-fs/udev/files/udev-104-peristent-net-disable-xen.patch [new file with mode: 0644]
sys-fs/udev/udev-104-r6.ebuild [new file with mode: 0644]

index ec9d0bc8cdbb0ee2368e78056861dc7efbb36fd9..e22c883173e6da014c136629ebbc6a3662b5fdbf 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-fs/udev
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.238 2007/01/30 14:33:00 zzam Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.239 2007/01/30 16:14:14 zzam Exp $
+
+*udev-104-r6 (30 Jan 2007)
+
+  30 Jan 2007; Matthias Schwarzott <zzam@gentoo.org>
+  +files/udev-104-peristent-net-disable-xen.patch, +udev-104-r6.ebuild:
+  Stop persistent-net from touching xen-network-devices, solving Bug #162730.
 
   30 Jan 2007; Matthias Schwarzott <zzam@gentoo.org>
   -files/05-udev-early.rules-104-r2, -files/udev.rules-104-r2,
index e0be5a1b4865ce88d4804ad4a58d3fe7a1d0a034..68878a87ee0b993e1d4ff6f67c7695141cb39444 100644 (file)
@@ -45,6 +45,10 @@ AUX udev-104-netif-rename-busywait.patch 962 RMD160 d6e2ea0538c382fd06ee61ef6d08
 MD5 9c9d0c355b1a927d6b16b14a82152598 files/udev-104-netif-rename-busywait.patch 962
 RMD160 d6e2ea0538c382fd06ee61ef6d0845651b7bfea1 files/udev-104-netif-rename-busywait.patch 962
 SHA256 32c65c4461d9a4d273464d4773c33ea38ab749a88914ca40008dbfe1c3fc58eb files/udev-104-netif-rename-busywait.patch 962
+AUX udev-104-peristent-net-disable-xen.patch 1027 RMD160 326cfdb0529348013e9b50edd1cf878808d980d1 SHA1 743af3cdd57c72a6286ef17e25ebafbf71e15b0a SHA256 07ae5cb9ead44ebb032c0322cd93b19d9eba7e43704c3ec55d29ac21f5e24ab0
+MD5 88882c2d651f3ede4c105478ee37f977 files/udev-104-peristent-net-disable-xen.patch 1027
+RMD160 326cfdb0529348013e9b50edd1cf878808d980d1 files/udev-104-peristent-net-disable-xen.patch 1027
+SHA256 07ae5cb9ead44ebb032c0322cd93b19d9eba7e43704c3ec55d29ac21f5e24ab0 files/udev-104-peristent-net-disable-xen.patch 1027
 AUX udev-parisc-path_id-again.patch 524 RMD160 d305615a2f5ae0ab6b468400e95ad3332a2bcb38 SHA1 574d12600292d5cd1acb3b1be2bc24d337581a88 SHA256 a1b40d1bf3f8a7e0d6787d310218b44916c79a4f94a39287bc00f8ae058b67ff
 MD5 2f18f7560f7667fa98179c6084396453 files/udev-parisc-path_id-again.patch 524
 RMD160 d305615a2f5ae0ab6b468400e95ad3332a2bcb38 files/udev-parisc-path_id-again.patch 524
@@ -259,10 +263,14 @@ EBUILD udev-104-r5.ebuild 9060 RMD160 ce6b8434d721083a95f6a32eb7c973a9ae3bc477 S
 MD5 81cbd466b93e0fef8f5406ef05865dc5 udev-104-r5.ebuild 9060
 RMD160 ce6b8434d721083a95f6a32eb7c973a9ae3bc477 udev-104-r5.ebuild 9060
 SHA256 ae7da77436437a3704dae5be07ce2159a608d63e47cf9af8e933529d13056059 udev-104-r5.ebuild 9060
-MISC ChangeLog 44457 RMD160 748f58a42b86c3b4a4f24547a8708fc481a5ede2 SHA1 e362f12002eca7aada5dcbfdbb77df594c2c1ab4 SHA256 4be4139c9b9f0db5ef913fb105f317a8026cde0d5a2c828a40be94c85b402d94
-MD5 7ae5cda3b1602f03fa3267e8f6c87e24 ChangeLog 44457
-RMD160 748f58a42b86c3b4a4f24547a8708fc481a5ede2 ChangeLog 44457
-SHA256 4be4139c9b9f0db5ef913fb105f317a8026cde0d5a2c828a40be94c85b402d94 ChangeLog 44457
+EBUILD udev-104-r6.ebuild 9122 RMD160 914d47375039c8ea06c89f423b4398d24ff7190e SHA1 c5d2f1f7508673e5940d8507287aae3b6db4260a SHA256 6e8f997568f211f5e00c4774238d82900dddee9d23760b2690dd03961eb073b6
+MD5 24b0941f2a4002dc67baae41d81e185a udev-104-r6.ebuild 9122
+RMD160 914d47375039c8ea06c89f423b4398d24ff7190e udev-104-r6.ebuild 9122
+SHA256 6e8f997568f211f5e00c4774238d82900dddee9d23760b2690dd03961eb073b6 udev-104-r6.ebuild 9122
+MISC ChangeLog 44689 RMD160 6ea7deb5db4307dce3128a55c34fb37af65e993f SHA1 ef33be0035edcf7b48776cb48d485309cacef8cc SHA256 25d9dbfa502102fba298319ba8a7f07e303b4d2a93aaa3519f98ad096b3c6542
+MD5 58a77d11db3b77973b1974fd4ee3696c ChangeLog 44689
+RMD160 6ea7deb5db4307dce3128a55c34fb37af65e993f ChangeLog 44689
+SHA256 25d9dbfa502102fba298319ba8a7f07e303b4d2a93aaa3519f98ad096b3c6542 ChangeLog 44689
 MISC metadata.xml 447 RMD160 d1ba09bd6a434b25c718673de9258cc544e090be SHA1 70c43d2863c09958849bfce8c5bb97d406a0662b SHA256 a9881de1424ac71191111bd30c7c1253589673b0cdce13c352204f1499e9d884
 MD5 f74bee0505505c00e76da6313db29e49 metadata.xml 447
 RMD160 d1ba09bd6a434b25c718673de9258cc544e090be metadata.xml 447
@@ -306,10 +314,13 @@ SHA256 7638db47ed884246551e3d27d9be0fd088c0db9a7e92c3359efa901a87742a28 files/di
 MD5 834e944e237e0d9501aac75e61c50eb1 files/digest-udev-104-r5 229
 RMD160 7fd47bd560da91a9953657f31d6cd2383d2032cb files/digest-udev-104-r5 229
 SHA256 36aae1151cda7c7f51bfb8204b7cef8301f80ea336086802f1a8c495a7eb7749 files/digest-udev-104-r5 229
+MD5 834e944e237e0d9501aac75e61c50eb1 files/digest-udev-104-r6 229
+RMD160 7fd47bd560da91a9953657f31d6cd2383d2032cb files/digest-udev-104-r6 229
+SHA256 36aae1151cda7c7f51bfb8204b7cef8301f80ea336086802f1a8c495a7eb7749 files/digest-udev-104-r6 229
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.1 (GNU/Linux)
 
-iD8DBQFFv1cot2vP6XvVdOcRAjDrAKDFv6oHPOqClgzQEi6Q03jNbQ6HewCeJRwA
-59F/hMWM2WISvIKki65IEiI=
-=FBYl
+iD8DBQFFv27jt2vP6XvVdOcRAkqtAJ9iaDJrXoWMyE751cC0JdEU6Zkg1gCg4t8W
+MdVqvUJ3gYsuYvwj8havaAM=
+=UxJk
 -----END PGP SIGNATURE-----
diff --git a/sys-fs/udev/files/digest-udev-104-r6 b/sys-fs/udev/files/digest-udev-104-r6
new file mode 100644 (file)
index 0000000..1d88fbe
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 9bcfc782d40db2b406a9c1172defda8f udev-104.tar.bz2 187574
+RMD160 269aeb9a0b2043d18c274fde749d2e0d30398b73 udev-104.tar.bz2 187574
+SHA256 ec0e7bd0c322dce6149d5f94185aa477659f5030a3d684ff5428124eca684ea1 udev-104.tar.bz2 187574
diff --git a/sys-fs/udev/files/udev-104-peristent-net-disable-xen.patch b/sys-fs/udev/files/udev-104-peristent-net-disable-xen.patch
new file mode 100644 (file)
index 0000000..0d67f21
--- /dev/null
@@ -0,0 +1,19 @@
+--- udev-103/extras/rule_generator/75-persistent-net-generator.rules.orig      2007-01-18 17:42:00.000000000 -0800
++++ udev-103/extras/rule_generator/75-persistent-net-generator.rules   2007-01-18 17:42:07.000000000 -0800
+@@ -1,6 +1,7 @@
+ # these rules generate rules for persistent network device naming
+-ACTION=="add", SUBSYSTEM=="net", KERNEL=="eth*|ath*|wlan*|ra*|sta*" \
++ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS!="xen", \
++      KERNEL=="eth*|ath*|wlan*|ra*|sta*", \
+       NAME!="?*", DRIVERS=="?*", GOTO="persistent_net_generator_do"
+ GOTO="persistent_net_generator_end"
+@@ -10,7 +11,6 @@
+ SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($attr{driver})"
+ SUBSYSTEMS=="usb", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($attr{driver})"
+ SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
+-SUBSYSTEMS=="xen", ENV{COMMENT}="Xen virtual device"
+ ENV{COMMENT}=="", ENV{COMMENT}="$env{SUBSYSTEM} device ($attr{driver})"
+ IMPORT{program}="write_net_rules $attr{address}"
diff --git a/sys-fs/udev/udev-104-r6.ebuild b/sys-fs/udev/udev-104-r6.ebuild
new file mode 100644 (file)
index 0000000..0f3de1d
--- /dev/null
@@ -0,0 +1,275 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/udev-104-r6.ebuild,v 1.1 2007/01/30 16:14:14 zzam Exp $
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html"
+SRC_URI="mirror://kernel/linux/utils/kernel/hotplug/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="selinux"
+
+DEPEND="selinux? ( sys-libs/libselinux )"
+RDEPEND="!sys-apps/coldplug"
+RDEPEND="${DEPEND} ${RDEPEND}
+       >=sys-apps/baselayout-1.11.14"
+# We need the lib/rcscripts/addon support
+PROVIDE="virtual/dev-manager"
+
+src_unpack() {
+       unpack ${A}
+
+       cd "${S}"
+
+       # patches go here...
+       #epatch ${FILESDIR}/${P}-udev_volume_id.patch
+       epatch ${FILESDIR}/${P}-netif-rename-busywait.patch
+       epatch ${FILESDIR}/${PN}-104-peristent-net-disable-xen.patch
+
+       # No need to clutter the logs ...
+       sed -ie '/^DEBUG/ c\DEBUG = false' Makefile
+       # Do not use optimization flags from the package
+       sed -ie 's|$(OPTIMIZATION)||g' Makefile
+
+       # Make sure there is no sudden changes to udev.rules.gentoo
+       # (more for my own needs than anything else ...)
+       MD5=`md5sum < "${S}/etc/udev/gentoo/udev.rules"`
+       MD5=${MD5/  -/}
+       if [ "${MD5}" != "295a9b7bdc8bdb239f8860d14af761b0" ]
+       then
+               echo
+               eerror "gentoo/udev.rules has been updated, please validate!"
+               die "gentoo/udev.rules has been updated, please validate!"
+       fi
+}
+
+src_compile() {
+       filter-flags -fprefetch-loop-arrays
+       local myconf=
+       local extras="extras/ata_id \
+                                 extras/cdrom_id \
+                                 extras/dasd_id \
+                                 extras/edd_id \
+                                 extras/firmware \
+                                 extras/floppy \
+                                 extras/path_id \
+                                 extras/run_directory \
+                                 extras/scsi_id \
+                                 extras/usb_id \
+                                 extras/volume_id \
+                                 extras/rule_generator"
+
+       use selinux && myconf="${myconf} USE_SELINUX=true"
+
+       # Not everyone has full $CHOST-{ld,ar,etc...} yet
+       local mycross=""
+       type -p ${CHOST}-ar && mycross=${CHOST}-
+
+       echo "get_libdir = $(get_libdir)"
+       # Do not work with emake
+       make \
+               EXTRAS="${extras}" \
+               udevdir="/dev/" \
+               CROSS_COMPILE=${mycross} \
+               ${myconf} || die
+}
+
+src_install() {
+       # we install everything by "hand" and don't rely on the udev Makefile to do
+       # it for us (why? it's easier that way...)
+       dobin udevinfo          || die "Required binary not installed properly"
+       dobin udevtest          || die "Required binary not installed properly"
+       dobin udevmonitor       || die "Required binary not installed properly"
+       into /
+       dosbin udevd            || die "Required binary not installed properly"
+       dosbin udevstart        || die "Required binary not installed properly"
+       dosbin udevtrigger      || die "Required binary not installed properly"
+       dosbin udevcontrol      || die "Required binary not installed properly"
+       dosbin udevsettle       || die "Required binary not installed properly"
+
+       # Helpers
+       exeinto /lib/udev
+       doexe extras/run_directory/udev_run_devd        || die "Required helper not installed properly"
+       doexe extras/run_directory/udev_run_hotplugd    || die "Required helper not installed properly"
+       doexe extras/ata_id/ata_id              || die "Required helper not installed properly"
+       doexe extras/volume_id/vol_id   || die "Required helper not installed properly"
+       doexe extras/scsi_id/scsi_id    || die "Required helper not installed properly"
+       doexe extras/usb_id/usb_id              || die "Required helper not installed properly"
+       doexe extras/path_id/path_id    || die "Required helper not installed properly"
+       doexe extras/cdrom_id/cdrom_id  || die "Required helper not installed properly"
+       doexe extras/dasd_id/dasd_id    || die "Required helper not installed properly"
+       doexe extras/edd_id/edd_id              || die "Required helper not installed properly"
+       doexe extras/rule_generator/write_cd_rules      || die "Required helper not installed properly"
+       doexe extras/rule_generator/write_net_rules     || die "Required helper not installed properly"
+       doexe extras/rule_generator/rule_generator.functions    || die "Required helper not installed properly"
+       keepdir /lib/udev/state
+       keepdir /lib/udev/devices
+
+       # vol_id library (needed by mount and HAL)
+       dolib extras/volume_id/lib/*.a extras/volume_id/lib/*.so*
+       # move the .a files to /usr/lib
+       dodir /usr/$(get_libdir)
+       mv -f "${D}"/$(get_libdir)/*.a  "${D}"/usr/$(get_libdir)/
+
+       # handle static linking bug #4411
+       gen_usr_ldscript libvolume_id.so
+
+       # save pkgconfig info
+       insinto /usr/$(get_libdir)/pkgconfig
+       doins extras/volume_id/lib/*.pc
+
+       #exeinto /etc/udev/scripts
+       exeinto /lib/udev
+       #doexe extras/ide-devfs.sh
+       #doexe extras/scsi-devfs.sh
+       #doexe extras/raid-devfs.sh
+       doexe extras/floppy/create_floppy_devices       || die "Required binary not installed properly"
+       doexe extras/firmware/firmware.sh                       || die "Required binary not installed properly"
+       doexe ${FILESDIR}/net.sh                                        || die "Required binary not installed properly"
+       doexe ${FILESDIR}/seq_node.sh                           || die "Required binary not installed properly"
+
+       # Our udev config file
+       insinto /etc/udev
+       newins ${FILESDIR}/udev.conf.post_081 udev.conf
+
+       # Our rules files
+       insinto /etc/udev/rules.d/
+       newins etc/udev/gentoo/udev.rules 50-udev.rules
+       newins ${FILESDIR}/udev.rules-104-r4 50-udev.rules
+       newins ${FILESDIR}/05-udev-early.rules-104-r5 05-udev-early.rules
+       doins ${FILESDIR}/95-net.rules
+       # Use upstream's persistent rules for devices
+       doins etc/udev/rules.d/60-*.rules
+       doins extras/rule_generator/75-*.rules || die "rules not installed properly"
+
+       # scsi_id configuration
+       insinto /etc
+       doins extras/scsi_id/scsi_id.config
+
+       # set up the /etc/dev.d directory tree
+       keepdir /etc/dev.d
+
+       # all of the man pages
+       doman *.7
+       doman *.8
+       doman extras/ata_id/ata_id.8
+       doman extras/edd_id/edd_id.8
+       doman extras/scsi_id/scsi_id.8
+       doman extras/volume_id/vol_id.8
+       doman extras/dasd_id/dasd_id.8
+       doman extras/cdrom_id/cdrom_id.8
+       # create a extra symlink for udevcontrol
+       dosym udevd.8 /usr/share/man/man8/udevcontrol.8
+
+       # our udev hooks into the rc system
+       insinto /lib/rcscripts/addons
+       newins "${FILESDIR}"/udev-start-104-r5.sh udev-start.sh
+       newins "${FILESDIR}"/udev-stop-104-r3.sh udev-stop.sh
+
+       # Insert udev-version number into udev-rcscript addon
+       sed -e "s/@@UDEV_VERSION@@/${PV}/" \
+               -i "${D}"/lib/rcscripts/addons/udev-start.sh \
+               -i "${D}"/lib/rcscripts/addons/udev-stop.sh
+
+       # needed to compile latest Hal
+       insinto /usr/include
+       doins extras/volume_id/lib/libvolume_id.h
+
+       dodoc ChangeLog FAQ README TODO RELEASE-NOTES
+       dodoc docs/{overview,udev_vs_devfs}
+       dodoc docs/writing_udev_rules/*
+
+       newdoc extras/volume_id/README README_volume_id
+
+}
+
+pkg_preinst() {
+       if [[ -d ${ROOT}/lib/udev-state ]] ; then
+               mv -f "${ROOT}"/lib/udev-state/* "${D}"/lib/udev/state/
+               rm -r "${ROOT}"/lib/udev-state
+       fi
+
+       if [ -f "${ROOT}/etc/udev/udev.config" -a \
+            ! -f "${ROOT}/etc/udev/udev.rules" ]
+       then
+               mv -f ${ROOT}/etc/udev/udev.config ${ROOT}/etc/udev/udev.rules
+       fi
+
+       # delete the old udev.hotplug symlink if it is present
+       if [ -h "${ROOT}/etc/hotplug.d/default/udev.hotplug" ]
+       then
+               rm -f ${ROOT}/etc/hotplug.d/default/udev.hotplug
+       fi
+
+       # delete the old wait_for_sysfs.hotplug symlink if it is present
+       if [ -h "${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug" ]
+       then
+               rm -f ${ROOT}/etc/hotplug.d/default/05-wait_for_sysfs.hotplug
+       fi
+
+       # delete the old wait_for_sysfs.hotplug symlink if it is present
+       if [ -h "${ROOT}/etc/hotplug.d/default/10-udev.hotplug" ]
+       then
+               rm -f ${ROOT}/etc/hotplug.d/default/10-udev.hotplug
+       fi
+
+       # is there a stale coldplug initscript? (CONFIG_PROTECT leaves it behind)
+       coldplug_stale=""
+       if [ -f "${ROOT}/etc/init.d/coldplug" ]
+       then
+               coldplug_stale="1"
+       fi
+}
+
+pkg_postinst() {
+       if [[ ${ROOT} == "/" ]] ; then
+               if [[ -n $(pidof udevd) ]] ; then
+                       killall -15 udevd &>/dev/null
+                       sleep 1
+                       killall -9 udevd &>/dev/null
+               fi
+               /sbin/udevd --daemon
+       fi
+
+       # people want reminders, I'll give them reminders.  Odds are they will
+       # just ignore them anyway...
+
+       if [[ ${coldplug_stale} == "1" ]] ; then
+               ewarn "A stale coldplug init script found. You should run:"
+               ewarn
+               ewarn "      rc-update del coldplug"
+               ewarn "      rm -f /etc/init.d/coldplug"
+               ewarn
+               ewarn "udev now provides its own coldplug functionality."
+       fi
+
+       # delete 40-scsi-hotplug.rules - all integrated in 50-udev.rules
+       if has_version "=sys-fs/udev-103-r3"; then
+               if [[ -e "${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules" ]]
+               then
+                       ewarn "Deleting stray 40-scsi-hotplug.rules"
+                       ewarn "installed by sys-fs/udev-103-r3"
+                       rm -f ${ROOT}/etc/udev/rules.d/40-scsi-hotplug.rules
+               fi
+       fi
+
+       # Removing some device-nodes we thought we need some time ago
+       if [[ -d "${ROOT}"/lib/udev/devices ]]; then
+               rm -f "${ROOT}"/lib/udev/devices/{null,zero,console,urandom}
+       fi
+
+       # Removing some old file
+       if has_version "<sys-fs/udev-104-r5"; then
+               rm -f "${ROOT}"/etc/dev.d/net/hotplug.dev
+               rmdir --ignore-fail-on-non-empty "${ROOT}"/etc/dev.d/net
+       fi
+
+       einfo
+       einfo "For more information on udev on Gentoo, writing udev rules, and"
+       einfo "         fixing known issues visit:"
+       einfo "         http://www.gentoo.org/doc/en/udev-guide.xml"
+}