diff options
-rwxr-xr-x | install.sh | 8 | ||||
-rw-r--r-- | tools/check/check_hotplug | 4 | ||||
-rw-r--r-- | tools/examples/Makefile | 23 |
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: |