X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=cron.d%2F500update_mo;h=89f5452b68013e2ace9c8e192ffa1e2260b7198e;hb=2ce97a428f8c822ca734d60a8be0a02edeb8573e;hp=073e8429d5b520ebc9e54494432150a8010d1002;hpb=fe6dcb455956febdd162f1c07eff4069a910f1ff;p=deb%2Fpackages.git diff --git a/cron.d/500update_mo b/cron.d/500update_mo index 073e842..89f5452 100755 --- a/cron.d/500update_mo +++ b/cron.d/500update_mo @@ -44,28 +44,25 @@ templates/rfc822/search.tmpl templates/rss/newpkg.tmpl templates/txt/index.tmpl " -podomains="pdo templates sections langs" +podomains="pdo templates sections langs debtags" # Update pot # # Common options for all calls -xgettext_opts="--language=Perl --keyword=N_ --keyword=_g --foreign-user --add-comments" +xgettext_opts="--language=Perl --keyword=N_ --keyword=g --foreign-user --add-comments" echo gettextfiles=$gettextfiles echo templatefiles=$templatefiles -xgettext $xgettext_opts -d pdo -o ${podir}/pdo.pot ${gettextfiles} -$topdir/bin/ttxgettext templates ${templatefiles} >${podir}/templates.pot -xgettext $xgettext_opts -d sections -o ${podir}/sections.pot ${libdir}/Packages/Sections.pm -xgettext $xgettext_opts -d langs -o ${podir}/langs.pot ${libdir}/Packages/I18N/LanguageNames.pm +xgettext $xgettext_opts -d pdo -o ${podir}/pdo.pot.new ${gettextfiles} +xgettext $xgettext_opts -d sections -o ${podir}/sections.pot.new ${libdir}/Packages/Sections.pm +xgettext $xgettext_opts -d langs -o ${podir}/langs.pot.new ${libdir}/Packages/I18N/LanguageNames.pm +$topdir/bin/ttxgettext templates ${templatefiles} >${podir}/templates.pot.new +if [ -f files/debtags/vocabulary ]; then + $topdir/bin/debtags-xgettext files/debtags/vocabulary >${podir}/debtags.pot.new +fi cd $podir -# normalize paths in .pot files -for domain in ${podomains} -do - perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.pot -done - # Create missing po files # for lang in ${polangs} @@ -76,30 +73,26 @@ do done done -# Update po -# -for lang in ${polangs} +# normalize paths in .pot files +for domain in ${podomains} do - for domain in ${podomains} - do - cp ${domain}.${lang}.po ${domain}.${lang}.po.tmp - msgmerge --previous --quiet --sort-by-file -o ${domain}.${lang}.po ${domain}.${lang}.po.tmp ${domain}.pot - rm ${domain}.${lang}.po.tmp - # normalize paths in .po files - perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.${lang}.po - done -done - -# Update mo -# -test -d ${localedir} || mkdir -p ${localedir} -for lang in ${polangs} -do - test -d ${localedir}/${lang}/LC_MESSAGES \ - || mkdir -p ${localedir}/${lang}/LC_MESSAGES - for domain in ${podomains} - do - echo domain=$domain language=$lang - msgfmt --statistics -o ${localedir}/${lang}/LC_MESSAGES/${domain}.mo ${domain}.${lang}.po - done + perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.pot.new + if [ ! -f ${domain}.pot.new ] || diff -I"POT-Creation-Date" -q ${domain}.pot.new ${domain}.pot >/dev/null 2>&1 + then + echo "${domain}.pot unchanged" + rm ${domain}.pot.new + else + echo "${domain}.pot changed" + mv ${domain}.pot.new ${domain}.pot + # Update po + for lang in ${polangs} + do + echo " update ${domain}.${lang}.po" + cp ${domain}.${lang}.po ${domain}.${lang}.po.tmp + msgmerge --previous --quiet --sort-by-file -o ${domain}.${lang}.po ${domain}.${lang}.po.tmp ${domain}.pot + rm ${domain}.${lang}.po.tmp + # normalize paths in .po files + perl -p -i -e "s,^#:\s*\Q${topdir}\E,#: .,go" ${domain}.${lang}.po + done + fi done