From a98151f1101c369382cba92e8a2adb0bb8e0201b Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Wed, 14 Sep 2005 19:28:01 +0000 Subject: [PATCH] merge recent changes, prep for plc-0.2-9 --- Makefile | 73 ++++++++++++++++++++++++++++++++++++++++------------- Makerules | 4 +-- Rules.mk | 4 +-- devbox.sh | 23 ++++++++++------- packages.sh | 6 ++--- 5 files changed, 77 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index eaa8ab7b..b5e0f8a8 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2003-2005 The Trustees of Princeton University # -# $Id: Makefile,v 1.68 2005/05/04 20:35:27 mlhuang Exp $ +# $Id: Makefile,v 1.79 2005/09/04 17:37:36 mlhuang Exp $ # # Default target @@ -16,6 +16,7 @@ all: # TAG: CVS tag to patch to (if not HEAD) # MODULE: CVS module name to use (if not HEAD) # SPEC: RPM spec file template +# RPMBUILD: If not rpmbuild # RPMFLAGS: Miscellaneous RPM flags # CVS_RSH: If not ssh # ALL: default targets @@ -64,18 +65,6 @@ util-vserver-MODULE := util-vserver util-vserver-SPEC := util-vserver/util-vserver.spec ALL += util-vserver -# Build kernel first so we can bootstrap off of its build -util-vserver: kernel - -# -# 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 -ALL += vserver-reference - # # lkcdutils # @@ -273,18 +262,67 @@ kexec-tools-MODULE := kexec-tools kexec-tools-SPEC := kexec-tools/kexec-tools.spec ALL += kexec-tools +# +# util-python +# + +util-python-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs +util-python-MODULE := util-python +util-python-SPEC := util-python/util-python.spec +ALL += util-python + +# proper and util-vserver both use scripts in util-python for building +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)) + +# ...and the yum manifest +vserver-reference: RPMS/yumgroups.xml + +# +# bootmanager +# + +bootmanager-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs +bootmanager-MODULE := bootmanager +bootmanager-SPEC := bootmanager/bootmanager.spec +bootmanager-RPMBUILD := sudo rpmbuild +ALL += bootmanager + +# bootmanager may require current packages +bootmanager: $(filter-out bootmanager,$(ALL)) + +# ...and the yum manifest +bootmanager: RPMS/yumgroups.xml + ifeq ($(findstring $(package),$(ALL)),) # Build all packages all: $(ALL) - # XXX Should check out a tagged version of yumgroups.xml - cvs -d $(CVSROOT) checkout -p alpina/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 +RPMS/yumgroups.xml: + install -D -m 644 groups/v3_yumgroups.xml RPMS/yumgroups.xml + # Recurse $(ALL): $(MAKE) package=$@ + yum-arch RPMS + yum-arch SRPMS # Upload packages to boot server SERVER := build@boot.planet-lab.org @@ -306,10 +344,10 @@ ifneq ($(BUILDS),) endif # Populate repository ssh $(SERVER) mkdir -p $(ARCHIVE)/$(BASE)/RPMS $(ARCHIVE)/$(BASE)/SRPMS - rsync --links --perms --times --group --compress --rsh=ssh \ + rsync --delete --links --perms --times --group --compress --rsh=ssh \ $(sort $(subst -debuginfo,,$(wildcard RPMS/yumgroups.xml RPMS/*/*))) $(SERVER):$(ARCHIVE)/$(BASE)/RPMS/ ssh $(SERVER) yum-arch $(ARCHIVE)/$(BASE)/RPMS >/dev/null - rsync --links --perms --times --group --compress --rsh=ssh \ + rsync --delete --links --perms --times --group --compress --rsh=ssh \ $(wildcard SRPMS/*) $(SERVER):$(ARCHIVE)/$(BASE)/SRPMS/ ssh $(SERVER) yum-arch $(ARCHIVE)/$(BASE)/SRPMS >/dev/null ifeq ($(TAG),HEAD) @@ -339,6 +377,7 @@ TAG := $(if $($(package)-TAG),$($(package)-TAG),$(TAG)) MODULE := $($(package)-MODULE) SPEC := $($(package)-SPEC) RPMFLAGS := $($(package)-RPMFLAGS) +RPMBUILD := $(if $($(package)-RPMBUILD),$($(package)-RPMBUILD),rpmbuild) CVS_RSH := $(if $($(package)-CVS_RSH),$($(package)-CVS_RSH),ssh) include Makerules diff --git a/Makerules b/Makerules index 276f6730..7b638299 100644 --- a/Makerules +++ b/Makerules @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2003-2005 The Trustees of Princeton University # -# $Id: Makerules,v 1.15 2005/05/18 15:18:43 mlhuang Exp $ +# $Id: Makerules,v 1.16 2005/09/01 18:58:45 mlhuang Exp $ # # Base cvsps and rpmbuild in the current directory @@ -151,7 +151,7 @@ all: RPMS/$(ARCH)/$(NVR).$(ARCH).rpm SRPMS/$(NVR).src.rpm # Build RPM RPMS/$(ARCH)/$(NVR).$(ARCH).rpm: SPECS/$(notdir $(SPEC)) $(SOURCES) .rpmmacros mkdir -p BUILD RPMS - rpmbuild $(RPMFLAGS) -bb $< + $(RPMBUILD) $(RPMFLAGS) -bb $< # Build SRPM SRPMS/$(NVR).src.rpm: SPECS/$(notdir $(SPEC)) $(SOURCES) .rpmmacros diff --git a/Rules.mk b/Rules.mk index 276f6730..7b638299 100644 --- a/Rules.mk +++ b/Rules.mk @@ -4,7 +4,7 @@ # Mark Huang # Copyright (C) 2003-2005 The Trustees of Princeton University # -# $Id: Makerules,v 1.15 2005/05/18 15:18:43 mlhuang Exp $ +# $Id: Makerules,v 1.16 2005/09/01 18:58:45 mlhuang Exp $ # # Base cvsps and rpmbuild in the current directory @@ -151,7 +151,7 @@ all: RPMS/$(ARCH)/$(NVR).$(ARCH).rpm SRPMS/$(NVR).src.rpm # Build RPM RPMS/$(ARCH)/$(NVR).$(ARCH).rpm: SPECS/$(notdir $(SPEC)) $(SOURCES) .rpmmacros mkdir -p BUILD RPMS - rpmbuild $(RPMFLAGS) -bb $< + $(RPMBUILD) $(RPMFLAGS) -bb $< # Build SRPM SRPMS/$(NVR).src.rpm: SPECS/$(notdir $(SPEC)) $(SOURCES) .rpmmacros diff --git a/devbox.sh b/devbox.sh index 69a37fc0..3ff86256 100644 --- a/devbox.sh +++ b/devbox.sh @@ -3,7 +3,7 @@ # PlanetLab devbox release script. Intended to be used by scripts and # crontabs to build nightly releases (default). # -# $Id:$ +# $Id: devbox.sh,v 1.3 2005/08/02 05:36:47 mef Exp $ # # Set defaults @@ -16,6 +16,7 @@ BASE=$PWD # Export certain variables export CVS_RSH +BASE= # Get options while getopts "d:r:m:b:x:h" opt ; do case $opt in @@ -45,13 +46,17 @@ while getopts "d:r:m:b:x:h" opt ; do done # Base operations in specified directory -BASE=`mktemp -d /tmp/DEVBOX.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; } -mkdir -p $BASE +if [ -z "$BASE" ]; then + BASE=`mktemp -d /tmp/DEVBOX.XXXXXX` || { echo $"could not make temp file" >& 2; exit 1; } + mkdir -p $BASE +fi cd $BASE || exit $? +DAT=`date +%Y.%m.%d` +DAT="2005.08.01" # Redirect output from here exec 2>&1 -exec &>${BASE}/log +exec &>${BASE}/${DAT}/devbox.log # XXX For debugging set -x @@ -61,7 +66,7 @@ SERVER=build@boot.planet-lab.org REPOSITORY=/var/www/html/install-rpms for RELEASE in devbox alpha-devbox beta-devbox ; do - TMPDEVBOXRELEASE=planetlab-${RELEASE}_`date +%Y.%m.%d`_tmp + TMPDEVBOXRELEASE=planetlab-${RELEASE}_${DAT}_tmp DEVBOXRELEASE=planetlab-${RELEASE} ssh $SERVER mkdir -p ${REPOSITORY}/${TMPDEVBOXRELEASE} @@ -72,9 +77,9 @@ for RELEASE in devbox alpha-devbox beta-devbox ; do BUILT=$(echo $DEVBOXRELEASE | sed "s,\-devbox,,") ssh $SERVER ln -nf ${REPOSITORY}/$BUILT/*.rpm ${REPOSITORY}/${TMPDEVBOXRELEASE} - mkdir -p ${BASE}/${DEVBOXRELEASE} - cvs -d ${CVSROOT} checkout -p alpina/groups/${RELEASE}_yumgroups.xml > ${BASE}/${DEVBOXRELEASE}/yumgroups.xml - scp ${BASE}/${DEVBOXRELEASE}/yumgroups.xml ${SERVER}:${REPOSITORY}/${TMPDEVBOXRELEASE}/yumgroups.xml + mkdir -p ${BASE}/${DAT}/${DEVBOXRELEASE} + install -D -m 644 ${DAT}/groups/${RELEASE}_yumgroups.xml ${BASE}/${DAT}/${DEVBOXRELEASE}/yumgroups.xml + scp ${BASE}/${DAT}/${DEVBOXRELEASE}/yumgroups.xml ${SERVER}:${REPOSITORY}/${TMPDEVBOXRELEASE}/yumgroups.xml ssh $SERVER yum-arch ${REPOSITORY}/${TMPDEVBOXRELEASE} >/dev/null @@ -88,6 +93,6 @@ for RELEASE in devbox alpha-devbox beta-devbox ; do done cd / || exit $? -rm -rf $BASE +#rm -rf $BASE exit 0 diff --git a/packages.sh b/packages.sh index ad9c3038..745bb62b 100755 --- a/packages.sh +++ b/packages.sh @@ -6,7 +6,7 @@ # Mark Huang # Copyright (C) 2004 The Trustees of Princeton University # -# $Id: packages.sh,v 1.4 2004/10/28 14:53:05 mlhuang Exp $ +# $Id: packages.sh,v 1.6 2005/06/14 18:53:43 mlhuang Exp $ # # Set defaults @@ -29,7 +29,7 @@ shift $(($OPTIND - 1)) xml_escape_pcdata() { # & to & - # " to \" + # " to " # ' to ' # < to < # > to > @@ -63,7 +63,7 @@ TAGS="NAME VERSION RELEASE URL BUILDTIME DESCRIPTION" cat < - + -- 2.43.0