Hello community, here is the log from the commit of package itstool for openSUSE:Factory checked in at Sun Oct 2 10:12:57 CEST 2011.
-------- --- openSUSE:Factory/itstool/itstool.changes 2011-09-23 02:03:49.000000000 +0200 +++ /mounts/work_src_done/STABLE/itstool/itstool.changes 2011-09-20 09:10:43.000000000 +0200 @@ -1,0 +2,8 @@ +Tue Sep 20 07:09:11 UTC 2011 - [email protected] + +- Update to version 1.1.1: + + Catch XML parsing errors and exit with error code + + Fixed placeholder translation when it contains sub-elements + + Improved autogen.sh for out of tree compilations + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- itstool-1.1.0.tar.bz2 New: ---- itstool-1.1.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ itstool.spec ++++++ --- /var/tmp/diff_new_pack.eIFifv/_old 2011-10-02 10:12:54.000000000 +0200 +++ /var/tmp/diff_new_pack.eIFifv/_new 2011-10-02 10:12:54.000000000 +0200 @@ -18,7 +18,7 @@ Name: itstool -Version: 1.1.0 +Version: 1.1.1 Release: 1 License: GPLv3+ Summary: Tool to translate XML documents using PO files ++++++ itstool-1.1.0.tar.bz2 -> itstool-1.1.1.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/ChangeLog new/itstool-1.1.1/ChangeLog --- old/itstool-1.1.0/ChangeLog 2011-06-27 20:58:10.000000000 +0200 +++ new/itstool-1.1.1/ChangeLog 2011-09-19 15:11:34.000000000 +0200 @@ -1,3 +1,69 @@ +commit 0520144626db679e81725aebfaba273a52fd0bf4 +Merge: 092a264 7e07396 +Author: Shaun McCance <[email protected]> +Date: Sat Sep 3 13:21:09 2011 -0400 + + Merge: Proper XML error catching [claude] + +commit 092a26470a5032c85ba8a40570ee6fd6c9fe9b30 +Merge: c3566db 48e4257 +Author: Shaun McCance <[email protected]> +Date: Sat Sep 3 13:10:19 2011 -0400 + + Merge commit '48e4257421beb439f23a78507f43aae694775974' + +commit c3566dbec79ecd2d0bbef5b42044d7b12380c034 +Merge: 6e6ca0d 6411b09 +Author: Shaun McCance <[email protected]> +Date: Sat Sep 3 10:56:58 2011 -0400 + + Merge commit 'refs/merge-requests/2' of git://gitorious.org/itstool/itstool + +commit 7e0739641507d92e1d2ec7e9b7f5e5c7c09a940a +Author: Claude Paroz <[email protected]> +Date: Wed Aug 17 13:32:42 2011 +0200 + + Catch XML errors in translated content + + itstool.in | 1 + + tests/Translate3.ll.wrong.po | 19 +++++++++++++++++++ + tests/run_tests.py | 24 ++++++++++++++++++------ + 3 files changed, 38 insertions(+), 6 deletions(-) + +commit 1abdf1b0d83b37a9f298563e139c118c9a62629b +Author: Claude Paroz <[email protected]> +Date: Wed Aug 17 12:10:36 2011 +0200 + + Catch XML parsing errors so itstool does properly exit with error code + + itstool.in | 10 ++++++++++ + tests/Malformed.xml | 6 ++++++ + tests/run_tests.py | 18 ++++++++++++------ + 3 files changed, 28 insertions(+), 6 deletions(-) + +commit 6411b09431eb72ed5426d40a0142e7479c486d3b +Author: Claude Paroz <[email protected]> +Date: Wed Jun 29 21:15:46 2011 +0200 + + Fix placeholder translation when it contains sub-elements + + itstool.in | 12 ++++++++++-- + tests/Placeholder.ll.po | 19 +++++++++++++++++++ + tests/Placeholder.ll.xml | 6 ++++++ + tests/Placeholder.xml | 5 +++++ + tests/run_tests.py | 4 +++- + 5 files changed, 43 insertions(+), 3 deletions(-) + +commit 6e6ca0daf4084aaa94268f062461e1ec712698fa +Author: Shaun McCance <[email protected]> +Date: Mon Jun 27 14:59:56 2011 -0400 + + Version 1.1.0 + + NEWS | 14 ++++++++++++++ + configure.ac | 2 +- + 2 files changed, 15 insertions(+), 1 deletions(-) + commit 187fcbe585560f128c7436e66f6b8e3a789a73b0 Author: Shaun McCance <[email protected]> Date: Sun Jun 26 12:28:10 2011 -0400 @@ -353,6 +419,17 @@ itstool | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) +commit 48e4257421beb439f23a78507f43aae694775974 +Author: Javier Jardón <[email protected]> +Date: Tue Apr 26 17:00:23 2011 +0100 + + autogen.sh: Improve script to handle out of tree compilations + + Also handle the option to not run the configure step + + autogen.sh | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + commit 65ecbc8856e91b991d812e08dfa10300504bfb1b Author: Shaun McCance <[email protected]> Date: Tue Apr 26 11:33:03 2011 -0400 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/NEWS new/itstool-1.1.1/NEWS --- old/itstool-1.1.0/NEWS 2011-06-27 20:57:50.000000000 +0200 +++ new/itstool-1.1.1/NEWS 2011-09-19 15:11:16.000000000 +0200 @@ -1,3 +1,10 @@ +1.1.1 +===== +* Catch XML parsing errors and exit with error code +* Fixed placeholder translation when it contains sub-elements +* Improved autogen.sh for out of tree compilations +* Commits by Claude Paroz, Javier Jardón + 1.1.0 ===== * Added itst:context to set msgctxt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/configure new/itstool-1.1.1/configure --- old/itstool-1.1.0/configure 2011-06-27 20:58:08.000000000 +0200 +++ new/itstool-1.1.1/configure 2011-09-19 15:11:32.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.66 for itstool 1.1.0. +# Generated by GNU Autoconf 2.66 for itstool 1.1.1. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -548,8 +548,8 @@ # Identity of this package. PACKAGE_NAME='itstool' PACKAGE_TARNAME='itstool' -PACKAGE_VERSION='1.1.0' -PACKAGE_STRING='itstool 1.1.0' +PACKAGE_VERSION='1.1.1' +PACKAGE_STRING='itstool 1.1.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1165,7 +1165,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures itstool 1.1.0 to adapt to many kinds of systems. +\`configure' configures itstool 1.1.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1231,7 +1231,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of itstool 1.1.0:";; + short | recursive ) echo "Configuration of itstool 1.1.1:";; esac cat <<\_ACEOF @@ -1298,7 +1298,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -itstool configure 1.1.0 +itstool configure 1.1.1 generated by GNU Autoconf 2.66 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1315,7 +1315,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by itstool $as_me 1.1.0, which was +It was created by itstool $as_me 1.1.1, which was generated by GNU Autoconf 2.66. Invocation command line was $ $0 $@ @@ -2130,7 +2130,7 @@ # Define the identity of the package. PACKAGE='itstool' - VERSION='1.1.0' + VERSION='1.1.1' cat >>confdefs.h <<_ACEOF @@ -2726,7 +2726,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by itstool $as_me 1.1.0, which was +This file was extended by itstool $as_me 1.1.1, which was generated by GNU Autoconf 2.66. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2779,7 +2779,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -itstool config.status 1.1.0 +itstool config.status 1.1.1 configured by $0, generated by GNU Autoconf 2.66, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/configure.ac new/itstool-1.1.1/configure.ac --- old/itstool-1.1.0/configure.ac 2011-06-27 20:53:05.000000000 +0200 +++ new/itstool-1.1.1/configure.ac 2011-09-19 15:11:21.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([itstool], [1.1.0], []) +AC_INIT([itstool], [1.1.1], []) AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2]) DATADIR=`( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/itstool new/itstool-1.1.1/itstool --- old/itstool-1.1.0/itstool 2011-06-27 20:58:10.000000000 +0200 +++ new/itstool-1.1.1/itstool 2011-09-19 15:11:34.000000000 +0200 @@ -17,7 +17,7 @@ # Place, Suite 330, Boston, MA 0211-1307 USA. # -VERSION="1.1.0" +VERSION="1.1.1" DATADIR="/usr/local/share" import gettext @@ -287,9 +287,14 @@ return False return node.name == name and node.ns() is not None and node.ns().content == ns +def xml_error_catcher(doc, error): + doc._xml_err += " %s" % error + class Document (object): def __init__ (self, filename, messages): + self._xml_err = '' + libxml2.registerErrorHandler(xml_error_catcher, self) ctxt = libxml2.createFileParserCtxt(filename) ctxt.lineNumbers(1) ctxt.replaceEntities(1) @@ -313,6 +318,7 @@ self._localrules.append(child) pre_process(child) pre_process(self._doc) + self._check_errors() self._msgs = messages self._its_translate_nodes = {} self._its_within_text_nodes = {} @@ -325,6 +331,10 @@ self._itst_credits = None self._itst_externals = [] + def _check_errors(self): + if self._xml_err: + raise libxml2.parserError(self._xml_err) + def apply_its_rule(self, rule, xpath): if rule.type != 'element': return @@ -644,6 +654,7 @@ if child.type == 'element': fix_node_ns(child, childnsdefs) fix_node_ns(node, {}) + self._check_errors() def translate_attrs(self, oldnode, newnode): trans_attrs = [attr for attr in xml_attr_iter(oldnode) if self._its_translate_nodes.get(attr, 'no') == 'yes'] @@ -692,8 +703,13 @@ if child.type != 'element': continue if child.ns() is not None and child.ns().content == NS_BLANK: - repl = self.get_translated(msg.get_placeholder(child.name).node, translations) - child.replaceNode(repl) + ph_node = msg.get_placeholder(child.name).node + if self.has_child_elements(ph_node): + self.merge_translations(translations, None, ph_node) + child.replaceNode(ph_node) + else: + repl = self.get_translated(ph_node, translations) + child.replaceNode(repl) scan_node(child) scan_node(trnode) retnode = node.copyNode(2) @@ -802,6 +818,9 @@ def is_translation_unit (self, node): return self.get_its_within_text(node) != 'yes' + def has_child_elements(self, node): + return len([child for child in xml_child_iter(node) if child.type=='element']) + def get_preserve_space (self, node): if node.getSpacePreserve() == 1: return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/itstool.1 new/itstool-1.1.1/itstool.1 --- old/itstool-1.1.0/itstool.1 2011-06-27 20:58:10.000000000 +0200 +++ new/itstool-1.1.1/itstool.1 2011-09-19 15:11:34.000000000 +0200 @@ -1,4 +1,4 @@ -.TH ITSTOOL "1" "May 2011" "itstool 1.1.0" +.TH ITSTOOL "1" "May 2011" "itstool 1.1.1" .SH NAME itstool \- convert between XML and PO using ITS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/itstool-1.1.0/itstool.in new/itstool-1.1.1/itstool.in --- old/itstool-1.1.0/itstool.in 2011-06-26 18:25:36.000000000 +0200 +++ new/itstool-1.1.1/itstool.in 2011-09-03 19:23:20.000000000 +0200 @@ -287,9 +287,14 @@ return False return node.name == name and node.ns() is not None and node.ns().content == ns +def xml_error_catcher(doc, error): + doc._xml_err += " %s" % error + class Document (object): def __init__ (self, filename, messages): + self._xml_err = '' + libxml2.registerErrorHandler(xml_error_catcher, self) ctxt = libxml2.createFileParserCtxt(filename) ctxt.lineNumbers(1) ctxt.replaceEntities(1) @@ -313,6 +318,7 @@ self._localrules.append(child) pre_process(child) pre_process(self._doc) + self._check_errors() self._msgs = messages self._its_translate_nodes = {} self._its_within_text_nodes = {} @@ -325,6 +331,10 @@ self._itst_credits = None self._itst_externals = [] + def _check_errors(self): + if self._xml_err: + raise libxml2.parserError(self._xml_err) + def apply_its_rule(self, rule, xpath): if rule.type != 'element': return @@ -644,6 +654,7 @@ if child.type == 'element': fix_node_ns(child, childnsdefs) fix_node_ns(node, {}) + self._check_errors() def translate_attrs(self, oldnode, newnode): trans_attrs = [attr for attr in xml_attr_iter(oldnode) if self._its_translate_nodes.get(attr, 'no') == 'yes'] @@ -692,8 +703,13 @@ if child.type != 'element': continue if child.ns() is not None and child.ns().content == NS_BLANK: - repl = self.get_translated(msg.get_placeholder(child.name).node, translations) - child.replaceNode(repl) + ph_node = msg.get_placeholder(child.name).node + if self.has_child_elements(ph_node): + self.merge_translations(translations, None, ph_node) + child.replaceNode(ph_node) + else: + repl = self.get_translated(ph_node, translations) + child.replaceNode(repl) scan_node(child) scan_node(trnode) retnode = node.copyNode(2) @@ -802,6 +818,9 @@ def is_translation_unit (self, node): return self.get_its_within_text(node) != 'yes' + def has_child_elements(self, node): + return len([child for child in xml_child_iter(node) if child.type=='element']) + def get_preserve_space (self, node): if node.getSpacePreserve() == 1: return True continue with "q"... Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
