From c2f27dfe8218545c327ab49d225a49910347c5c6 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Fri, 18 May 2018 07:31:25 +0000 Subject: po: Generate perl bin path Signed-off-by: Nils Gillmann --- po/Makefile.in.in | 8 +- po/update.pl | 230 ------------------------------------------------------ po/update.pl.in | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 237 insertions(+), 231 deletions(-) delete mode 100644 po/update.pl create mode 100644 po/update.pl.in diff --git a/po/Makefile.in.in b/po/Makefile.in.in index 83d8838ac..4daed5420 100644 --- a/po/Makefile.in.in +++ b/po/Makefile.in.in @@ -76,10 +76,16 @@ POTFILES = \ CATALOGS = @CATALOGS@ +do_perl_subst = $(SED) -e 's,[@]PERL[@],$(PERL),g' + # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update +.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .pl.in .pl + +.pl.in.pl: + $(do_perl_subst) < $< > $@ + chmod +x $@ .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ diff --git a/po/update.pl b/po/update.pl deleted file mode 100644 index c7c34b612..000000000 --- a/po/update.pl +++ /dev/null @@ -1,230 +0,0 @@ -#!/usr/bin/perl -w - -# GNOME po update utility. -# (C) 2000 The Free Software Foundation -# -# Author(s): Kenneth Christiansen -# Patches: Björn Voigt - - -$VERSION = "1.2.5 beta 2"; -$LANG = $ARGV[0]; -$PACKAGE = "GNUnet"; - -if (! $LANG){ - print "update.pl: missing file arguments\n"; - print "Try `update.pl --help' for more information.\n"; - exit; -} - -if ($LANG=~/^-(.)*/){ - - if ("$LANG" eq "--version" || "$LANG" eq "-V"){ - print "GNOME PO Updater $VERSION\n"; - print "Written by Kenneth Christiansen , 2000.\n\n"; - print "Copyright (C) 2000 Free Software Foundation, Inc.\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; - } - - - elsif ($LANG eq "--help" || "$LANG" eq "-H"){ - print "Usage: ./update.pl [OPTIONS] ...LANGCODE\n"; - print "Updates pot files and merge them with the translations.\n\n"; - print " -V, --version shows the version\n"; - print " -H, --help shows this help page\n"; - print " -P, --pot only generates the potfile\n"; - print " -M, --maintain search for missing files in POTFILES.in\n"; - print "\nExamples of use:\n"; - print "update.sh --pot just creates a new pot file from the source\n"; - print "update.sh da created new pot file and updated the da.po file\n\n"; - print "Report bugs to .\n"; - exit; - } - - elsif($LANG eq "--pot" || "$LANG" eq "-P"){ - - print "Building the $PACKAGE.pot ..."; - - $b="xgettext --default-domain\=$PACKAGE --directory\=\.\." - ." --add-comments --keyword\=\_ --keyword\=N\_" - ." --files-from\=\.\/POTFILES\.in "; - $b1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot " - ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)"; - if(($ret=system($b . " && " . $b1))==0) { - print "...done\n"; - } - else { - print "...failed\n"; - } - - exit $ret; - } - - elsif ($LANG eq "--maintain" || "$LANG" eq "-M"){ - - $a="find ../ -path ../intl -prune -o -print | egrep '.*\\.(c|y|cc|c++|h|gob)\$' "; - - open(BUF2, "POTFILES.in") || die "update.pl: there's not POTFILES.in!!!\n"; - print "Searching for missing _(\" \") entries and for deleted files...\n"; - open(BUF1, "$a|"); - - - @buf2 = ; - @buf1 = ; - - if (-s "POTFILES.ignore") { - open FILE, "POTFILES.ignore"; - while () { - if ($_=~/^[^#]/o) { - push @bup, $_; - } - } - print "POTFILES.ignore found! Ignoring files...\n"; - @buf2 = (@bup, @buf2); - } - - foreach my $file (@buf1) { - $cmd="xgettext -o - --omit-header --keyword=_ " . - "--keyword=N_ " . $file . " |"; - open XGET, $cmd; - if() { - $file = unpack("x3 A*",$file) . "\n"; - push @buff1, $file; - } - close XGET; -# open FILE, "<$file"; -# while () { -# if ($_=~/_\(\"/o || $_=~/ngettext\(\"/o){ -# $file = unpack("x3 A*",$file) . "\n"; -# push @buff1, $file; -# last; -# } -# } - } - - @bufff1 = sort (@buff1); - - @bufff2 = sort (@buf2); - - my %in2; - foreach (@bufff2) { - chomp; - $in2{$_} = 1; - } - - my %in1; - foreach (@bufff1) { - chomp; - $in1{$_} = 1; - } - - foreach (@bufff1) { - chomp; - if (!exists($in2{$_})) { - push @result, $_ . "\n"; - } - } - - foreach (@bufff2) { - chomp; - if (! -f "../" . $_) { - push @deletedfiles, $_ . "\n"; - } - } - - foreach (@bufff2) { - if (!exists($in1{$_})) { - push @noi18nfiles, $_ . "\n"; - } - } - - if(@result){ - open OUT, ">POTFILES.in.missing"; - print OUT @result; - print "\nHere are the missing files:\n\n", @result, "\n"; - print "File POTFILES.in.missing is being placed in directory...\n"; - print "Please add the files that should be ignored in POTFILES.ignore\n"; - } - else{ - unlink("POTFILES.in.missing"); - } - - if(@deletedfiles){ - open OUT, ">POTFILES.in.deleted"; - print OUT @deletedfiles; - print "\nHere are the deleted files:\n\n", @deletedfiles, "\n"; - print "File POTFILES.in.deleted is being placed in directory...\n"; - print "Please delete the files from POTFILES.in or POTFILES.ignore\n"; - } - else{ - unlink("POTFILES.in.deleted"); - } - - if(@noi18nfiles){ - open OUT, ">POTFILES.in.noi18n"; - print OUT @noi18nfiles; - print "\nHere are the files which currently have no i18n strings:\n\n", - @noi18nfiles, "\n"; - print "File POTFILES.in.noi18n is being placed in directory...\n"; - print "Please delete the files from POTFILES.in or POTFILES.ignore\n"; - print "or ignore the files.\n"; - } - else{ - unlink("POTFILES.in.noi18n"); - } - - if( ! @result && ! @deletedfiles ) { - print "\nWell, it's all perfect! Congratulation!\n"; - } - } - - - else{ - print "update.pl: invalid option -- $LANG\n"; - print "Try `update.pl --help' for more information.\n"; - } - exit; - } - -elsif(-s "$LANG.po"){ - - print "Building the $PACKAGE.pot ..."; - - $c="xgettext --default-domain\=$PACKAGE --directory\=\.\." - ." --add-comments --keyword\=\_ --keyword\=N\_" - ." --files-from\=\.\/POTFILES\.in "; - $c1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot " - ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)"; - - if(($ret=system($c . " && " . $c1))==0) { - print "...done\n"; - } - else { - print "...failed\n"; - } - - if($ret==0) { - print "\nNow merging $LANG.po with $PACKAGE.pot, and creating an updated $LANG.po ...\n"; - - - $d="if msgmerge $LANG.po $PACKAGE.pot -o $LANG.new.po; then " . - " mv -f $LANG.new.po $LANG.po; " . - " msgfmt --statistics -c -v -o /dev/null $LANG.po; " . - "else " . - " echo \"msgmerge failed!\"; " . - " rm -f $LANG.new.po; ". - "fi"; - - $ret=system($d); - - exit $ret; - } -} - -else{ - print "update.pl: sorry $LANG.po does not exist!\n"; - print "Try `update.pl --help' for more information.\n"; - exit; -} diff --git a/po/update.pl.in b/po/update.pl.in new file mode 100644 index 000000000..7b7af52ef --- /dev/null +++ b/po/update.pl.in @@ -0,0 +1,230 @@ +#!@PERL@ -w + +# GNOME po update utility. +# (C) 2000 The Free Software Foundation +# +# Author(s): Kenneth Christiansen +# Patches: Björn Voigt + + +$VERSION = "1.2.5 beta 2"; +$LANG = $ARGV[0]; +$PACKAGE = "GNUnet"; + +if (! $LANG){ + print "update.pl: missing file arguments\n"; + print "Try `update.pl --help' for more information.\n"; + exit; +} + +if ($LANG=~/^-(.)*/){ + + if ("$LANG" eq "--version" || "$LANG" eq "-V"){ + print "GNOME PO Updater $VERSION\n"; + print "Written by Kenneth Christiansen , 2000.\n\n"; + print "Copyright (C) 2000 Free Software Foundation, Inc.\n"; + print "This is free software; see the source for copying conditions. There is NO\n"; + print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; + exit; + } + + + elsif ($LANG eq "--help" || "$LANG" eq "-H"){ + print "Usage: ./update.pl [OPTIONS] ...LANGCODE\n"; + print "Updates pot files and merge them with the translations.\n\n"; + print " -V, --version shows the version\n"; + print " -H, --help shows this help page\n"; + print " -P, --pot only generates the potfile\n"; + print " -M, --maintain search for missing files in POTFILES.in\n"; + print "\nExamples of use:\n"; + print "update.sh --pot just creates a new pot file from the source\n"; + print "update.sh da created new pot file and updated the da.po file\n\n"; + print "Report bugs to .\n"; + exit; + } + + elsif($LANG eq "--pot" || "$LANG" eq "-P"){ + + print "Building the $PACKAGE.pot ..."; + + $b="xgettext --default-domain\=$PACKAGE --directory\=\.\." + ." --add-comments --keyword\=\_ --keyword\=N\_" + ." --files-from\=\.\/POTFILES\.in "; + $b1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot " + ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)"; + if(($ret=system($b . " && " . $b1))==0) { + print "...done\n"; + } + else { + print "...failed\n"; + } + + exit $ret; + } + + elsif ($LANG eq "--maintain" || "$LANG" eq "-M"){ + + $a="find ../ -path ../intl -prune -o -print | egrep '.*\\.(c|y|cc|c++|h|gob)\$' "; + + open(BUF2, "POTFILES.in") || die "update.pl: there's not POTFILES.in!!!\n"; + print "Searching for missing _(\" \") entries and for deleted files...\n"; + open(BUF1, "$a|"); + + + @buf2 = ; + @buf1 = ; + + if (-s "POTFILES.ignore") { + open FILE, "POTFILES.ignore"; + while () { + if ($_=~/^[^#]/o) { + push @bup, $_; + } + } + print "POTFILES.ignore found! Ignoring files...\n"; + @buf2 = (@bup, @buf2); + } + + foreach my $file (@buf1) { + $cmd="xgettext -o - --omit-header --keyword=_ " . + "--keyword=N_ " . $file . " |"; + open XGET, $cmd; + if() { + $file = unpack("x3 A*",$file) . "\n"; + push @buff1, $file; + } + close XGET; +# open FILE, "<$file"; +# while () { +# if ($_=~/_\(\"/o || $_=~/ngettext\(\"/o){ +# $file = unpack("x3 A*",$file) . "\n"; +# push @buff1, $file; +# last; +# } +# } + } + + @bufff1 = sort (@buff1); + + @bufff2 = sort (@buf2); + + my %in2; + foreach (@bufff2) { + chomp; + $in2{$_} = 1; + } + + my %in1; + foreach (@bufff1) { + chomp; + $in1{$_} = 1; + } + + foreach (@bufff1) { + chomp; + if (!exists($in2{$_})) { + push @result, $_ . "\n"; + } + } + + foreach (@bufff2) { + chomp; + if (! -f "../" . $_) { + push @deletedfiles, $_ . "\n"; + } + } + + foreach (@bufff2) { + if (!exists($in1{$_})) { + push @noi18nfiles, $_ . "\n"; + } + } + + if(@result){ + open OUT, ">POTFILES.in.missing"; + print OUT @result; + print "\nHere are the missing files:\n\n", @result, "\n"; + print "File POTFILES.in.missing is being placed in directory...\n"; + print "Please add the files that should be ignored in POTFILES.ignore\n"; + } + else{ + unlink("POTFILES.in.missing"); + } + + if(@deletedfiles){ + open OUT, ">POTFILES.in.deleted"; + print OUT @deletedfiles; + print "\nHere are the deleted files:\n\n", @deletedfiles, "\n"; + print "File POTFILES.in.deleted is being placed in directory...\n"; + print "Please delete the files from POTFILES.in or POTFILES.ignore\n"; + } + else{ + unlink("POTFILES.in.deleted"); + } + + if(@noi18nfiles){ + open OUT, ">POTFILES.in.noi18n"; + print OUT @noi18nfiles; + print "\nHere are the files which currently have no i18n strings:\n\n", + @noi18nfiles, "\n"; + print "File POTFILES.in.noi18n is being placed in directory...\n"; + print "Please delete the files from POTFILES.in or POTFILES.ignore\n"; + print "or ignore the files.\n"; + } + else{ + unlink("POTFILES.in.noi18n"); + } + + if( ! @result && ! @deletedfiles ) { + print "\nWell, it's all perfect! Congratulation!\n"; + } + } + + + else{ + print "update.pl: invalid option -- $LANG\n"; + print "Try `update.pl --help' for more information.\n"; + } + exit; + } + +elsif(-s "$LANG.po"){ + + print "Building the $PACKAGE.pot ..."; + + $c="xgettext --default-domain\=$PACKAGE --directory\=\.\." + ." --add-comments --keyword\=\_ --keyword\=N\_" + ." --files-from\=\.\/POTFILES\.in "; + $c1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot " + ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)"; + + if(($ret=system($c . " && " . $c1))==0) { + print "...done\n"; + } + else { + print "...failed\n"; + } + + if($ret==0) { + print "\nNow merging $LANG.po with $PACKAGE.pot, and creating an updated $LANG.po ...\n"; + + + $d="if msgmerge $LANG.po $PACKAGE.pot -o $LANG.new.po; then " . + " mv -f $LANG.new.po $LANG.po; " . + " msgfmt --statistics -c -v -o /dev/null $LANG.po; " . + "else " . + " echo \"msgmerge failed!\"; " . + " rm -f $LANG.new.po; ". + "fi"; + + $ret=system($d); + + exit $ret; + } +} + +else{ + print "update.pl: sorry $LANG.po does not exist!\n"; + print "Try `update.pl --help' for more information.\n"; + exit; +} -- cgit v1.2.3