127 lines
3.5 KiB
Bash
127 lines
3.5 KiB
Bash
|
#!/bin/bash
|
||
|
#set -x
|
||
|
set -e
|
||
|
usage()
|
||
|
{
|
||
|
cat << EOF
|
||
|
usage: $0 options
|
||
|
|
||
|
This script downloads calendar langpacks for Thunderbird.
|
||
|
|
||
|
OPTIONS:
|
||
|
-h Show this message
|
||
|
-v Version string (7.0.1)
|
||
|
-b Build number (1, 2, 3)
|
||
|
-r Reuse downloaded files (when you don't want to redownload)
|
||
|
EOF
|
||
|
}
|
||
|
|
||
|
VER=
|
||
|
BUILDNUM=
|
||
|
LANG_DATE=`date "+%Y%m%d"`
|
||
|
while getopts “hv:b:r” OPTION
|
||
|
do
|
||
|
case $OPTION in
|
||
|
h)
|
||
|
usage
|
||
|
exit 1
|
||
|
;;
|
||
|
v)
|
||
|
VER=$OPTARG
|
||
|
;;
|
||
|
b)
|
||
|
BUILDNUM=$OPTARG
|
||
|
;;
|
||
|
?)
|
||
|
usage
|
||
|
exit
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ -z "$VER" -o -z "$BUILDNUM" ]
|
||
|
then
|
||
|
echo "Missing version or build number."
|
||
|
usage
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
WHITE='\033[1;33m'
|
||
|
NC='\033[0m' # No Color
|
||
|
|
||
|
LOCALES=`curl -f https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/ | grep "a href"|sed -e "s|.*/\([^/]*\)/\".*|\1|"|tail -n+2 |grep -v xpi`
|
||
|
#echo $LOCALES
|
||
|
rm -rf lightning-langpacks
|
||
|
mkdir -p lightning-langpacks
|
||
|
cd lightning-langpacks
|
||
|
LOCALE_COUNT=`echo $LOCALES| tr ' ' '\n' | wc -l`
|
||
|
LOCALE_NUM=0
|
||
|
for lang in $LOCALES; do
|
||
|
LOCALE_NUM=$((LOCALE_NUM+1))
|
||
|
echo -e "${WHITE}Processing calendar locale: $lang ($LOCALE_NUM/$LOCALE_COUNT)${NC}"
|
||
|
mkdir -p extracted_lightning
|
||
|
mkdir -p calendar-locales
|
||
|
#echo Downloading TB binary for locale: $lang
|
||
|
wget --quiet https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/$lang/thunderbird-$VER.tar.bz2
|
||
|
|
||
|
cd extracted_lightning
|
||
|
tar -xf ../thunderbird-$VER.tar.bz2 thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
|
||
|
set +e
|
||
|
unzip -qq thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
|
||
|
set -e
|
||
|
LIGHTNING_VERSION=`cat app.ini |grep "^Version="|sed -e 's/Version=//'`
|
||
|
BUILD_ID=`cat app.ini |grep "^BuildID="|sed -e 's/BuildID=//'`
|
||
|
MAX_VERSION=`cat app.ini |grep MaxVersion|sed -e s/MaxVersion=//`
|
||
|
MIN_VERSION=`cat app.ini |grep MinVersion|sed -e s/MinVersion=//`
|
||
|
rm -rf thunderbird
|
||
|
mkdir -p ../calendar-locales/chrome
|
||
|
cp -r chrome/calendar-$lang ../calendar-locales/chrome
|
||
|
cp -r chrome/lightning-$lang ../calendar-locales/chrome
|
||
|
cd -
|
||
|
|
||
|
cd calendar-locales
|
||
|
# create manifest
|
||
|
cat > manifest.json <<EOL
|
||
|
{
|
||
|
"languages": {
|
||
|
"$lang": {
|
||
|
"chrome_resources": {
|
||
|
"calendar": "chrome/calendar-$lang/locale/$lang/calendar/",
|
||
|
"lightning": "chrome/lightning-$lang/locale/$lang/lightning/"
|
||
|
},
|
||
|
"version": "$LIGHTNING_VERSION"
|
||
|
}
|
||
|
},
|
||
|
"applications": {
|
||
|
"gecko": {
|
||
|
"strict_min_version": "$MIN_VERSION",
|
||
|
"id": "langpack-cal-$lang@lightning.mozilla.org",
|
||
|
"strict_max_version": "$MAX_VERSION"
|
||
|
}
|
||
|
},
|
||
|
"langpack_id": "$lang",
|
||
|
"version": "$LIGHTNING_VERSION$BUILD_ID",
|
||
|
"name": "$lang Language Pack Calendar",
|
||
|
"manifest_version": 2,
|
||
|
"sources": {
|
||
|
"browser": {
|
||
|
"base_path": "browser/"
|
||
|
}
|
||
|
},
|
||
|
"author": "Mozilla.cz (contributors: Pavel Cvrček, Pavel Franc, Michal Stanke, Michal Vašíček)",
|
||
|
"description": "Language pack for Thunderbird for $lang, this was repacked by Fedora/RHEL package maintainer from original binaries."
|
||
|
}
|
||
|
|
||
|
EOL
|
||
|
zip --quiet -r ../langpack-cal-$lang@lightning.mozilla.org.xpi *
|
||
|
cd -
|
||
|
rm -rf calendar-locales
|
||
|
rm -rf extracted_lightning
|
||
|
|
||
|
rm -f thunderbird-$VER.tar.bz2
|
||
|
done
|
||
|
echo "Creating lightning-langpacks-$VER.tar.xz..."
|
||
|
tar cJf ../lightning-langpacks-$VER.tar.xz *.xpi
|
||
|
cd ..
|
||
|
rm -rf lightning-langpacks
|