Vermutlich bin ich längst nicht der einzige, der auf Dauer zu faul war, die immer gleichen Kommandos für’s Bauen von Thunderbird, Lightning oder Sunbird einzutippen?
Ich habe mir hier ein paar verschiedene mozconfigs je nach Anwendung und Konfiguration bereitgelegt und dann ein Script „choice.sh“ gefrickelt (Lachen verboten, unsereiner hatte dazu kein Seminar!), mit dem ich das Ziehen aktueller Quellen und das Kompilieren schön faul und zeitsparend anschubsen kann. Mittlerweile rufe ich eigentlich nur noch dieses Script auf (2xPfeil-hoch + Enter) und dann geht’s fix (Achtung, WP-Syntax verfälscht hier ein paar Zeichen, für Download siehe unten):
#!/bin/bash ECHO "*************************************************" ECHO "** COMM-CENTRAL **" ECHO "*************************************************" ECHO "[1] CHECKOUT: Tb 3.3a3pre DE + Ltn 1.1a1pre" ECHO "[2] build : Tb 3.3a3pre DE + Ltn 1.1a1pre" ECHO "[3] build : Ltn 1.1a1pre DE ONLY" ECHO "[a] CHECKOUT: Sb 1.1a1pre" ECHO "[b] build : Sb 1.1a1pre" ECHO "*************************************************" ECHO "** COMM-1.9.2 **" ECHO "*************************************************" ECHO "[c] ... CHECKOUT: Sb 1.0b3pre DE" ECHO "[d] ... build : Sb 1.0b3pre DE" ECHO "[6] ... CHECKOUT: Tb 3.1.9pre DE" ECHO "[7] ... build : Tb 3.1.9pre DE" ECHO "[8] ... build : Ltn 1.0b3pre DE ONLY" read CHOICE case "$CHOICE" in "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 mv l10n-status.txt ../l10n-status-DE-${DATUM}.txt ;; "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 -u cd .. compare-locales comm-central/calendar/locales/l10n.ini . de | tee l10n-status.txt mv l10n-status.txt logs/l10n-status-cc-DE-${DATUM}.txt ;; "b" ) # --------------------------------------------- # ## build ## comm-central ## Sunbird ## # ex: cc-build.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-central/mozconfig-sb-de comm-central/comm-central/.mozconfig echo " Baue Sunbird von comm-central..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` mkdir comm-central/Pakete/${DATUM} cd comm-central cd comm-central make -f client.mk build | tee -a buildlog.txt 2>&1 # make -C ../sb-de/calendar/installer | tee -a buildlog.txt 2>&1 # make -C ../sb-de/calendar/installer installer | tee -a buildlog.txt 2>&1 # mv ../sb-de/mozilla/dist/sunbird-1.1a1pre.de.win32.zip ../Pakete/${DATUM}/sunbird-1.1a1pre.de.win32.zip # mv ../sb-de/mozilla/dist/xpi-stage/inspector-2.0.5.xpi ../Pakete/${DATUM}/inspector-2.0.5_${DATUM}.xpi # mv ../sb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.0pre_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.1a1pre.de.win32.installer.exe ../Pakete/${DATUM}/sunbird-1.1a1pre.de.win32.installer.exe mv buildlog.txt ../logs/build-sb1.1a1pre-de_${DATUM}.log echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" ;; "2" ) # --------------------------------------------- # ## build ## comm-central ## Thunderbird ## # ex: cc-build-tb.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 cd comm-central make -f client.mk build | tee -a buildlog.txt 2>&1 # make -C ../tb-de/mail/installer | tee -a buildlog.txt 2>&1 mv ../tb-de/mozilla/dist/thunderbird-3.3a3pre.de.win32.zip ../Pakete/${DATUM}/thunderbird-3.3a3pre.de.win32.zip mv ../tb-de/mozilla/dist/xpi-stage/inspector-2.0.8.xpi ../Pakete/${DATUM}/inspector-2.0.8_${DATUM}.xpi mv ../tb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.1a1pre_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 mv buildlog.txt ../logs/build-tb3.3a3pre-de_${DATUM}.log echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" ;; "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.1a1pre_de_tb_win32.xpi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-centralPakete. ---" ;; "c" ) # --------------------------------------------- # ## checkout ## comm-1.9.2 ## Sunbird ## # ex: 1.9.2-co-sb.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-1.9.2/mozconfig-sb-de-extensions comm-1.9.2/comm-1.9.2/.mozconfig echo " Starte Checkout von comm-1.9.2..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-1.9.2/comm-1.9.2 python client.py checkout cd .. cd de hg pull -u cd .. compare-locales comm-1.9.2/calendar/locales/l10n.ini . de | tee l10n-status.txt mv l10n-status.txt l10n-status-DE-${DATUM}.txt ;; "6" ) # --------------------------------------------- # ## checkout ## comm-1.9.2 ## Thunderbird ## # ex: 1.9.2-co.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-1.9.2/mozconfig-tb-de comm-1.9.2/comm-1.9.2/.mozconfig echo " Starte Checkout von comm-1.9.2..." DATUM=`date -u '+%Y%m%d-%H%M_%Z'` cd comm-1.9.2/comm-1.9.2 python client.py checkout cd .. cd de hg pull -u cd .. compare-locales comm-1.9.2/calendar/locales/l10n.ini . de | tee l10n-status.txt mv l10n-status.txt l10n-status-DE-${DATUM}.txt ;; "d" ) # --------------------------------------------- # ## build ## comm-1.9.2 ## Sunbird ## # ex: 1.9.2-build-sb.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-1.9.2/mozconfig-sb-de-extensions comm-1.9.2/comm-1.9.2/.mozconfig echo " Baue von comm-1.9.2..." cd comm-1.9.2/comm-1.9.2 make -f client.mk build | tee -a buildlog.txt 2>&1 make -C ../sb-de/calendar/installer | tee -a buildlog.txt 2>&1 make -C ../sb-de/calendar/installer installer | tee -a buildlog.txt 2>&1 DATUM=`cut -d -f1 <../sb-de/mozilla/dist/sunbird-1.0b3pre.de.win32.txt` mkdir ../Pakete/${DATUM} mv ../sb-de/mozilla/dist/sunbird-1.0b3pre.de.win32.zip ../Pakete/${DATUM}/sunbird-1.0b3pre.de.win32.zip mv ../sb-de/mozilla/dist/xpi-stage/inspector-2.0.5.xpi ../Pakete/${DATUM}/inspector-2.0.5_${DATUM}.xpi mv ../sb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.0b3pre_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 buildlog.txt ../logs/build-sb1.0b3pre-de_${DATUM}.log echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-1.9.2Pakete. ---" ;; "7" ) # --------------------------------------------- # ## build ## comm-1.9.2 ## Thunderbird ## # ex: 1.9.2-build.sh # --------------------------------------------- echo " .mozconfig anlegen..." cp comm-1.9.2/mozconfig-tb-de comm-1.9.2/comm-1.9.2/.mozconfig echo " Baue von comm-1.9.2..." cd comm-1.9.2/comm-1.9.2 make -f client.mk build | tee -a buildlog.txt 2>&1 make -C ../tb-de/mail/installer | tee -a buildlog.txt 2>&1 DATUM=`cut -d -f1 <../tb-de/mozilla/dist/thunderbird-3.1.9pre.de.win32.txt` mkdir ../Pakete/${DATUM} mv ../tb-de/mozilla/dist/thunderbird-3.1.9pre.de.win32.zip ../Pakete/${DATUM}/thunderbird-3.1.9pre.de.win32.zip mv ../tb-de/mozilla/dist/xpi-stage/inspector-2.0.5.xpi ../Pakete/${DATUM}/inspector-2.0.5_${DATUM}.xpi mv ../tb-de/mozilla/dist/xpi-stage/lightning.xpi ../Pakete/${DATUM}/lightning-1.0b3pre_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 mv buildlog.txt ../logs/build-tb3.1.9pre-de_${DATUM}.log echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-1.9.2Pakete. ---" ;; "8" ) # --------------------------------------------- # ## build ## comm-1.9.2 ## Lightning ## # ex: 1.9.2-build-ltn.sh # --------------------------------------------- ECHO " --> build-comm-1.9.2-ltn" echo " .mozconfig anlegen..." cp comm-1.9.2/mozconfig-tb-de comm-1.9.2/comm-1.9.2/.mozconfig echo " Baue von comm-1.9.2..." cd comm-1.9.2/tb-de/calendar make -C lightning DATUM=`cut -d -f1 <../mozilla/dist/thunderbird-3.1.9pre.de.win32.txt` mkdir ../../Pakete/${DATUM} mv ../mozilla/dist/xpi-stage/lightning.xpi ../../Pakete/${DATUM}/lightning-1.0b3pre_de_tb_win32.xpi mv ../mozilla/mozilla/dist/xpi-stage/calendar-timezones.xpi ../Pakete/${DATUM}/calendar-timezones.xpi mv ../mozilla/mozilla/dist/xpi-stage/gdata-provider.xpi ../Pakete/${DATUM}/gdata-provider.xpi echo " --- Fertig. ---" echo " --- Pakete unter C:buildscomm-1.9.2Pakete. ---" ;; esac |
Nur die Versionsnummmern z.B. von Thunderbird oder dem DOMi müssen hin und wieder angepasst werden.
Vielleicht ist nicht jede Zeile so wirklich notwendig und natürlich könnte man Sunbird mittlerweile auch einfach rausschmeißen, aber ich find’s wirklich einfach so und möchte eben noch nicht auf Sunbird von comm-1.9.2 verzichten.
Wer will: choice.sh. Tipps zum Verbessern (z.B. in Zshg. mit tee?) nehme ich gerne an.
Eben probiert: Mit dem Patch aus Bug 580690 ließ sich die Windowsversion von Sunbird basierend auf comm-central/mozilla-central auf Anhieb und ohne weitere Probleme bauen und scheint auch zu funktionieren.
Oha, das ist eine spannende Nachricht!?! Vermutlich aber nur lauffähig aus dem obj-dir, weil für’s Erstellen einer lauffähigen .zip noch dieser ganze packages-Kram überholt werden müsste? Gleich mal ausprobieren… 😉