[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[libreoffice] 01/01: backport fix from master fixing l10ntools' XML parsing with ICU 55 and remove l10ntools build hack again



This is an automated email from the git hooks/post-receive script.

rene pushed a commit to branch master
in repository libreoffice.

commit e638dd81403e7d4c4f4fd2be88083c1e634712f4
Author: Rene Engelhard <rene@debian.org>
Date:   Wed Oct 21 15:18:16 2015 +0200

    backport fix from master fixing l10ntools' XML parsing with ICU 55 and remove l10ntools build hack again
---
 changelog                            |  5 ++++
 patches/fix-xmlparse-with-icu55.diff | 33 +++++++++++++++++++++++++++
 patches/series                       |  1 +
 rules                                | 44 ------------------------------------
 4 files changed, 39 insertions(+), 44 deletions(-)

diff --git a/changelog b/changelog
index 04c44d3..ccef417 100644
--- a/changelog
+++ b/changelog
@@ -1,9 +1,14 @@
 libreoffice (1:5.0.3~rc1-2) unstable; urgency=medium
 
+  * debian/patches/fix-xmlparse-with-icu55.diff: backport fix from
+    master fixing l10ntools' XML parsing with ICU 55
+
   * debian/*.maintscript: add loads of dir_to_symlink calls to packages
     moving dir->symlink due to dh_installdocs --link-doc (closes: #801753) 
   * debian/control.in:
     - make -gnome only recommend -gtk. it doesn't need -gtks libs
+  * debian/rules:
+    - remove l10ntools build hack again, now obsolete
 
  -- Rene Engelhard <rene@debian.org>  Mon, 19 Oct 2015 00:01:06 +0200
 
diff --git a/patches/fix-xmlparse-with-icu55.diff b/patches/fix-xmlparse-with-icu55.diff
new file mode 100644
index 0000000..f028f51
--- /dev/null
+++ b/patches/fix-xmlparse-with-icu55.diff
@@ -0,0 +1,33 @@
+From 84017530bc5579e02fc4a2a9d31fe36a9ad28518 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <erack@redhat.com>
+Date: Wed, 21 Oct 2015 01:48:17 +0200
+Subject: properly check for ICU status so known tags get actually recognized
+
+nIcuErr after the second RegexMatcher::find() call was
+U_STRING_NOT_TERMINATED_WARNING hence a check for U_ZERO_ERROR failed
+and a content string of "foo <emph>bar</emph> baz" became
+"foo <emph>bar&lt;/emph&gt; baz" which later provoked a missing ending
+tag error.
+
+This should had used U_SUCCESS(nIcuErr) instead and only worked by
+chance. Apparently the warning wasn't issued in earlier ICU versions and
+only introduced with 55 or 56.
+
+Change-Id: I36482c928544fc6e8c0403997af33084a47d4bea
+
+diff --git a/l10ntools/source/xmlparse.cxx b/l10ntools/source/xmlparse.cxx
+index becad85..eae496a 100644
+--- a/l10ntools/source/xmlparse.cxx
++++ b/l10ntools/source/xmlparse.cxx
+@@ -1124,7 +1124,7 @@ OString XMLUtil::QuotHTML( const OString &rString )
+     icu::UnicodeString sReturn;
+     int32_t nEndPos = 0;
+     int32_t nStartPos = 0;
+-    while( aRegexMatcher.find(nStartPos, nIcuErr) && nIcuErr == U_ZERO_ERROR )
++    while( aRegexMatcher.find(nStartPos, nIcuErr) && U_SUCCESS(nIcuErr) )
+     {
+         nStartPos = aRegexMatcher.start(nIcuErr);
+         if ( nEndPos < nStartPos )
+-- 
+cgit v0.10.2
+
diff --git a/patches/series b/patches/series
index 8d6e17e..5d4c71b 100644
--- a/patches/series
+++ b/patches/series
@@ -30,3 +30,4 @@ gcj-no-bitness-check.diff
 rsc-no-error-about-unknown-switch.diff
 liborcus-0.9.1.diff
 disable-tiledrendering-test.diff
+fix-xmlparse-with-icu55.diff
diff --git a/rules b/rules
index 8602353..f00bf74 100755
--- a/rules
+++ b/rules
@@ -1947,31 +1947,6 @@ $(STAMP_DIR)/build-indep:
 
 	rm -f config.status autogen.lastrun
 
-ifneq "$(BUILD_ISOS)" "en-US"
-ifneq "$(JESSIE_BACKPORT)" "y"
-ifeq "$(ENABLE_HELP)" "y"
-	# FIXME: I have no f* idea what breaks here. Maybe gcc5/libstdc++6 transition related?
-	# Without this helpex gives loads of "parser errors" and the localized help is broken. Interestingly one needs
-	# all the three internally to fi^Wworkaround this
-	$(MAKE) l10ntools.clean
-	PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \
-	./autogen.sh $(filter-out --with-system-boost,$(filter-out --with-system-icu,$(filter-out --with-system-expat,$(CONFIGURE_FLAGS)))) --disable-ccache --disable-collada --disable-ext-mariadb-connector --disable-firebird-sdbc
-  ifneq (,$(findstring boost,$(SYSTEM_STUFF)))
-	cd external/boost && $(MAKE)
-  endif
-  ifneq (,$(findstring icu,$(SYSTEM_STUFF)))
-	cd external/icu && $(MAKE)
-  endif
-  ifneq (,$(findstring expat,$(SYSTEM_STUFF)))
-	cd external/expat && $(MAKE)
-  endif
-	$(MAKE) l10ntools
-endif
-endif
-endif
-
-	rm -f config.status autogen.lastrun
-
 	PATH=$(BUILD_PATH) LD_LIBRARY_PATH=$(BUILD_LD_LIBRARY_PATH) \
 	MARIADBCONFIG=$(MARIADBCONFIG) \
 	FIREBIRD_CFLAGS=$(FIREBIRD_CFLAGS) FIREBIRD_LIBS=$(FIREBIRD_LIBS) \
@@ -1986,25 +1961,6 @@ ifeq "$(BUILD_TEST_PACKAGE)" "y"
   endif
 endif
 
-ifneq "$(BUILD_ISOS)" "en-US"
-ifneq "$(JESSIE_BACKPORT)" "y"
-ifeq "$(ENABLE_HELP)" "y"
-	# cleanup...
-  ifneq (,$(findstring boost,$(SYSTEM_STUFF)))
-	cd external/boost && $(MAKE) clean
-  endif
-  ifneq (,$(findstring expat,$(SYSTEM_STUFF)))
-	cd external/expat && $(MAKE) clean
-  endif
-  ifneq (,$(findstring icu,$(SYSTEM_STUFF)))
-	cd external/icu && $(MAKE) clean
-	# picks up a dependency on internal icu, rebuild
-	$(MAKE) i18nutil.clean && $(MAKE) i18nutil
-  endif
-endif
-endif
-endif
-
 	touch $@
 
 check: 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/libreoffice.git


Reply to: