- enable bootmanager build
authorMark Huang <mlhuang@cs.princeton.edu>
Sat, 3 Sep 2005 21:50:14 +0000 (21:50 +0000)
committerMark Huang <mlhuang@cs.princeton.edu>
Sat, 3 Sep 2005 21:50:14 +0000 (21:50 +0000)
- build vserver-reference and bootmanager last; index the current RPM
  set first

Makefile

index 2df4301..e52fc6b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2003-2005 The Trustees of Princeton University
 #
-# $Id: Makefile,v 1.76 2005/09/02 20:19:37 mlhuang Exp $
+# $Id$
 #
 
 # Default target
@@ -65,20 +65,6 @@ util-vserver-MODULE := util-vserver
 util-vserver-SPEC := util-vserver/util-vserver.spec
 ALL += util-vserver
 
-#
-# vserver-reference
-#
-
-vserver-reference-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs
-vserver-reference-MODULE := vserver-reference
-vserver-reference-SPEC := vserver-reference/vserver-reference.spec
-# Package must be built as root
-vserver-reference-RPMBUILD := sudo rpmbuild
-ALL += vserver-reference
-
-# Reference image requires a dummy kernel and PlanetLabKeys
-vserver-reference: kernel PlanetLabKeys
-
 #
 # lkcdutils
 #
@@ -289,6 +275,23 @@ ALL += util-python
 proper: util-python
 util-vserver: util-python
 
+#
+# vserver-reference
+#
+
+vserver-reference-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs
+vserver-reference-MODULE := vserver-reference
+vserver-reference-SPEC := vserver-reference/vserver-reference.spec
+# Package must be built as root
+vserver-reference-RPMBUILD := sudo rpmbuild
+ALL += vserver-reference
+
+# vserver-reference may require current packages
+vserver-reference: $(filter-out vserver-reference,$(ALL))
+
+# ...which should be indexed first
+vserver-reference: RPMS/yumgroups.xml RPMS/headers
+
 #
 # bootmanager
 #
@@ -297,19 +300,28 @@ bootmanager-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs
 bootmanager-MODULE := bootmanager
 bootmanager-SPEC := bootmanager/bootmanager.spec
 bootmanager-RPMBUILD := sudo rpmbuild
-#ALL += bootmanager
+ALL += bootmanager
 
-# bootmanager builds the bootstrap package, which includes all the
-# other packages
+# bootmanager may require current packages
 bootmanager: $(filter-out bootmanager,$(ALL))
 
+# ...which should be indexed first
+bootmanager: RPMS/yumgroups.xml RPMS/headers
+
 ifeq ($(findstring $(package),$(ALL)),)
 
 # Build all packages
 all: $(ALL)
-       install -D -m 644 groups/v3_yumgroups.xml RPMS/yumgroups.xml
         # Create package manifest
        sh ./packages.sh -b "http://build.planet-lab.org/$(subst $(HOME)/,,$(shell pwd))/SRPMS" SRPMS > SRPMS/packages.xml
+        # Generate yum headers
+       $(MAKE) RPMS/yumgroups.xml RPMS/headers
+
+RPMS/yumgroups.xml:
+       install -D -m 644 groups/v3_yumgroups.xml RPMS/yumgroups.xml
+
+RPMS/headers:
+       yum-arch RPMS
 
 # Recurse
 $(ALL):