PRODUCT = $(shell grep "^product[ \t]" bootstrap.cfg | sed -e 's/[^=]*= *//') VERSION = $(shell grep "^version[ \t]" bootstrap.cfg | sed -e 's/[^=]*= *//') OLD_VERSION = $(shell grep "^oldVersion[ \t]" bootstrap.cfg | sed -e 's/[^=]*= *//') PRODUCT_TAG = $(shell grep "^productTag[ \t]" bootstrap.cfg | sed -e 's/[^=]*= *//') # extract the numeric rc value from the config file PRODUCT_RC = $(shell grep "^rc[ \t]" bootstrap.cfg | sed -e 's/[^0-9]*\([0-9]*\).*/\1/') test: for f in release t/test.pl `find . -name "*.pm"`; do \ perl -c $$f || exit $?; done if [ -f t/test.log ]; then rm t/test.log; fi if [ ! -f bootstrap.cfg ]; then cp bootstrap.cfg.example bootstrap.cfg; fi cp t/tinder-config.pl.orig t/tinder-config.pl ./t/test.pl stage: # basic environment mkdir -p /builds/config mkdir -p /builds/tags mkdir -p /builds/updates/ mkdir -p /builds/verify/ mkdir -p /builds/logs/ mkdir -p /data/symbols/ # fake key mkdir -p /home/ftp/pub/${PRODUCT}/releases/1.5/ touch /home/ftp/pub/${PRODUCT}/releases/1.5/KEY # ftp mkdir -p /home/ftp/pub/${PRODUCT}/nightly chown -R cltbld:${PRODUCT} /home/ftp/pub/${PRODUCT} chmod -R g+rwxs /home/ftp/pub/${PRODUCT} chmod -R o+rx /home/ftp/pub # staging environment mkdir -p /data/cltbld/${PRODUCT}-${VERSION}/batch1/stage # download old builds, for l10n verify cd /data && wget -nv --cut-dirs=3 -np -r ftp://ftp.mozilla.org/pub/mozilla.org/${PRODUCT}/nightly/${OLD_VERSION}-candidates/rc1/* && mv ftp.mozilla.org/nightly/* /home/ftp/pub/${PRODUCT}/nightly/ && rm -rfv ftp.mozilla.org # download old release, for update verify cd /data && wget -nv --cut-dirs=3 -np -r -e robots=off http://releases.mozilla.org/pub/mozilla.org/${PRODUCT}/releases/${OLD_VERSION}/ && mv releases.mozilla.org/releases/* /home/ftp/pub/${PRODUCT}/releases/ && rm -rfv releases.mozilla.org cvsmirror: cvsmirror_mofo cvsmirror_main cvsmirror_main: rsync -a --delete-after --exclude=CVSROOT/config --exclude=CVSROOT/loginfo cvs-mirror.mozilla.org::mozilla/ /builds/cvsmirror.clean/cvsroot/ rsync -a --delete-after cvs-mirror.mozilla.org::l10n/ /builds/cvsmirror.clean/l10n/ chgrp -R cvs /builds/cvsmirror.clean/cvsroot /builds/cvsmirror.clean/l10n chmod -R g+rw /builds/cvsmirror.clean/cvsroot /builds/cvsmirror.clean/l10n cvs -d /builds/cvsmirror.clean/cvsroot rtag -d ${PRODUCT_TAG}_RELEASE mozilla cvs -d /builds/cvsmirror.clean/cvsroot rtag -d ${PRODUCT_TAG}_RELEASE_l10n mozilla/tools/tinderbox-configs/ for ((rc=1; rc <= ${PRODUCT_RC}; rc++)); do \ cvs -d /builds/cvsmirror.clean/cvsroot rtag -d ${PRODUCT_TAG}_RC$$rc mozilla;\ cvs -d /builds/cvsmirror.clean/cvsroot rtag -d ${PRODUCT_TAG}_RC$$rc_l10n mozilla/tools/tinderbox-configs/;\ cvs -d /builds/cvsmirror.clean/l10n rtag -d ${PRODUCT_TAG}_RC$$rc l10n;\ cvs -d /builds/cvsmirror.clean/l10n rtag -d ${PRODUCT_TAG}_RC$$rc l10n;\ done cvsmirror_mofo: mkdir -p /builds/cvsmirror.clean/tmp/mofo mkdir -p /builds/cvsmirror.clean/mofo cvs -d /builds/cvsmirror.clean/mofo init cd /builds/cvsmirror.clean/tmp/mofo && cvs -d cltbld@cvs.mozilla.org:/mofo export -r MOZILLA_1_8_BRANCH talkback cd /builds/cvsmirror.clean/tmp/mofo && cvs -d cltbld@cvs.mozilla.org:/mofo export -r HEAD release cd /builds/cvsmirror.clean/tmp/mofo/release && cvs -d /builds/cvsmirror.clean/mofo import -d -m "import CVS snapshot" release MOZILLA_1_8_BRANCH_release R0_1 cd /builds/cvsmirror.clean/tmp/mofo/talkback && cvs -d /builds/cvsmirror.clean/mofo import -d -m "import CVS snapshot" talkback MOZILLA_1_8_BRANCH R0_1 rm -rf /builds/cvsmirror.clean/tmp/mofo chgrp -R cvs /builds/cvsmirror.clean/mofo chmod g+rwx /builds/cvsmirror.clean/mofo chmod -R g+rw /builds/cvsmirror.clean/mofo clean_stage: clean_logs rm -rf /builds/config/* rm -rf /builds/tags/* rm -rf /builds/release/logs/* rm -rf /builds/updates/* rm -rf /builds/verify/* rm -rf /data/cltbld/${PRODUCT}-*/ rm -rf /home/ftp/pub/${PRODUCT}/* clean_cvsmirror: clean_cvsmirror_main clean_cvsmirror_mofo rm -rf /builds/cvsmirror.clean/* clean_cvsmirror_main: rm -rf /builds/cvsmirror.clean/cvsroot/* rm -rf /builds/cvsmirror.clean/l10n/* clean_cvsmirror_mofo: rm -rf /builds/cvsmirror.clean/mofo/* clean_logs: rm -rf /builds/logs/*