Script für’s Bauen von Thunderbird/Lightning/Sunbird

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.

3 Gedanken zu „Script für’s Bauen von Thunderbird/Lightning/Sunbird“

  1. 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.

  2. 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… 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert