head	1.33;
access;
symbols;
locks; strict;
comment	@# @;


1.33
date	2005.01.24.15.41.16;	author thl;	state dead;
branches;
next	1.32;

1.32
date	2005.01.18.09.08.07;	author thl;	state Exp;
branches;
next	1.31;

1.31
date	2005.01.18.09.01.24;	author thl;	state Exp;
branches;
next	1.30;

1.30
date	2005.01.18.07.44.22;	author thl;	state Exp;
branches;
next	1.29;

1.29
date	2004.12.09.16.34.38;	author ms;	state Exp;
branches;
next	1.28;

1.28
date	2004.11.16.12.15.53;	author tho;	state Exp;
branches;
next	1.27;

1.27
date	2004.11.15.15.21.50;	author tho;	state Exp;
branches;
next	1.26;

1.26
date	2004.10.20.09.22.43;	author thl;	state Exp;
branches;
next	1.25;

1.25
date	2004.09.21.15.27.27;	author thl;	state Exp;
branches;
next	1.24;

1.24
date	2004.09.21.15.27.25;	author thl;	state Exp;
branches;
next	1.23;

1.23
date	2004.09.21.15.27.23;	author thl;	state Exp;
branches;
next	1.22;

1.22
date	2004.09.21.15.27.21;	author thl;	state Exp;
branches;
next	1.21;

1.21
date	2004.09.21.15.27.19;	author thl;	state Exp;
branches;
next	1.20;

1.20
date	2004.09.21.15.27.17;	author thl;	state Exp;
branches;
next	1.19;

1.19
date	2004.09.21.15.27.15;	author thl;	state Exp;
branches;
next	1.18;

1.18
date	2004.09.21.15.27.13;	author thl;	state Exp;
branches;
next	1.17;

1.17
date	2004.09.21.15.27.11;	author thl;	state Exp;
branches;
next	1.16;

1.16
date	2004.09.21.15.27.08;	author thl;	state Exp;
branches;
next	1.15;

1.15
date	2004.01.08.20.56.11;	author rse;	state Exp;
branches;
next	1.14;

1.14
date	2004.01.08.20.00.27;	author rse;	state Exp;
branches;
next	1.13;

1.13
date	2003.10.15.18.27.59;	author rse;	state Exp;
branches;
next	1.12;

1.12
date	2003.10.15.15.45.47;	author rse;	state Exp;
branches;
next	1.11;

1.11
date	2003.01.11.12.45.02;	author rse;	state Exp;
branches;
next	1.10;

1.10
date	2003.01.11.12.43.01;	author rse;	state Exp;
branches;
next	1.9;

1.9
date	2003.01.11.11.07.18;	author rse;	state Exp;
branches;
next	1.8;

1.8
date	2002.08.28.09.38.23;	author rse;	state Exp;
branches;
next	1.7;

1.7
date	2002.08.26.19.15.08;	author rse;	state Exp;
branches;
next	1.6;

1.6
date	2002.08.14.10.05.28;	author rse;	state Exp;
branches;
next	1.5;

1.5
date	2002.08.09.18.22.45;	author rse;	state Exp;
branches;
next	1.4;

1.4
date	2002.08.09.16.04.44;	author rse;	state Exp;
branches;
next	1.3;

1.3
date	2002.08.09.08.35.16;	author rse;	state Exp;
branches;
next	1.2;

1.2
date	2002.08.08.17.56.08;	author rse;	state Exp;
branches;
next	1.1;

1.1
date	2002.08.08.15.14.04;	author rse;	state Exp;
branches;
next	;


desc
@@


1.33
log
@remove build farm utilities from release engineering
@
text
@##
##  Makefile for OpenPKG Release Engineering
##

#   OpenPKG instance
PREFIX      = /openpkg
LOCATION    = openpkg
USER        = openpkg
GROUP       = openpkg
LTMP        = /ltmp/openpkg-bf

#   OpenPKG build platforms
HOSTNAME    = `hostname | sed -e 's;\..*$$;;'`
TARGET      = `$(PREFIX)/bin/openpkg rpm --eval '%{l_platform -p}'`
PLATFORMS   = \
               bsd1:ixFB5:ix86-freebsd5.3                \
               bsd2:ixFB4:ix86-freebsd4.10               \
               bsd3:amFB5:amd64-freebsd5.3               \
               bsd4:iaFB5:ia64-freebsd5.3                \
               bsd5:usFB5:sparc64-freebsd5.3             \
               eso1:paH11:hppa-hpux11.11                 \
               eso2:ppOSX:ppc-macosx10.3.6               \
               eso3:ixNB2:ix86-netbsd2.0                 \
               lnx1:ixD31:ix86-debian3.1                 \
               lnx2:ixRE3:ix86-rhel3                     \
               lnx3:ixS92:ix86-suse9.2                   \
               lnx4:ixD30:ix86-debian3.0                 \
               lnx5:ixSE9:ix86-sles9                     \
               sol1:ixSO9:ix86-solaris9                  \
               sol2:usSO9:sparc64-solaris9               \
               sol3:usSO8:sparc64-solaris8               \
               sol4:ixSOX:ix86-solaris10                 \
               sol5:usSOX:sparc64-solaris10              \
               vm40:ixG15:ix86-gentoo1.5.3               \
               vm41:ixM10:ix86-mandrake10.1              \
               vm46:ixFC3:ix86-fedora3                   \
               vm42:ixFB6:ix86-freebsd6.0                \
              # keep this in sync with website status.wml and status.cgi

#   OpenPKG package classes
#CLASSES    = +CORE-BASE-PLUS-EVAL-JUNK
#CLASSES    = +CORE+BASE-PLUS-EVAL-JUNK
#CLASSES    = +CORE+BASE+PLUS-EVAL-JUNK
#CLASSES    = +CORE+BASE+PLUS+EVAL-JUNK
CLASSES    = +CORE+BASE+PLUS+EVAL+JUNK

