aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinstall.sh8
-rw-r--r--tools/check/check_hotplug4
-rw-r--r--tools/examples/Makefile23
3 files changed, 33 insertions, 2 deletions
diff --git a/install.sh b/install.sh
index 295f084374..49e88a2556 100755
--- a/install.sh
+++ b/install.sh
@@ -23,10 +23,16 @@ if ! [ -d $dst ]; then
fi
echo "Installing Xen from '$src' to '$dst'..."
-(cd $src; tar -cf - --exclude etc/init.d * ) | tar -C $dst -xf -
+(cd $src; tar -cf - --exclude etc/init.d --exclude etc/hotplug --exclude etc/udev * ) | tar -C $dst -xf -
cp -fdRL $src/etc/init.d/* $dst/etc/init.d/
echo "All done."
+if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then
+ cp -f $src/etc/udev/rules.d/*.rules $dst/etc/udev/rules.d/
+else
+ cp -f $src/etc/hotplug/*.agent $dst/etc/hotplug/
+fi
+
echo "Checking to see whether prerequisite tools are installed..."
cd $src/../check
./chk install
diff --git a/tools/check/check_hotplug b/tools/check/check_hotplug
index 15c902171c..df8a328096 100644
--- a/tools/check/check_hotplug
+++ b/tools/check/check_hotplug
@@ -7,4 +7,8 @@ function error {
exit 1
}
+if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `udev -V` -ge 059 ]; then
+ exit 0
+fi
+
which hotplug 1>/dev/null 2>&1 || error
diff --git a/tools/examples/Makefile b/tools/examples/Makefile
index 17d93453a1..e09a35a8ac 100644
--- a/tools/examples/Makefile
+++ b/tools/examples/Makefile
@@ -28,10 +28,23 @@ XEN_SCRIPTS += block-enbd
XEN_HOTPLUG_DIR = /etc/hotplug
XEN_HOTPLUG_SCRIPTS = xen-backend.agent
+UDEV_RULES_DIR = /etc/udev/rules.d
+UDEV_RULES = xen-backend.rules
+
+ifeq ($(findstring $(DISTDIR),$(DESTDIR)),$(DISTDIR))
+HOTPLUGS=install-hotplug install-udev
+else
+ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ] && echo 1),1)
+HOTPLUGS=install-udev
+else
+HOTPLUGS=install-hotplug
+endif
+endif
+
all:
build:
-install: all install-initd install-configs install-scripts install-hotplug
+install: all install-initd install-configs install-scripts $(HOTPLUGS)
install-initd:
[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
@@ -64,4 +77,12 @@ install-hotplug:
$(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
done
+install-udev:
+ [ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
+ $(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)
+ for i in $(UDEV_RULES); \
+ do \
+ $(INSTALL_PROG) $$i $(DESTDIR)$(UDEV_RULES_DIR); \
+ done
+
clean: