# HG changeset patch
# User dan@xxxxxxxxxxxxxxxxxxxxx
# Node ID ab845d97de72813985aa5ee1af4730a088c1d3e0
# Parent 60bb9e11bd7d0f766def3d48fbc593424405fab0
Add hping to the ramdisk. Also, do some very simple versioning.
This is the first change to the ramdisk since v0.1.0. So, we now build
the image as initrd-X.Y.img, and link initrd.img to it. This lets us
have a few checks to make sure that people rebuild their ramdisks when
necessary.
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/Makefile.am
--- a/tools/xm-test/Makefile.am Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/Makefile.am Fri Nov 18 12:00:13 2005
@@ -1,5 +1,8 @@
SUBDIRS = ramdisk tests
EXTRA_DIST = lib runtest.sh mkreport
+
+existing:
+ $(MAKE) -C ramdisk existing
# Remove any pyc's, CVS dirs, and prune the skel dirs
dist-hook:
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/README
--- a/tools/xm-test/README Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/README Fri Nov 18 12:00:13 2005
@@ -45,11 +45,15 @@
NB: If you have the initrd.img from another installation of xm-test,
you can copy it into the ramdisk directory to eliminate the need to
rebuild it. If you do this, there is no need to run 'make' again.
-Simply copy the initrd.img file into ramdisk/ and then run the
-runtest.sh script. Note that in general, you should not attempt to
-use a ramdisk from a previous minor version of xm-test (i.e., don't
-use a ramdisk from 0.4.0 with 0.5.0. 0.5.0 should work for 0.5.3
-though)
+Simply copy the initrd-X.Y.img file into ramdisk/ and then run:
+
+ # make existing
+
+This will set up the link so that xm-test will use the existing
+ramdisk. Next, just run "runtest.sh" normally. Note that in general,
+you should not attempt to use a ramdisk from a previous minor version
+of xm-test (i.e., don't use a ramdisk from 0.4.0 with 0.5.0. 0.5.0
+should work for 0.5.3 though)
Running
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/configure.ac
--- a/tools/xm-test/configure.ac Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/configure.ac Fri Nov 18 12:00:13 2005
@@ -1,7 +1,7 @@
# xm-test configure.ac input script
# Basic header information
-AC_INIT([xm-test], [0.5.0])
+AC_INIT([xm-test], [0.6.0])
AM_INIT_AUTOMAKE([1.7 foreign])
# Check for dependencies
@@ -65,5 +65,6 @@
lib/XmTestLib/config.py
])
+AC_OUTPUT
-AC_OUTPUT
+chmod a+x lib/XmTestReport/xmtest.py
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/lib/XmTestReport/xmtest.py.in
--- a/tools/xm-test/lib/XmTestReport/xmtest.py.in Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/lib/XmTestReport/xmtest.py.in Fri Nov 18 12:00:13 2005
@@ -1,3 +1,15 @@
#!/usr/bin/python
XM_TEST_VERSION = "@PACKAGE_VERSION@"
+
+if __name__ == "__main__":
+ import re
+
+ match = re.match("^(\d+)\.(\d+)\.(\d+)$", XM_TEST_VERSION)
+
+ print "XM_TEST_VERSION=%s" % XM_TEST_VERSION
+ if match:
+ print "XM_TEST_MAJ=%s" % match.group(1)
+ print "XM_TEST_MIN=%s" % match.group(2)
+ print "XM_TEST_REV=%s" % match.group(3)
+
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/ramdisk/Makefile.am
--- a/tools/xm-test/ramdisk/Makefile.am Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/ramdisk/Makefile.am Fri Nov 18 12:00:13 2005
@@ -1,5 +1,5 @@
-EXTRA_DIST = skel configs
+EXTRA_DIST = skel configs patches
BR_TAR = buildroot-20050823.tar.bz2
BR_URL = http://buildroot.uclibc.org/downloads/snapshots/$(BR_TAR)
@@ -8,6 +8,9 @@
BR_IMG = $(BR_SRC)/rootfs.i386.ext2
BR_ROOT = build_i386/root
+
+XMTEST_MAJ_VER = $(shell echo @PACKAGE_VERSION@ | perl -pe
's/(\d+)\.(\d+)\.\d+/\1.\2/')
+XMTEST_VER_IMG = initrd-$(XMTEST_MAJ_VER).img
all: initrd.img
@@ -21,12 +24,21 @@
cp configs/buildroot $(BR_SRC)/.config
cp configs/busybox $(BR_SRC)/package/busybox/busybox.config
cp configs/uClibc $(BR_SRC)/toolchain/uClibc/uClibc.config
+ (for i in patches/buildroot/*.patch; do \
+ cd $(BR_SRC) && patch -p1 <../$$i; done )
cd $(BR_SRC) && make oldconfig && make
-initrd.img: $(BR_IMG)
+$(XMTEST_VER_IMG): $(BR_IMG)
(cd skel; tar cf - .) | (cd $(BR_SRC)/$(BR_ROOT); tar xvf -)
cd $(BR_SRC) && make
- cp $(BR_IMG) initrd.img
+ cp $(BR_IMG) initrd-$(XMTEST_MAJ_VER).img
+
+initrd.img: $(XMTEST_VER_IMG)
+ ln -sf $(XMTEST_VER_IMG) initrd.img
+
+existing:
+ @[ -f $(XMTEST_VER_IMG) ] && ln -sf $(XMTEST_VER_IMG) initrd.img || \
+ echo Error, $(XMTEST_VER_IMG) not found
clean-local: am_config_clean-local
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/ramdisk/configs/buildroot
--- a/tools/xm-test/ramdisk/configs/buildroot Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/ramdisk/configs/buildroot Fri Nov 18 12:00:13 2005
@@ -225,6 +225,7 @@
# BR2_PACKAGE_WIRELESS_TOOLS is not set
# BR2_PACKAGE_XORG is not set
# BR2_PACKAGE_ZLIB is not set
+BR2_PACKAGE_HPING=y
#
# Target Options
diff -r 60bb9e11bd7d -r ab845d97de72 tools/xm-test/runtest.sh
--- a/tools/xm-test/runtest.sh Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/runtest.sh Fri Nov 18 12:00:13 2005
@@ -61,19 +61,31 @@
fi
# See if the ramdisk has been built
- rdsize=$(stat -c %s ramdisk/initrd.img 2>/dev/null)
+ rdsize=$(stat -Lc %s ramdisk/initrd.img 2>/dev/null)
if [ -z "$rdsize" ] || [ $rdsize -le 16384 ]; then
echo "Cannot find a valid ramdisk. You need to run \"make\" or"
echo "copy in a previously-built ramdisk to the ramdisk/ directory"
exit 1
fi
+ # Figure out the version of the ramdisk link and compare it
+ # to what it should be as a cheap way of making sure we're
+ # using the right version
+ realrd=$(readlink ramdisk/initrd.img)
+ eval $(./lib/XmTestReport/xmtest.py)
+ rrdver="initrd-${XM_TEST_MAJ}.${XM_TEST_MIN}.img"
+ if [ "$realrd" != "$rrdver" ]; then
+ echo "Error: ramdisk/initrd.img is from an old version"
+ echo "You need to build a ramdisk from at least
${XM_TEST_MAJ}.${XM_TEST_MIN}"
+ exit 1
+ fi
+
# See if xend is running
if ! xm list >/dev/null 2>&1; then
echo "'xm list' failed: is xend running?"
exit 1
fi
-
+
}
# Get contact info if needed
diff -r 60bb9e11bd7d -r ab845d97de72
tools/xm-test/ramdisk/patches/buildroot/hping.patch
--- /dev/null Fri Nov 18 11:58:38 2005
+++ b/tools/xm-test/ramdisk/patches/buildroot/hping.patch Fri Nov 18
12:00:13 2005
@@ -0,0 +1,67 @@
+diff -Naur buildroot.orig/package/Config.in buildroot/package/Config.in
+--- buildroot.orig/package/Config.in 2005-11-15 07:30:21.000000000 -0800
++++ buildroot/package/Config.in 2005-11-15 07:30:54.000000000 -0800
+@@ -118,6 +118,6 @@
+ source "package/wireless-tools/Config.in"
+ source "package/xorg/Config.in"
+ source "package/zlib/Config.in"
+-
++source "package/hping/Config.in"
+
+ endmenu
+diff -Naur buildroot.orig/package/hping/Config.in
buildroot/package/hping/Config.in
+--- buildroot.orig/package/hping/Config.in 1969-12-31 16:00:00.000000000
-0800
++++ buildroot/package/hping/Config.in 2005-11-14 14:13:20.000000000 -0800
+@@ -0,0 +1,5 @@
++config BR2_PACKAGE_HPING
++ bool "hping"
++ default y
++ help
++ This is the hping package
+diff -Naur buildroot.orig/package/hping/hping.mk
buildroot/package/hping/hping.mk
+--- buildroot.orig/package/hping/hping.mk 1969-12-31 16:00:00.000000000
-0800
++++ buildroot/package/hping/hping.mk 2005-11-14 15:11:06.000000000 -0800
+@@ -0,0 +1,43 @@
++# Taken from the buildroot examples
++
++HPING_VERSION = 2.0.0-rc3
++HPING_TBALL = hping$(HPING_VERSION).tar.gz
++HPING_URL = http://www.hping.org/$(HPING_TBALL)
++HPING_DIR = $(BUILD_DIR)/hping2-rc3
++HPING_TARGET_BINARY = usr/bin/hping
++HPING_BINARY = hping
++
++$(DL_DIR)/$(HPING_TBALL):
++ $(WGET) -P $(DL_DIR) $(HPING_URL)
++
++$(HPING_DIR)/.source: $(DL_DIR)/$(HPING_TBALL)
++ tar xzf $(DL_DIR)/$(HPING_TBALL) -C $(BUILD_DIR)
++ touch $(HPING_DIR)/.source
++
++$(HPING_DIR)/.configured: $(HPING_DIR)/.source
++ (cd $(HPING_DIR); \
++ ./configure; )
++ cat $(HPING_DIR)/Makefile | grep -v './hping2 -v' > $(HPING_DIR)/foo
++ mv $(HPING_DIR)/foo $(HPING_DIR)/Makefile
++ touch $(HPING_DIR)/.configured
++
++$(HPING_DIR)/$(HPING_BINARY): $(HPING_DIR)/.configured
++ $(MAKE) CC=$(TARGET_CC) -C $(HPING_DIR)
++
++$(TARGET_DIR)/$(HPING_TARGET_BINARY): $(HPING_DIR)/$(HPING_BINARY)
++ cp $(HPING_DIR)/hping2 $(TARGET_DIR)/bin
++
++hping: $(TARGET_DIR)/$(HPING_TARGET_BINARY)
++
++hping-clean:
++ $(MAKE) prefix=$(TARGET_DIR)/usr -C $(HPING_DIR) uninstall
++ -$(MAKE) -C $(HPING_DIR) clean
++
++hping-dirclean:
++ rm -Rf $(HPING_DIR)
++
++ifeq ($(strip $(BR2_PACKAGE_HPING)),y)
++TARGETS += hping
++endif
++
++
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|