commit intltool for openSUSE:Factory
Hello community, here is the log from the commit of package intltool for openSUSE:Factory checked in at Thu Mar 26 17:24:31 CET 2009. -------- --- GNOME/intltool/intltool.changes 2009-01-30 15:24:02.000000000 +0100 +++ intltool/intltool.changes 2009-03-14 22:39:35.000000000 +0100 @@ -1,0 +2,17 @@ +Sat Mar 14 22:31:20 CET 2009 - mboman@suse.de + +- Update to version 0.40.6: + + Update for new usage style and to refer to server files instead + of oaf + + Don't hardcode /bin/sh as the shell + + Add basic support for PACKAGE_BUGREPORT specified by packages + + Check for at least perl 5.8.1, and print the found version + + Replace iconv usage with perl's internal Encode::from_to() + + Quote the grep arguments that use ^ + + Add support for extracting string data from Bioware Aurora Talk + Table format files, along with the extra metadata associated + with the strings + + Redirect grep output to /dev/null +- Don't run autoreconf + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- intltool-0.40.5.tar.bz2 New: ---- intltool-0.40.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ intltool.spec ++++++ --- /var/tmp/diff_new_pack.hS1105/_old 2009-03-26 17:22:28.000000000 +0100 +++ /var/tmp/diff_new_pack.hS1105/_new 2009-03-26 17:22:28.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package intltool (Version 0.40.5) +# spec file for package intltool (Version 0.40.6) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -21,11 +21,12 @@ Name: intltool BuildRequires: perl-XML-Parser Summary: Internationalization Tool Collection -Version: 0.40.5 -Release: 3 +Version: 0.40.6 +Release: 1 Group: Development/Tools/Other BuildArch: noarch -Requires: gettext-tools perl-XML-Parser +Requires: gettext-tools +Requires: perl-XML-Parser Provides: xml-i18n-tools Obsoletes: xml-i18n-tools License: GPL v2 or later @@ -51,7 +52,6 @@ %setup -q %build -autoreconf -f -i %configure make %{?jobs:-j%jobs} #make check @@ -72,6 +72,20 @@ %doc %{_mandir}/man8/*.* %changelog +* Sat Mar 14 2009 mboman@suse.de +- Update to version 0.40.6: + + Update for new usage style and to refer to server files instead + of oaf + + Don't hardcode /bin/sh as the shell + + Add basic support for PACKAGE_BUGREPORT specified by packages + + Check for at least perl 5.8.1, and print the found version + + Replace iconv usage with perl's internal Encode::from_to() + + Quote the grep arguments that use ^ + + Add support for extracting string data from Bioware Aurora Talk + Table format files, along with the extra metadata associated + with the strings + + Redirect grep output to /dev/null +- Don't run autoreconf * Fri Jan 30 2009 vuntz@novell.com - Requires gettext-tools instead of gettext-devel. Fix bnc#459088. - Drop intltool-extract-check-hack.patch: it shouldn't be needed ++++++ intltool-0.40.5.tar.bz2 -> intltool-0.40.6.tar.bz2 ++++++ ++++ 3297 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/ChangeLog new/intltool-0.40.6/ChangeLog --- old/intltool-0.40.5/ChangeLog 2008-10-08 15:48:22.000000000 +0200 +++ new/intltool-0.40.6/ChangeLog 2009-03-14 18:22:16.000000000 +0100 @@ -1,3 +1,67 @@ +2009-03-14 Rodney Dawes <dobey@gnome.org> + + * configure.in: + Up version to 0.40.6 for release + +2009-03-14 Rodney Dawes <dobey@gnome.org> + + * README: + Update for new usage style and to refer to server files instead of oaf + + Fixes #568863 + +2009-02-28 Rodney Dawes <dobey@gnome.org> + + * Makefile.in.in: + Don't hardcode /bin/sh as the shell + + Fixes #573525 + +2008-11-24 Rodney Dawes <dobey.pwns@gmail.com> + + * intltool-update.in: + Add basic support for PACKAGE_BUGREPORT specified by packages + +2008-11-24 Rodney Dawes <dobey.pwns@gmail.com> + + * configure.ac: + Check for at least perl 5.8.1, and print the found version + + * intltool.m4: + Check for at least perl 5.8.1 and print the found version + Add _IT_SUBST macro to abstract usage of _AM_SUBST_NOTMAKE when we + are using automake 1.10 or nwere + + Fixes #562085 and #561513 + +2008-11-22 Rodney Dawes <dobey.pwns@gmail.com> + + * intltool-merge.in: + Replace iconv usage with perl's internal Encode::from_to() + +2008-11-17 Rodney Dawes <dobey.pwns@gmail.com> + + * Makefile.in.in: + Quote the grep arguments that use ^ + + Fixes #559528 + +2008-11-16 Rodney Dawes <dobey.pwns@gmail.com> + + * intltool-extract.in: + Add support for extracting string data from Bioware Aurora Talk Table + format files, along with the extra metadata associated with the strings + + * intltool-update.in: + Add support for Bioware Aurora Talk Table format files in POTFILES + +2008-11-05 Rodney Dawes <dobey.pwns@gmail.com> + + * intltool.m4: + Redirect grep output to /dev/null + + Fixes #557069 + 2008-10-08 Rodney Dawes <dobey.pwns@gmail.com> * configure.in: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/configure.in new/intltool-0.40.6/configure.in --- old/intltool-0.40.5/configure.in 2008-10-08 15:47:56.000000000 +0200 +++ new/intltool-0.40.6/configure.in 2009-03-14 18:20:38.000000000 +0100 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to create configure. AC_INIT(intltoolize.in) -INTLTOOL_VERSION=0.40.5 +INTLTOOL_VERSION=0.40.6 AM_INIT_AUTOMAKE(intltool, $INTLTOOL_VERSION) @@ -13,8 +13,13 @@ if test -z "$PERL"; then AC_MSG_ERROR([perl not found]) fi -if test -z "`$PERL -v | fgrep 'v5.' 2> /dev/null`" -a -z "`$PERL -v | fgrep 'version 5.' 2> /dev/null`"; then - AC_MSG_ERROR([perl 5.x required for intltool]) +AC_MSG_CHECKING([for perl >= 5.8.1]) +$PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + AC_MSG_ERROR([perl 5.8.1 is required for intltool]) +else + PERL_VERSION="`$PERL -e \"printf '%vd', $^V\"`" + AC_MSG_RESULT([$PERL_VERSION]) fi AC_MSG_CHECKING([for XML::Parser]) if `$PERL -e "require XML::Parser" 2>/dev/null`; then diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/INSTALL new/intltool-0.40.6/INSTALL --- old/intltool-0.40.5/INSTALL 2008-07-26 21:59:24.000000000 +0200 +++ new/intltool-0.40.6/INSTALL 2009-03-14 18:22:30.000000000 +0100 @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006 Free Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -10,10 +10,7 @@ Basic Installation ================== -Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. +These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -26,9 +23,9 @@ It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is +the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale -cache files. +cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail @@ -38,17 +35,20 @@ may remove or edit it. The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. 2. Type `make' to compile the package. @@ -78,7 +78,7 @@ by setting variables in the command line or in the environment. Here is an example: - ./configure CC=c99 CFLAGS=-g LIBS=-lposix + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. @@ -87,15 +87,17 @@ You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. Installation Names ================== @@ -188,12 +190,12 @@ ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). +overridden in the site shell script). Here is a another example: -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: + /bin/bash ./configure CONFIG_SHELL=/bin/bash - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/intltool-extract.in new/intltool-0.40.6/intltool-extract.in --- old/intltool-0.40.5/intltool-extract.in 2008-07-25 19:51:44.000000000 +0200 +++ new/intltool-0.40.6/intltool-extract.in 2008-11-17 15:05:39.000000000 +0100 @@ -164,7 +164,7 @@ "gettext/glade", "gettext/ini", "gettext/keys" "gettext/rfc822deb", "gettext/schemas", "gettext/scheme", "gettext/xml", "gettext/quoted", - "gettext/quotedxml" + "gettext/quotedxml", "gettext/tlk" -l, --local Writes output into current working directory (conflicts with --update) --update Writes output into the same directory the source file @@ -210,7 +210,9 @@ local (*IN); local $/; #slurp mode open (IN, "<$SRCDIR_ARG/$FILE") || die "can't open $SRCDIR_ARG/$FILE: $!"; - $input = <IN>; + binmode (IN); + $input = <IN>; + close IN; } &type_ini if $gettext_type eq "ini"; @@ -222,6 +224,7 @@ &type_rfc822deb if $gettext_type eq "rfc822deb"; &type_quoted if $gettext_type eq "quoted"; &type_quotedxml if $gettext_type eq "quotedxml"; + &type_tlk if $gettext_type eq "tlk"; } sub entity_decode_minimal @@ -827,6 +830,104 @@ } } +sub type_tlk { + my ($ftype, $fvers, $langid, $strcount, $stroff); + my $count = 0; + my $pos = 0; + my @inputa = split (//, $input, 21); + my $foo; + my $strdata; + + $ftype = substr ($input, 0, 3); + $fvers = substr ($input, 4, 7); + $langid = unpack ("L", $inputa[8] . $inputa[9] . + $inputa[10] . $inputa[11]); + $strcount = unpack ("L", $inputa[12] . $inputa[13] . + $inputa[14] . $inputa[15]); + $stroff = unpack ("L", $inputa[16] . $inputa[17] . + $inputa[18] . $inputa[19]); + + use bytes; + $strdata = bytes::substr ($input, $stroff); + + my $sinpos = 20; + + $foo = $inputa[$sinpos]; + $sinpos = 40 * 2000; + @inputa = split (//, $foo, $sinpos + 1); + + $pos = 0; + while ($count < $strcount) { + my ($flags, $soundref, $volvar, $pitch, $offset, $strsize, $sndlen) = 0; + + if ($count > 0 && $count % 2000 == 0) { + $foo = $inputa[$sinpos]; + my $numleft = ($strcount - $count); + if ($numleft > 2000) { + $sinpos = 40 * 2000; + } else { + $sinpos = 40 * $numleft; + } + @inputa = split (//, $foo, $sinpos + 1); + my $numbytes = @inputa; + $pos = 0; + } + + + $flags = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] . + $inputa[$pos + 2] . $inputa[$pos + 3]); + $pos += 4; + if ($flags & 0x0002) { + $soundref = join ('', @inputa[$pos..$pos + 15]); + $soundref =~ s/\0//g; + } + $pos += 16; +# According to the Bioware Aurora Talk Table Format documentation +# the VolumeVariance and PitchVariance DWORDs are not used +# We increment the pos counter, but do not read the data, here +# $volvar = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] . +# $inputa[$pos + 2] . $inputa[$pos + 3]); + $pos += 4; +# $pitch = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] . +# $inputa[$pos + 2] . $inputa[$pos + 3]); + $pos += 4; + $offset = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] . + $inputa[$pos + 2] . $inputa[$pos + 3]) + if ($flags & 0x0001); + $pos += 4; + $strsize = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] . + $inputa[$pos + 2] . $inputa[$pos + 3]) + if ($flags & 0x0001); + $pos += 4; + $sndlen = unpack ("d", $inputa[$pos] . $inputa[$pos + 1] . + $inputa[$pos + 2] . $inputa[$pos + 3]) + if ($flags & 0x0004); + $pos += 4; + + if (defined $strsize && $strsize > 0) { + my $message = substr ($strdata, $offset, $strsize); + if (defined $message) { + use Encode; + Encode::from_to ($message, "iso-8859-1", "UTF-8"); + $messages{$message} = []; + if ($message =~ /^Bad Strref$/ ) { + $comments{$message} = "DO NOT Translate this Entry."; + $comments{$message} .= "\nTLK:position=$count"; + } else { + $comments{$message} = "TLK:position=$count"; + $comments{$message} .= "; TLK:sndresref=$soundref" + if (defined $soundref && $soundref ne ""); + $comments{$message} .= "; TLK:sndlen=$sndlen" + if (defined $sndlen && $sndlen != 0); + } + } else { + print STDERR "Missing message? ID: $count\n"; + } + } + $count++; + } +} + sub msg_write { my @msgids; if (%count) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/intltool.m4 new/intltool-0.40.6/intltool.m4 --- old/intltool-0.40.5/intltool.m4 2008-10-06 19:10:03.000000000 +0200 +++ new/intltool-0.40.6/intltool.m4 2009-02-14 23:12:28.000000000 +0100 @@ -75,25 +75,25 @@ INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' -AC_SUBST(INTLTOOL_DESKTOP_RULE) -AC_SUBST(INTLTOOL_DIRECTORY_RULE) -AC_SUBST(INTLTOOL_KEYS_RULE) -AC_SUBST(INTLTOOL_PROP_RULE) -AC_SUBST(INTLTOOL_OAF_RULE) -AC_SUBST(INTLTOOL_PONG_RULE) -AC_SUBST(INTLTOOL_SERVER_RULE) -AC_SUBST(INTLTOOL_SHEET_RULE) -AC_SUBST(INTLTOOL_SOUNDLIST_RULE) -AC_SUBST(INTLTOOL_UI_RULE) -AC_SUBST(INTLTOOL_XAM_RULE) -AC_SUBST(INTLTOOL_KBD_RULE) -AC_SUBST(INTLTOOL_XML_RULE) -AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) -AC_SUBST(INTLTOOL_CAVES_RULE) -AC_SUBST(INTLTOOL_SCHEMAS_RULE) -AC_SUBST(INTLTOOL_THEME_RULE) -AC_SUBST(INTLTOOL_SERVICE_RULE) -AC_SUBST(INTLTOOL_POLICY_RULE) +_IT_SUBST(INTLTOOL_DESKTOP_RULE) +_IT_SUBST(INTLTOOL_DIRECTORY_RULE) +_IT_SUBST(INTLTOOL_KEYS_RULE) +_IT_SUBST(INTLTOOL_PROP_RULE) +_IT_SUBST(INTLTOOL_OAF_RULE) +_IT_SUBST(INTLTOOL_PONG_RULE) +_IT_SUBST(INTLTOOL_SERVER_RULE) +_IT_SUBST(INTLTOOL_SHEET_RULE) +_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) +_IT_SUBST(INTLTOOL_UI_RULE) +_IT_SUBST(INTLTOOL_XAM_RULE) +_IT_SUBST(INTLTOOL_KBD_RULE) +_IT_SUBST(INTLTOOL_XML_RULE) +_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) +_IT_SUBST(INTLTOOL_CAVES_RULE) +_IT_SUBST(INTLTOOL_SCHEMAS_RULE) +_IT_SUBST(INTLTOOL_THEME_RULE) +_IT_SUBST(INTLTOOL_SERVICE_RULE) +_IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) @@ -110,12 +110,17 @@ AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi -AC_PATH_PROG(INTLTOOL_PERL, [perl]) +AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then - AC_MSG_ERROR([perl not found; required for intltool]) + AC_MSG_ERROR([perl not found]) fi -if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then - AC_MSG_ERROR([perl 5.x required for intltool]) +AC_MSG_CHECKING([for perl >= 5.8.1]) +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + AC_MSG_ERROR([perl 5.8.1 is required for intltool]) +else + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" + AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) @@ -171,7 +176,7 @@ dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ - if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" ]; then + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" @@ -193,6 +198,17 @@ ])dnl ]) +# _IT_SUBST(VARIABLE) +# ------------------- +# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +# +AC_DEFUN([_IT_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) + # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/intltool-merge.in new/intltool-0.40.6/intltool-merge.in --- old/intltool-0.40.5/intltool-merge.in 2008-08-25 04:57:21.000000000 +0200 +++ new/intltool-0.40.6/intltool-merge.in 2009-02-14 23:12:28.000000000 +0100 @@ -42,6 +42,7 @@ use Getopt::Long; use Text::Wrap; use File::Basename; +use Encode; my $must_end_tag = -1; my $last_depth = -1; @@ -95,23 +96,6 @@ my %po_files_by_lang = (); my %translations = (); -my $iconv = $ENV{"ICONV"} || "iconv"; -my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null'); - -sub isProgramInPath -{ - my ($file) = @_; - # If either a file exists, or when run it returns 0 exit status - return 1 if ((-x $file) or (system("$file -l >$devnull") == 0)); - return 0; -} - -if (! isProgramInPath ("$iconv")) -{ - print STDERR " *** iconv is not found on this system!\n". - " *** Without it, intltool-merge can not convert encodings.\n"; - exit; -} # Use this instead of \w for XML files to handle more possible characters. my $w = "[-A-Za-z0-9._:]"; @@ -316,29 +300,6 @@ } } -sub get_local_charset -{ - my ($encoding) = @_; - my $alias_file = $ENV{"G_CHARSET_ALIAS"} || "@INTLTOOL_LIBDIR@/charset.alias"; - - # seek character encoding aliases in charset.alias (glib) - - if (open CHARSET_ALIAS, $alias_file) - { - while (<CHARSET_ALIAS>) - { - next if /^\#/; - return $1 if (/^\s*([-._a-zA-Z0-9]+)\s+$encoding\b/i) - } - - close CHARSET_ALIAS; - } - - # if not found, return input string - - return $encoding; -} - sub get_po_encoding { my ($in_po_file) = @_; @@ -362,11 +323,6 @@ $encoding = "ISO-8859-1"; } - system ("$iconv -f $encoding -t UTF-8 <$devnull 2>$devnull"); - if ($?) { - $encoding = get_local_charset($encoding); - } - return $encoding } @@ -443,13 +399,17 @@ sub add_translation { - my ($lang, $msgctxt, $msgid, $msgstr) = @_; + my ($lang, $encoding, $msgctxt, $msgid, $msgstr) = @_; return if !($msgid && $msgstr); if ($msgctxt) { $msgid = "$msgctxt\004$msgid"; } + if (uc $encoding ne "UTF-8") { + Encode::from_to ($msgid, $encoding, "UTF-8"); + Encode::from_to ($msgstr, $encoding, "UTF-8"); + } $translations{$lang, $msgid} = $msgstr; } @@ -458,26 +418,16 @@ for my $lang (keys %po_files_by_lang) { my $po_file = $po_files_by_lang{$lang}; + my $encoding = "UTF-8"; if ($UTF8_ARG) { - my $encoding = get_po_encoding ($po_file); - - if (lc $encoding eq "utf-8") - { - open PO_FILE, "<$po_file"; - } - else - { - print "NOTICE: $po_file is not in UTF-8 but $encoding, converting...\n" unless $QUIET_ARG;; - - open PO_FILE, "$iconv -f $encoding -t UTF-8 $po_file|"; + $encoding = get_po_encoding ($po_file); + if (uc $encoding ne "UTF-8") { + print "NOTICE: $po_file is not in UTF-8 but $encoding, converting...\n" unless $QUIET_ARG;; } - } - else - { - open PO_FILE, "<$po_file"; } + open PO_FILE, "<$po_file"; my $nextfuzzy = 0; my $inmsgctxt = 0; @@ -494,7 +444,8 @@ if (/^msgctxt "((\\.|[^\\]+)*)"/ ) { if ($inmsgstr) { - add_translation ($lang, $msgctxt, $msgid, $msgstr); + add_translation ($lang, $encoding, + $msgctxt, $msgid, $msgstr); $msgctxt = ""; $msgid = ""; $msgstr = ""; @@ -509,7 +460,8 @@ if (/^msgid "((\\.|[^\\]+)*)"/ ) { if ($inmsgstr) { - add_translation ($lang, $msgctxt, $msgid, $msgstr); + add_translation ($lang, $encoding, + $msgctxt, $msgid, $msgstr); $msgctxt = ""; $msgid = ""; $msgstr = ""; @@ -541,7 +493,8 @@ $msgstr .= unescape_po_string($1) if $inmsgstr; } } - $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; + add_translation ($lang, $encoding, $msgctxt, $msgid, $msgstr) + if ($inmsgstr); } } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/intltool.spec new/intltool-0.40.6/intltool.spec --- old/intltool-0.40.5/intltool.spec 2008-10-08 15:48:34.000000000 +0200 +++ new/intltool-0.40.6/intltool.spec 2009-03-14 18:22:33.000000000 +0100 @@ -1,6 +1,6 @@ # Note this is NOT a relocatable thing :) %define name intltool -%define ver 0.40.5 +%define ver 0.40.6 %define RELEASE 1 %define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE} diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/intltool-update.in new/intltool-0.40.6/intltool-update.in --- old/intltool-0.40.5/intltool-update.in 2008-07-20 21:56:34.000000000 +0200 +++ new/intltool-0.40.6/intltool-update.in 2009-02-14 23:12:28.000000000 +0100 @@ -84,6 +84,9 @@ "theme(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec "service(?:\\.in)+"; # DBus specific +my $tlk_support = +"tlk(?:\\.in)+"; # Bioware Aurora Talk Table Format + my $buildin_gettext_support = "c|y|cs|cc|cpp|c\\+\\+|h|hh|gob|py"; @@ -232,6 +235,7 @@ my $xml_regex = "(?:" . $xml_support . ")"; my $ini_regex = "(?:" . $ini_support . ")"; + my $tlk_regex = "(?:" . $tlk_support . ")"; my $buildin_regex = "(?:" . $buildin_gettext_support . ")"; if ($type =~ /\[type: gettext\/([^\]].*)]/) @@ -265,6 +269,10 @@ { $gettext_type="ini"; } + elsif ($type =~ /$tlk_regex$/) + { + $gettext_type="tlk"; + } elsif ($type =~ /$buildin_regex$/) { $gettext_type="buildin"; @@ -575,6 +583,7 @@ warn "If some of these files are left out on purpose then please add them to\n". "POTFILES.skip instead of POTFILES.in. A file \e[1m'missing'\e[0m containing this list\n". "of left out files has been written in the current directory.\n"; + warn "Please report to ". $varhash{"PACKAGE_BUGREPORT"} ."\n" if (defined $varhash{"PACKAGE_BUGREPORT"}); } if (@buf_potfiles_notexist) { @@ -586,7 +595,8 @@ warn "\e[1mThe following files do not exist anymore:\e[0m\n\n"; warn @buf_potfiles_notexist, "\n"; warn "Please remove them from POTFILES.in. A file \e[1m'notexist'\e[0m\n". - "containing this list of absent files has been written in the current directory.\n"; + "containing this list of absent files has been written in the current directory.\n"; + warn "Please report to ". $varhash{"PACKAGE_BUGREPORT"} ."\n" if (defined $varhash{"PACKAGE_BUGREPORT"}); } } @@ -651,7 +661,7 @@ my $gettext_type= &POFile_DetermineType ($1); - if (/\.($xml_support|$ini_support)$/ || /^\[/) + if (/\.($xml_support|$ini_support|$tlk_support)$/ || /^\[/) { s/^\[[^\[].*]\s*//; @@ -726,7 +736,7 @@ { $forced_gettext_code=$1; } - elsif (/\.($xml_support|$ini_support)$/ || /^\[/) + elsif (/\.($xml_support|$ini_support|$tlk_support)$/ || /^\[/) { s/^\[.*]\s*//; print OUTFILE "../$_.h\n"; @@ -1073,6 +1083,7 @@ my $version; my $domain = &FindMakevarsDomain; my $name = $domain || "untitled"; + my $bugurl; &CONF_Handle_Open; @@ -1106,18 +1117,23 @@ $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); } - if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)/m) + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m) { ($name, $version) = ($1, $2); + $bugurl = $3 if (defined $3); + $name =~ s/[\[\]\s]//g; $version =~ s/[\[\]\s]//g; + $bugurl =~ s/[\[\]\s]//g if (defined $bugurl); $name =~ s/\(+$//g; $version =~ s/\(+$//g; + $bugurl =~ s/\(+$//g if (defined $bugurl); $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/); } # \s makes this not work, why? diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/Makefile.in.in new/intltool-0.40.6/Makefile.in.in --- old/intltool-0.40.5/Makefile.in.in 2008-09-04 03:54:19.000000000 +0200 +++ new/intltool-0.40.6/Makefile.in.in 2009-03-08 22:30:05.000000000 +0100 @@ -21,7 +21,7 @@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -56,7 +56,7 @@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) -USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) +USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep '^$$lang$$' $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep '^$$lang$$'`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/missing new/intltool-0.40.6/missing --- old/intltool-0.40.5/missing 2008-10-08 15:48:32.000000000 +0200 +++ new/intltool-0.40.6/missing 2009-03-14 18:22:29.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2006-05-10.23 +scriptversion=2005-06-08.21 -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. @@ -33,8 +33,6 @@ fi run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. @@ -46,7 +44,7 @@ msg="missing on your system" -case $1 in +case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= @@ -79,7 +77,6 @@ aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c @@ -109,7 +106,7 @@ # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). -case $1 in +case "$1" in lex|yacc) # Not GNU programs, they don't have --version. ;; @@ -138,7 +135,7 @@ # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case $1 in +case "$1" in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -167,7 +164,7 @@ test -z "$files" && files="config.h" touch_files= for f in $files; do - case $f in + case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -195,8 +192,8 @@ You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else @@ -217,25 +214,25 @@ in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h - if test $# -ne 1; then + if [ $# -ne 1 ]; then eval LASTARG="\${$#}" - case $LASTARG in + case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then + if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then + if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if test ! -f y.tab.h; then + if [ ! -f y.tab.h ]; then echo >y.tab.h fi - if test ! -f y.tab.c; then + if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; @@ -247,18 +244,18 @@ in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c - if test $# -ne 1; then + if [ $# -ne 1 ]; then eval LASTARG="\${$#}" - case $LASTARG in + case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then + if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if test ! -f lex.yy.c; then + if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; @@ -270,9 +267,11 @@ \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file @@ -290,17 +289,11 @@ DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi @@ -324,13 +317,13 @@ fi firstarg="$1" if shift; then - case $firstarg in + case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac - case $firstarg in + case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/intltool-0.40.5/README new/intltool-0.40.6/README --- old/intltool-0.40.5/README 2008-06-06 16:40:34.000000000 +0200 +++ new/intltool-0.40.6/README 2009-03-14 18:12:30.000000000 +0100 @@ -47,10 +47,6 @@ IT_PROG_INTLTOOL([minimum required version], [no-xml]) - o Add intltool-extract.in, intltool-merge.in, and intltool-update.in - to EXTRA_DIST in your top-level Makefile.am and also to the top-level - .cvsignore. Also add the non-.in versions to .cvsignore. - o Add intltool-extract, intltool-merge, and intltool-update to DISTCLEANFILES in your top-level Makefile.am. @@ -132,40 +128,33 @@ them from POTFILES.in -Extra Steps for SERVER Files (formerly .oafinfo or .oaf) +Extra Steps for SERVER Files (formerly .server) ............................. To get server translation extraction and merging requires a few more steps: - o Rename your .oafinfo (or .oaf) files to .oaf.in or .server.in and put an + o Rename your .server files to .server.in and put an underscore before every value property for string attributes that should be localized. - o Add the new .oaf.in or .server.in files to POTFILES.in. + o Add the new .server.in or .server.in files to POTFILES.in. o Put lines like these in every Makefile.am that installs oaf files: --- start ---- - oafdir = $(datadir)/oaf + serverdir = $(libdir)/bonobo/servers - oaf_in_files = My_OAF_info_file.oaf.in - oaf_DATA = $(oaf_in_files:.oaf.in=.oaf) + server_in_files = My_Server_file.server.in + server_DATA = $(server_in_files:.server.in=.server) - @INTLTOOL_OAF_RULE@ + @INTLTOOL_SERVER_RULE@ - EXTRA_DIST=$(oaf_in_files) $(oaf_DATA) + EXTRA_DIST=$(server_in_files) $(server_DATA) --- end ---- -At this point, your oaf translations will be extracted and -merged. Also, so long as you are renaming the .oafinfo files to -.oaf.in, you should take the opportunity to rename them to the new base -naming convention, with namespacing, for example: - - foo.oafinfo --> GNOME_Foo.oaf.in - foo-baa.oafinfo --> GNOME_Foo_baa.oaf.in - +At this point, your server translations will be extracted and merged. Extra Steps for XML Files (Files with .xml Extension) ..................................................... ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de