[Fusionforge-commits] r7113 - in trunk: . hook hook/ubuntu

Christian Bayle cbayle at libremir.placard.fr.eu.org
Thu Mar 5 01:20:50 CET 2009


Author: cbayle
Date: 2009-03-05 01:20:50 +0100 (Thu, 05 Mar 2009)
New Revision: 7113

Added:
   trunk/hook/
   trunk/hook/ubuntu/
   trunk/hook/ubuntu/G00ubukey
Modified:
   trunk/Makefile.debian
Log:
Now makefile is able to cowbuild or pbuild debian and ubunto
Hook has been added to support ubuntu
Still missing repo build


Modified: trunk/Makefile.debian
===================================================================
--- trunk/Makefile.debian	2009-03-04 21:46:12 UTC (rev 7112)
+++ trunk/Makefile.debian	2009-03-05 00:20:50 UTC (rev 7113)
@@ -2,18 +2,23 @@
 
 FUSIONFORGE=FusionForge
 ORIGIN=debian.fusionforge.org
-BUILDPLACE=$(CURDIR)/cowbuilder/buildplace
-BUILDFILES=$(CURDIR)/cowbuilder/buildfiles
+BUILDPLACE=$(CURDIR)/builder/buildplace
+BUILDFILES=$(CURDIR)/builder/buildfiles
 BUILDRESULT=$(CURDIR)/result
+COWBUILDERBASE=$(CURDIR)/builder/cow
+PBUILDERTGZ=$(CURDIR)/builder/tgz
 TARBALLS=$(CURDIR)/tarballs
-APTCACHE=$(CURDIR)/cowbuilder/cache
+APTCACHE=$(CURDIR)/builder/cache
+XDISTRIB=2squeeze
 DISTRIB=$(shell echo $(XDISTRIB) | cut -c2-)
 LOCALREPODEB=/var/www/debian-fusionforge
 LOCALREPOUBU=/var/www/ubuntu-fusionforge
 DEBIANLIST=1lenny 2squeeze 3sid
-UBUNTULIST=1gutsy 1hardy 1intrepid
-UBUNTUOP=--mirror http://archive.ubuntu.com/ubuntu --debootstrap debootstrap
-UBUNTUOP=--mirror http://localhost/ubuntu --debootstrap debootstrap
+DEBIANLISTP=1etch
+UBUNTULIST=1gutsy 1hardy 1intrepid 1jaunty
+UBUNTULISTP=1gutsy
+# Try if a local mirror is available
+UBUNTUOP=$(shell wget -q -S http://localhost/ubuntu -O /dev/null && echo "--mirror http://localhost/ubuntu" || echo "--mirror http://archive.ubuntu.com/ubuntu") --debootstrap debootstrap
 
 gfversion=$(shell head -1 gforge/debian/changelog | sed 's/.*(\(.[^+-]*\).*).*/\1/')
 gfminor=$(shell head -1 gforge/debian/changelog | sed 's/.*(.[^+-]*[+-]\(.*\)).*/\1/')
@@ -55,42 +60,71 @@
 	cd gforge/docs/phpdoc/ && ./makedoc.sh
 
 #
-# Build with cowbuilder
+# Build with cowbuilder or pbuilder
 #
 DEBUG=--debug
 DEBUG=
 DEBBUILDOPTS=--debbuildopts -sa 
 DEBBUILDOPTS=
 
+all: cowbuilddeb cowbuildubu # ***** Build all package for debian and ubuntu ***** #
+
 cowbuildtest:
 	@echo "Will build gforge_$(gfversion)$(MINOR)$(DISTRIB)"
 
-cowbuilddeb:		# ***** This is the one to build debian packages ***** #
+cowbuilddeb:		# ***** This is the one to cowbuild debian packages ***** #
 	@for dist in $(DEBIANLIST); do \
-	make -f Makefile.debian cowbuilddist XDISTRIB=$$dist DISTROOP="$(DEBIANOP)" LOCALREPO=$(LOCALREPODEB) DISTRIBLIST="$(DEBIANLIST)"; \
+	make -f Makefile.debian cowbuilddist XDISTRIB=$$dist DISTROOP="$(DEBIANOP)" LOCALREPO=$(LOCALREPODEB) ; \
 	done
 
-cowbuildubu:            # ***** This is the one to build ubuntu packages ***** #
+cowbuildubu:            # ***** This is the one to cowbuild ubuntu packages ***** #
 	@for dist in $(UBUNTULIST); do \
-	make -f Makefile.debian cowbuilddist XDISTRIB=$$dist DISTROOP="$(UBUNTUOP)" LOCALREPO=$(LOCALREPOUBU) DISTRIBLIST="$(UBUNTULIST)" ; \
+	make -f Makefile.debian cowbuilddist XDISTRIB=$$dist DISTROOP="$(UBUNTUOP)" LOCALREPO=$(LOCALREPOUBU) HOOK="--no-cowdancer-update --hookdir $(CURDIR)/hook/ubuntu"; \
 	done
 
+pbuilddeb:              # ***** This is the one to pbuild debian packages ***** #
+	@for dist in $(DEBIANLISTP); do \
+	make -f Makefile.debian pbuilddist XDISTRIB=$$dist DISTROOP="$(DEBIANOP)" LOCALREPO=$(LOCALREPODEB) ; \
+	done
+
+pbuildubu:              # ***** This is the one to pbuild ubuntu packages ***** #
+	@for dist in $(UBUNTULISTP); do \
+	make -f Makefile.debian pbuilddist XDISTRIB=$$dist DISTROOP="$(UBUNTUOP)" LOCALREPO=$(LOCALREPOUBU) ; \
+	done
+
 cowbuilddist: cowbuilderenv localrepo $(BUILDFILES) $(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)_i386.changes
 	@echo "Building $(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)_i386.changes"
 
+pbuilddist: pbuilderenv localrepo $(BUILDFILES) $(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p_i386.changes
+	@echo "Building $(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p_i386.changes"
+
 $(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)_i386.changes: $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB).dsc
-	cd $(BUILDFILES) ; sudo cowbuilder --build --basepath $(CURDIR)/cowbuilder/base-$(DISTRIB).cow --configfile $(CURDIR)/cowbuilder/config $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB).dsc
+	cd $(BUILDFILES) ; sudo cowbuilder --build --basepath $(COWBUILDERBASE)/base-$(DISTRIB).cow --configfile $(COWBUILDERBASE)/config $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB).dsc
+
+$(BUILDRESULT)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p_i386.changes: $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p.dsc
+	cd $(BUILDFILES) ; sudo pbuilder --build --basetgz $(PBUILDERTGZ)/base-$(DISTRIB).tgz --configfile $(PBUILDERTGZ)/config $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p.dsc
+
 	# Install in repository
