3
3
# this is part of langpack-o-matic, by Martin Pitt <martin.pitt@canonical.com>
5
# (C) 2005 Canonical Ltd.
5
# (C) 2005-2015 Canonical Ltd.
7
# Merge two translation tarballs.
7
# Merge multiple translation tarballs.
9
[ "$1" -a "$2" -a "$3" ] || {
10
echo "Usage: $0 <input tarball 1> <input tarball 2> <output tarball>" >&2
10
echo "Usage: $0 <input tarball 1> <input tarball 2> ... <input tarball n> <output tarball>" >&2
17
trap "rm -rf $T1 $T2" 0 1 2 3 13 15
22
TOP1="$T1/$(ls "$T1")"
23
TOP2="$T2/$(ls "$T2")"
25
if echo "$3" | grep -q '^/'; then
15
# initial trap for script interruption
16
trap "rm -rf $TD" 0 1 2 3 13 15
18
# extract the first tarball - all others will be merged sequentially into that one
21
TOPD="$TD/$(ls "$TD")"
22
cp "$TOPD/mapping.txt" "$TOPD/mapping.txt.merged"
26
trap "rm -rf $TD $TS" 0 1 2 3 13 15
28
while [ "$#" != "1" ]; do
30
TOPS="$TS/$(ls "$TS")"
32
# copy PO and POT files
34
find \( -name "*.po" -o -name "*.pot" \) -exec install -D -m 644 '{}' "$TOPD/{}" \;
37
cp "$TOPS/timestamp.txt" "$TOPD"
40
cat "$TOPS/mapping.txt" >> "$TOPD/mapping.txt"
47
# merge the domain maps
48
sort -u "$TOPD/mapping.txt.merged" > "$TOPD/mapping.txt"
52
if echo "$1" | grep -q '^/'; then
33
# copy PO and POT files
35
find \( -name "*.po" -o -name "*.pot" \) -exec install -D -m 644 '{}' "$TOP1/{}" \;
38
cp "$TOP2/timestamp.txt" "$TOP1"
41
cat "$TOP1/mapping.txt" "$TOP2/mapping.txt" | sort -u > "$TOP1/mapping.txt.merged"
42
mv "$TOP1/mapping.txt.merged" "$TOP1/mapping.txt"
46
61
tar c . | gzip -9 > "$OUT"