#   OpenPKG sources
SHELL       = /usr/opkg/bin/bash
ROOTDIR     = /e/openpkg/bf
MASTER_WEB  = master.openpkg.org:/e/openpkg/bf
#MASTER_FTP  = rsync://rsync.openpkg.org/openpkg-ftp
MASTER_FTP  = rsync://rsync.openpkg.org/openpkg-pre
CUR_SOURCE = $(MASTER_FTP)/current/SRC/
#CUR_SOURCE  = $(MASTER_FTP)/release/2.2/SRC/
CUR_EXTRA   = /e/openpkg/PKG/src/
#REL_INDEX   = $(MASTER_FTP)/release/2.2/SRC/00INDEX.rdf.bz2 
REL_INDEX   = $(MASTER_FTP)/current/SRC/00INDEX.rdf.bz2 
SKIP_PKGS   = 

#   internals
WORK        = .
MPX         = /usr/opkg/bin/openpkg
SRC2MAKE    = "${MPX} src2make"
SHTOOL      = "${MPX} shtool"

all: buildfarm

#
#   master targets
#

master-buildfarm buildfarm:
	-@@if [ ".`screen -list | grep openpkg-buildfarm`" != . ]; then \
	    $(SHTOOL) echo -e "%B++ reconnecting to running build-farm environment%b"; \
	    exec screen -r openpkg-buildfarm -p =; \
	else \
	    $(SHTOOL) echo -e "%B++ establishing new build-farm environment%b"; \
		bashrc="$(ROOTDIR)/tmp/master-buildfarm-bashrc"; \
		( echo ". \$$HOME/.bash_login"; \
		  echo "unset TMOUT"; \
		  echo "cd $(ROOTDIR)"; \
		  echo "echo \"Entering OpenPKG Release Engineering Area (slave host \`hostname\`)\""; \
		) >$$bashrc; \
		screenrc="$(ROOTDIR)/tmp/master-buildfarm-screenrc"; \
		( echo "vbell off"; \
		  echo "screen -t \"$(HOSTNAME) [MASTER]\" $(SHELL)"; \
		  for platform in $(PLATFORMS); do \
			  eval `echo "$$platform" | sed -e 's/^\([^:]*\):\([^:]*\):\(.*\)$$/hostname="\1"; id="\2"; target="\3";/'`; \
			  echo "screen -t \"$$hostname\" ssh -t -x $$hostname $(SHELL) --rcfile $$bashrc"; \
		  done; \
		  echo "select 0"; \
		) >$$screenrc; \
		eval `ssh-agent -s 2>/dev/null`; \
		ssh-add -D </dev/null 2>/dev/null; \
		ssh-add </dev/null ~/.ssh/id_dsa; \
		cd $(ROOTDIR); unset TMOUT; umask 022; \
	    exec screen -S openpkg-buildfarm -c $$screenrc; \
	fi

master:
	@@$(SHTOOL) echo -e "%B++ RUN MASTER LOOP on $(HOSTNAME)%b"; \
	cd $(WORK); PWD=`pwd`; export PWD; \
	while [ 1 ]; do \
		$(MAKE) master-prepare; \
	done

master-prepare:
	@@$(SHTOOL) echo -e "%B++ master: preparing%b"; \
	$(MAKE) master-create; \
	$(MAKE) master-download; \
	$(MAKE) master-makefile

master-create:
	@@$(SHTOOL) echo -e "%B++ Creating working area ($(WORK)/)%b"; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/ctl; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/log; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/master; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/master-extra; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/tmp

master-download:
	@@$(SHTOOL) echo -e "%B++ Downloading latest OpenPKG master source RPMs ($(WORK)/src/master/)%b"
	@@rsync -rt --delete --exclude "Makefile*" $(CUR_SOURCE) $(WORK)/src/master/
	@@(cd $(WORK)/src/master && rm -f $(SKIP_PKGS))
	@@rsync -t $(REL_INDEX) $(WORK)/src/master/00INDEX-release.rdf.bz2
	@@bunzip2 $(WORK)/src/master/00INDEX*.rdf.bz2
	@@for src in $(WORK)/src/master/*.nosrc.rpm; do \
		 base=`echo $$src | sed -e 's;^.*/\([^/][^/]*\)$$;\1;' -e 's;\.nosrc\.rpm$$;;'`; \
		 if [ ! -f "$(WORK)/src/master-extra/$$base.src.rpm" -a -f "$(CUR_EXTRA)/$$base.src.rpm" ]; then \
		     echo "$$base.src.rpm (no-source replacement)"; \
		     rsync -t "$(CUR_EXTRA)/$$base.src.rpm" "$(WORK)/src/master-extra/$$base.src.rpm"; \
	     fi; \
		 if [ ! -f "$(WORK)/src/master/$$base.src.rpm" -a -f "$(WORK)/src/master-extra/$$base.src.rpm" ]; then \
		     ln "$(WORK)/src/master-extra/$$base.src.rpm" "$(WORK)/src/master/$$base.src.rpm"; \
		 fi; \
	 done

master-makefile:
	@@$(SHTOOL) echo -e "%B++ Generating Makefiles for build procedure ($(WORK)/src/master/Makefile*)%b"
	@@$(SRC2MAKE) --prefix=$(PREFIX) --user=$(USER) --group=$(GROUP) \
	                    --srcdir=$(WORK)/src/master --tmpdir=$(WORK)/tmp --outdir=$(WORK)/src/master \
	                    --classes=$(CLASSES) --verbose

