Author: fcrozat Date: 2015-10-06 11:52:50 +0200 (Tue, 06 Oct 2015) New Revision: 93322 Modified: branches/SLE12-SP1/lcn/50-tools/generate-pattern-pot.sh Log: improve patterns package string extraction tool Modified: branches/SLE12-SP1/lcn/50-tools/generate-pattern-pot.sh =================================================================== --- branches/SLE12-SP1/lcn/50-tools/generate-pattern-pot.sh 2015-10-06 09:19:59 UTC (rev 93321) +++ branches/SLE12-SP1/lcn/50-tools/generate-pattern-pot.sh 2015-10-06 09:52:50 UTC (rev 93322) @@ -1,24 +1,43 @@ #!/bin/bash +# to use this tool, grab ALL patterns-*.rpm files in a single directory +# (beware, if generating for SLE product, make sure to grab patterns packages from older service packs and for all products / modules) +# and run the tool in the directory containing the rpm files. + +DATE=$(date --iso=s) + + +for i in $(ls *.rpm | grep -v debuginfo | grep -v debugsource ); do { cat << EOF -# This file was automatically generated +# This file was automatically generated by 50-tools/generate-pattern-pot.sh msgid "" msgstr "" -"POT-Creation-Date: $(date --iso=s)\n" +"POT-Creation-Date: $DATE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" EOF - - -for i in $(ls *.rpm | grep -v debuginfo | grep -v debugsource ); do + SUMMARY=$(rpm -qp --queryformat "%{SUMMARY}" $i) rpm -qp --queryformat "#. summary(%{NAME})\nmsgid \"%{SUMMARY}\"\nmsgstr \"\"\n\n#. description(%{NAME})\n" $i - DESC=$(rpm -qp --queryformat "%{DESCRIPTION}" $i | sed -e 's,",\\",g;' | sed ':a;N;$!ba;s/\n/\"\n\"/g') - echo "msgid \"$DESC\"" - echo "msgstr \"\"" - echo + DESC=$(rpm -qp --queryformat "%{DESCRIPTION}" $i | sed -e 's,",\\",g;' | sed ':a;N;$!ba;s/\n/\\n\"\n\"/g') + if [ -n "$DESC" -a "$DESC" != "$SUMMARY" ]; then + echo "msgid \"$DESC\"" + echo "msgstr \"\"" + echo + fi + rpm -qp --queryformat "#. category(%{NAME})\n" $i + CATEGORY=$(rpm -qp --provides $i | grep 'pattern-category() =' | sed -e 's/.*= //g' | sed -e 's/%20/ /g') + if [ -n "$CATEGORY" -a "$CATEGORY" != "$SUMMARY" ]; then + echo "msgid \"$CATEGORY\"" + echo "msgstr \"\"" + echo + fi +} > patterns-tmp-$i.pot done -} > patterns-tmp.pot +msgcat patterns-tmp-*.pot | sed -e '/patterns-tmp/d' > patterns-tmp.pot + msguniq patterns-tmp.pot | sed -e '/patterns-tmp.pot/d' > patterns.pot + +rm patterns-tmp*.pot