From c63b6443478c376ab1c2aba73c2580f20a08016e Mon Sep 17 00:00:00 2001 From: Mark Huang Date: Wed, 4 May 2005 19:14:58 +0000 Subject: [PATCH] - remove stupid license notice - move installation rules here ("make install BASE=..." now re-deploys) --- Makefile | 79 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/Makefile b/Makefile index 016f11a8..2b1e4721 100644 --- a/Makefile +++ b/Makefile @@ -1,38 +1,10 @@ # # PlanetLab RPM generation # -# Copyright (c) 2003 The Trustees of Princeton University (Trustees). -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# * Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# $Id: Makefile,v 1.62 2005/04/04 17:05:47 alk Exp $ +# Mark Huang +# Copyright (C) 2003-2005 The Trustees of Princeton University +# +# $Id: Makefile,v 1.63 2005/04/11 14:46:16 mlhuang Exp $ # # Default target @@ -57,9 +29,10 @@ all: # spec file are generated automatically. # -# Default tags +# Default values INITIAL := HEAD TAG := HEAD +CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs # # kernel @@ -322,11 +295,49 @@ 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 # Recurse $(ALL): $(MAKE) package=$@ +# Upload packages to boot server +SERVER := build@boot.planet-lab.org +ARCHIVE := /var/www/html/install-rpms/archive + +# Put nightly alpha builds in a subdirectory +ifeq ($(TAG),HEAD) +ARCHIVE := $(ARCHIVE)/planetlab-alpha +REPOS := /var/www/html/install-rpms/planetlab-alpha +endif + +install: +ifeq ($(BASE),) + @echo make install is only meant to be called from ./build.sh +else +ifneq ($(BUILDS),) + # Remove old runs + echo "cd $(ARCHIVE) && ls -t | sed -n $(BUILDS)~1p | xargs rm -rf" | ssh $(SERVER) /bin/bash -s +endif + # Populate repository + ssh $(SERVER) mkdir -p $(ARCHIVE)/$(BASE)/RPMS $(ARCHIVE)/$(BASE)/SRPMS + rsync --links --perms --times --group --compress --rsh=ssh \ + RPMS/yumgroups.xml $(sort $(subst -debuginfo,,$(wildcard RPMS/*/*))) $(SERVER):$(ARCHIVE)/$(BASE)/RPMS/ + ssh $(SERVER) yum-arch $(ARCHIVE)/$(BASE)/RPMS >/dev/null + rsync --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) + # Update nightly alpha symlink if it does not exist or is broken, or it is Monday + if ! ssh $(SERVER) "[ -e $(REPOS) ] && exit 0 || exit 1" || [ "$(shell date +%A)" = "Monday" ] ; then \ + ssh $(SERVER) ln -nsf $(ARCHIVE)/$(BASE)/RPMS/ $(REPOS) ; \ + fi +endif +endif + # Remove files generated by this package $(foreach package,$(ALL),$(package)-clean): %-clean: $(MAKE) package=$* clean @@ -340,7 +351,7 @@ clean: else # Define variables for Makerules -CVSROOT := $($(package)-CVSROOT) +CVSROOT := $(if $($(package)-CVSROOT),$($(package)-CVSROOT),$(CVSROOT)) INITIAL := $(if $($(package)-INITIAL),$($(package)-INITIAL),$(INITIAL)) TAG := $(if $($(package)-TAG),$($(package)-TAG),$(TAG)) MODULE := $($(package)-MODULE) -- 2.47.0