summaryrefslogtreecommitdiff
path: root/libre/icedove-l10n/updatelanglist.sh
blob: b188b3ee94d98ded128315108015a7fb4507f27f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
# helper script to check the local language list against upstream

export CARCH="${CARCH:-$(uname -m)}"

# extract pkgbase from pkgbuild
pkgbase="$(bash -c "source PKGBUILD && echo \"\$_pkgbase\"")"

echo "attempting update to language lists for $pkgbase"
echo "  CARCH: $CARCH"

# produce new language list
url="$(bash -c "source PKGBUILD && echo \"\$_src_url\"")/"

echo "_languages=(" > "languages.$CARCH.pkgnew"

for lang in $(curl -sL $url | grep '\.xpi' | cut -d'"' -f2 | rev | cut -d'/' -f1 | cut -d'.' -f2 | rev | sort); do
  rm -rf ".updatelanglist.$CARCH"
  mkdir -p ".updatelanglist.$CARCH"

  pushd ".updatelanglist.$CARCH"
  wget "$url/$lang.xpi"
  unzip "$lang.xpi"

  name="$(grep "  \"name" manifest.json | cut -d':' -f2- | cut -d'"' -f2)"
  popd

  printf "  '%-5s  \"%s\"'\n" "$lang" "$name" \
      >> "languages.$CARCH.pkgnew"
done
rm -rf ".updatelanglist.$CARCH"

echo ")" >> "languages.$CARCH.pkgnew"
vimdiff "languages.$CARCH"{,.pkgnew}