aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@freefall.cl.cam.ac.uk <kaf24@freefall.cl.cam.ac.uk>2004-11-02 17:57:41 +0000
committerkaf24@freefall.cl.cam.ac.uk <kaf24@freefall.cl.cam.ac.uk>2004-11-02 17:57:41 +0000
commite81e528835b229f805c0cfdae0731147471ae554 (patch)
tree0b5c3c3e6c150e49fd4f59ee90fa4700e92acbe3
parentca9b4638d2e1f962f64474442f3b3198d5239a43 (diff)
downloadxen-e81e528835b229f805c0cfdae0731147471ae554.tar.gz
xen-e81e528835b229f805c0cfdae0731147471ae554.tar.bz2
xen-e81e528835b229f805c0cfdae0731147471ae554.zip
bitkeeper revision 1.1159.1.338 (4187ca95yoh3y8SwBJw4uTmgIxLCTw)
A new install script to install from the intermediate 'install' subdir. Also now a bit more careful in use of 'cp -a'. When installing to system-wide directories we probably do not want to preserve ownership of the random unprivileged user that originally built the binaries. The user who does the install (probably root) is the correct person to own the target files.
-rw-r--r--.rootkeys1
-rw-r--r--Makefile4
-rw-r--r--docs/Makefile6
-rwxr-xr-xinstall.sh24
4 files changed, 30 insertions, 5 deletions
diff --git a/.rootkeys b/.rootkeys
index 87b25357c1..7f41bc10c8 100644
--- a/.rootkeys
+++ b/.rootkeys
@@ -37,6 +37,7 @@
3f815145CB8XdPUqsmhAjSDFuwOoqA extras/mini-os/mm.c
3f815145vGYx1WY79voKkZB9yKwJKQ extras/mini-os/time.c
3f815145xlKBAQmal9oces3G_Mvxqw extras/mini-os/traps.c
+4187ca95_eQN62ugV1zliQcfzXrHnw install.sh
3e5a4e6589G-U42lFKs43plskXoFxQ linux-2.4.27-xen-sparse/Makefile
3e5a4e65IEPjnWPZ5w3TxS5scV8Ewg linux-2.4.27-xen-sparse/arch/xen/Makefile
3e5a4e65n-KhsEAs-A4ULiStBp-r6w linux-2.4.27-xen-sparse/arch/xen/boot/Makefile
diff --git a/Makefile b/Makefile
index ab70b5d30f..d357cebf63 100644
--- a/Makefile
+++ b/Makefile
@@ -22,8 +22,8 @@ install: dist
$(MAKE) -C xen install
$(MAKE) -C tools install
sh ./docs/check_pkgs && $(MAKE) -C docs install
- $(shell cp -a install/boot/*$(LINUX_VER)* /boot/)
- $(shell cp -a install/lib/modules/* /lib/modules/)
+ $(shell cp -dR install/boot/*$(LINUX_VER)* /boot/)
+ $(shell cp -dR install/lib/modules/* /lib/modules/)
# install xen and tools into the install directory
dist: all
diff --git a/docs/Makefile b/docs/Makefile
index ed7a1d3575..528c4f53f2 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -23,9 +23,9 @@ clean:
install: all
mkdir -p $(prefix)/usr/share/doc/xen
- cp -a ps $(prefix)/usr/share/doc/xen
- cp -a pdf $(prefix)/usr/share/doc/xen
- cp -a html $(prefix)/usr/share/doc/xen
+ cp -dR ps $(prefix)/usr/share/doc/xen
+ cp -dR pdf $(prefix)/usr/share/doc/xen
+ cp -dR html $(prefix)/usr/share/doc/xen
pdf/%.pdf: ps/%.ps
mkdir -p pdf ; ps2pdf $< $@
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000000..2c8f38f06d
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+if ! [ -d ./install ]; then
+ echo "ERROR: You must build Xen before it can be installed."
+ echo " For example, 'make dist'."
+ exit 1
+fi
+
+prefix='/'
+if [ $# -ne 0 ]; then
+ prefix=$1
+fi
+
+if ! [ -d $prefix ]; then
+ echo "ERROR: You must specify a valid install directory."
+ echo " The specified directory '$prefix' is not valid."
+ exit 1
+fi
+
+echo "Installing Xen to '$prefix'..."
+cp -fdR ./install/* $prefix
+echo "All done."
+
+exit 0