master-status:
	@@$(SHTOOL) echo -e "%B++ Creating master status report%b"
	@@status=""; \
	for platform in $(PLATFORMS); do \
		eval `echo "$$platform" | sed -e 's/^\([^:]*\):\([^:]*\):\(.*\)$$/hostname="\1"; id="\2"; target="\3";/'`; \
		id=`echo "$$id    " | cut -c1-5`; \
		status="$$status $$id"; \
    done; \
	echo . | awk '{ printf("%-15s %-15s %-10s %-4s %-3s %s\n", n, v, r, d, l, s); }' \
	n="Name" v="Version" r="Release" d="Dst" l="Rel" s="$$status"; \
	echo "=============== =============== ========== ==== ===  ====================================================="; \
	for srpm in `ls -1 $(WORK)/src/master/*.src.rpm | sort`; do \
        base=`echo "$$srpm" | sed -e 's;^$(WORK)/src/master/\(.*\)\.src\.rpm$$;\1;'`; \
        eval `echo "$$base" | sed -e 's/^\(.*\)-\([^-][^-]*\)-\([^-][^-]*\)$$/name="\1"; version="\2"; release="\3";/'`; \
		distrib=`$(PREFIX)/bin/openpkg rpm -qp --qf '%{DISTRIBUTION}' $$srpm | sed -e 's;^.*\[\(.*\)\].*;\1;'`; \
		class=`$(PREFIX)/bin/openpkg rpm -qp --qf '%{CLASS}' $$srpm`; \
	    status=""; \
	    for platform in $(PLATFORMS); do \
		    eval `echo "$$platform" | sed -e 's/^\([^:]*\):\([^:]*\):\(.*\)$$/hostname="\1"; id="\2"; target="\3";/'`; \
			if [ -f "$(WORK)/bin/$$hostname-$$target/$$base.$$target-$(LOCATION).rpm" ]; then \
				status="$$status OK   "; \
			elif [ ".`grep 'Build End:' $(WORK)/log/$$hostname-$$target/$$base.log.$$hostname.$$target-$(LOCATION) 2>/dev/null`" != . ]; then \
				status="$$status FAIL "; \
		    else \
				status="$$status --   "; \
			fi; \
		done; \
        if [ ".`egrep '<Name>'$$name'</Name>' $(WORK)/src/master/00INDEX-release.rdf`" != . ]; then \
		    released="yes"; \
	    else \
		    released="no"; \
	    fi; \
	    echo . | awk '{ printf("%-15s %-15s %-10s %-3s %-3s %s\n", n, v, r, d, l, s); }' \
	    n="$$name" v="$$version" r="$$release" d="$$class" l="$$released" s="$$status"; \
	done

master-report:
	@@$(MAKE) $(MFLAGS) master-status >$(WORK)/tmp/status.raw; \
	grep "^Name" $(WORK)/tmp/status.raw; \
	grep "^====" $(WORK)/tmp/status.raw | tee $(WORK)/tmp/status.sep; \
	grep CORE $(WORK)/tmp/status.raw; cat $(WORK)/tmp/status.sep; \
	grep BASE $(WORK)/tmp/status.raw; cat $(WORK)/tmp/status.sep; \
	grep PLUS $(WORK)/tmp/status.raw; cat $(WORK)/tmp/status.sep; \
	grep EVAL $(WORK)/tmp/status.raw; cat $(WORK)/tmp/status.sep; \
	grep JUNK $(WORK)/tmp/status.raw; true

master-clean:
	@@$(SHTOOL) echo -e "%B++ Cleaning up on master%b"
	-rm -rf $(WORK)/bin; \
	-rm -rf $(WORK)/ctl; \
	-rm -rf $(WORK)/log; \
	-rm -rf $(WORK)/src; \
	-rm -rf $(WORK)/tmp; \
	echo "master cleaned"

#
#   slave targets
#

slave:
	@@nice -20 $(MAKE) $(MFLAGS) slave-procedure
slave-procedure:
	@@[ -d $(LTMP) ] || mkdir $(LTMP) || exit 1
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	$(SHTOOL) echo -e "%B++ STARTING SLAVE LOOP ($(HOSTNAME))%b"; \
	while [ 1 ]; do \
	    cd $(WORK); PWD=`pwd`; export PWD; \
		./shtool echo -e "%B++ client [$(HOSTNAME)]: erasing OpenPKG instance%b"; \
		$(MAKE) slave-erase; \
		./shtool echo -e "%B++ client [$(HOSTNAME)]: preparing build environment%b"; \
		$(MAKE) slave-prepare; \
		./shtool echo -e "%B++ client [$(HOSTNAME)]: try to build all (remaining) packages%b"; \
		$(MAKE) slave-build-check; \
		if [ -f ctl/$$hostname-$$target/slave.break ]; then \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: found ctl/$$hostname-$$target/slave.break file%b"; \
			ls -ld ctl/$$hostname-$$target/slave.break; cat <ctl/$$hostname-$$target/slave.break; \
			break; \
		else \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: no ctl/$$hostname-$$target/slave.break file found%b"; \
		fi; \
		if [ -f ctl/slave.break ]; then \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: found ctl/slave.break file%b"; \
			ls -ld ctl/slave.break; cat <ctl/slave.break; \
			break; \
		else \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: no ctl/slave.break file found%b"; \
		fi; \
		./shtool echo -e "%B++ client [$(HOSTNAME)]: sleeping (60s) before next round%b"; \
		sleep 60; \
	done

