Bauen von Thunderbird/Lightning/Sunbird: Scripte_v2

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

Schreibe einen Kommentar

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