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