slave-prepare:
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	$(SHTOOL) echo -e "%B++ Linking latest OpenPKG-CURRENT master source RPMs ($(WORK)/src/$$hostname-$$target/)%b"; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin/$$hostname-$$target; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/ctl/$$hostname-$$target; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/log/$$hostname-$$target; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/$$hostname-$$target; \
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/tmp/$$hostname-$$target; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	if [ ! -d "$$tmp" ]; then \
	    $(SHTOOL) mkdir -f -p -m 775 $$tmp || exit $?; \
	fi; \
	cp $(WORK)/src/master/Makefile* $(WORK)/src/$$hostname-$$target/; \
	rm -f $(WORK)/src/$$hostname-$$target/*.src.rpm; \
	for srpm in `ls -1 $(WORK)/src/master/*.src.rpm | sort`; do \
        base=`echo "$$srpm" | sed -e 's;^$(WORK)/src/master/\(.*\)\.src\.rpm$$;\1;'`; \
		ln $(WORK)/src/master/$$base.src.rpm $(WORK)/src/$$hostname-$$target/; \
	done

slave-build: 
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	if [ ! -f $(WORK)/src/$$hostname-$$target/Makefile ]; then \
	    $(MAKE) $(MFLAGS) slave-prepare; \
	fi; \
	$(SHTOOL) echo -e "%B++ Building latest OpenPKG-CURRENT slave source RPMs ($(WORK)/src/$$hostname-$$target/)%b"; \
	n=0; \
	me=0; \
	for platform in $(PLATFORMS); do \
		eval `echo "$$platform" | sed -e 's/^\([^:]*\):\([^:]*\):\(.*\)$$/hostname="\1"; id="\2"; target="\3";/'`; \
		if [ ".$$hostname" = ".$(HOSTNAME)" ]; then \
			me="$$n"; \
        fi; \
	    n=`expr $$n + 1`; \
	done; \
	l=0; \
	hostname=$(HOSTNAME); target=$(TARGET); \
	tmpfile="$(WORK)/tmp/$$hostname-$$target/filelist"; \
	rm -f $$tmpfile; \
	cp /dev/null $$tmpfile; \
	for srpm in `ls -1 $(WORK)/src/$$hostname-$$target/*.src.rpm | sort`; do \
        base=`echo "$$srpm" | sed -e "s;^$(WORK)/src/$$hostname-$$target/\\(.*\\)\\.src\\.rpm\$$;\\1;"`; \
		echo "build-$$base" >>$$tmpfile; \
		l=`expr $$l + 1`; \
    done; \
	x=`expr $$l / $$n`; \
	x=`expr $$x \* $$me`; \
	y=`expr $$x + 1`; \
	what=`sed <$$tmpfile -e "1,$${x}d"; sed <$$tmpfile -e "$${y},\\$$""d"`; \
	rm $$tmpfile; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	make=`$(SHTOOL) path make`; \
	cd $(WORK)/src/$$hostname-$$target/; \
	$$make $(MFLAGS) \
	    LOG="$$work/log/$$hostname-$$target" \
	    SRC="$$work/src/$$hostname-$$target" \
		DST="$$work/bin/$$hostname-$$target" \
		TMP="$$tmp" EXEC_HOST="$$hostname" $$what

slave-build-check:
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	if [ ! -f $(WORK)/src/$$hostname-$$target/Makefile ]; then \
	    $(MAKE) $(MFLAGS) slave-prepare; \
	fi; \
	$(SHTOOL) echo -e "%B++ Building latest OpenPKG-CURRENT slave source RPMs ($(WORK)/src/$$hostname-$$target/)%b"; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	make=`$(SHTOOL) path make`; \
	cd $(WORK)/src/$$hostname-$$target/; \
	$$make $(MFLAGS) \
	    LOG="$$work/log/$$hostname-$$target" \
	    SRC="$$work/src/$$hostname-$$target" \
		DST="$$work/bin/$$hostname-$$target" \
		TMP="$$tmp" EXEC_HOST="$$hostname" try-build-latest

slave-build-final: 
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	if [ ! -f $(WORK)/src/$$hostname-$$target/Makefile ]; then \
	    $(MAKE) $(MFLAGS) slave-prepare; \
	fi; \
	$(SHTOOL) echo -e "%B++ Building latest OpenPKG-CURRENT slave source RPMs ($(WORK)/src/$$hostname-$$target/)%b"; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	make=`$(SHTOOL) path make`; \
	cd $(WORK)/src/$$hostname-$$target/; \
	$$make $(MFLAGS) \
	    LOG="$$work/log/$$hostname-$$target" \
	    SRC="$$work/src/$$hostname-$$target" \
		DST="$$work/bin/$$hostname-$$target" \
		TMP="$$tmp" EXEC_HOST="$$hostname"

slave-erase: 
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	$(SHTOOL) echo -e "%B++ Erasing OpenPKG instance ($(PREFIX))%b"; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	make=`$(SHTOOL) path make`; \
	cd $(WORK)/src/$$hostname-$$target/; \
	$$make $(MFLAGS) \
	    LOG="$$work/log/$$hostname-$$target" \
	    SRC="$$work/src/$$hostname-$$target" \
		DST="$$work/bin/$$hostname-$$target" \
		TMP="$$tmp" EXEC_HOST="$$hostname" erase

slave-clean:
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	$(SHTOOL) echo -e "%B++ Cleaning up on host $$hostname ($$target)%b"; \
	rm -rf $(WORK)/tmp/$$hostname-$$target

slave-realclean:
	@@hostname=$(HOSTNAME); target=$(TARGET); \
	$(SHTOOL) echo -e "%B++ Really cleaning up on host $$hostname ($$target)%b"; \
	rm -rf $(WORK)/src/$$hostname-$$target; \
	rm -rf $(WORK)/bin/$$hostname-$$target; \
	rm -rf $(WORK)/tmp/$$hostname-$$target; \
	work="`$$SHELL -c 'cd $$PWD; cd $(WORK); pwd'`"; \
	tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	rm -rf $$tmp

@


1.32
log
@dismantle old master based build farm status generation from Makefile
@
text
@@


1.31
log
@target unification and cosmetics
@
text
@d63 2
a64 2
SRC2MAKE    = src2make
SHTOOL      = ./shtool
d101 1
a101 1
	@@$(SHTOOL) echo -e "%B++ STARTING MASTER LOOP ($(HOSTNAME))%b"; \
a104 20
		i=0; \
		while [ $$i -lt 1 ]; do \
			./shtool echo -e "%B++ master: generating status report%b"; \
			$(MAKE) --no-print-directory master-report >$(WORK)/tmp/status.txt; \
			./shtool echo -e "%B++ master: uploading status report%b"; \
			scp -q $(WORK)/tmp/status.txt $(MASTER_WEB)/ || true; \
			mv $(WORK)/tmp/status.txt $(WORK)/tmp/status.old; \
			./shtool echo -e "%B++ master: synchronizing logfiles to web host%b"; \
	        for platform in $(PLATFORMS); do \
			    eval `echo "$$platform" | sed -e 's/^\([^:]*\):\([^:]*\):\(.*\)$$/hostname="\1"; id="\2"; target="\3";/'`; \
			    ./shtool echo -e "%B++ master: start synchronizing (rsync) $$hostname...%b"; \
				rsync --rsh=ssh -rtv --delete log/$$hostname-*/processing.* $(MASTER_WEB)/log/ || true; \
				rsync --rsh=ssh -rtv --delete log/$$hostname-*/[a-k]*.log.* $(MASTER_WEB)/log/ || true; \
				rsync --rsh=ssh -rtv --delete log/$$hostname-*/[l-z]*.log.* $(MASTER_WEB)/log/ || true; \
			    ./shtool echo -e "%B++ master: done synchronizing (rsync) $$hostname...%b"; \
			done; \
			./shtool echo -e "%B++ master: sleeping (60s, round $$i)%b"; \
			sleep 60; \
			i=`expr $$i + 1`; \
		done; \
d141 1
a141 1
	@@$(MPX) $(SRC2MAKE) --prefix=$(PREFIX) --user=$(USER) --group=$(GROUP) \
@


1.30
log
@flush buildfarm Makefile adding vm42
@
text
@a103 1
		./shtool echo -e "%B++ master: preparing%b"; \
d127 5
a131 4
master-prepare: \
	master-create \
	master-download \
	master-makefile
