Letztes Jahr habe ich etwas zu meiner „choice.sh“ geschrieben, mit der ich mir das Kompilieren so bequem wie möglich machen wollte.
Das Ansinnen ist geblieben, das Script ist im Laufe der Zeit immer mal wieder leicht geändert worden, nicht nur wegen diverser Versionsnummern, die anzupassen waren. Jetzt sind es also zwei Scripte, und für den Fall, dass irgendjemand irgendetwas damit anfangen kann, seien sie hier kurz vorgestellt (Wie beim letzten Mal: Achtung, WP-Syntax verfälscht hier wohl ein paar Zeichen, für Download siehe unten).
Die „choice.sh“ für die ‚aktuellen‘ Bauaufgaben sieht nun so aus und pfeffert damit auch endlich alle Fehlermeldungen ins Buildlog:
#!/bin/bash ECHO "**************************************************" ECHO "** COMM-CENTRAL (DAILY) **" ECHO "**************************************************" ECHO "Tb 14.0a1DE + Ltn 1.6a1DE [1] CHECKOUT [2] BUILD" ECHO "Ltn 1.6a1DE ONLY [3] BUILD" ECHO "Sb 1.6a1DE [a] CHECKOUT [b] BUILD" ECHO "**************************************************" ECHO "** COMM-AURORA (EARLYBIRD) **" ECHO "**************************************************" ECHO "Tb 13.0a2DE + Ltn 1.5a2DE [4] CHECKOUT [5] BUILD" ECHO "Ltn 1.5a2DE ONLY [6] BUILD" ECHO "**************************************************" ECHO "** COMM-BETA (EARLYBIRD) **" ECHO "**************************************************" ECHO "Tb 12.0 DE + Ltn 1.4b1DE [e] CHECKOUT [r] BUILD" ECHO "Ltn 1.4b1DE ONLY [t] BUILD" read CHOICE case "$CHOICE" in "1" ) # --------------------------------------------- # ## checkout ## comm-central ## Thunderbird ## # ex: cc-co-tb.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-central/mozconfig-tb-de comm-central/comm-central/.mozconfig echo " Starte Checkout von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-central/comm-central python client.py checkout cd .. cd de hg pull --rebase cd .. compare-locales comm-central/calendar/locales/l10n.ini . de | tee l10n-status.txt compare-locales comm-central/mozilla/toolkit/locales/l10n.ini . de | tee l10n-status-toolkit.txt mv l10n-status.txt logs/l10n-status-cc-DE-${DATUM}.txt mv l10n-status-toolkit.txt logs/l10n-status-toolkit-cc-DE-${DATUM}.txt ;; "2" ) # --------------------------------------------- # ## build ## comm-central ## Thunderbird ## # ex: cc-build-tb.sh # --------------------------------------------- DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp comm-central/mozconfig-tb-de comm-central/comm-central/.mozconfig echo " Baue von comm-central..." mkdir comm-central/Pakete/${DATUM} cd comm-central/comm-central make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../tb-de/mail/installer mv ../tb-de/mozilla/dist/thunderbird-14.0a1.de.win32.zip ../Pakete/${DATUM}/thunderbird-14.0a1.de.win32.zip mv ../tb-de/mozilla/dist/xpi-stage/inspector-2.0.11pre.xpi ../Pakete/${DATUM}/inspector-2.0.11pre_${DATUM}.xpi mv ../tb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.6a1_de_tb_win32.xpi mv ../tb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi mv ../tb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" } 2>&1 | tee -a comm-central/buildlog.txt mv comm-central/buildlog.txt comm-central/logs/build-tb14.0a1-de_${DATUM}.log ;; "3" ) # --------------------------------------------- # ## build ## comm-central ## Lightning ## # ex: cc-build-ltn.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-central/mozconfig-tb-de comm-central/comm-central/.mozconfig echo " Baue von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` mkdir comm-central/Pakete/${DATUM} cd comm-central/tb-de/calendar make -C lightning mv ../mozilla/dist/xpi-stage/lightning.xpi ../../Pakete/${DATUM}/lightning-1.6a1_de_tb_win32.xpi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" ;; "a" ) # --------------------------------------------- # ## checkout ## comm-central ## Sunbird ## # ex: cc-co.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-central/mozconfig-sb-de comm-central/comm-central/.mozconfig echo " Starte Checkout von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-central/comm-central python client.py checkout cd .. cd de hg pull -u cd .. compare-locales comm-central/calendar/locales/l10n.ini . de | tee l10n-status.txt compare-locales comm-central/mozilla/toolkit/locales/l10n.ini . de | tee l10n-status-toolkit.txt mv l10n-status.txt logs/l10n-status-DE-${DATUM}.txt mv l10n-status-toolkit.txt logs/l10n-status-toolkit-cc-DE-${DATUM}.txt ;; "b" ) # --------------------------------------------- # ## build ## comm-central ## Sunbird ## # ex: cc-build.sh # --------------------------------------------- DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp comm-central/mozconfig-sb-de comm-central/comm-central/.mozconfig echo " Baue Sunbird von comm-central..." mkdir comm-central/Pakete/${DATUM} cd comm-central/comm-central make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../sb-en/calendar/installer # make -C ../sb-de/calendar/installer installer # mv ../sb-de/mozilla/dist/sunbird-1.6a1.de.win32.zip ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.zip # mv ../sb-de/mozilla/dist/xpi-stage/inspector-2.0.10pre.xpi ../Pakete/${DATUM}/inspector-2.0.10pre_${DATUM}.xpi # mv ../sb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.6a1_de_tb_win32.xpi # mv ../sb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi # mv ../sb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi # mv ../sb-de/mozilla/dist/xpi-stage/venkman-0.9.87.4.xpi ../Pakete/${DATUM}/venkman-0.9.87.4_${DATUM}.xpi # mv ../sb-de/mozilla/dist/xpi-stage/venkman-0.9.87.4.de.xpi ../Pakete/${DATUM}/venkman-0.9.87.4.de_${DATUM}.xpi # mv ../sb-de/mozilla/dist/install/sea/sunbird-1.6a1.de.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.installer.exe fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" } 2>&1 | tee -a comm-central/buildlog.txt mv comm-central/buildlog.txt comm-central/logs/build-sb1.6a1-de_${DATUM}.log ;; "4" ) # --------------------------------------------- # ## checkout ## comm-aurora ## Thunderbird ## # # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-aurora/mozconfig-tb-de comm-aurora/comm-aurora/.mozconfig echo " Starte Checkout von comm-aurora..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-aurora/comm-aurora python client.py checkout cd .. cd de hg pull -u cd .. compare-locales comm-aurora/calendar/locales/l10n.ini . de | tee l10n-status.txt compare-locales comm-aurora/mozilla/toolkit/locales/l10n.ini . de | tee l10n-status-toolkit.txt mv l10n-status.txt logs/l10n-status-comm-aurora-DE-${DATUM}.txt mv l10n-status-toolkit.txt logs/l10n-status-toolkit-comm-aurora-DE-${DATUM}.txt ;; "5" ) # --------------------------------------------- # ## build ## comm-aurora ## Thunderbird ## # # --------------------------------------------- DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp comm-aurora/mozconfig-tb-de comm-aurora/comm-aurora/.mozconfig echo " Baue von comm-aurora..." mkdir comm-aurora/Pakete/${DATUM} cd comm-aurora/comm-aurora make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../tb-de/mail/installer mv ../tb-de/mozilla/dist/thunderbird-13.0a2.de.win32.zip ../Pakete/${DATUM}/thunderbird-13.0a2.de.win32.zip mv ../tb-de/mozilla/dist/xpi-stage/inspector-2.0.10.xpi ../Pakete/${DATUM}/inspector-2.0.10_${DATUM}.xpi mv ../tb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.5a2_de_tb_win32.xpi mv ../tb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi mv ../tb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-auroraPakete. ---" } 2>&1 | tee -a comm-aurora/buildlog.txt mv comm-aurora/buildlog.txt comm-aurora/logs/build-tb13.0a2-de_${DATUM}.log ;; "6" ) # --------------------------------------------- # ## build ## comm-aurora ## Lightning ## # # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-aurora/mozconfig-tb-de comm-aurora/comm-aurora/.mozconfig echo " Baue von comm-aurora..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` mkdir comm-aurora/Pakete/${DATUM} cd comm-aurora/tb-de/calendar make -C lightning mv ../mozilla/dist/xpi-stage/lightning.xpi ../../Pakete/${DATUM}/lightning-1.5a2_de_tb_win32.xpi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-auroraPakete. ---" ;; "e" ) # --------------------------------------------- # ## checkout ## comm-beta ## Thunderbird ## # # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-beta/mozconfig-tb-de comm-beta/comm-beta/.mozconfig echo " Starte Checkout von comm-beta..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-beta/comm-beta python client.py checkout cd .. cd de hg pull --rebase cd .. compare-locales comm-beta/calendar/locales/l10n.ini . de | tee l10n-status.txt compare-locales comm-beta/mozilla/toolkit/locales/l10n.ini . de | tee l10n-status-toolkit.txt mv l10n-status.txt logs/l10n-status-comm-beta-DE-${DATUM}.txt mv l10n-status-toolkit.txt logs/l10n-status-toolkit-comm-beta-DE-${DATUM}.txt ;; "r" ) # --------------------------------------------- # ## build ## comm-beta ## Thunderbird ## # # --------------------------------------------- DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp comm-beta/mozconfig-tb-de comm-beta/comm-beta/.mozconfig echo " Baue von comm-beta..." mkdir comm-beta/Pakete/${DATUM} cd comm-beta/comm-beta make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../tb-de/mail/installer mv ../tb-de/mozilla/dist/thunderbird-12.0.de.win32.zip ../Pakete/${DATUM}/thunderbird-12.0.de.win32.zip mv ../tb-de/mozilla/dist/xpi-stage/inspector-2.0.11pre.xpi ../Pakete/${DATUM}/inspector-2.0.11pre_${DATUM}.xpi mv ../tb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.4b1_de_tb_win32.xpi mv ../tb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi mv ../tb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-betaPakete. ---" } 2>&1 | tee -a comm-beta/buildlog.txt mv comm-beta/buildlog.txt comm-beta/logs/build-tb12.0-de_${DATUM}.log ;; "t" ) # --------------------------------------------- # ## build ## comm-beta ## Lightning ## # # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-beta/mozconfig-tb-de comm-beta/comm-beta/.mozconfig echo " Baue von comm-beta..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` mkdir comm-beta/Pakete/${DATUM} cd comm-beta/tb-de/calendar make -C lightning mv ../mozilla/dist/xpi-stage/lightning.xpi ../../Pakete/${DATUM}/lightning-1.4b1_de_tb_win32.xpi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-betaPakete. ---" ;; esac |
Und dann gibt es da noch die „livingdead.sh“ für’s Bauen von Sunbird auf der Basis von comm-central, was mit kleineren Anpassungen ja tatsächlich immer noch zu nutzbaren Paketen führt:
#!/bin/bash ECHO "**************************************************" ECHO "** COMM-CENTRAL (DAILY) **" ECHO "**************************************************" ECHO "Sb 1.6a1DE [a] CHECKOUT [b] BUILD" ECHO " [c] make installer " ECHO "Sb 1.6a1EN [q] CHECKOUT [r] BUILD" ECHO " [s] make installer " read CHOICE case "$CHOICE" in "a" ) echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-de cc-livingdead/comm-central/.mozconfig echo " Starte Checkout von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd cc-livingdead/comm-central python client.py checkout cd .. cd de hg pull -u cd .. compare-locales comm-central/calendar/locales/l10n.ini . de | tee l10n-status.txt compare-locales comm-central/mozilla/toolkit/locales/l10n.ini . de | tee l10n-status-toolkit.txt mv l10n-status.txt logs/l10n-status-DE-${DATUM}.txt mv l10n-status-toolkit.txt logs/l10n-status-toolkit-cc-DE-${DATUM}.txt ;; "b" ) DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-de cc-livingdead/comm-central/.mozconfig echo " Baue Sunbird von comm-central..." mkdir cc-livingdead/Pakete/${DATUM} cd cc-livingdead/comm-central make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../sb-de/calendar/installer # make -C ../sb-de/calendar/installer installer mv ../sb-de/mozilla/dist/sunbird-1.6a1.de.win32.zip ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.zip # mv ../sb-de/mozilla/dist/xpi-stage/inspector-2.0.10pre.xpi ../Pakete/${DATUM}/inspector-2.0.10pre_${DATUM}.xpi # mv ../sb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.6a1_de_tb_win32.xpi # mv ../sb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi # mv ../sb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi # mv ../sb-de/mozilla/dist/install/sea/sunbird-1.6a1.de.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.installer.exe fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscc-livingdeadPakete. ---" } 2>&1 | tee -a cc-livingdead/buildlog.txt mv cc-livingdead/buildlog.txt cc-livingdead/logs/build-sb1.6a1-de_${DATUM}.log ;; "c" ) DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-de cc-livingdead/comm-central/.mozconfig mkdir cc-livingdead/Pakete/${DATUM} cd cc-livingdead/comm-central make -C ../sb-de/calendar/installer # make -C ../sb-de/calendar/installer installer mv ../sb-de/mozilla/dist/sunbird-1.6a1.de.win32.zip ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.zip # mv ../sb-de/mozilla/dist/xpi-stage/inspector-2.0.10pre.xpi ../Pakete/${DATUM}/inspector-2.0.10pre_${DATUM}.xpi # mv ../sb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.3a1_de_tb_win32.xpi # mv ../sb-de/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi # mv ../sb-de/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi # mv ../sb-de/mozilla/dist/install/sea/sunbird-1.6a1.de.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.6a1.de.win32.installer.exe echo " --- Fertig. ---" echo " --- Pakete unter C:buildscc-livingdeadPakete. ---" } 2>&1 | tee -a cc-livingdead/buildlog.txt mv cc-livingdead/buildlog.txt cc-livingdead/logs/build-sb1.6a1-de_${DATUM}.log ;; "q" ) echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-en cc-livingdead/comm-central/.mozconfig echo " Starte Checkout von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd cc-livingdead/comm-central python client.py checkout ;; "r" ) DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-en cc-livingdead/comm-central/.mozconfig echo " Baue Sunbird von comm-central..." mkdir cc-livingdead/Pakete/${DATUM} cd cc-livingdead/comm-central make -f client.mk build if [ "$?" -eq "0" ]; then make -C ../sb-en/calendar/installer # make -C ../sb-en/calendar/installer installer mv ../sb-en/mozilla/dist/sunbird-1.6a1.en-US.win32.zip ../Pakete/${DATUM}/sunbird-1.6a1.en-US.win32.zip # mv ../sb-en/mozilla/dist/xpi-stage/inspector-2.0.10pre.xpi ../Pakete/${DATUM}/inspector-2.0.10pre_${DATUM}.xpi # mv ../sb-en/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.3a1_de_tb_win32.xpi # mv ../sb-en/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi # mv ../sb-en/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi # mv ../sb-en/mozilla/dist/install/sea/sunbird-1.6a1.en-US.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.6a1.en-US.win32.installer.exe fi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscc-livingdeadPakete. ---" } 2>&1 | tee -a cc-livingdead/buildlog.txt mv cc-livingdead/buildlog.txt cc-livingdead/logs/build-sb1.6a1-en_${DATUM}.log ;; "s" ) DATUM=`date -u '+%Y%m%d-%H%M_%Z'` { echo " .mozconfig anlegen..." cp cc-livingdead/.mozconfig-sb-en cc-livingdead/comm-central/.mozconfig mkdir cc-livingdead/Pakete/${DATUM} cd cc-livingdead/comm-central make -C ../sb-en/calendar/installer # make -C ../sb-en/calendar/installer installer mv ../sb-en/mozilla/dist/sunbird-1.6a1.en-US.win32.zip ../Pakete/${DATUM}/sunbird-1.6a1.en-US.win32.zip # mv ../sb-en/mozilla/dist/xpi-stage/inspector-2.0.10pre.xpi ../Pakete/${DATUM}/inspector-2.0.10pre_${DATUM}.xpi # mv ../sb-en/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.3a1_de_tb_win32.xpi # mv ../sb-en/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi # mv ../sb-en/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi # mv ../sb-en/mozilla/dist/install/sea/sunbird-1.6a1.en-US.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.6a1.en-US.win32.installer.exe echo " --- Fertig. ---" echo " --- Pakete unter C:buildscc-livingdeadPakete. ---" } 2>&1 | tee -a cc-livingdead/buildlog.txt mv cc-livingdead/buildlog.txt cc-livingdead/logs/build-sb1.6a1-en_${DATUM}.log ;; esac |
Ja, gut, ein paar Auskommentierungen sind in beiden Dateien enthalten, für manche Vorhaben/Änderungen muss man dann also doch kurz den Editor zücken – aber mit den passenden .mozconfigs fahre ich hiermit wirklich bequem.
Downloads: choice.sh und livingdead.sh