From 563bca1a52c4c58ff90640d3ece056231291f87c Mon Sep 17 00:00:00 2001 From: Fabien Tassin Date: Fri, 7 Sep 2007 22:59:39 +0000 Subject: * Add usage, use proper dates based on Mozilla's Bonsai instead of current date, add targets to build xulrunner-1.9, nss-trunk and nspr-trunk sources tarballs, add dependencies checking. --- Makefile | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++++------------ README | 15 +++++++--- 2 files changed, 92 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index edca938..cb12777 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,63 @@ -STAMP ?= stamped +# Created by Fabien Tassin in Sept 2007 + +MOZ_CLIENT = mozilla/client.mk +CVS_LOC = :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot -DEBIAN_DATE = $(shell date +%Y%m%d) +STAMP ?= stamped +############################################################################ +DEBIAN_FF3_TARGET = firefox-orig DEBIAN_FF3_APPNAME = firefox-trunk -DEBIAN_FF3_VERSION = $(shell cat mozilla/browser/config/version.txt | sed -e 's/a\([0-9]*\)pre/~a\1/')~cvs$(DEBIAN_DATE) +DEBIAN_FF3_FILE = mozilla/browser/config/version.txt +DEBIAN_FF3_DATE = $(shell wget -O - -q --read-timeout=10 --user-agent="" --tries=3 'http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=SeaMonkeyBrowser&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot' 2> /dev/null | grep "a href='http://webtools.mozilla.org/registry/who.cgi" | head -1 | tr '<>' '@' | cut -d@ -f5 | tr -d ':-' | sed -e 's/ .*//') +DEBIAN_FF3_VERSION = $(shell cat $(DEBIAN_FF3_FILE) | sed -e 's/a\([0-9]*\)pre/~a\1/')~cvs$(DEBIAN_FF3_DATE) + +DEBIAN_XUL_TARGET = xulrunner-orig +DEBIAN_XUL_APPNAME = xulrunner-1.9 +DEBIAN_XUL_FILE = mozilla/config/milestone.txt +DEBIAN_XUL_DATE = $(shell wget -O - -q --read-timeout=10 --user-agent="" --tries=3 'http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=SeaMonkeyBrowser&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot' 2> /dev/null | grep "a href='http://webtools.mozilla.org/registry/who.cgi" | head -1 | tr '<>' '@' | cut -d@ -f5 | tr -d ':-' | sed -e 's/ .*//') +DEBIAN_XUL_VERSION = $(shell tail -1 $(DEBIAN_XUL_FILE) | sed -e 's/\(a[0-9]*\)pre/~\1/')~cvs$(DEBIAN_XUL_DATE) -all: mozilla/client.mk mozilla/browser/config/version.txt $(STAMP) +DEBIAN_NSS_TARGET = nss-orig +DEBIAN_NSS_APPNAME = nss-trunk +DEBIAN_NSS_FILE = mozilla/security/nss/lib/nss/nss.h +DEBIAN_NSS_DATE = $(shell wget -O - -q --read-timeout=10 --user-agent="" --tries=3 'http://bonsai.mozilla.org/cvsquery.cgi?treeid=NSS&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fdbm+mozilla%2Fsecurity%2Fnss+mozilla%2Fsecurity%2Fcoreconf+mozilla%2Fsecurity%2Fdbm&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=month&mindate=&maxdate=&cvsroot=%2Fcvsroot' 2> /dev/null | grep "a href='http://webtools.mozilla.org/registry/who.cgi" | head -1 | tr '<>' '@' | cut -d@ -f5 | tr -d ':-' | sed -e 's/ .*//') +DEBIAN_NSS_VERSION = $(shell grep -E '^\#define NSS_V(MAJOR|MINOR|PATCH)' $(DEBIAN_NSS_FILE) | awk '{print $$3}' | tr '\n' '.' | sed -e 's,\.$$,,')~cvs$(DEBIAN_NSS_DATE) +DEBIAN_NSPR_TARGET = nspr-orig +DEBIAN_NSPR_APPNAME = nspr-trunk +DEBIAN_NSPR_FILE = mozilla/nsprpub/configure.in +DEBIAN_NSPR_DATE = $(shell wget -O - -q --read-timeout=10 --user-agent="" --tries=3 'http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fnsprpub&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=1177522884&maxdate=1588258884&cvsroot=%2Fcvsroot' 2> /dev/null | grep "a href='http://webtools.mozilla.org/registry/who.cgi" | head -1 | tr '<>' '@' | cut -d@ -f5 | tr -d ':-' | sed -e 's/ .*//') +DEBIAN_NSPR_VERSION = $(shell grep -E '^MOD_(MAJOR|MINOR|PATCH)_VERSION' $(DEBIAN_NSPR_FILE) | cut -d= -f2 | tr '\n' '.' | sed -e 's,\.$$,,')~cvs$(DEBIAN_NSPR_DATE) -mozilla/browser/config/version.txt: - cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/browser/config/version.txt +############################################################################ -mozilla/client.mk: - cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk +help: + @echo "Usage:" + @echo " make client Fetch and patch mozilla client" + @printf " make %-20s Create %s sources tarball\n" $(DEBIAN_FF3_TARGET) $(DEBIAN_FF3_APPNAME) + @printf " make %-20s Create %s sources tarball\n" $(DEBIAN_XUL_TARGET) $(DEBIAN_XUL_APPNAME) + @printf " make %-20s Create %s sources tarball\n" $(DEBIAN_NSS_TARGET) $(DEBIAN_NSS_APPNAME) + @printf " make %-20s Create %s sources tarball\n" $(DEBIAN_NSPR_TARGET) $(DEBIAN_NSPR_APPNAME) + +deps: + @if [ ! -f /usr/bin/cvs ] ; then echo "**ERROR** Depends on missing cvs. Abort"; exit 1; fi + @if [ ! -f /usr/bin/quilt ] ; then echo "**ERROR** Depends on missing quilt. Abort"; exit 1; fi + @if [ ! -f /usr/bin/wget ] ; then echo "**ERROR** Depends on missing wget. Abort"; exit 1; fi + +$(MOZ_CLIENT): deps + cvs -d $(CVS_LOC) co $@ rm -rf .pc $(STAMP) -patch: mozilla/client.mk $(STAMP) -$(STAMP): +$(DEBIAN_FF3_FILE): +$(DEBIAN_XUL_FILE): +$(DEBIAN_NSS_FILE): +$(DEBIAN_NSPR_FILE): + cvs -d $(CVS_LOC) co $@ + +client: $(STAMP) + +$(STAMP): $(MOZ_CLIENT) @echo Patching quilt --quiltrc /dev/null push -a || test $$? = 2 touch $(STAMP) @@ -27,15 +68,37 @@ unpatch: rm -rf .pc $(STAMP) clean: unpatch - rm -rf cvsco.log* mozilla/client.mk - - -ff3-orig: xulbrowser-orig + rm -rf cvsco.log* $(MOZ_CLIENT) mozilla -xulbrowser-orig: mozilla/client.mk mozilla/browser/config/version.txt $(STAMP) - make -f mozilla/client.mk checkout MOZ_CO_PROJECT=xulbrowser +$(DEBIAN_FF3_TARGET): $(MOZ_CLIENT) $(STAMP) $(DEBIAN_FF3_FILE) + make -f $(MOZ_CLIENT) checkout MOZ_CO_PROJECT=xulbrowser rm -rf $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION) $(DEBIAN_FF3_APPNAME)_$(DEBIAN_FF3_VERSION).orig.tar.gz mkdir $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION) - tar jcf $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION)/browser-snapshot-$(DEBIAN_DATE).tar.bz2 --exclude=CVS --exclude=.cvsignore mozilla + tar jcf $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION)/browser-snapshot-$(DEBIAN_FF3_DATE).tar.bz2 --exclude=CVS --exclude=.cvsignore mozilla + rm -f $(DEBIAN_FF3_APPNAME)_$(DEBIAN_FF3_VERSION).orig.tar.gz tar zcf $(DEBIAN_FF3_APPNAME)_$(DEBIAN_FF3_VERSION).orig.tar.gz $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION) - rm -rf mozilla cvsco.log $(STAMP) .pc $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION) + rm -rf mozilla cvsco.log* $(STAMP) .pc $(DEBIAN_FF3_APPNAME)-$(DEBIAN_FF3_VERSION) + +$(DEBIAN_XUL_TARGET): $(MOZ_CLIENT) $(STAMP) $(DEBIAN_XUL_FILE) + make -f $(MOZ_CLIENT) checkout MOZ_CO_PROJECT=xulrunner + mkdir $(DEBIAN_XUL_APPNAME)-$(DEBIAN_XUL_VERSION) + mv mozilla $(DEBIAN_XUL_APPNAME)-$(DEBIAN_XUL_VERSION) + rm -f $(DEBIAN_XUL_APPNAME)_$(DEBIAN_XUL_VERSION).orig.tar.gz + tar zcf $(DEBIAN_XUL_APPNAME)_$(DEBIAN_XUL_VERSION).orig.tar.gz --exclude=CVS --exclude=.cvsignore $(DEBIAN_XUL_APPNAME)-$(DEBIAN_XUL_VERSION) + rm -rf cvsco.log* $(STAMP) .pc $(DEBIAN_XUL_APPNAME)-$(DEBIAN_XUL_VERSION) + +$(DEBIAN_NSS_TARGET): $(MOZ_CLIENT) $(STAMP) $(DEBIAN_NSS_FILE) + make -f $(MOZ_CLIENT) checkout MOZ_CO_PROJECT=nss + mkdir $(DEBIAN_NSS_APPNAME)-$(DEBIAN_NSS_VERSION) + mv mozilla $(DEBIAN_NSS_APPNAME)-$(DEBIAN_NSS_VERSION) + rm -f $(DEBIAN_NSS_APPNAME)_$(DEBIAN_NSS_VERSION).orig.tar.gz + tar zcf $(DEBIAN_NSS_APPNAME)_$(DEBIAN_NSS_VERSION).orig.tar.gz --exclude=CVS --exclude=.cvsignore $(DEBIAN_NSS_APPNAME)-$(DEBIAN_NSS_VERSION) + rm -rf cvsco.log* $(STAMP) .pc $(DEBIAN_NSS_APPNAME)-$(DEBIAN_NSS_VERSION) + +$(DEBIAN_NSPR_TARGET): $(MOZ_CLIENT) $(STAMP) $(DEBIAN_NSPR_FILE) + make -f $(MOZ_CLIENT) checkout MOZ_CO_PROJECT=nspr + mkdir $(DEBIAN_NSPR_APPNAME)-$(DEBIAN_NSPR_VERSION) + mv mozilla $(DEBIAN_NSPR_APPNAME)-$(DEBIAN_NSPR_VERSION) + rm -f $(DEBIAN_NSPR_APPNAME)_$(DEBIAN_NSPR_VERSION).orig.tar.gz + tar zcf $(DEBIAN_NSPR_APPNAME)_$(DEBIAN_NSPR_VERSION).orig.tar.gz --exclude=CVS --exclude=.cvsignore $(DEBIAN_NSPR_APPNAME)-$(DEBIAN_NSPR_VERSION) + rm -rf cvsco.log* $(STAMP) .pc $(DEBIAN_NSPR_APPNAME)-$(DEBIAN_NSPR_VERSION) diff --git a/README b/README index 88d6374..36a303f 100644 --- a/README +++ b/README @@ -7,15 +7,22 @@ Those patches are targetting mozilla/client.mk and add targets to fetch respectively nss, nspr and xulbrowser (browser build with libxul from xulrunner package). -Depends on cvs and quilt. +Depends on cvs, wget and quilt. To use: - $ make (will fetch and patch mozilla/client.mk from cvs) + $ make (display usage) + Usage: + make client Fetch and patch mozilla client + make firefox-orig Create firefox-trunk sources tarball + make xulrunner-orig Create xulrunner-1.9 sources tarball + make nss-orig Create nss-trunk sources tarball + make nspr-orig Create nspr-trunk sources tarball + + $ make client (fetch and patch mozilla/client.mk from cvs) $ make -f mozilla/client.mk checkout MOZ_CO_PROJECT=nss $ make -f mozilla/client.mk checkout MOZ_CO_PROJECT=nspr $ make -f mozilla/client.mk checkout MOZ_CO_PROJECT=xulbrowser - $ make xulbrowser-orig (will create a tarball suitable for firefox-trunk) - (or make ff3-orig, which is an alias) + -- cgit v1.2.3