d134 7
a140 7
	@@$(SHTOOL) echo -e "%B++ Creating working area ($(WORK)/)%b"
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/ctl
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/log
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/master
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/master-extra
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/tmp
@


1.29
log
@correct mistyped platform label ixSO9
@
text
@d37 1
@


1.28
log
@remove blank lines
@
text
@d29 1
a29 1
               sol1:ixSO9:x86-solaris9                   \
@


1.27
log
@*** empty log message ***
@
text
@a15 2


@


1.26
log
@log OpenPKG 2.2 build farm Makefile
@
text
@d16 23
a38 20
              dv1:ixFB4:ix86-freebsd4.10           \
              dv2:ixFB5:ix86-freebsd5.3            \
              dv20:ixNB1:ix86-netbsd1.6.2          \
              dv5:ixMLX:ix86-mandrake10.0          \
              dv6:ixDL3:ix86-debian3.0             \
              dv32:ixDLT:ix86-debian3.1            \
              vm46:ixFC2:ix86-fedora2              \
              dv23:ixRE3:ix86-rhel3                \
              vm40:ixGL1:ix86-gentoo1.5.3          \
              dv14:ixS90:ix86-suse9.0              \
              dv17:ixS91:ix86-suse9.1              \
              dv33:ixSO9:ix86-solaris9             \
              dv34:usSV9:sparc64-solaris9          \
              dv35:usSV8:sparc64-solaris8          \
              dv9:usSF9:sparc64-solaris9           \
              dv8:usSO8:sparc64-solaris8           \
              vm47:ivSOX:ix86-solaris10            \
              dv21:usSOX:sparc64-solaris10         \
              dv13:usSO6:sparc64-solaris2.6        \
              dv28:paH11:hppa-hpux11.11            \
d42 1
a42 1
CLASSES    = +CORE-BASE-PLUS-EVAL-JUNK
d46 1
a46 1
#CLASSES    = +CORE+BASE+PLUS+EVAL+JUNK
d54 2
a55 2
#CUR_SOURCE = $(MASTER_FTP)/current/SRC/
CUR_SOURCE  = $(MASTER_FTP)/release/2.2/SRC/
d57 2
a58 1
REL_INDEX   = $(MASTER_FTP)/release/2.2/SRC/00INDEX.rdf.bz2 
@


1.25
log
@dump backlog as of 20040910: back to rolling current
@
text
@d17 1
a17 3
              dv2:ixFB5:ix86-freebsd5.2            \
              dv12:alFB5:alpha-freebsd5.2          \
              dv3:usNB1:sparc64-netbsd1.6.2        \
d21 2
a22 3
              dv19:ixDLT:ix86-debian3.1            \
              dv4:ixRL9:ix86-rhl9                  \
              dv22:ixFC2:ix86-fedora2              \
d24 1
d27 3
a29 2
              dv18:ixGL1:ix86-gentoo1.4.16         \
              dv7:ixSO9:ix86-solaris9              \
d32 1
a32 3
              dv16:ixSOX:ix86-solaris10            \
              vm9:ivSO9:ix86-solaris9              \
              vm10:ivSOX:ix86-solaris10            \
d35 1
a35 1
			  dv28:paH11:hppa-hpux11.11            \
d39 4
a43 1
CLASSES     = +CORE+BASE+PLUS-EVAL-JUNK
d49 4
a52 2
MASTER_FTP  = rsync://rsync.openpkg.org/openpkg-ftp
CUR_SOURCE  = $(MASTER_FTP)/current/SRC/
d54 1
a54 1
REL_INDEX   = $(MASTER_FTP)/release/2.0/SRC/00INDEX.rdf.bz2 
d104 1
a104 1
		while [ $$i -lt 5 ]; do \
d110 1
d113 5
a117 3
				rsync --rsh=ssh -rtv --delete \
					log/$$hostname-*/*.log.* log/$$hostname-*/processing.* \
					$(MASTER_WEB)/log/ >/dev/null 2>&1 || true; \
d140 1
a140 1
	@@$(SHTOOL) echo -e "%B++ Downloading latest OpenPKG-CURRENT master source RPMs ($(WORK)/src/master/)%b"
d222 2
@


1.24
log
@dump backlog as of 20040716: slave-build-final to -check
@
text
@d34 2
d38 1
a38 1
              dv28:paH11:hppa-hpux11.11            \
d50 1
a50 1
CUR_SOURCE  = $(MASTER_FTP)/release/2.1/SRC/
d99 1
a99 1
		./shtool echo -e "%B++ master: preparing%b"  \
@


1.23
log
@dump backlog as of 20040715: do not skip packages
@
text
@d97 1
a97 1
		./shtool echo -e "%B++ master: preparing%b"; \
d225 1
a225 1
		$(MAKE) slave-build-final; \
@


1.22
log
@dump backlog as of 20040713: slave-build-check to -final
@
text
@d51 1
a51 1
SKIP_PKGS   = kde*.src.rpm ksh* ethereal*
@


1.21
log
@dump backlog as of 20040707: introduce CTL for single host
@
text
@d225 1
a225 1
		$(MAKE) slave-build-check; \
d231 1
a231 2
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: no ctl/$$hostname-$$target/slave.break file, sleeping (60s) before next round%b"; \
		    sleep 60; \
d233 9
@


1.20
log
@dump backlog as of 20040707: introduce CTL for all hosts
@
text
@d231 2
a232 1
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: no ctl/$$hostname-$$target/slave.break file found%b"; \
a233 9
		if [ -f ctl/slave.break ]; then \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: found ctl/slave.break file%b"; \
			ls -ld ctl/slave.break; cat <ctl/slave.break; \
			break; \
		else \
		    ./shtool echo -e "%B++ client [$(HOSTNAME)]: no ctl/slave.break file found%b"; \
		fi; \
		./shtool echo -e "%B++ client [$(HOSTNAME)]: sleeping (60s) before next round%b"; \
		sleep 60; \
@


1.19
log
@dump backlog as of 20040702: latest netbsd, gentoo, hpux
@
text
@d48 1
a48 1
CUR_SOURCE  = $(MASTER_FTP)/current/SRC/
d51 1
a51 1
SKIP_PKGS   = kde*.src.rpm
d125 3
a130 2
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin
	@@$(SHTOOL) mkdir -f -p -m 775 $(WORK)/log
