~seb128/langpack-o-matic/import-extra-log

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/sh
set -eu

PROJECTS="
libusermetrics
"

[ -d "${1:-}" ] || {
    echo "Usage: $0 <sources-touch dir>" >&2
    exit 1
}

SOURCEDIR="$1"

WORKDIR=$(mktemp -d --tmpdir langpack-o-matic.fetch.XXXX)
trap "rm -rf $WORKDIR" EXIT TERM INT QUIT PIPE

for project in $PROJECTS; do
    echo "== fetching $project =="
    bzr checkout --lightweight lp:$project $WORKDIR/$project
done

changed=""

for potfile in $WORKDIR/*/po/*.pot; do
    podir=${potfile%/*}
    domain=${potfile##*/}
    domain=${domain%.pot}
    echo "== installing domain $domain =="
    for pack_locale_dir in $SOURCEDIR/language-pack-touch*/data/*; do
        pack_locale=${pack_locale_dir##*/}
        src=$podir/${pack_locale}.po
        if [ -e "$src" ]; then
            dest=$pack_locale_dir/LC_MESSAGES/${domain}.po
            changed="$changed\n$(dirname $(dirname $pack_locale_dir))"
            echo "  $dest"
            cp "$src" "$dest"
        fi
    done
done

changed=$(/bin/echo -e "$changed" | sort -u)

[ -z "$NO_CHANGELOG" ] || exit 0

# adjust changelogs and build updated packages
cwd=`pwd`
for pkg in $changed; do
    cd $pkg
    v=$(dpkg-parsechangelog --show-field Version)
    if [ "${v%.[0-9]}" != "$v" ]; then
        dch -iU 'Update translations from Ubuntu Touch trunks'
    else
        dch -v ${v}.1 'Update translations from Ubuntu Touch trunks'
    fi
    dch -rm ''
    dpkg-buildpackage -S
    cd $cwd
done