>>>>> "JLT" == Jason L Tibbitts <tibbs@xxxxxxxxxxx> writes: JLT> OK, cool, let's hack on Makefile.common a bit.... OK, here's a nasty first-pass hack. Apply this to Makefile.common, then do "make chain-queue" in each CVS branch directory where you would normally do "make build". (As with building, the directories must be tagged and such.) Then after your last chain-queue, run "make chain-go". In fact, you probably have to apply this to all of your Makefile.common files, unless you have them all linked together or something. And you'll have to patch after tagging and such, else the tagging will fail and screw all sorts of nice things up. It doesn't seem very easy to have local Makefile.common changes. "make chain-restart" will clear out the queue. I did a basic test by chain-building two of my packages, but they don't really depend on each other so it's not a complete test. - J<
? DenyHosts-2.6 Index: common/Makefile.common =================================================================== RCS file: /cvs/extras/common/Makefile.common,v retrieving revision 1.58 diff -u -r1.58 Makefile.common --- common/Makefile.common 18 May 2007 18:25:32 -0000 1.58 +++ common/Makefile.common 29 May 2007 22:44:18 -0000 @@ -139,7 +139,7 @@ PREP_ARCHES = $(addprefix prep-,$(ARCHES)) ## list all our bogus targets -.PHONY :: $(ARCHES) sources uploadsource upload export check build-check plague koji build test-srpm srpm tag force-tag verrel new clean patch prep compile install-short compile-short FORCE local +.PHONY :: $(ARCHES) sources uploadsource upload export check build-check plague koji build test-srpm srpm tag force-tag verrel new clean patch prep compile install-short compile-short FORCE local chain-restart chain-queue chain-go # The TARGETS define is meant for local module targets that should be # made in addition to the SOURCEFILES whenever needed @@ -393,6 +393,20 @@ build: plague endif +chain-restart: + @rm -f ~/.koji/chain-builds + @echo "Queue of chained builds cleared." + +chain-queue: build-check $(COMMON_DIR)/branches + @if [ ! -x "$(BUILD_CLIENT)" ]; then echo "Must have koji installed - see http://fedoraproject.org/wiki/BuildSystemClientSetup"; exit 1; fi + @echo -n 'cvs://cvs.fedoraproject.org/cvs/pkgs?$(CVS_REPOSITORY)#$(TAG) : ' >> ~/.koji/chain-builds + @echo "Chained build queued." + +chain-go: + @if [ ! -s ~/.koji/chain-builds ]; then echo "Must run chain-queue first to queue a chained build"; exit 1; fi + @$(BUILD_CLIENT) chain-build $(BUILD_FLAGS) $(TARGET) `cat ~/.koji/chain-builds` + @rm -f ~/.koji/chain-builds + # "make new | less" to see what has changed since the last tag was assigned new: -@cvs diff -u -r$$(cvs log Makefile 2>/dev/null | awk '/^symbolic names:$$/ {getline; sub(/^[ \t]*/, "") ; sub (/:.*$$/, ""); print; exit 0}')
-- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list