d203 3
d208 1
a208 1
	-rm -rf $(WORK)/bin
d216 2
a217 1
	@@$(SHTOOL) echo -e "%B++ STARTING SLAVE LOOP ($(HOSTNAME))%b"; \
d226 15
a240 1
		./shtool echo -e "%B++ client [$(HOSTNAME)]: sleeping (60s)%b"; \
d247 2
a250 1
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin/$$hostname-$$target; \
@


1.18
log
@dump backlog as of 20040604: sparc64-netbsd1.6.2_stable
@
text
@d19 1
a19 1
              dv3:usNB1:sparc64-netbsd1.6.2_stable \
d29 1
a29 1
              dv18:ixGL1:ix86-gentoo1.4.15         \
a31 1
              dv24:usSO9:sparc64-solaris9          \
d36 1
@


1.17
log
@dump backlog as of 20040524: migrate to OpenPKG 2.x MPX
@
text
@d16 21
a36 20
              dv1:ixFB4:ix86-freebsd4.10    \
              dv2:ixFB5:ix86-freebsd5.2     \
              dv12:alFB5:alpha-freebsd5.2   \
              dv3:usNB1:sparc64-netbsd1.6   \
              dv20:ixNB1:ix86-netbsd1.6     \
              dv5:ixMLX:ix86-mandrake10.0   \
              dv6:ixDL3:ix86-debian3.0      \
              dv19:ixDLT:ix86-debian3.1     \
              dv4:ixRL9:ix86-rhl9           \
              dv22:ixFC2:ix86-fedora2       \
              dv23:ixRE3:ix86-rhel3         \
              dv14:ixS90:ix86-suse9.0       \
              dv17:ixS91:ix86-suse9.1       \
              dv18:ixGL1:ix86-gentoo1.4.11  \
              dv7:ixSO9:ix86-solaris9       \
              dv9:usSO9:sparc64-solaris9    \
              dv8:usSO8:sparc64-solaris8    \
              dv16:ixSOX:ix86-solaris10     \
              dv21:usSOX:sparc64-solaris10  \
              dv13:usSO6:sparc64-solaris2.6 \
@


1.16
log
@dump backlog as of 20040204: migrate from /re to /openpkg
@
text
@d14 3
a16 2
TARGET      = `$(PREFIX)/bin/rpm --eval '%{l_platform -p}'`
PLATFORMS   = dv1:ixFB4:ix86-freebsd4.9     \
d18 4
a21 1
              dv5:ixDL2:ix86-debian2.2      \
d25 1
a25 1
              dv22:ixFC1:ix86-fedora1       \
d27 3
a29 3
              dv14:ixSL8:ix86-suse8.2       \
              dv17:ixSL9:ix86-suse9.0       \
              dv18:ixGL1:ix86-gentoo1.4.3   \
d34 3
a36 1
              dv13:usSO6:sparc64-solaris2.6
d49 1
a49 1
REL_INDEX   = $(MASTER_FTP)/release/1.3/SRC/00INDEX.rdf.bz2 
d54 2
a55 1
SRC2MAKE    = $(ROOTDIR)/RE/src2make.pl
d101 1
a101 1
			$(MAKE) --no-print-directory master-report >status.txt; \
d103 2
a104 2
			scp -q status.txt $(MASTER_WEB)/ || true; \
			rm -f status.txt; \
d149 3
a151 3
	@@$(SRC2MAKE) --prefix=$(PREFIX) --user=$(USER) --group=$(GROUP) \
	             --srcdir=$(WORK)/src/master --tmpdir=$(WORK)/tmp --outdir=$(WORK)/src/master \
	             --classes=$(CLASSES) --verbose
d167 2
a168 1
		distrib=`$(PREFIX)/bin/rpm -qp --qf '%{DISTRIBUTION}' $$srpm | sed -e 's;^.*\[\(.*\)\].*;\1;'`; \
d186 1
a186 1
	    n="$$name" v="$$version" r="$$release" d="$$distrib" l="$$released" s="$$status"; \
d190 8
a197 8
	@@$(MAKE) $(MFLAGS) master-status >$(WORK)/tmp/status.txt; \
	grep "^Name" $(WORK)/tmp/status.txt; \
	grep "^====" $(WORK)/tmp/status.txt | tee $(WORK)/tmp/status.sep; \
	grep CORE $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep BASE $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep PLUS $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep EVAL $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep JUNK $(WORK)/tmp/status.txt
d210 1
@


1.15
log
@reenter directory on every iteration because this perhaps prevents the stale NFS handle problems a little bit more
@
text
@d6 5
a10 5
PREFIX      = /re
LOCATION    = re
USER        = re
GROUP       = re
LTMP        = /ltmp/re
d20 3
a22 2
              dv4:ixRL9:ix86-redhat9        \
              dv23:ixRA3:ix86-redhatas3     \
d25 1
a30 1
              #dv12:alpha-freebsd5.2
d33 2
a34 2
CLASSES     = +CORE+BASE+PLUS+EVAL-JUNK
#CLASSES     = +CORE+BASE+PLUS
d38 3
a40 3
ROOTDIR     = /e/openpkg/re/release
MASTER_WEB  = master.openpkg.org:/e/openpkg/web
MASTER_FTP  = master.openpkg.org:/e/openpkg/ftp
d48 1
a48 1
SRC2MAKE    = ../src2make.pl
d51 1
a51 1
all: slave-build-check
d63 1
a63 1
		bashrc="$(ROOTDIR)/tmp/master-builfarm-bashrc"; \
d69 1
a69 1
		screenrc="$(ROOTDIR)/tmp/master-builfarm-screenrc"; \
d74 1
a74 1
			  echo "screen -t \"$$hostname [$$id]\" ssh -t -x $$hostname $(SHELL) --rcfile $$bashrc"; \
d80 1
a80 1
		ssh-add </dev/null ~/.ssh/id_rsa_rse_en ~/.ssh/id_rsa_rse_dev ~/.ssh/id_rsa_rse_cw; \
d100 1
a100 1
				rsync --rsh=ssh -rav --delete \
d102 1
a102 1
					$(MASTER_WEB)/status.log/ >/dev/null 2>&1 || true; \
d125 1
a125 1
	@@rsync -ra --rsh=ssh --delete --exclude "Makefile*" $(CUR_SOURCE) $(WORK)/src/master/