-	#cd result; reprepro -Vb $(LOCALREPO) include $(DISTRIB) gforge_$(gfversion)$(MINOR)$(XDISTRIB)_i386.changes
+	#TODO#cd $(BUILDRESULT); reprepro -Vb $(LOCALREPO) include $(DISTRIB) gforge_$(gfversion)$(MINOR)$(XDISTRIB)_i386.changes
 
 $(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB).dsc: $(BUILDFILES)/gforge_$(gfversion).orig.tar.gz
-	debclean; find gforge -type f -or -type l | grep -v '/CVS/' | grep -v '/.svn/' | grep -v rpm-specific | grep -v docs/phpdoc/docs | grep -v ^./debian/ | cpio -pdumB $(BUILDFILES)/
+	cd gforge ; debclean
+	find gforge -type f -or -type l | grep -v '/CVS/' | grep -v '/.svn/' | grep -v rpm-specific | grep -v docs/phpdoc/docs | grep -v ^./debian/ | cpio -pdumB $(BUILDFILES)/
 	# Set version for given distrib
 	cd $(BUILDFILES)/gforge; dch -b -v $(gfversion)$(MINOR)$(XDISTRIB) -D UNRELEASED "This is $(DISTRIB) autobuild"
 	perl -pi -e "s/UNRELEASED/$(DISTRIB)/" $(BUILDFILES)/gforge/debian/changelog
 	cd $(BUILDFILES) ; dpkg-source -b gforge
 	rm -rf $(BUILDFILES)/gforge
 
+$(BUILDFILES)/gforge_$(gfversion)$(MINOR)$(XDISTRIB)+p.dsc: $(BUILDFILES)/gforge_$(gfversion).orig.tar.gz
+	cd gforge ; debclean
+	find gforge -type f -or -type l | grep -v '/CVS/' | grep -v '/.svn/' | grep -v rpm-specific | grep -v docs/phpdoc/docs | grep -v ^./debian/ | cpio -pdumB $(BUILDFILES)/
+	# Set version for given distrib
+	cd $(BUILDFILES)/gforge; dch -b -v $(gfversion)$(MINOR)$(XDISTRIB)+p -D UNRELEASED "This is $(DISTRIB) autobuild"
+	perl -pi -e "s/UNRELEASED/$(DISTRIB)/" $(BUILDFILES)/gforge/debian/changelog
+	cd $(BUILDFILES) ; dpkg-source -b gforge
+	rm -rf $(BUILDFILES)/gforge
+
 $(BUILDFILES)/gforge_$(gfversion).orig.tar.gz: $(TARBALLS)/gforge_$(gfversion).orig.tar.gz
 	cp $(TARBALLS)/gforge_$(gfversion).orig.tar.gz $(BUILDFILES)
 
