--- xen-3.4.0.orig/tools/hotplug/Linux/Makefile +++ xen-3.4.0/tools/hotplug/Linux/Makefile @@ -28,6 +28,12 @@ XEN_SCRIPT_DATA += vtpm-migration.sh vtp XEN_HOTPLUG_DIR = /etc/hotplug XEN_HOTPLUG_SCRIPTS = xen-backend.agent +ifeq ($(shell [ -x /sbin/udevadm ] && echo 1),1) +UDEVINFO = /sbin/udevadm +else +UDEVINFO = /usr/bin/udevinfo +endif + UDEV_RULES_DIR = /etc/udev UDEV_RULES = xen-backend.rules xend.rules @@ -36,7 +43,7 @@ DE = $(if $(DESTDIR),$(shell readlink -f ifeq ($(findstring $(DI),$(DE)),$(DI)) HOTPLUGS=install-hotplug install-udev else -ifeq ($(shell [ -x /usr/bin/udevinfo ] && [ `/usr/bin/udevinfo -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/'` -ge 059 ] && echo 1),1) +ifeq ($(shell [ -x $(UDEVINFO) -a `$(UDEVINFO) -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/'` -ge 059 ] && echo 1),1) HOTPLUGS=install-udev else HOTPLUGS=install-hotplug --- xen-3.4.0.orig/tools/check/check_udev +++ xen-3.4.0/tools/check/check_udev @@ -8,8 +8,10 @@ OpenBSD|NetBSD|FreeBSD) has_or_fail vnconfig ;; Linux) - has_or_fail udevinfo - [ "`udevinfo -V | awk '{print $NF}'`" -ge 59 ] 2>/dev/null || \ + has /sbin/udevadm && udevver=`/sbin/udevadm -V` + [ -z "$udevver" ] && has_or_fail udevinfo && \ + udevver=`udevinfo -V | awk '{print $NF}'` + [ "$udevver" -ge 59 ] 2>/dev/null || \ has hotplug || \ fail "udev is too old, upgrade to version 59 or later" ;; --- xen-3.4.0.orig/install.sh +++ xen-3.4.0/install.sh @@ -30,6 +30,8 @@ echo "Installing Xen from '$src' to '$ds [ -x "$(which udevinfo)" ] && \ UDEV_VERSION=$(udevinfo -V | sed -e 's/^[^0-9]* \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/') +[ -z "$UDEV_VERSION" -a -x /sbin/udevadm ] && UDEV_VERSION=$(/sbin/udevadm -V) + if [ -n "$UDEV_VERSION" ] && [ $UDEV_VERSION -ge 059 ]; then echo " - installing for udev-based system" rm -rf "$tmp/etc/hotplug"