d127 1
a127 1
	@@scp -q $(REL_INDEX) $(WORK)/src/master/00INDEX-release.rdf.bz2
d133 1
a133 1
		     rsync -a "$(CUR_EXTRA)/$$base.src.rpm" "$(WORK)/src/master-extra/$$base.src.rpm"; \
d223 3
a225 5
	if [ -d "$(LTMP)" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	    $(SHTOOL) mkdir -f -p -m 775 $$tmp; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
d265 1
a265 5
	if [ -d "$(LTMP)/openpkg-$$hostname-$$target" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
	fi; \
d281 1
a281 5
	if [ -d "$(LTMP)/openpkg-$$hostname-$$target" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
	fi; \
d297 1
a297 5
	if [ -d "$(LTMP)/openpkg-$$hostname-$$target" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
	fi; \
a307 3
	if [ ! -f $(WORK)/src/$$hostname-$$target/Makefile ]; then \
	    $(MAKE) $(MFLAGS) slave-prepare; \
	fi; \
d310 1
a310 5
	if [ -d "$(LTMP)/openpkg-$$hostname-$$target" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
	fi; \
d331 1
a331 5
	if [ -d "$(LTMP)/openpkg-$$hostname-$$target" ]; then \
		tmp="$(LTMP)/openpkg-$$hostname-$$target"; \
	else \
		tmp="$$work/tmp/$$hostname-$$target"; \
	fi; \
@


1.14
log
@flush some of my pending build farm changes
@
text
@a201 1
	cd $(WORK); PWD=`pwd`; export PWD; \
d203 1
@


1.13
log
@fix script
@
text
@d15 15
a29 11
PLATFORMS   = dv1:ix86-freebsd4.9     \
              dv2:ix86-freebsd5.1     \
              dv6:ix86-debian3.0      \
              dv5:ix86-debian2.2      \
              dv9:sparc64-solaris9    \
              dv8:sparc64-solaris8    \
              dv4:ix86-redhat9        \
              dv14:ix86-suse8.2       \
              dv7:ix86-solaris9   
              #dv13:sparc64-solaris2.6 \
              #dv12:alpha-freebsd5.1
d32 1
a32 2
CLASSES     = +CORE
#CLASSES     = +CORE+BASE+PLUS+EVAL-JUNK
d43 1
d59 1
a59 1
	    exec screen -r openpkg-buildfarm; \
d72 2
a73 2
			  eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
			  echo "screen -t $$hostname ssh -t -x $$hostname $(SHELL) --rcfile $$bashrc"; \
d98 1
a98 1
		        eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
d125 1
d149 3
a151 3
		eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
		hostname=`echo "$$hostname    " | cut -c1-4`; \
		status="$$status $$hostname"; \
d155 1
a155 1
	echo "=============== =============== ========== ==== === =================================="; \
d162 1
a162 1
		    eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
d164 3
a166 1
				status="$$status OK  "; \
d168 1
a168 1
				status="$$status --  "; \
d204 1
a204 1
		./shtool echo -e "%B++ client [$(HOSTNAME)]: erasing OpenPKG instrance%b"; \
d244 1
a244 1
		eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
@


1.12
log
@flush pending work: this moves all remaining scripts into Makefile targets for the release engineering process
@
text
@d87 1
a87 1
		while [ $i -lt 5 ]; do \
@


1.11
log
@different ordering
@
text
@d10 1
a10 1
LTMP        = /ltmp
d14 17
a30 7
TARGET      = `$(PREFIX)/bin/rpm --eval '%{l_target}'`
PLATFORMS   = dv1:ix86-freebsd4.7    \
              dv6:ix86-linux2.4      \
              dv9:sparc64-solaris2.9 \
              dv2:ix86-freebsd5.0    \
              dv5:ix86-linux2.2      \
              dv8:sparc64-solaris2.8
d33 3
d39 1
a39 1
REL_INDEX   = $(MASTER_FTP)/release/1.1/SRC/00INDEX.rdf.bz2 
d52 53
d113 1
d120 3
a122 1
	@@rsync -rav --progress --rsh=ssh --delete $(CUR_SOURCE) $(WORK)/src/master/
d125 1
a125 1
		 if [ ! -f "$(WORK)/src/master/$$base.src.rpm" -a -f "$(CUR_EXTRA)/$$base.src.rpm" ]; then \
d127 1
a127 1
		     cp "$(CUR_EXTRA)/$$base.src.rpm" $(WORK)/src/master/; \
d129 3
a132 2
	@@scp $(REL_INDEX) $(WORK)/src/master/00INDEX-release.rdf.bz2
	@@bunzip2 $(WORK)/src/master/00INDEX*.rdf.bz2
d138 1
a138 1
	             --classes=+CORE+BASE+PLUS+EVAL+JUNK --verbose
d151 2
a152 2
	for srpm in `(ls -1 $(WORK)/src/master/*.src.rpm; ls -1 $(WORK)/src/master/*.nosrc.rpm) | sort`; do \
        base=`echo "$$srpm" | sed -e 's;^$(WORK)/src/master/\(.*\)\.src\.rpm$$;\1;' -e 's;^$(WORK)/src/master/\(.*\)\.nosrc\.rpm$$;\1;'`; \
a179 1
	grep PRIV $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
d193 14
a225 5
	done; \
	rm -f $(WORK)/src/$$hostname-$$target/*.nosrc.rpm; \
	for srpm in `ls -1 $(WORK)/src/master/*.nosrc.rpm | sort`; do \
        base=`echo "$$srpm" | sed -e 's;^$(WORK)/src/master/\(.*\)\.nosrc\.rpm$$;\1;'`; \
		ln $(WORK)/src/master/$$base.nosrc.rpm $(WORK)/src/$$hostname-$$target/; \
@


1.10
log
@fix platform list
@
text
@d16 2
a18 1
              dv6:ix86-linux2.4      \
a19 1
              dv9:sparc64-solaris2.9 \
@


1.9
log
@enhance for OpenPKG 1.2 release engineering process
@
text
@d15 1
a15 1
PLATFORMS   = dv1:ix86-freebsd4.6    \
d17 1
a17 1
              dv4:ix86-linux2.4      \
d19 2
a20 3
              dv6:ix86-linux2.4      \
              dv8:sparc64-solaris2.8 \
              dv9:sparc64-solaris2.9
@


1.8
log
@flush
@
text
@d6 5
a10 4
PREFIX      = /cw
LOCATION    = cw
USER        = cw
GROUP       = cw
d16 2
d19 1
a20 2
              dv4:ix86-linux2.4      \
              dv6:ix86-linux2.4      \
d26 2
a27 1
REL_INDEX   = $(MASTER_FTP)/release/1.0/SRC/00INDEX.rdf.bz2 
d54 8
a61 1
	@@rsync -rav --rsh=ssh --delete $(CUR_SOURCE) $(WORK)/src/master/
d69 1
a69 1
	             --classes=+CORE+BASE+PLUS --verbose
d79 1
a79 1
	echo . | awk '{ printf("%-15s %-15s %-10s %-3s %-3s %s\n", n, v, r, d, l, s); }' \
d81 3
a83 3
	echo "=============== =============== ========== === === =============================="; \
	for srpm in `ls -1 $(WORK)/src/master/*.src.rpm | sort`; do \
        base=`echo "$$srpm" | sed -e 's;^$(WORK)/src/master/\(.*\)\.src\.rpm$$;\1;'`; \
d133 2
a134 2
	if [ -d "/ltmp" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
d144 5
d182 2
a183 2
	if [ -d "/ltmp/openpkg-$$hostname-$$target" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
d202 2
a203 2
	if [ -d "/ltmp/openpkg-$$hostname-$$target" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
d222 2
a223 2
	if [ -d "/ltmp/openpkg-$$hostname-$$target" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
d242 2
a243 2
	if [ -d "/ltmp/openpkg-$$hostname-$$target" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
d267 2
a268 2
	if [ -d "/ltmp/openpkg-$$hostname-$$target" ]; then \
		tmp="/ltmp/openpkg-$$hostname-$$target"; \
@


1.7
log
@flush pending changes
@
text
@d6 4
a9 4
PREFIX      = /re
LOCATION    = re
USER        = re
GROUP       = re
@


1.6
log
@support for new classification system
@
text
@d47 1
d58 2
a59 1
	             --srcdir=$(WORK)/src/master --tmpdir=$(WORK)/tmp --outdir=$(WORK)/src/master --verbose
d118 1
d175 1
d195 1
d215 1
d235 1
@


1.5
log
@a variant for full-logfile based building
@
text
@d57 1
a57 1
	             --srcdir=$(WORK)/src/master --tmpdir=. --outdir=$(WORK)/src/master --verbose
d96 6
a101 4
	grep REL $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep EXP $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep BRK $(WORK)/tmp/status.txt; cat $(WORK)/tmp/status.sep; \
	grep DEV $(WORK)/tmp/status.txt
@


1.4
log
@cleanups and add support for new /ltmp to avoid NFS/filer problems
@
text
@d31 1
a31 1
all: slave-build
d173 19
@


1.3
log
@more cleanups and a two-sorted report
@
text
@d115 1
d117 7
a123 1
	$(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin/$$hostname-$$target; \
d162 5
a167 1
	echo "$$what" >$$tmpfile.1; \
a170 1
		TMP="$$work/tmp/$$hostname-$$target" \
d172 1
a172 1
        EXEC_HOST="$$hostname" $$what
d181 24
a208 1
		TMP="$$work/tmp/$$hostname-$$target" \
d210 1
a210 1
        EXEC_HOST="$$hostname"
d215 1
a215 1
	-rm -rf $(WORK)/tmp/$$hostname-$$target
d220 10
a229 3
	-rm -rf $(WORK)/src/$$hostname-$$target; \
	-rm -rf $(WORK)/tmp/$$hostname-$$target; \
	-rm -rf $(WORK)/bin/$$hostname-$$target
@


1.2
log
@cleanups and enhancements
@
text
@d67 4
a70 3
	echo . | awk '{ printf("%-15s %-18s %-10s %-4s %s %s\n", n, v, r, d, s, l); }' \
	n="Name" v="Version" r="Release" d="Dist" s="$$status" l="Released"
	@@for srpm in `ls -1 $(WORK)/src/master/*.src.rpm | sort`; do \
d78 1
a78 1
				status="$$status Ok  "; \
d88 2
a89 2
	    echo . | awk '{ printf("%-15s %-18s %-10s %-4s %s %s\n", n, v, r, d, s, l); }' \
	    n="$$name" v="$$version" r="$$release" d="$$distrib" s="$$status" l="$$released"; \
d91 9
@


1.1
log
@commit brand-new top-level release engineering procedures
@
text
@d14 4
a17 2
PLATFORMS   = dv5:ix86-linux2.2      \
              dv1:ix86-freebsd4.6    \
a18 1
              dv8:sparc64-solaris2.8 \
d22 3
a24 2
SRC_CURRENT = master.openpkg.org:/e/openpkg/ftp/current/SRC/
REL_INDEX   = master.openpkg.org:/e/openpkg/ftp/release/1.0/SRC/00INDEX.rdf.bz2 
a26 1
ROOT        = /e/openpkg/re
d33 1
d35 7
a41 1
master-prepare: master-create master-download master-makefile
d47 1
a47 6
	@@for platform in $(PLATFORMS); do \
		eval `echo "$$platform" | sed -e 's/^\([^:]*\):\(.*\)$$/hostname="\1"; target="\2";/'`; \
	    $(SHTOOL) mkdir -f -p -m 775 $(WORK)/src/$$hostname-$$target; \
	    $(SHTOOL) mkdir -f -p -m 775 $(WORK)/tmp/$$hostname-$$target; \
	    $(SHTOOL) mkdir -f -p -m 775 $(WORK)/bin/$$hostname-$$target; \
	done
d50 1
a50 1
	@@rsync -rav --rsh=ssh --delete $(SRC_CURRENT) $(WORK)/src/master/
d53 1
d58 1
d90 1
d97 1
d99 2
d104 3
d113 1
d142 1
a142 1
	what=`sed <$$tmpfile -e "1,$${x}d"; sed <$$tmpfile -e "$${y},\$$d"`; \
d152 2
a153 1
        EXEC_ROOT="ssh root@@$$hostname cd \$$\$$PWD \\&\\&" $$what
d167 2
a168 1
        EXEC_ROOT="ssh root@@$$hostname cd \$$\$$PWD \\&\\&"
d173 1
@