@@ -98,24 +132,39 @@
 	debclean; find gforge -type f -or -type l | grep -v '/CVS/' | grep -v '/.svn/' | grep -v rpm-specific | grep -v docs/phpdoc/docs | grep -v ^./debian/ | cpio -o -H ustar | gzip > $(TARBALLS)/gforge_$(gfversion).orig.tar.gz
 	
 
-cowbuilderenv: cowbuilder cowbuilder/base-$(DISTRIB).stamp
+pbuilderenv: $(PBUILDERTGZ) $(PBUILDERTGZ)/base-$(DISTRIB).tgz
 	@echo "Ready for $(DISTRIB)"
 
-cowbuilder/base-$(DISTRIB).stamp: cowbuilder/config
-	-sudo /usr/sbin/cowbuilder --create --distribution $(DISTRIB) --basepath $(CURDIR)/cowbuilder/base-$(DISTRIB).cow --configfile $(CURDIR)/cowbuilder/config $(DISTROOP)
-	touch cowbuilder/base-$(DISTRIB).stamp
+cowbuilderenv: $(COWBUILDERBASE) $(COWBUILDERBASE)/base-$(DISTRIB).stamp
+	@echo "Ready for $(DISTRIB)"
 
-cowbuilder/config: /usr/sbin/cowbuilder
-	echo "APTCACHE=$(APTCACHE)" > $(CURDIR)/cowbuilder/config
-	echo "BUILDPLACE=$(BUILDPLACE)" >> $(CURDIR)/cowbuilder/config
-	echo "BUILDRESULT=$(BUILDRESULT)" >> $(CURDIR)/cowbuilder/config
+$(PBUILDERTGZ)/base-$(DISTRIB).tgz: $(PBUILDERTGZ)/config
+	sudo /usr/sbin/pbuilder --create --distribution $(DISTRIB) --basetgz $(PBUILDERTGZ)/base-$(DISTRIB).tgz --configfile $(PBUILDERTGZ)/config $(DISTROOP)
 
+$(COWBUILDERBASE)/base-$(DISTRIB).stamp: $(COWBUILDERBASE)/config
+	sudo /usr/sbin/cowbuilder --create $(HOOK) --distribution $(DISTRIB) --basepath $(COWBUILDERBASE)/base-$(DISTRIB).cow --configfile $(COWBUILDERBASE)/config $(DISTROOP)
+	touch $(COWBUILDERBASE)/base-$(DISTRIB).stamp
+
+$(PBUILDERTGZ)/config: /usr/sbin/pbuilder
+	echo "APTCACHE=$(APTCACHE)" > $(PBUILDERTGZ)/config
+	echo "BUILDPLACE=$(BUILDPLACE)" >> $(PBUILDERTGZ)/config
+	echo "BUILDRESULT=$(BUILDRESULT)" >> $(PBUILDERTGZ)/config
+
+$(COWBUILDERBASE)/config: /usr/sbin/cowbuilder
+	echo "APTCACHE=$(APTCACHE)" > $(COWBUILDERBASE)/config
+	echo "BUILDPLACE=$(BUILDPLACE)" >> $(COWBUILDERBASE)/config
+	echo "BUILDRESULT=$(BUILDRESULT)" >> $(COWBUILDERBASE)/config
+
+/usr/sbin/pbuilder:
+	sudo apt-get install pbuilder
+
+ubukey:
+	gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
+	gpg --export --armor 40976EAF437D05B5 | sudo apt-key add -
+
 /usr/sbin/cowbuilder:
 	sudo apt-get install cowdancer
 
-cowbuilder:
-	mkdir cowbuilder
-
 localrepo: $(LOCALREPO) $(LOCALREPO)/conf $(LOCALREPO)/conf/distributions
 	
 $(LOCALREPO)/conf/distributions:
@@ -140,6 +189,12 @@
 $(BUILDFILES):
 	mkdir -p $(BUILDFILES)
 
+$(COWBUILDERBASE):
+	mkdir -p $(COWBUILDERBASE)
+
+$(PBUILDERTGZ):
+	mkdir -p $(PBUILDERTGZ)
+
 $(LOCALREPO):
 	sudo mkdir $(LOCALREPO)
 	sudo chown `id -u`.`id -g` $(LOCALREPO)

Added: trunk/hook/ubuntu/G00ubukey
===================================================================
--- trunk/hook/ubuntu/G00ubukey	                        (rev 0)
+++ trunk/hook/ubuntu/G00ubukey	2009-03-05 00:20:50 UTC (rev 7113)
@@ -0,0 +1,4 @@
+#! /bin/sh
+# Add universe required by cowbuilder
+grep "main$" /etc/apt/sources.list | sed 's/main/universe/' >> /etc/apt/sources.list
+cat /etc/apt/sources.list


Property changes on: trunk/hook/ubuntu/G00ubukey
___________________________________________________________________
Added: svn:executable
   + *




More information about the Fusionforge-commits mailing list