diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-10-07 14:47:45 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-10-07 14:47:45 +0100 |
commit | 726081b63b0bea2687b7c2330808fba2de9c2e61 (patch) | |
tree | 3a82297a6e829b1176177617430fdfb14fa56f7c | |
parent | 7dc4ee7c765944dce1ccf2c596b4aa16a6ed3e1b (diff) | |
download | xen-726081b63b0bea2687b7c2330808fba2de9c2e61.tar.gz xen-726081b63b0bea2687b7c2330808fba2de9c2e61.tar.bz2 xen-726081b63b0bea2687b7c2330808fba2de9c2e61.zip |
Add installation of the udev rules if appropriate. With a normal 'make
install', the udev rules will be installed if udev version is >= 059;
otherwise, the hotplug rules get installed.
When 'make dist' is done, we set a variable so that both hotplug and
udev rules are installed into the dist tarball. install.sh then takes
care of picking the proper rules.
Also changes the hotplug check to look for a proper udev version
Signed-off-by: Jeremy Katz <katzj@redhat.com>
-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: |