diff options
Diffstat (limited to 'dist-tools')
-rwxr-xr-x | dist-tools/git-commit-po-updates.sh | 43 | ||||
-rwxr-xr-x | dist-tools/makerelease.pl | 2 |
2 files changed, 44 insertions, 1 deletions
diff --git a/dist-tools/git-commit-po-updates.sh b/dist-tools/git-commit-po-updates.sh new file mode 100755 index 00000000..1c2079fe --- /dev/null +++ b/dist-tools/git-commit-po-updates.sh @@ -0,0 +1,43 @@ +#!/bin/sh +set -eu + +# see if Perl has Carp::Always available: +perl -MCarp::Always -e '' + +git diff -G ^.Project-Id-Version --name-only po/*.po \ +| while read pofile ; do + if ! cmd="$(perl -WT - "$pofile" <<'_EOF' +use strict; +use Carp::Always (); +use warnings FATAL => 'uninitialized'; +my ($ver, $dat, $trl, $lang, $lcod, $found); + +while(<>) +{ + if (/^"Project-Id-Version: (.+)\\n"/) { $ver=$1 }; + if (/^"PO-Revision-Date: (.+)\\n"/) { $dat=$1 }; + if (/^"Last-Translator: (.+)\\n"/) { $trl=$1 }; + if (/^"Language-Team: ([^<]+?)\s+<.*>\\n"/) + { $lang=$1 }; + if (/^"Language: (.+)\\n"/) { $lcod=$1 }; + if ($ver and $dat and $trl and $lang and $lcod) { + $found = 1; + last; + } +} + +if ($found) { + print "git commit --author '$trl' --date '$dat' -m 'Update <$lcod> $lang translation to $ver'" +} else { + exit(1); +} +_EOF +)" + then + echo >&2 "Parsing $pofile failed, skipping." + continue + fi + cmd="$cmd '$pofile'" + printf '+ %s\n' "$cmd" + eval "$cmd" +done diff --git a/dist-tools/makerelease.pl b/dist-tools/makerelease.pl index 48482376..8bdba4bd 100755 --- a/dist-tools/makerelease.pl +++ b/dist-tools/makerelease.pl @@ -63,7 +63,7 @@ my $tmp = $ENV{TMPDIR} || $ENV{TMP} || $ENV{TEMP} || "/tmp"; # extract version from source my $version =`grep 'AC_INIT' configure.ac`; -$version =~ /AC_INIT\([^,]*,\[?([0-9.rcbeta-]+)\]?\,.*\)/; +$version =~ /AC_INIT\([^,]*,\[?([0-9.rcbetalph-]+)\]?\,.*\)/; $version = $1; die "cannot determine version" unless defined $1; my $tag = "RELEASE_$version"; |