File PREPARE_PACKAGE of Package package-translations
#!/bin/bash
test -f package-translations.spec || { "cwd must contain package-translations.spec"; exit 1; }
if test -d "$MY_LCN_PACK_CHECKOUT" -a -d "$MY_LCN_PATTERNS_CHECKOUT" ; then
echo "Updating $MY_LCN_PACK_CHECKOUT"
svn up $MY_LCN_PACK_CHECKOUT
echo "Updating $MY_LCN_PATTERNS_CHECKOUT"
svn up $MY_LCN_PTTERNS_CHECKOUT
else
echo "No \$MY_LCN_PACK_CHECKOUT nor \$MY_LCN_PATTERNS_CHECKOUT set, will checkout temporarly"
svn export https://svn.opensuse.org/svn/opensuse-i18n/branches/SLE12-SP1/packages
export MY_LCN_PACK_CHECKOUT=$PWD/packages
svn export https://svn.opensuse.org/svn/opensuse-i18n/branches/SLE12-SP1/lcn
export MY_LCN_PATTERNS_CHECKOUT=$PWD/lcn
fi
rm -rf mo
tar xf package-translations.tar.bz2
mv mo mo.old
mkdir mo
for file in $MY_LCN_PACK_CHECKOUT/*/po ; do
lang=`echo $file | sed -e "s,/po,,; s,.*/,,"`
echo $file $lang
msgcat --use-first $file/*.po lcn/$lang/po/patterns.$lang.po | msgfmt -o mo/package-translations-$lang.mo -
done
# handle files which are only in patterns dir and not packages dir
for file in $MY_LCN_PATTERNS_CHECKOUT/*/po/patterns.*.po ; do
lang=`echo $file | sed -e "s,.*patterns.,,; s,.po,,"`
echo $file $lang
[ -r mo/package-translations-$lang.mo -o ! -r $file ] && continue
echo $file $lang
msgcat --use-first $file | msgfmt -o mo/package-translations-$lang.mo -
done
if diff -ru mo.old mo; then
echo "no changes"
rm -rf mo mo.old
exit 1
else
rm -f package-translations.tar.bz2
tar cfj package-translations.tar.bz2 mo
rm -rf mo mo.old
fi
NAME=package-translations
{
echo "-------------------------------------------------------------------"
timestamp=$(LC_ALL=POSIX TZ=Europe/Berlin date)
timestamp2=$(LC_ALL=POSIX TZ=Europe/Berlin date +"%Y-%m-%d")
user=$(osc whois | cut -d\" -f3)
user=$(echo $user)
echo "$timestamp - $user"
echo
echo "- automated update on $timestamp2"
echo
if head -n 6 $NAME.changes | grep -q "automated update" ; then
tail -n +6 $NAME.changes
else
cat $NAME.changes
fi
} > $NAME.changes.new
mv $NAME.changes.new $NAME.changes
exit 0