Hello community,
here is the log from the commit of package OpenOffice_org
checked in at Mon Feb 4 01:11:07 CET 2008.
--------
--- arch/i386/OpenOffice_org/OpenOffice_org.changes 2007-12-11 17:14:59.000000000 +0100
+++ /mounts/work_src_done/STABLE/OpenOffice_org/OpenOffice_org.changes 2008-02-01 15:21:37.000000000 +0100
@@ -1,0 +2,67 @@
+Fri Feb 1 12:09:10 CET 2008 - pmladek@suse.cz
+
+- updated to the milestone ooh680-m5 (2.4-betaX)
+- updated ooo-build to ooo-build-2.3.99.2:
+ * new OpenGL slide transitions
+ * enabled EMF+ import and rendering again [bnc#232232]
+ * crasher when loading an Excel document [bnc#355304]
+ * crasher when finding strings in Impress [bnc#347355]
+ * pivot charts import [bnc#355300]
+ * locking for WebDAV UCP [bnc#346711]
+ * WW-like input-fields and checkboxes [bnc#248354]
+ * font config hinting stuff update
+ * localized default names for autoshape and other objects
+ * header/footer export into WW8 [bnc#178981]
+ * default formatting in PPT export [bnc#285959]
+ * saving as HTML in various encodings fix
+ * conversion of date/time strings in Word documents [bnc#344306]
+ * import sheet names properly from Lotus 1-2-3 document [bnc#347379]
+ * graph labelling of x-axis after importing an .xls [bnc#257079]
+ * use of Dynamic Range Names in Validation Lists [bnc#274387]
+ * "Print Preview" to follow "Print Only Selected Sheets" option [bnc#335684]
+ * import/export protection options from and to an Excel
+ * more shortcuts to Impress and GTK file dialog
+ * locking on CIFS [bnc#333001]
+ * fontconfig stuff improvements
+ * undo of deleted columns
+ * cut&paste in datapilot
+ * MATCH function enhancement
+ * FREQUENCY function behavior in Calc
+ * dynamic resizing of a filtered range for the autofilter [bnc#352662]
+ * SUMIF's 3rd parameter handling to be compatible with MS Excel [bnc#350716]
+ * crasher with out-of-bound cell ranges
+ * VBA bits:
+ * conversion between bytearray and string [bnc#353254]
+ * non-triggered "before close" event (Noel)
+ * support for more worksheet events [bnc#339306]
+ * DateSerial behavior [bnc#353254]
+ * DateValue return value [bnc#353260]
+ * fixed to store simple VBA objects in Word documents [bnc#339946]
+ * Application.Goto macro fixes [bnc#349283]
+ * better support for Application.Caller macro [bnc#339941]
+ * and more
+ * desktop files to follow the standard
+ * support for gcj-4.2.1, gcj-4.2.2 and gcc-4.3
+ * use system STL for archs like x86-64 as the default
+ * removed dependency on nas, sndfile, portaudio
+ * less verbose build messages
+ * support for post-ooo-build-release hotfixes
+ * many more fixes, improvements, and speedups
+- updated oox to snapshot 2008-01-29
+- updated libwps to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated the prebuilt cli_types.dll
+- moved witerfilter stuff to extra tarball, snapshot 2008-01-29
+- removed the obsolete %%datadir/xml from the sdk filelist
+- removed obsolete xorg-x11-Xvfb from BuildRequires
+- removed unused glitz sources
+- removed unused startup-notification-devel libsndfile-devel portaudio-devel
+ from BuildRequires
+- added mono-core to PreReq of -mono subpackage; runs gacutil in %post
+- "sr-CS" was internally renamed to "sr" and "sh-YU" to "sh"
+- renamed option --with-icecream-max-jobs to --with-max-jobs
+- enabled again compilation of SDK and stlport
+- temporary disabled mono in STABLE until bnc#357054 was fixed
+
+-------------------------------------------------------------------
--- arch/i386/OpenOffice_org/OpenOffice_org-i18n.changes 2007-12-11 17:21:29.000000000 +0100
+++ /mounts/work_src_done/STABLE/OpenOffice_org/OpenOffice_org-i18n.changes 2008-02-01 12:43:11.000000000 +0100
@@ -1,0 +2,17 @@
+Fri Feb 1 12:08:51 CET 2008 - pmladek@suse.cz
+
+- updated to the milestone ooh680-m5 (2.4-betaX)
+- updated ooo-build to 2.3.99.2
+- updated oox to snapshot 2008-01-29
+- updated libwps to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated the prebuilt cli_types.dll
+- moved witerfilter stuff to extra tarball, snapshot 2008-01-29
+- removed obsolete xorg-x11-Xvfb from BuildRequires
+- removed unused startup-notification-devel libsndfile-devel from BuildRequires
+- removed unused glitz sources
+- "sr-CS" was internaly renamed to "sr" and "sh-YU" to "sh"
+- renamed option --with-icecream-max-jobs to --with-max-jobs
+
+-------------------------------------------------------------------
Old:
----
libwpd-0.8.12.tar.gz
libwpg-0.1.0.tar.gz
libwps-0.1.0.tar.gz
minmem
oog680-m9-binfilter.tar.bz2
oog680-m9-core.tar.bz2
oog680-m9-lang.tar.bz2
oog680-m9-sdk_oo.tar.bz2
oog680-m9-system.tar.bz2
ooo-build-2.3.1.1.tar.gz
ooo-build-2.3.1-disable-emfplus.diff
ooo-build-2.3-internal-icu.diff
ooo-build-2.3-without-stlport.diff
oox.2007-09-05.tar.bz2
New:
----
libwpd-0.8.13.tar.gz
libwpg-0.1.2.tar.gz
libwps-0.1.2.tar.gz
ooh680-m5-binfilter.tar.bz2
ooh680-m5-core.tar.bz2
ooh680-m5-lang.tar.bz2
ooh680-m5-sdk_oo.tar.bz2
ooh680-m5-system.tar.bz2
ooo-build-2.3.99.2.tar.gz
oox.2008-01-29.tar.bz2
writerfilter.2008-01-29.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ OpenOffice_org-i18n.spec ++++++
--- /var/tmp/diff_new_pack.m24946/_old 2008-02-04 01:07:13.000000000 +0100
+++ /var/tmp/diff_new_pack.m24946/_new 2008-02-04 01:07:13.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package OpenOffice_org-i18n (Version 2.3.1.1)
+# spec file for package OpenOffice_org-i18n (Version 2.3.99.2)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -11,7 +11,7 @@
# norootforbuild
Name: OpenOffice_org-i18n
-BuildRequires: ImageMagick OpenOffice_org-devel ant bison boost-devel ccache cups-devel curl-devel db-devel flac-devel flex gnome-vfs2-devel gperf gtk2-devel kdelibs3-devel krb5 libexif libsndfile-devel mono-devel neon-devel openldap2-devel pam-devel perl-Archive-Zip perl-Compress-Zlib python-devel recode startup-notification-devel unixODBC-devel unzip xml-commons-apis xorg-x11 xorg-x11-Xvfb zip
+BuildRequires: ImageMagick OpenOffice_org-devel ant bison boost-devel ccache cups-devel curl-devel db-devel flac-devel flex gnome-vfs2-devel gperf gtk2-devel kdelibs3-devel krb5 libexif mono-devel neon-devel openldap2-devel pam-devel perl-Archive-Zip perl-Compress-Zlib python-devel recode unixODBC-devel unzip xml-commons-apis xorg-x11 zip
# FIXME: the 64-bit devel package somewhar requires atk
# noarch package cannot have 64-bit specific BuildRequires, ...
# it should not bee needed after we clean up the devel package
@@ -55,10 +55,10 @@
%if %test_build_langs == 1
%define ooo_langs "en-US cs de"
%else
-%define ooo_langs "en-US af ar be-BY bg br ca cs cy da de el en-GB en-ZA es et fi fr ga gl gu-IN he hi-IN hu hr it ja ka km ko lt mk nb nl nn nr pa-IN pl pt pt-BR ru rw sh-YU sk sl sr-CS ss st sv tg th tr ts uk ve vi xh zh-TW zh-CN zu"
+%define ooo_langs "en-US af ar be-BY bg br ca cs cy da de el en-GB en-ZA es et fi fr ga gl gu-IN he hi-IN hu hr it ja ka km ko lt mk nb nl nn nr pa-IN pl pt pt-BR ru rw sh sk sl sr ss st sv tg th tr ts uk ve vi xh zh-TW zh-CN zu"
%endif
%endif
-%define ooo_poor_help_localizations "af bg be-BY br ca cy el fi ga he hr ka lt mk nb nn nr rw sh-YU sr-CS sk ss st tg th tr th ts uk ve vi xh zu"
+%define ooo_poor_help_localizations "af bg be-BY br ca cy el fi ga he hr ka lt mk nb nn nr rw sh sr sk ss st tg th tr th ts uk ve vi xh zu"
# java stuff
%define with_java yes
%ifarch %ix86
@@ -70,8 +70,8 @@
%define ooo_prefix %_libdir
%define ooo_home ooo-2.0
%define ooo_build_dir build
-%define ooo_build_version 2.3.1.1
-%define ooo_build_tag oog680-m9
+%define ooo_build_version 2.3.99.2
+%define ooo_build_tag ooh680-m5
# source sripts for architectures
%ifarch ppc
%define ooo_source_script %ooo_build_dir/%ooo_build_tag/LinuxPPCEnv.Set.sh
@@ -84,7 +84,7 @@
%endif
License: GPL v2 or later; LGPL v2.1 or later
Group: Productivity/Office/Suite
-Version: 2.3.1.1
+Version: 2.3.99.2
Release: 1
AutoReqProv: on
Summary: A Source Package for OpenOffice.org Localizations
@@ -113,17 +113,18 @@
# FIXME: can be built using mingw32 C++ compiler
Source15: unowinreg.dll
# libwpd-0.8.11 with lots fixes
-Source16: libwpd-0.8.12.tar.gz
+Source16: libwpd-0.8.13.tar.gz
# fix bibliographic encoding n#155725, i#62664
Source17: biblio.tar.bz2
# library that handles Word Perfect Draw documents
-Source18: libwpg-0.1.0.tar.gz
+Source18: libwpg-0.1.2.tar.gz
# library that handles Microsoft Works documents
-Source19: libwps-0.1.0.tar.gz
+Source19: libwps-0.1.2.tar.gz
# library that handles SVG graphics format
Source20: libsvg-0.1.4.tar.gz
# native OpenXML import filter sources
-Source21: oox.2007-09-05.tar.bz2
+Source21: oox.2008-01-29.tar.bz2
+Source22: writerfilter.2008-01-29.tar.bz2
# more recent or additional localizations
# ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/build/Files
# http://hu.openoffice.org/source/browse/hu/src
@@ -143,12 +144,6 @@
Patch1: ooo-build-help.diff
Patch2: ooo-build-pack-noarch.diff
Patch3: ooo-build-help-in-usr-share.diff
-# FIXME: use the internal icu until the setBreakType function is public in the system one
-Patch4: ooo-build-2.3-internal-icu.diff
-# FIXME: temporary disable the stlport because it does not build with gcc-4.3; breaks ABI!!!
-Patch5: ooo-build-2.3-without-stlport.diff
-# FIXME: temporary disable the new EMF+ support, n#232232
-Patch6: ooo-build-2.3.1-disable-emfplus.diff
Patch100: extra_localizations_sources-about.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@@ -991,10 +986,7 @@
%patch1
%patch2
%patch3
-%patch4
-%patch5
-%patch6
-install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} src/
+install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} %{S:22} src/
# extra localizations sources
tar -xjf %{S:30} -C src/
%patch100
@@ -1007,7 +999,7 @@
PARALLEL_BUILD=
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="--with-gcc-speedup=icecream
- --with-icecream-max-jobs=%jobs"
+ --with-max-jobs=%jobs"
fi
# parallel build of modules; it makes sense on machines with more CPUs
if test "%build_module_in_parallel" = "1" ; then
@@ -1407,10 +1399,10 @@
test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_rw_list.txt || true
# sh-YU
%posttrans -n OpenOffice_org-sh-YU
-%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_sh-YU_list.txt || true
+%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_sh_list.txt || true
%preun -n OpenOffice_org-sh-YU
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_sh-YU_list.txt || true
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_sh_list.txt || true
# sk
%posttrans -n OpenOffice_org-sk
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_sk_list.txt || true
@@ -1425,10 +1417,10 @@
test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_sl_list.txt || true
# sr-CS
%posttrans -n OpenOffice_org-sr-CS
-%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_sr-CS_list.txt || true
+%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_sr_list.txt || true
%preun -n OpenOffice_org-sr-CS
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_sr-CS_list.txt || true
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/lang_sr_list.txt || true
# ss
%posttrans -n OpenOffice_org-ss
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/lang_ss_list.txt || true
@@ -1649,7 +1641,7 @@
%files -f %ooo_build_dir/lang_rw_list.txt -n OpenOffice_org-rw
%defattr(-,root,root)
-%files -f %ooo_build_dir/lang_sh-YU_list.txt -n OpenOffice_org-sh-YU
+%files -f %ooo_build_dir/lang_sh_list.txt -n OpenOffice_org-sh-YU
%defattr(-,root,root)
%files -f %ooo_build_dir/lang_sk_list.txt -n OpenOffice_org-sk
@@ -1658,7 +1650,7 @@
%files -f %ooo_build_dir/lang_sl_list.txt -n OpenOffice_org-sl
%defattr(-,root,root)
-%files -f %ooo_build_dir/lang_sr-CS_list.txt -n OpenOffice_org-sr-CS
+%files -f %ooo_build_dir/lang_sr_list.txt -n OpenOffice_org-sr-CS
%defattr(-,root,root)
%files -f %ooo_build_dir/lang_ss_list.txt -n OpenOffice_org-ss
@@ -1708,33 +1700,47 @@
%defattr(-,root,root)
%changelog
-* Tue Dec 11 2007 - pmladek@suse.cz
+* Fri Feb 01 2008 pmladek@suse.cz
+- updated to the milestone ooh680-m5 (2.4-betaX)
+- updated ooo-build to 2.3.99.2
+- updated oox to snapshot 2008-01-29
+- updated libwps to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated libwpg to version 0.1.2
+- updated the prebuilt cli_types.dll
+- moved witerfilter stuff to extra tarball, snapshot 2008-01-29
+- removed obsolete xorg-x11-Xvfb from BuildRequires
+- removed unused startup-notification-devel libsndfile-devel from BuildRequires
+- removed unused glitz sources
+- "sr-CS" was internaly renamed to "sr" and "sh-YU" to "sh"
+- renamed option --with-icecream-max-jobs to --with-max-jobs
+* Tue Dec 11 2007 pmladek@suse.cz
- updated ooo-build to 2.3.1.1
- temporary disabled the new EMF+ support; still not enough stable
-* Mon Dec 03 2007 - pmladek@suse.cz
+* Mon Dec 03 2007 pmladek@suse.cz
- updated to milestone oog680-m9 (OOo-2.3.1rc1 == final)
- updated ooo-build to 2.3.1
-* Wed Nov 21 2007 - pmladek@suse.cz
+* Wed Nov 21 2007 pmladek@suse.cz
- updated to milestone oog680-m8 (OOo-2.3.1.betaX)
- updated ooo-build to 2.3.0.6
- added changes to be in sync with the main package:
* updated cairo to version 1.4.10 (used only for older products)
* added temporary patches to disable SDK and system icu
* few build fixes
-* Tue Oct 09 2007 - pmladek@suse.cz
+* Tue Oct 09 2007 pmladek@suse.cz
- updated ooo-build to 2.3.0.5
- fixed provides of icon-themes to fix update from older distributions
[n#328171]
-* Fri Sep 21 2007 - pmladek@suse.cz
+* Fri Sep 21 2007 pmladek@suse.cz
- milestone oog680-m5 has been marked OOo-2.3 final
-* Thu Sep 13 2007 - pmladek@suse.cz
+* Thu Sep 13 2007 pmladek@suse.cz
- updated to milestone oog680-m5 (OOo-2.3.rc3)
- updated ooo-build to 2.3.0.1.2
- updated extra translation files: bg, cs, da, et, mk, vi
-* Mon Sep 03 2007 - pmladek@suse.cz
+* Mon Sep 03 2007 pmladek@suse.cz
- updated to milestone oog680-m3 (OOo-2.3.rc1)
- updated ooo-build to 2.3.0.1
-* Fri Aug 31 2007 - pmladek@suse.cz
+* Fri Aug 31 2007 pmladek@suse.cz
- updated to milestone oog680-m2 (another OOo-2.3.beta, close rc1)
- updated ooo-build to oog680-m2
- updated extra translation files: af, bg, cs, da, et, fi, ga, ka, lt, mk, nb,
@@ -1742,22 +1748,22 @@
- added extra translation file: gl
- removed unused Requires and Provides
- fixed build to update localizations from the external sources
-* Fri Aug 17 2007 - pmladek@suse.cz
+* Fri Aug 17 2007 pmladek@suse.cz
- updated to milestone oog680-m1 (another OOo-2.3.beta, close rc1)
- updated ooo-build to oog680-m1
-* Fri Aug 10 2007 - pmladek@suse.cz
+* Fri Aug 10 2007 pmladek@suse.cz
- updated to milestone src680-m225 (another OOo-2.3.beta)
- updated ooo-build to src680-m225
- improved icon-themes package [n#296502]
* removed the obsolete cyclic dependency on the main package
* removed obsolete compat symlinks
-* Mon Aug 06 2007 - pmladek@suse.cz
+* Mon Aug 06 2007 pmladek@suse.cz
- used PreReq instead of Requires to install the script link-to-ooo-home
in time [n#296502]
-* Fri Aug 03 2007 - kendy@suse.cz
+* Fri Aug 03 2007 kendy@suse.cz
- updated to milestone src680-m224 (another OOo-2.3.beta)
- updated ooo-build to src680-m224
-* Fri Jul 27 2007 - pmladek@suse.cz
+* Fri Jul 27 2007 pmladek@suse.cz
- updated to milestone src680-m222 (another OOo-2.3.beta)
- updated ooo-build to src680-m222
- added supackages for more localizations: Breton French(br),
@@ -1771,7 +1777,7 @@
- added icu libicu-devel portaudio-devel to BuildRequires according to the
main package
- changed %%post to %%posttrans to fix update
-* Mon Jul 23 2007 - pmladek@suse.cz
+* Mon Jul 23 2007 pmladek@suse.cz
- updated to milestone src680-m221 (another OOo-2.3.alpha)
- updated ooo-build to src680-m221
- updated BuildRequires according to the main package:
@@ -1784,6 +1790,6 @@
* removed obsolete hyph.tar and thesaurus.jar
- removed unused rpmlintrc; is needed only for the main package
- added dependency on the new OpenOffice_org-thesaurus-<lang> packages
-* Fri Jun 15 2007 - pmladek@suse.cz
+* Fri Jun 15 2007 pmladek@suse.cz
- split from OpenOffice_org to build the localizations stuff as noarch
[fate#302110]
++++++ OpenOffice_org.spec ++++++
--- /var/tmp/diff_new_pack.m24946/_old 2008-02-04 01:07:13.000000000 +0100
+++ /var/tmp/diff_new_pack.m24946/_new 2008-02-04 01:07:13.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package OpenOffice_org (Version 2.3.1.1)
+# spec file for package OpenOffice_org (Version 2.3.99.2)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -11,7 +11,7 @@
# norootforbuild
Name: OpenOffice_org
-BuildRequires: ImageMagick ant bison boost-devel ccache cups-devel curl-devel db-devel flac-devel flex gnome-vfs2-devel gperf gtk2-devel icu kdelibs3-devel krb5 libexif libsndfile-devel mono-devel neon-devel openldap2-devel pam-devel perl-Archive-Zip perl-Compress-Zlib python-devel recode startup-notification-devel unixODBC-devel unzip xml-commons-apis xorg-x11 xorg-x11-Xvfb zip
+BuildRequires: ImageMagick ant bison boost-devel ccache cups-devel curl-devel db-devel flac-devel flex gnome-vfs2-devel gperf gtk2-devel icu kdelibs3-devel krb5 libexif mono-devel neon-devel openldap2-devel pam-devel perl-Archive-Zip perl-Compress-Zlib python-devel recode unixODBC-devel unzip xml-commons-apis xorg-x11 zip
%ifarch %ix86
%if %sles_version == 10
# FIXME: workaround for Build Service; it substitutes java2-devel-packages to
@@ -46,7 +46,7 @@
%endif
# 10.3 features
%if %suse_version > 1020
-BuildRequires: libicu-devel portaudio-devel
+BuildRequires: libicu-devel
%endif
# CODE10 features
%if %suse_version > 1000
@@ -69,13 +69,7 @@
%define test_build_binfilters 1
# test_build_SDK: 0 = no
# 1 = yes (if possible, see below the definition of ooo_build_sdk)
-%if %suse_version > 1030
-# FIXME: temporary disable SDK in FACTORY until autodoc crash is fixed;
-# probably related to gcc-4.3
-%define test_build_sdk 0
-%else
%define test_build_sdk 1
-%endif
# build_module_in_parallel 0 = no
# 1 = yes (the number is defined be the number of cpus)
# 2,3,4... = yes (force the number of modules to be built in parallel)
@@ -90,10 +84,10 @@
%if %test_build_langs == 1
%define ooo_langs "en-US cs de"
%else
-%define ooo_langs "en-US af ar be-BY bg br ca cs cy da de el en-GB en-ZA es et fi fr ga gl gu-IN he hi-IN hu hr it ja ka km ko lt mk nb nl nn nr pa-IN pl pt pt-BR ru rw sh-YU sk sl sr-CS ss st sv tg th tr ts uk ve vi xh zh-TW zh-CN zu"
+%define ooo_langs "en-US af ar be-BY bg br ca cs cy da de el en-GB en-ZA es et fi fr ga gl gu-IN he hi-IN hu hr it ja ka km ko lt mk nb nl nn nr pa-IN pl pt pt-BR ru rw sh sk sl sr ss st sv tg th tr ts uk ve vi xh zh-TW zh-CN zu"
%endif
%endif
-%define ooo_poor_help_localizations "af bg be-BY br ca cy el fi ga he hr ka lt mk nb nn nr rw sh-YU sr-CS sk ss st tg th tr th ts uk ve vi xh zu"
+%define ooo_poor_help_localizations "af bg be-BY br ca cy el fi ga he hr ka lt mk nb nn nr rw sh sr sk ss st tg th tr th ts uk ve vi xh zu"
# sdk stuff enable only on SL 10.2, SLED10 and higher
# force no if test_build_sdk is disabled
%if %test_build_sdk == 0
@@ -127,11 +121,11 @@
%define ooo_prefix %_libdir
%define ooo_home ooo-2.0
%define ooo_build_dir build
-%define ooo_build_version 2.3.1.1
-%define ooo_build_tag oog680-m9
+%define ooo_build_version 2.3.99.2
+%define ooo_build_tag ooh680-m5
License: Artistic License; BSD 3-Clause; GPL v2 or later; LaTeX Public License (LPPL); LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL); X11/MIT
Group: Productivity/Office/Suite
-Version: 2.3.1.1
+Version: 2.3.99.2
Release: 1
AutoReqProv: on
PreReq: coreutils /usr/bin/update-mime-database
@@ -241,17 +235,18 @@
# FIXME: can be built using mingw32 C++ compiler
Source15: unowinreg.dll
# libwpd-0.8.11 with lots fixes
-Source16: libwpd-0.8.12.tar.gz
+Source16: libwpd-0.8.13.tar.gz
# fix bibliographic encoding n#155725, i#62664
Source17: biblio.tar.bz2
# library that handles Word Perfect Draw documents
-Source18: libwpg-0.1.0.tar.gz
+Source18: libwpg-0.1.2.tar.gz
# library that handles Microsoft Works documents
-Source19: libwps-0.1.0.tar.gz
+Source19: libwps-0.1.2.tar.gz
# library that handles SVG graphics format
Source20: libsvg-0.1.4.tar.gz
# native OpenXML import filter sources
-Source21: oox.2007-09-05.tar.bz2
+Source21: oox.2008-01-29.tar.bz2
+Source22: writerfilter.2008-01-29.tar.bz2
# more recent or additional localizations
# ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/build/Files
# http://hu.openoffice.org/source/browse/hu/src
@@ -290,12 +285,6 @@
Patch1: ooo-build-help.diff
Patch2: ooo-build-pack-noarch.diff
Patch3: ooo-build-help-in-usr-share.diff
-# FIXME: use the internal icu until the setBreakType function is public in the system one
-Patch4: ooo-build-2.3-internal-icu.diff
-# FIXME: temporary disable the stlport because it does not build with gcc-4.3; breaks ABI!!!
-Patch5: ooo-build-2.3-without-stlport.diff
-# FIXME: temporary disable the new EMF+ support, n#232232
-Patch6: ooo-build-2.3.1-disable-emfplus.diff
Patch100: extra_localizations_sources-about.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -588,6 +577,8 @@
%endif
%if %suse_version > 930
+# FIXME: mono disabled in STABLE until bnc#357054 is fixed
+%if %suse_version <= 1030
%package mono
Summary: Mono UNO Bridge for OpenOffice.org
@@ -608,6 +599,7 @@
%endif
+%endif
%if %with_java != no
%package officebean
@@ -694,10 +686,7 @@
%patch1
%patch2
%patch3
-%patch4
-%patch5
-%patch6
-install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} src/
+install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} %{S:22} src/
%if %suse_version <= 1010
# FIXME: the current OOo version does not longer work with the old neon, so
# we have to use the internal one
@@ -718,7 +707,7 @@
PARALLEL_BUILD=
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="--with-gcc-speedup=icecream
- --with-icecream-max-jobs=%jobs"
+ --with-max-jobs=%jobs"
fi
# parallel build of modules; it makes sense on machines with more CPUs
if test "%build_module_in_parallel" = "1" ; then
@@ -801,6 +790,9 @@
--disable-access \
--disable-post-install-scripts \
--disable-strip \
+%if %suse_version > 1030
+ --disable-mono \
+%endif
--enable-openxml \
--enable-split-app-modules \
--enable-split-opt-features
@@ -978,6 +970,8 @@
default_wrapper="`ls /usr/lib*/ooo*/program/soffice 2>/dev/null | head -n 1`"
test -x "$default_wrapper" -a ! -e "$soffice_symlink" && ln -sf "${default_wrapper#/usr/bin/}" "$soffice_symlink" || true
%if %suse_version > 930
+# FIXME: mono disabled in STABLE until bnc#357054 is fixed
+%if %suse_version <= 1030
%post mono
for dll in cli_basetypes.dll \
@@ -988,6 +982,7 @@
gacutil -i %ooo_prefix/%ooo_home/program/$dll -package %ooo_home || true
done
%endif
+%endif
# FIXME: just to make lint check happy
%post devel
@@ -1112,21 +1107,19 @@
%files -f %ooo_build_dir/sdk_list.txt sdk
%defattr(-,root,root)
-# %{_datadir}/xml has been part of the package filesystem since openSUSE 10.3
-# it was not owned by any other base package before
-%if %suse_version <= 1020
-%{_datadir}/xml
-%endif
%files -f %ooo_build_dir/sdk_doc_list.txt sdk-doc
%defattr(-,root,root)
%endif
%if %suse_version > 930
+# FIXME: mono disabled in STABLE until bnc#357054 is fixed
+%if %suse_version <= 1030
%files -f %ooo_build_dir/mono_list.txt mono
%defattr(-,root,root)
%ooo_prefix/pkgconfig/mono-%ooo_home.pc
%endif
+%endif
%if %with_java != no
%files -f %ooo_build_dir/officebean_list.txt officebean
++++++ cli_types.dll ++++++
Files arch/i386/OpenOffice_org/cli_types.dll and /mounts/work_src_done/STABLE/OpenOffice_org/cli_types.dll differ
++++++ libwpd-0.8.12.tar.gz -> libwpd-0.8.13.tar.gz ++++++
++++ 5995 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/libwpd-0.8.12/CHANGES new/libwpd-0.8.13/CHANGES
--- old/libwpd-0.8.12/CHANGES 2007-10-10 17:09:32.000000000 +0200
+++ new/libwpd-0.8.13/CHANGES 2007-12-13 13:52:38.000000000 +0100
@@ -1,4 +1,22 @@
CHANGES:
+0.8.12 - 0.8.13
+- Implement readahead in the WPXStreamImplementation class (Jan Holesovsky, Fridrich)
+- Fix some memory issues properly (each class deletes what it allocated) (Fridrich)
+- Work around an issue with relative seeks backward and certain versions of libstdc++
+ in the buffered stream implementation (Fridrich, sum1)
+- Fix a problem of conversion of some page breaks due to an unreachable block in the
+ code (Fridrich)
+- Fix a crasher in a rare case of a footnote/endnote being defined in a table and the
+ footnote/endnote having itself a table (Fridrich).
+- Fix some null pointer crashes with corrupted documents in table code and in cases where
+ there is no prefix ID present (sum1, Fridrich).
+- Fix a out of bounds array in parsing WP5 extended characters with broken documents
+ (sum1).
+- Remove some abuse of pointers (Fridrich).
+- In "wpd2raw --callback", return "-1" if no one callback was called (Fridrich).
+- Fix some issues with incorrect indents in some rear cases (Fridrich).
+- Fix some signedness problems (Fridrich).
+
0.8.11 - 0.8.12
- Enable building of statically linked tools even when a shared library is built,
useful for scripting the creation of win32 release packages (Robert Staudinger,
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/libwpd-0.8.12/configure.in new/libwpd-0.8.13/configure.in
--- old/libwpd-0.8.12/configure.in 2007-10-10 16:30:29.000000000 +0200
+++ new/libwpd-0.8.13/configure.in 2007-12-13 13:53:10.000000000 +0100
@@ -4,7 +4,7 @@
WPD_MAJOR_VERSION=0
WPD_MINOR_VERSION=8
-WPD_MICRO_VERSION=12
+WPD_MICRO_VERSION=13
WPD_VERSION="$WPD_MAJOR_VERSION.$WPD_MINOR_VERSION.$WPD_MICRO_VERSION"
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/libwpd-0.8.12/libwpd.spec new/libwpd-0.8.13/libwpd.spec
--- old/libwpd-0.8.12/libwpd.spec 2007-10-10 22:29:46.000000000 +0200
+++ new/libwpd-0.8.13/libwpd.spec 2007-12-13 13:53:51.000000000 +0100
@@ -1,5 +1,5 @@
%define name libwpd
-%define version 0.8.12
+%define version 0.8.13
%define RELEASE 1
%define release %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE}
@@ -90,7 +90,7 @@
%if %{!?_without_docs:1}%{?_without_docs:0}
%files docs
-%{_datadir}/doc/libwpd-0.8.12/*
+%{_datadir}/doc/libwpd-0.8.13/*
%endif
%changelog
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/libwpd-0.8.12/src/conv/raw/RawListener.cpp new/libwpd-0.8.13/src/conv/raw/RawListener.cpp
--- old/libwpd-0.8.12/src/conv/raw/RawListener.cpp 2007-06-13 10:10:38.000000000 +0200
+++ new/libwpd-0.8.13/src/conv/raw/RawListener.cpp 2007-12-08 12:51:23.000000000 +0100
@@ -32,6 +32,7 @@
#endif
#define _U(M, L) \
+ m_atLeastOneCallback = true; \
if (!m_printCallgraphScore) \
__iuprintf M; \
else \
@@ -42,6 +43,7 @@
#endif
#define _D(M, L) \
+ m_atLeastOneCallback = true; \
if (!m_printCallgraphScore) \
__idprintf M; \
else \
@@ -55,6 +57,7 @@
RawListenerImpl::RawListenerImpl(bool printCallgraphScore) :
m_indent(0),
m_callbackMisses(0),
+ m_atLeastOneCallback(false),
m_printCallgraphScore(printCallgraphScore),
m_callStack()
{
@@ -63,11 +66,12 @@
RawListenerImpl::~RawListenerImpl()
{
if (m_printCallgraphScore)
- printf("%d\n", (int)(m_callStack.size() + m_callbackMisses));
+ printf("%d\n", m_atLeastOneCallback ? (int)(m_callStack.size() + m_callbackMisses) : -1);
}
void RawListenerImpl::__iprintf(const char *format, ...)
{
+ m_atLeastOneCallback = true;
if (m_printCallgraphScore) return;
va_list args;
@@ -80,6 +84,7 @@
void RawListenerImpl::__iuprintf(const char *format, ...)
{
+ m_atLeastOneCallback = true;
va_list args;
va_start(args, format);
for (int i=0; iseek(0, WPX_SEEK_SET);
WP1Parser::parseDocument(tmpStream, listener);
}
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/libwpd-0.8.12/src/lib/WP3ContentListener.cpp new/libwpd-0.8.13/src/lib/WP3ContentListener.cpp
--- old/libwpd-0.8.12/src/lib/WP3ContentListener.cpp 2007-09-23 21:15:51.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP3ContentListener.cpp 2007-11-27 17:06:45.000000000 +0100
@@ -491,6 +491,8 @@
{
if (!isUndoOn())
{
+ _openPageSpan();
+
int oldColumnNum = m_ps->m_numColumns;
// In WP, the last column ends with a hard column break code.
@@ -550,10 +552,12 @@
if ((m_ps->m_numColumns > 1 && oldColumnNum <= 1) || (m_ps->m_numColumns <= 1 && oldColumnNum > 1))
{
m_ps->m_paragraphMarginLeft -= m_ps->m_leftMarginByPageMarginChange;
+ m_ps->m_listReferencePosition -= m_ps->m_leftMarginByPageMarginChange;
m_ps->m_paragraphMarginRight -= m_ps->m_rightMarginByPageMarginChange;
std::swap(m_ps->m_leftMarginByPageMarginChange, m_ps->m_sectionMarginLeft);
std::swap(m_ps->m_rightMarginByPageMarginChange, m_ps->m_sectionMarginRight);
m_ps->m_paragraphMarginLeft += m_ps->m_leftMarginByPageMarginChange;
+ m_ps->m_listReferencePosition += m_ps->m_leftMarginByPageMarginChange;
m_ps->m_paragraphMarginRight += m_ps->m_rightMarginByPageMarginChange;
}
}
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/libwpd-0.8.12/src/lib/WP3SubDocument.cpp new/libwpd-0.8.13/src/lib/WP3SubDocument.cpp
--- old/libwpd-0.8.12/src/lib/WP3SubDocument.cpp 2007-09-19 04:47:34.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP3SubDocument.cpp 2007-10-15 10:18:16.000000000 +0200
@@ -34,6 +34,8 @@
void WP3SubDocument::parse(WP3Listener *listener) const
{
WPXMemoryInputStream *tmpStream = getStream();
+ if (!tmpStream)
+ return;
tmpStream->seek(0, WPX_SEEK_SET);
WP3Parser::parseDocument(tmpStream, listener);
}
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/libwpd-0.8.12/src/lib/WP42SubDocument.cpp new/libwpd-0.8.13/src/lib/WP42SubDocument.cpp
--- old/libwpd-0.8.12/src/lib/WP42SubDocument.cpp 2007-01-15 11:34:36.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP42SubDocument.cpp 2007-10-15 10:18:16.000000000 +0200
@@ -39,6 +39,8 @@
void WP42SubDocument::parse(WP42Listener *listener) const
{
WPXMemoryInputStream *tmpStream = getStream();
+ if (!tmpStream)
+ return;
tmpStream->seek(0, WPX_SEEK_SET);
listener->marginReset(readU8(tmpStream), readU8(tmpStream));
WP42Parser::parseDocument(tmpStream, listener);
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/libwpd-0.8.12/src/lib/WP5ContentListener.cpp new/libwpd-0.8.13/src/lib/WP5ContentListener.cpp
--- old/libwpd-0.8.12/src/lib/WP5ContentListener.cpp 2007-10-10 15:44:47.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP5ContentListener.cpp 2007-12-08 12:51:24.000000000 +0100
@@ -337,6 +337,8 @@
_openTableCell(colSpan, rowSpan, borderBits, cellFgColor, cellBgColor,
cellBorderColor, cellVerticalAlignment);
m_ps->m_isCellWithoutParagraph = true;
+ if (m_ps->m_currentTableCol < 1)
+ return;
if (useCellAttributes)
m_ps->m_cellAttributeBits = cellAttributes;
else
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/libwpd-0.8.12/src/lib/WP5StylesListener.cpp new/libwpd-0.8.13/src/lib/WP5StylesListener.cpp
--- old/libwpd-0.8.12/src/lib/WP5StylesListener.cpp 2007-07-05 15:07:56.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP5StylesListener.cpp 2007-12-08 13:12:37.000000000 +0100
@@ -261,6 +261,8 @@
if (!isUndoOn())
{
m_currentPageHasContent = true;
+ if (!m_currentTable)
+ throw ParseException();
m_currentTable->insertRow();
}
}
@@ -273,6 +275,8 @@
if (!isUndoOn())
{
m_currentPageHasContent = true;
+ if (!m_currentTable)
+ throw ParseException();
m_currentTable->insertCell(colSpan, rowSpan, borderBits);
}
}
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/libwpd-0.8.12/src/lib/WP5SubDocument.cpp new/libwpd-0.8.13/src/lib/WP5SubDocument.cpp
--- old/libwpd-0.8.12/src/lib/WP5SubDocument.cpp 2007-01-15 11:34:36.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP5SubDocument.cpp 2007-10-15 10:18:16.000000000 +0200
@@ -34,6 +34,8 @@
void WP5SubDocument::parse(WP5Listener *listener) const
{
WPXMemoryInputStream *tmpStream = getStream();
+ if (!tmpStream)
+ return;
tmpStream->seek(0, WPX_SEEK_SET);
WP5Parser::parseDocument(tmpStream, listener);
}
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/libwpd-0.8.12/src/lib/WP6CharacterGroup.cpp new/libwpd-0.8.13/src/lib/WP6CharacterGroup.cpp
--- old/libwpd-0.8.12/src/lib/WP6CharacterGroup.cpp 2007-05-09 14:37:27.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6CharacterGroup.cpp 2007-12-08 12:51:25.000000000 +0100
@@ -104,8 +104,8 @@
void WP6CharacterGroup_FontFaceChangeSubGroup::parse(WP6Listener *listener, const uint8_t /* numPrefixIDs */, uint16_t const *prefixIDs) const
{
WPD_DEBUG_MSG(("WordPerfect: FontFaceChangeSubGroup parsing\n"));
- // TODO: check that we have 1 prefix id
- // emit an exception otherwise
+ if (!prefixIDs)
+ return;
listener->fontChange(m_matchedFontPointSize, prefixIDs[0]);
}
@@ -123,8 +123,8 @@
void WP6CharacterGroup_FontSizeChangeSubGroup::parse(WP6Listener *listener, const uint8_t /* numPrefixIDs */, uint16_t const *prefixIDs) const
{
WPD_DEBUG_MSG(("WordPerfect: FontSizeChangeSubGroup parsing\n"));
- // TODO: check that we have 1 prefix id
- // emit an exception otherwise
+ if (!prefixIDs)
+ return;
listener->fontChange(m_desiredFontPointSize, prefixIDs[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/libwpd-0.8.12/src/lib/WP6ContentListener.cpp new/libwpd-0.8.13/src/lib/WP6ContentListener.cpp
--- old/libwpd-0.8.12/src/lib/WP6ContentListener.cpp 2007-07-11 15:44:41.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6ContentListener.cpp 2007-12-08 13:12:37.000000000 +0100
@@ -913,6 +913,8 @@
{
if (!isUndoOn())
{
+ _openPageSpan(); // we need to have the right dimension, so open page span here if it is not already opened
+
int oldColumnNum = m_ps->m_numColumns;
// In WP, the last column ends with a hard column break code.
@@ -969,13 +971,16 @@
m_ps->m_numColumns = numColumns;
m_ps->m_textColumns = tmpColumnDefinition;
m_ps->m_isTextColumnWithoutParagraph = true;
+
if ((m_ps->m_numColumns > 1 && oldColumnNum <= 1) || (m_ps->m_numColumns <= 1 && oldColumnNum > 1))
{
m_ps->m_paragraphMarginLeft -= m_ps->m_leftMarginByPageMarginChange;
+ m_ps->m_listReferencePosition -= m_ps->m_leftMarginByPageMarginChange;
m_ps->m_paragraphMarginRight -= m_ps->m_rightMarginByPageMarginChange;
std::swap(m_ps->m_leftMarginByPageMarginChange, m_ps->m_sectionMarginLeft);
std::swap(m_ps->m_rightMarginByPageMarginChange, m_ps->m_sectionMarginRight);
m_ps->m_paragraphMarginLeft += m_ps->m_leftMarginByPageMarginChange;
+ m_ps->m_listReferencePosition += m_ps->m_leftMarginByPageMarginChange;
m_ps->m_paragraphMarginRight += m_ps->m_rightMarginByPageMarginChange;
}
}
@@ -1261,6 +1266,8 @@
// pull a table definition off of our stack
m_parseState->m_currentTable = m_parseState->m_tableList[m_parseState->m_nextTableIndice++];
+ if (!m_parseState->m_currentTable)
+ throw ParseException();
m_parseState->m_currentTable->makeBordersConsistent();
m_ps->m_numRowsToSkip.clear();
}
@@ -1309,6 +1316,9 @@
_openSection();
m_ps->m_sectionAttributesChanged = false;
}
+ if (!m_parseState->m_currentTable)
+ throw ParseException();
+
if (!m_parseState->m_currentTable->isEmpty()) // WordPerfect ignores empty tables and inserts an Hard EOL instead
_openTable();
@@ -1404,6 +1414,8 @@
_openSpan();
// Close the sub-document properly
+ if (m_ps->m_isTableOpened)
+ _closeTable();
if (m_ps->m_isParagraphOpened)
_closeParagraph();
if (m_ps->m_isListElementOpened)
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/libwpd-0.8.12/src/lib/WP6ExtendedDocumentSummaryPacket.cpp new/libwpd-0.8.13/src/lib/WP6ExtendedDocumentSummaryPacket.cpp
--- old/libwpd-0.8.12/src/lib/WP6ExtendedDocumentSummaryPacket.cpp 2007-06-13 11:29:44.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6ExtendedDocumentSummaryPacket.cpp 2007-10-15 10:18:16.000000000 +0200
@@ -32,6 +32,7 @@
WP6ExtendedDocumentSummaryPacket::WP6ExtendedDocumentSummaryPacket(WPXInputStream *input, int /* id */, uint32_t dataOffset, uint32_t dataSize) :
WP6PrefixDataPacket(input),
m_dataSize(dataSize),
+ m_streamData(0),
m_stream(0)
{
if (dataSize > 0)
@@ -42,6 +43,8 @@
{
if (m_stream)
DELETEP(m_stream);
+ if (m_streamData)
+ delete [] m_streamData;
}
void WP6ExtendedDocumentSummaryPacket::_readContents(WPXInputStream *input)
@@ -50,11 +53,11 @@
return;
if (m_dataSize > ((std::numeric_limits::max)() / 2))
m_dataSize = ((std::numeric_limits::max)() / 2);
- uint8_t *streamData = new uint8_t[m_dataSize];
+ m_streamData = new uint8_t[m_dataSize];
for(unsigned i=0; i<(unsigned)m_dataSize; i++)
- streamData[i] = readU8(input);
+ m_streamData[i] = readU8(input);
- m_stream = new WPXMemoryInputStream(streamData, (size_t)m_dataSize);
+ m_stream = new WPXMemoryInputStream(m_streamData, (size_t)m_dataSize);
}
void WP6ExtendedDocumentSummaryPacket::parse(WP6Listener *listener) const
@@ -113,7 +116,8 @@
uint8_t dayOfWeek = readU8(m_stream);
uint8_t timeZone = readU8(m_stream);
uint8_t unused = readU8(m_stream);
- listener->setDate(tagID, year, month, day, hour, minute, second, dayOfWeek, timeZone, unused);
+ if (month > 0 && day > 0 && year >= 1900)
+ listener->setDate(tagID, year, month, day, hour, minute, second, dayOfWeek, timeZone, unused);
}
catch (FileException)
{
@@ -134,8 +138,9 @@
characterSet, &chars);
for (int j = 0; j < len; j++)
appendUCS4(data, (uint32_t)chars[j]);
- }
- listener->setExtendedInformation(tagID, data);
+ }
+ if (data.len())
+ listener->setExtendedInformation(tagID, data);
}
m_stream->seek((i+groupLength), WPX_SEEK_SET);
}
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/libwpd-0.8.12/src/lib/WP6ExtendedDocumentSummaryPacket.h new/libwpd-0.8.13/src/lib/WP6ExtendedDocumentSummaryPacket.h
--- old/libwpd-0.8.12/src/lib/WP6ExtendedDocumentSummaryPacket.h 2007-05-09 14:37:27.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6ExtendedDocumentSummaryPacket.h 2007-10-15 10:18:16.000000000 +0200
@@ -43,6 +43,7 @@
WP6ExtendedDocumentSummaryPacket(const WP6ExtendedDocumentSummaryPacket&);
WP6ExtendedDocumentSummaryPacket& operator=(const WP6ExtendedDocumentSummaryPacket&);
uint32_t m_dataSize;
+ uint8_t *m_streamData;
mutable WPXMemoryInputStream *m_stream;
};
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/libwpd-0.8.12/src/lib/WP6FixedLengthGroup.cpp new/libwpd-0.8.13/src/lib/WP6FixedLengthGroup.cpp
--- old/libwpd-0.8.12/src/lib/WP6FixedLengthGroup.cpp 2006-10-09 05:50:18.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6FixedLengthGroup.cpp 2007-10-15 10:18:16.000000000 +0200
@@ -73,7 +73,7 @@
try
{
int size = WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE[groupID-0xF0];
- if (input->seek((startPosition + size - 2 - input->tell()), WPX_SEEK_CUR) || input->atEOS())
+ if (input->seek((startPosition + size - 2 - (uint32_t)input->tell()), WPX_SEEK_CUR) || input->atEOS())
{
input->seek(startPosition, WPX_SEEK_SET);
return false;
@@ -101,9 +101,9 @@
if (m_group >= 0xF0) // just an extra safety check
{
- int size = WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE[m_group-0xF0];
+ uint32_t size = WP6_FIXED_LENGTH_FUNCTION_GROUP_SIZE[m_group-0xF0];
input->seek((startPosition + size - 2 - input->tell()), WPX_SEEK_CUR);
- if (m_group != readU8(input))
+ if (input->atEOS() || m_group != readU8(input))
{
WPD_DEBUG_MSG(("WordPerfect: Possible corruption detected: bailing out!\n"));
throw FileException();
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/libwpd-0.8.12/src/lib/WP6GeneralTextPacket.cpp new/libwpd-0.8.13/src/lib/WP6GeneralTextPacket.cpp
--- old/libwpd-0.8.12/src/lib/WP6GeneralTextPacket.cpp 2007-02-27 11:56:51.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP6GeneralTextPacket.cpp 2007-10-15 10:18:17.000000000 +0200
@@ -30,7 +30,8 @@
WP6GeneralTextPacket::WP6GeneralTextPacket(WPXInputStream *input, int /* id */, uint32_t dataOffset, uint32_t dataSize):
WP6PrefixDataPacket(input),
- m_subDocument(0)
+ m_subDocument(0),
+ m_streamData(0)
{
_read(input, dataOffset, dataSize);
}
@@ -39,6 +40,8 @@
{
if (m_subDocument)
delete m_subDocument;
+ if (m_streamData)
+ delete [] m_streamData;
}
void WP6GeneralTextPacket::_readContents(WPXInputStream *input)
@@ -54,8 +57,8 @@
}
uint32_t *blockSizes = new uint32_t[numTextBlocks];
- unsigned int totalSize = 0;
- unsigned int i;
+ unsigned totalSize = 0;
+ unsigned i;
for(i=0; itell() - startPosition + blockSizes[i]) > getDataSize() || input->atEOS())
throw FileException();
for (unsigned int j=0; j * typeIterPair;
- typeIterPair = prefixData->getPrefixDataPacketsOfType(type);
- if (typeIterPair->first != typeIterPair->second)
+ std::pair< MPDP_CIter, MPDP_CIter > typeIterPair = prefixData->getPrefixDataPacketsOfType(type);
+ if (typeIterPair.first != typeIterPair.second)
{
- typeIterPair->first->second->parse(listener);
+ typeIterPair.first->second->parse(listener);
}
-
- DELETEP(typeIterPair);
}
void WP6Parser::parsePackets(WP6PrefixData *prefixData, int type, WP6Listener *listener)
@@ -173,18 +170,13 @@
if (!prefixData)
return;
- std::pair< MPDP_CIter, MPDP_CIter > * typeIterPair;
-
- typeIterPair = prefixData->getPrefixDataPacketsOfType(type);
- for (MPDP_CIter iter=typeIterPair->first;
- iter != typeIterPair->second;
+ std::pair< MPDP_CIter, MPDP_CIter > typeIterPair = prefixData->getPrefixDataPacketsOfType(type);
+ for (MPDP_CIter iter=typeIterPair.first;
+ iter != typeIterPair.second;
iter++)
{
iter->second->parse(listener);
}
-
- DELETEP(typeIterPair);
-
}
// WP6Parser::parse() reads AND parses a wordperfect document, passing any retrieved low-level
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/libwpd-0.8.12/src/lib/WP6PrefixData.cpp new/libwpd-0.8.13/src/lib/WP6PrefixData.cpp
--- old/libwpd-0.8.12/src/lib/WP6PrefixData.cpp 2007-05-09 14:37:27.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6PrefixData.cpp 2007-10-16 20:28:53.000000000 +0200
@@ -80,13 +80,9 @@
return 0;
}
-std::pair * WP6PrefixData::getPrefixDataPacketsOfType(const int type) const
+std::pair WP6PrefixData::getPrefixDataPacketsOfType(const int type) const
{
- std::pair *typePair = new std::pair;
std::pair tempPair = m_prefixDataPacketTypeHash.equal_range(type);
- typePair->first = tempPair.first;
- typePair->second = tempPair.second;
-
- return typePair;
+ return tempPair;
}
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/libwpd-0.8.12/src/lib/WP6PrefixData.h new/libwpd-0.8.13/src/lib/WP6PrefixData.h
--- old/libwpd-0.8.12/src/lib/WP6PrefixData.h 2007-01-04 12:53:50.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP6PrefixData.h 2007-10-16 20:28:53.000000000 +0200
@@ -40,7 +40,7 @@
WP6PrefixData(WPXInputStream *input, const int numPrefixIndices);
virtual ~WP6PrefixData();
const WP6PrefixDataPacket *getPrefixDataPacket(const int prefixID) const;
- std::pair< MPDP_CIter, MPDP_CIter > * getPrefixDataPacketsOfType(const int type) const;
+ std::pair< MPDP_CIter, MPDP_CIter > getPrefixDataPacketsOfType(const int type) const;
const uint16_t getDefaultInitialFontPID() const { return (uint16_t)m_defaultInitialFontPID; }
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/libwpd-0.8.12/src/lib/WP6SingleByteFunction.cpp new/libwpd-0.8.13/src/lib/WP6SingleByteFunction.cpp
--- old/libwpd-0.8.12/src/lib/WP6SingleByteFunction.cpp 2006-11-14 15:52:45.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP6SingleByteFunction.cpp 2007-11-09 21:03:13.000000000 +0100
@@ -33,79 +33,71 @@
{
switch (groupID)
- {
- case WP6_TOP_SOFT_EOL:
- case WP6_TOP_SOFT_EOL_AT_EOC:
- case WP6_TOP_SOFT_EOL_AT_EOC_AT_EOP:
- case WP6_TOP_SOFT_SPACE:
- return new WP6SpaceFunction();
-
- case WP6_TOP_HARD_SPACE:
- return new WP6HardSpaceFunction();
-
- case WP6_TOP_SOFT_HYPHEN_IN_LINE:
- case WP6_TOP_SOFT_HYPHEN_AT_EOL:
- return new WP6SoftHyphenFunction();
-
- case WP6_TOP_HARD_HYPHEN:
- return new WP6HyphenFunction();
-
- case WP6_TOP_HARD_EOL:
- case WP6_TOP_HARD_EOL_AT_EOC:
- case WP6_TOP_HARD_EOL_AT_EOC_AT_EOP:
- case WP6_TOP_DORMANT_HARD_RETURN:
- case WP6_TOP_DELETABLE_HARD_EOL:
- case WP6_TOP_DELETABLE_HARD_EOL_AT_EOC:
- case WP6_TOP_DELETABLE_HARD_EOL_AT_EOC_AT_EOP:
- return new WP6EOLFunction();
-
- case WP6_TOP_TABLE_OFF_AT_EOC_AT_EOP:
- case WP6_TOP_TABLE_OFF_AT_EOC:
- case WP6_TOP_TABLE_OFF:
- return new WP6TableOffFunction();
-
- case WP6_TOP_TABLE_ROW_AT_HARD_EOP:
- case WP6_TOP_TABLE_ROW_AT_HARD_EOC_AT_HARD_EOP:
- case WP6_TOP_TABLE_ROW_AT_HARD_EOC:
- case WP6_TOP_TABLE_ROW_AT_EOC_AT_EOP:
- case WP6_TOP_TABLE_ROW_AT_EOC:
- case WP6_TOP_TABLE_ROW:
- return new WP6TableRowFunction();
-
- case WP6_TOP_TABLE_CELL:
- return new WP6TableCellFunction();
-
- // Add the remaining cases here
-// case WP6_TOP_DELETABLE_SOFT_EOL:
-// case WP6_TOP_DELETABLE_SOFT_EOL_AT_EOC:
-// case WP6_TOP_DELETABLE_SOFT_EOL_AT_EOC_AT_EOP:
-// case WP6_TOP_AUTO_HYPHEN:
- default:
- // should not happen
- return 0;
- }
-
- // search for soft page breaks and dispatch messages to that effect
- switch(groupID)
- {
- case WP6_TOP_HARD_EOC:
- case WP6_TOP_HARD_EOC_AT_EOP:
- case WP6_TOP_DELETABLE_HARD_EOC:
- case WP6_TOP_DELETABLE_HARD_EOC_AT_EOP:
- case WP6_TOP_TABLE_ROW_AT_HARD_EOC:
- return new WP6EOCFunction();
-
- case WP6_TOP_HARD_EOP:
- case WP6_TOP_TABLE_ROW_AT_HARD_EOP:
- case WP6_TOP_TABLE_ROW_AT_HARD_EOC_AT_HARD_EOP:
- case WP6_TOP_DELETABLE_HARD_EOP:
- return new WP6EOPFunction();
-
- case WP6_TOP_TABLE_OFF_AT_EOC_AT_EOP:
- case WP6_TOP_TABLE_ROW_AT_EOC_AT_EOP:
- return new WP6SoftEOPFunction();
- }
-
+ {
+ case WP6_TOP_SOFT_EOL:
+ case WP6_TOP_SOFT_EOL_AT_EOC:
+ case WP6_TOP_SOFT_EOL_AT_EOC_AT_EOP:
+ case WP6_TOP_SOFT_SPACE:
+ return new WP6SpaceFunction();
+
+ case WP6_TOP_HARD_SPACE:
+ return new WP6HardSpaceFunction();
+
+ case WP6_TOP_SOFT_HYPHEN_IN_LINE:
+ case WP6_TOP_SOFT_HYPHEN_AT_EOL:
+ return new WP6SoftHyphenFunction();
+
+ case WP6_TOP_HARD_HYPHEN:
+ return new WP6HyphenFunction();
+
+ case WP6_TOP_HARD_EOL:
+ case WP6_TOP_HARD_EOL_AT_EOC:
+ case WP6_TOP_HARD_EOL_AT_EOC_AT_EOP:
+ case WP6_TOP_DORMANT_HARD_RETURN:
+ case WP6_TOP_DELETABLE_HARD_EOL:
+ case WP6_TOP_DELETABLE_HARD_EOL_AT_EOC:
+ case WP6_TOP_DELETABLE_HARD_EOL_AT_EOC_AT_EOP:
+ return new WP6EOLFunction();
+
+ case WP6_TOP_TABLE_OFF_AT_EOC:
+ case WP6_TOP_TABLE_OFF:
+ return new WP6TableOffFunction();
+
+ case WP6_TOP_TABLE_OFF_AT_EOC_AT_EOP:
+ return new WP6TableOffAtSoftEOPFunction();
+
+ case WP6_TOP_TABLE_ROW_AT_EOC:
+ case WP6_TOP_TABLE_ROW:
+ return new WP6TableRowFunction();
+
+ case WP6_TOP_TABLE_ROW_AT_HARD_EOC:
+ return new WP6TableRowAtEOCFunction();
+
+ case WP6_TOP_TABLE_ROW_AT_EOC_AT_EOP:
+ return new WP6TableRowAtSoftEOPFunction();
+
+ case WP6_TOP_TABLE_ROW_AT_HARD_EOP:
+ case WP6_TOP_TABLE_ROW_AT_HARD_EOC_AT_HARD_EOP:
+ return new WP6TableRowAtEOPFunction();
+
+ case WP6_TOP_TABLE_CELL:
+ return new WP6TableCellFunction();
+
+ case WP6_TOP_HARD_EOC:
+ case WP6_TOP_HARD_EOC_AT_EOP:
+ case WP6_TOP_DELETABLE_HARD_EOC:
+ case WP6_TOP_DELETABLE_HARD_EOC_AT_EOP:
+ return new WP6EOCFunction();
+
+ case WP6_TOP_HARD_EOP:
+ case WP6_TOP_DELETABLE_HARD_EOP:
+ return new WP6EOPFunction();
+
+ // Add the remaining cases here
+ default:
+ // should not happen
+ return 0;
+ }
}
void WP6SpaceFunction::parse(WP6Listener *listener)
@@ -168,3 +160,40 @@
{
listener->endTable();
}
+
+void WP6TableOffAtSoftEOPFunction::parse(WP6Listener *listener)
+{
+ listener->endTable();
+ listener->insertBreak(WPX_SOFT_PAGE_BREAK);
+}
+
+void WP6TableRowAtSoftEOPFunction::parse(WP6Listener *listener)
+{
+ // use default values: if they were not default values, WordPerfect
+ // would use the multi-byte variant of this function
+ listener->insertRow(0x0000, true, false);
+ RGBSColor tmpCellBorderColor(0x00, 0x00, 0x00, 0x64);
+ listener->insertCell(1, 1, 0x00, 0, 0, &tmpCellBorderColor, TOP, false, 0x00000000);
+ listener->insertBreak(WPX_SOFT_PAGE_BREAK);
+}
+
+void WP6TableRowAtEOPFunction::parse(WP6Listener *listener)
+{
+ // use default values: if they were not default values, WordPerfect
+ // would use the multi-byte variant of this function
+ listener->insertRow(0x0000, true, false);
+ RGBSColor tmpCellBorderColor(0x00, 0x00, 0x00, 0x64);
+ listener->insertCell(1, 1, 0x00, 0, 0, &tmpCellBorderColor, TOP, false, 0x00000000);
+ listener->insertBreak(WPX_PAGE_BREAK);
+}
+
+void WP6TableRowAtEOCFunction::parse(WP6Listener *listener)
+{
+ // use default values: if they were not default values, WordPerfect
+ // would use the multi-byte variant of this function
+ listener->insertRow(0x0000, true, false);
+ RGBSColor tmpCellBorderColor(0x00, 0x00, 0x00, 0x64);
+ listener->insertCell(1, 1, 0x00, 0, 0, &tmpCellBorderColor, TOP, false, 0x00000000);
+ listener->insertBreak(WPX_COLUMN_BREAK);
+}
+
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/libwpd-0.8.12/src/lib/WP6SingleByteFunction.h new/libwpd-0.8.13/src/lib/WP6SingleByteFunction.h
--- old/libwpd-0.8.12/src/lib/WP6SingleByteFunction.h 2006-10-09 05:50:18.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6SingleByteFunction.h 2007-11-09 21:03:13.000000000 +0100
@@ -100,4 +100,28 @@
void parse(WP6Listener *listener);
};
+class WP6TableOffAtSoftEOPFunction : public WP6SingleByteFunction
+{
+public:
+ void parse(WP6Listener *listener);
+};
+
+class WP6TableRowAtSoftEOPFunction : public WP6SingleByteFunction
+{
+public:
+ void parse(WP6Listener *listener);
+};
+
+class WP6TableRowAtEOPFunction : public WP6SingleByteFunction
+{
+public:
+ void parse(WP6Listener *listener);
+};
+
+class WP6TableRowAtEOCFunction : public WP6SingleByteFunction
+{
+public:
+ void parse(WP6Listener *listener);
+};
+
#endif /* WP6SINGLEBYTEFUNCTION_H */
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/libwpd-0.8.12/src/lib/WP6StylesListener.cpp new/libwpd-0.8.13/src/lib/WP6StylesListener.cpp
--- old/libwpd-0.8.12/src/lib/WP6StylesListener.cpp 2007-07-05 15:07:56.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WP6StylesListener.cpp 2007-12-05 18:23:36.000000000 +0100
@@ -280,39 +280,37 @@
{
// We don't want to actual insert anything in the case of a sub-document, but we
// do want to capture whatever table-related information is within it..
-// if (!isUndoOn())
+ std::set oldSubDocuments;
+ oldSubDocuments = m_subDocuments;
+ // prevent entering in an endless loop
+ if ((subDocument) && (oldSubDocuments.find(subDocument) == oldSubDocuments.end()))
{
- std::set oldSubDocuments;
- oldSubDocuments = m_subDocuments;
- // prevent entering in an endless loop
- if ((subDocument) && (oldSubDocuments.find(subDocument) == oldSubDocuments.end()))
+ m_subDocuments.insert(subDocument);
+ bool oldIsSubDocument = m_isSubDocument;
+ m_isSubDocument = true;
+ WPXTable *oldCurrentTable = m_currentTable;
+ if (isHeaderFooter)
{
- m_subDocuments.insert(subDocument);
- bool oldIsSubDocument = m_isSubDocument;
- m_isSubDocument = true;
- if (isHeaderFooter)
- {
- bool oldCurrentPageHasContent = m_currentPageHasContent;
- WPXTable *oldCurrentTable = m_currentTable;
- WPXTableList oldTableList = m_tableList;
- m_tableList = tableList;
+ bool oldCurrentPageHasContent = m_currentPageHasContent;
+ WPXTableList oldTableList = m_tableList;
+ m_tableList = tableList;
- if (subDocument)
- static_cast(subDocument)->parse(this);
-
- m_tableList = oldTableList;
- m_currentTable = oldCurrentTable;
- m_currentPageHasContent = oldCurrentPageHasContent;
- }
- else
- {
- if (subDocument)
- static_cast(subDocument)->parse(this);
- }
- m_isSubDocument = oldIsSubDocument;
- m_subDocuments = oldSubDocuments;
+ if (subDocument)
+ static_cast(subDocument)->parse(this);
+ endTable();
+ m_tableList = oldTableList;
+ m_currentPageHasContent = oldCurrentPageHasContent;
+ }
+ else
+ {
+ if (subDocument)
+ static_cast(subDocument)->parse(this);
+ endTable();
}
+ m_currentTable = oldCurrentTable;
+ m_isSubDocument = oldIsSubDocument;
+ m_subDocuments = oldSubDocuments;
}
}
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/libwpd-0.8.12/src/lib/WP6SubDocument.cpp new/libwpd-0.8.13/src/lib/WP6SubDocument.cpp
--- old/libwpd-0.8.12/src/lib/WP6SubDocument.cpp 2007-01-15 11:34:37.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WP6SubDocument.cpp 2007-10-15 10:18:17.000000000 +0200
@@ -34,6 +34,8 @@
void WP6SubDocument::parse(WP6Listener *listener) const
{
WPXMemoryInputStream *tmpStream = getStream();
+ if (!tmpStream)
+ return;
tmpStream->seek(0, WPX_SEEK_SET);
WP6Parser::parseDocument(tmpStream, listener);
}
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/libwpd-0.8.12/src/lib/WPXContentListener.cpp new/libwpd-0.8.13/src/lib/WPXContentListener.cpp
--- old/libwpd-0.8.12/src/lib/WPXContentListener.cpp 2007-09-23 21:15:52.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WPXContentListener.cpp 2007-12-08 13:12:37.000000000 +0100
@@ -478,10 +478,10 @@
propList.insert("fo:margin-top", m_ps->m_paragraphMarginTop);
propList.insert("fo:margin-bottom", m_ps->m_paragraphMarginBottom);
propList.insert("fo:line-height", m_ps->m_paragraphLineSpacing, PERCENT);
- if (m_ps->m_isParagraphColumnBreak)
- propList.insert("fo:break-before", "column");
- else if (m_ps->m_isParagraphPageBreak)
+ if (m_ps->m_isParagraphPageBreak && !m_ps->m_inSubDocument) // no hard page-breaks in subdocuments
propList.insert("fo:break-before", "page");
+ else if (m_ps->m_isParagraphColumnBreak)
+ propList.insert("fo:break-before", "column");
}
void WPXContentListener::_getTabStops(WPXPropertyListVector &tabStops)
@@ -728,7 +728,7 @@
}
// cater for the possibility to have the column/page break just before the table
- if (m_ps->m_isParagraphPageBreak)
+ if (m_ps->m_isParagraphPageBreak && !m_ps->m_inSubDocument) // No hard page-breaks in sub-documents
propList.insert("fo:break-before", "page");
else if (m_ps->m_isParagraphColumnBreak)
propList.insert("fo:break-before", "column");
@@ -821,7 +821,9 @@
{
if (m_ps->m_isTableRowOpened)
{
- while ((long)m_ps->m_currentTableCol < (long)m_ps->m_numRowsToSkip.size())
+ if (m_ps->m_currentTableCol < 0)
+ throw ParseException();
+ while ((unsigned long)m_ps->m_currentTableCol < (unsigned long)m_ps->m_numRowsToSkip.size())
{
if (!m_ps->m_numRowsToSkip[m_ps->m_currentTableCol]) // This case should not happen, but does :-(
{
@@ -883,7 +885,11 @@
if (m_ps->m_isTableCellOpened)
_closeTableCell();
- while ((long)m_ps->m_currentTableCol < (long)m_ps->m_numRowsToSkip.size() && m_ps->m_numRowsToSkip[m_ps->m_currentTableCol])
+ if (m_ps->m_currentTableCol < 0)
+ throw ParseException();
+
+ while ((unsigned long)m_ps->m_currentTableCol < (unsigned long)m_ps->m_numRowsToSkip.size() &&
+ m_ps->m_numRowsToSkip[m_ps->m_currentTableCol])
{
m_ps->m_numRowsToSkip[m_ps->m_currentTableCol]--;
m_ps->m_currentTableCol++;
@@ -923,7 +929,10 @@
m_ps->m_isTableCellOpened = true;
m_ps->m_isCellWithoutParagraph = true;
- while (((long)m_ps->m_currentTableCol < (long)m_ps->m_numRowsToSkip.size()) && (tmpColSpan > 0))
+ if (m_ps->m_currentTableCol < 0)
+ throw ParseException();
+
+ while ((unsigned long)m_ps->m_currentTableCol < (unsigned long)m_ps->m_numRowsToSkip.size() &&(tmpColSpan > 0))
{
if (m_ps->m_numRowsToSkip[m_ps->m_currentTableCol]) // This case should not happen, but it happens in real-life documents :-(
{
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/libwpd-0.8.12/src/lib/WPXMemoryStream.cpp new/libwpd-0.8.13/src/lib/WPXMemoryStream.cpp
--- old/libwpd-0.8.12/src/lib/WPXMemoryStream.cpp 2007-09-03 21:14:18.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WPXMemoryStream.cpp 2007-10-15 10:18:17.000000000 +0200
@@ -31,28 +31,21 @@
WPXInputStream(false),
m_offset(0),
m_size(size),
- m_data(data),
- m_tmpBuf(0)
+ m_data(data)
{
}
WPXMemoryInputStream::~WPXMemoryInputStream()
{
- if (m_tmpBuf)
- delete [] m_tmpBuf;
- if (m_data)
- delete [] m_data;
}
const uint8_t * WPXMemoryInputStream::read(size_t numBytes, size_t &numBytesRead)
{
numBytesRead = 0;
- if (0 == numBytes)
- return 0;
- if (m_tmpBuf)
- delete [] m_tmpBuf;
- m_tmpBuf = 0;
+ if (numBytes == 0)
+ return 0;
+
int numBytesToRead;
if ((m_offset+numBytes) < m_size)
@@ -65,14 +58,10 @@
if (numBytesToRead == 0)
return 0;
- m_tmpBuf = new uint8_t[numBytesToRead];
- for (size_t i=0; (long)i<(long)numBytesToRead; i++)
- {
- m_tmpBuf[i] = m_data[m_offset];
- m_offset++;
- }
-
- return m_tmpBuf;
+ long oldOffset = m_offset;
+ m_offset += numBytesToRead;
+
+ return &m_data[oldOffset];
}
int WPXMemoryInputStream::seek(long offset, WPX_SEEK_TYPE seekType)
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/libwpd-0.8.12/src/lib/WPXMemoryStream.h new/libwpd-0.8.13/src/lib/WPXMemoryStream.h
--- old/libwpd-0.8.12/src/lib/WPXMemoryStream.h 2006-11-14 15:52:46.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WPXMemoryStream.h 2007-10-15 10:18:17.000000000 +0200
@@ -44,7 +44,6 @@
long m_offset;
size_t m_size;
uint8_t *m_data;
- uint8_t *m_tmpBuf;
WPXMemoryInputStream(const WPXMemoryInputStream&);
WPXMemoryInputStream& operator=(const WPXMemoryInputStream&);
};
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/libwpd-0.8.12/src/lib/WPXStreamImplementation.cpp new/libwpd-0.8.13/src/lib/WPXStreamImplementation.cpp
--- old/libwpd-0.8.12/src/lib/WPXStreamImplementation.cpp 2007-09-03 21:15:34.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WPXStreamImplementation.cpp 2007-12-05 18:23:37.000000000 +0100
@@ -1,5 +1,7 @@
/* libwpd
* Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
+ * Copyright (C) 2007 Fridrich Strba (fridrich.strba@bluewin.ch)
+ * Copyright (C) 2007 Novell, Inc. (http://www.novell.com)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -39,6 +41,9 @@
std::stringstream buffer;
unsigned long streamSize;
uint8_t *buf;
+ uint8_t *readBuffer;
+ unsigned long readBufferLength;
+ unsigned long readBufferPos;
private:
WPXFileStreamPrivate(const WPXFileStreamPrivate&);
WPXFileStreamPrivate& operator=(const WPXFileStreamPrivate&);
@@ -61,7 +66,10 @@
file(),
buffer(std::ios::binary | std::ios::in | std::ios::out),
streamSize(0),
- buf(0)
+ buf(0),
+ readBuffer(0),
+ readBufferLength(0),
+ readBufferPos(0)
{
}
@@ -69,6 +77,8 @@
{
if (buf)
delete [] buf;
+ if (readBuffer)
+ delete [] readBuffer;
}
WPXStringStreamPrivate::WPXStringStreamPrivate(const std::string str) :
@@ -104,65 +114,105 @@
delete d;
}
+#define BUFFER_MAX 65536
+
const uint8_t *WPXFileStream::read(size_t numBytes, size_t &numBytesRead)
{
numBytesRead = 0;
- if (0 == numBytes)
- return 0;
-
- if (numBytes < 0 || atEOS() || numBytes > (std::numeric_limits<unsigned long>::max)()/2)
+ if (numBytes == 0 || /* atEOS() || */ numBytes > (std::numeric_limits<unsigned long>::max)()/2
+ || !d->file.good())
return 0;
- unsigned long curpos = d->file.tellg();
+ // can we read from the buffer?
+ if (d->readBuffer && (d->readBufferPos + numBytes > d->readBufferPos)
+ && (d->readBufferPos + numBytes <= d->readBufferLength))
+ {
+ const uint8_t *pTmp = d->readBuffer + d->readBufferPos;
+ d->readBufferPos += numBytes;
+ numBytesRead = numBytes;
+ return pTmp;
+ }
+
+ // hmm, we cannot: go back by the bytes we read ahead && invalidate the buffer
+ if (d->readBuffer)
+ {
+ d->file.seekg((unsigned long)d->file.tellg() - d->readBufferLength, std::ios::beg);
+ d->file.seekg(d->readBufferPos, std::ios::cur);
+ delete [] d->readBuffer;
+ d->readBuffer = 0; d->readBufferPos = 0; d->readBufferLength = 0;
+ }
+
+ unsigned long curpos = tell();
if (curpos == (unsigned long)-1) // tellg() returned ERROR
return 0;
if ( (curpos + numBytes < curpos) /*overflow*/ ||
- (curpos + numBytes > d->streamSize) ) /*reading more than available*/
+ (curpos + numBytes >= d->streamSize) ) /*reading more than available*/
{
numBytes = d->streamSize - curpos;
}
- if (d->buf)
- delete [] d->buf;
- d->buf = new uint8_t[numBytes];
-
- if(d->file.good())
+ if (numBytes < BUFFER_MAX)
{
- d->file.read((char *)(d->buf), numBytes);
- numBytesRead = (long)d->file.tellg() - curpos;
+ if (BUFFER_MAX < d->streamSize - curpos)
+ d->readBufferLength = BUFFER_MAX;
+ else /* BUFFER_MAX >= d->streamSize - curpos */
+ d->readBufferLength = d->streamSize - curpos;
}
+ else
+ d->readBufferLength = numBytes;
- return d->buf;
+ d->file.seekg(d->readBufferLength, std::ios::cur);
+ d->file.seekg(curpos, std::ios::beg);
+
+ d->readBuffer = new uint8_t[d->readBufferLength];
+ d->file.read((char *)(d->readBuffer), d->readBufferLength);
+
+ if (!d->file.good())
+ d->file.clear();
+ d->readBufferPos = 0;
+ if (d->readBufferLength == 0)
+ return 0;
+
+ numBytesRead = numBytes;
+
+ d->readBufferPos += numBytesRead;
+ return const_cast( d->readBuffer );
}
long WPXFileStream::tell()
{
- return d->file.good() ? (long)d->file.tellg() : -1L;
+ return d->file.good() ? (long)((long)d->file.tellg() - d->readBufferLength + d->readBufferPos) : -1L;
}
int WPXFileStream::seek(long offset, WPX_SEEK_TYPE seekType)
{
- if (seekType == WPX_SEEK_SET)
+ if (seekType == WPX_SEEK_CUR)
+ offset += tell();
+
+ if (offset < 0)
+ offset = 0;
+ if (offset > (long)d->streamSize)
+ offset = (long)d->streamSize;
+
+ if (d->file.good() && offset < d->file.tellg() && (unsigned long)offset >= (unsigned long)d->file.tellg() - d->readBufferLength)
{
- if (offset < 0)
- offset = 0;
- if (offset > (long)d->streamSize)
- offset = (long)d->streamSize;
+ d->readBufferPos = offset + d->readBufferLength - d->file.tellg();
+ return 0;
}
-
- if (seekType == WPX_SEEK_CUR)
+
+ if (d->readBuffer) // seeking outside of the buffer, so invalidate the buffer
{
- if (tell() + offset < 0)
- offset = -tell();
- if (tell() + offset > (long)d->streamSize)
- offset = d->streamSize - tell();
+ d->file.seekg((unsigned long)d->file.tellg() - d->readBufferLength, std::ios::beg);
+ d->file.seekg(d->readBufferPos, std::ios::cur);
+ delete [] d->readBuffer;
+ d->readBuffer = 0; d->readBufferPos = 0; d->readBufferLength = 0;
}
-
+
if(d->file.good())
{
- d->file.seekg(offset, ((seekType == WPX_SEEK_SET) ? std::ios::beg : std::ios::cur));
+ d->file.seekg(offset, std::ios::beg);
return (int) ((long)d->file.tellg() == -1) ;
}
else
@@ -171,29 +221,42 @@
bool WPXFileStream::atEOS()
{
- return (d->file.tellg() >= (long)d->streamSize);
+ return (tell() >= (long)d->streamSize);
}
bool WPXFileStream::isOLEStream()
{
+ if (d->readBuffer)
+ {
+ d->file.seekg((unsigned long)d->file.tellg() - d->readBufferLength, std::ios::beg);
+ d->file.seekg(d->readBufferPos, std::ios::cur);
+ delete [] d->readBuffer;
+ d->readBuffer = 0; d->readBufferPos = 0; d->readBufferLength = 0;
+ }
+
if (d->buffer.str().empty())
d->buffer << d->file.rdbuf();
Storage tmpStorage( d->buffer );
+ seek(0, WPX_SEEK_SET);
if (tmpStorage.isOLEStream())
- {
- seek(0, WPX_SEEK_SET);
return true;
- }
- seek(0, WPX_SEEK_SET);
return false;
}
-WPXInputStream* WPXFileStream::getDocumentOLEStream(const char * name)
+WPXInputStream* WPXFileStream::getDocumentOLEStream()
{
+ if (d->readBuffer)
+ {
+ d->file.seekg((unsigned long)d->file.tellg() - d->readBufferLength, std::ios::beg);
+ d->file.seekg(d->readBufferPos, std::ios::cur);
+ delete [] d->readBuffer;
+ d->readBuffer = 0; d->readBufferPos = 0; d->readBufferLength = 0;
+ }
+
if (d->buffer.str().empty())
d->buffer << d->file.rdbuf();
Storage *tmpStorage = new Storage( d->buffer );
- Stream tmpStream( tmpStorage, name );
+ Stream tmpStream( tmpStorage, "PerfectOffice_MAIN" );
if (!tmpStorage || (tmpStorage->result() != Storage::Ok) || !tmpStream.size())
{
if (tmpStorage)
@@ -222,11 +285,6 @@
return new WPXStringStream((const char *)(d->buf), tmpLength);
}
-WPXInputStream* WPXFileStream::getDocumentOLEStream()
-{
- return getDocumentOLEStream("PerfectOffice_MAIN");
-}
-
WPXStringStream::WPXStringStream(const char *data, const unsigned int dataSize) :
WPXInputStream(true),
d(new WPXStringStreamPrivate(std::string(data, dataSize)))
@@ -250,7 +308,7 @@
{
numBytesRead = 0;
- if (0 == numBytes)
+ if (numBytes == 0)
return 0;
if (numBytes < 0 || atEOS() || numBytes > (std::numeric_limits<unsigned long>::max)()/2)
@@ -328,10 +386,10 @@
return false;
}
-WPXInputStream* WPXStringStream::getDocumentOLEStream(const char * name)
+WPXInputStream* WPXStringStream::getDocumentOLEStream()
{
Storage *tmpStorage = new Storage( d->buffer );
- Stream tmpStream( tmpStorage, name );
+ Stream tmpStream( tmpStorage, "PerfectOffice_MAIN" );
if (!tmpStorage || (tmpStorage->result() != Storage::Ok) || !tmpStream.size())
{
if (tmpStorage)
@@ -358,8 +416,3 @@
delete tmpStorage;
return new WPXStringStream((const char *)(d->buf), tmpLength);
}
-
-WPXInputStream* WPXStringStream::getDocumentOLEStream()
-{
- return getDocumentOLEStream("PerfectOffice_MAIN");
-}
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/libwpd-0.8.12/src/lib/WPXSubDocument.cpp new/libwpd-0.8.13/src/lib/WPXSubDocument.cpp
--- old/libwpd-0.8.12/src/lib/WPXSubDocument.cpp 2007-02-27 11:56:51.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WPXSubDocument.cpp 2007-10-15 10:18:17.000000000 +0200
@@ -26,33 +26,40 @@
#include "WP3Parser.h"
#include "libwpd_internal.h"
#include "WPXListener.h"
+#include
WPXSubDocument::WPXSubDocument() :
- m_stream(0)
+ m_stream(0),
+ m_streamData(0)
{
}
WPXSubDocument::WPXSubDocument(WPXInputStream *input, const unsigned dataSize) :
- m_stream(0)
+ m_stream(0),
+ m_streamData(new uint8_t[dataSize])
{
- uint8_t *streamData = new uint8_t[dataSize];
- for (unsigned i=0; iatEOS())
- throw FileException();
- streamData[i] = readU8(input);
+ break;
+ m_streamData[i] = readU8(input);
}
- m_stream = new WPXMemoryInputStream(streamData, dataSize);
+ m_stream = new WPXMemoryInputStream(m_streamData, i);
}
WPXSubDocument::WPXSubDocument(uint8_t * streamData, const unsigned dataSize) :
- m_stream(0)
+ m_stream(0),
+ m_streamData(0)
{
- m_stream = new WPXMemoryInputStream(streamData, dataSize);
+ if (streamData)
+ m_stream = new WPXMemoryInputStream(streamData, dataSize);
}
WPXSubDocument::~WPXSubDocument()
{
if (m_stream)
delete m_stream;
+ if (m_streamData)
+ delete [] m_streamData;
}
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/libwpd-0.8.12/src/lib/WPXSubDocument.h new/libwpd-0.8.13/src/lib/WPXSubDocument.h
--- old/libwpd-0.8.12/src/lib/WPXSubDocument.h 2007-01-15 11:34:37.000000000 +0100
+++ new/libwpd-0.8.13/src/lib/WPXSubDocument.h 2007-10-15 10:18:18.000000000 +0200
@@ -40,6 +40,7 @@
private:
WPXMemoryInputStream *m_stream;
+ uint8_t *m_streamData;
WPXSubDocument(const WPXSubDocument&);
WPXSubDocument& operator=(const WPXSubDocument&);
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/libwpd-0.8.12/src/lib/WPXTable.cpp new/libwpd-0.8.13/src/lib/WPXTable.cpp
--- old/libwpd-0.8.12/src/lib/WPXTable.cpp 2007-05-09 14:37:28.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WPXTable.cpp 2007-12-08 12:51:25.000000000 +0100
@@ -27,9 +27,6 @@
#include "WPXTable.h"
#include "libwpd_internal.h"
-typedef std::vector::iterator VTCIter;
-typedef std::vector< std::vector * >::iterator VVTCIter;
-
_WPXTableCell::_WPXTableCell(uint8_t colSpan, uint8_t rowSpan, uint8_t borderBits) :
m_colSpan(colSpan),
m_rowSpan(rowSpan),
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/libwpd-0.8.12/src/lib/WPXTable.h new/libwpd-0.8.13/src/lib/WPXTable.h
--- old/libwpd-0.8.12/src/lib/WPXTable.h 2007-07-11 14:00:56.000000000 +0200
+++ new/libwpd-0.8.13/src/lib/WPXTable.h 2007-12-08 12:51:25.000000000 +0100
@@ -50,7 +50,7 @@
class WPXTable
{
public:
- WPXTable() : m_tableRows(std::vector< std::vector >()) {}
+ WPXTable() : m_tableRows() {}
~WPXTable();
void insertRow();
void insertCell(uint8_t colSpan, uint8_t rowSpan, uint8_t borderBits);
++++++ libwpg-0.1.0.tar.gz -> libwpg-0.1.2.tar.gz ++++++
++++ 2831 lines of diff (skipped)
++++++ libwps-0.1.0.tar.gz -> libwps-0.1.2.tar.gz ++++++
++++ 41741 lines of diff (skipped)
++++++ ooo-build-2.3.1.1.tar.gz -> ooo-build-2.3.99.2.tar.gz ++++++
arch/i386/OpenOffice_org/ooo-build-2.3.1.1.tar.gz /mounts/work_src_done/STABLE/OpenOffice_org/ooo-build-2.3.99.2.tar.gz differ: byte 5, line 1
++++++ ooo-build-bin.diff ++++++
--- /var/tmp/diff_new_pack.m24946/_old 2008-02-04 01:07:23.000000000 +0100
+++ /var/tmp/diff_new_pack.m24946/_new 2008-02-04 01:07:24.000000000 +0100
@@ -9,59 +9,39 @@
$destdir='';
if ( defined $setup_vars{OODESTDIR} &&
$setup_vars{OODESTDIR} ne "" ) {
-@@ -136,22 +139,43 @@
+@@ -127,6 +127,11 @@ if ( defined $setup_vars{OOO_STRIP} &&
+ $strip = "-dontstrip";
}
++$languagepack='';
++if ($setup_vars{'LANGS_ONLY'} eq 'YES') {
++ $languagepack='-languagepack';
++}
++
+ if ($setup_vars{'VENDORNAME'} eq 'Debian') {
+ print "Running URE installer\n";
+ system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
+@@ -139,7 +144,7 @@ if ($setup_vars{'VENDORNAME'} eq 'Debian
print "Running OOo installer\n";
--system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
-- "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl " .
+ system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
+ "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl " .
- "-f openoffice.lst -l $langs -p OpenOffice " .
-- "-packagelist ../inc_openoffice/unix/packagelist.txt " .
-+if ($setup_vars{'LANGS_ONLY'} eq 'YES') {
-+ system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
-+ "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl ".
-+ "-f openoffice.lst -l $langs -p OpenOffice -languagepack " .
-+ "-packagelist ../inc_ure/unix/packagelist.txt " .
- "-addpackagelist ../inc_openoffice/unix/packagelist_language.txt " .
++ "-f openoffice.lst -l $langs -p OpenOffice $languagepack " .
"-buildid $BUILD $destdir $strip " .
"-simple $path") && die "Failed to install: $!";
--if (($setup_vars{'VENDORNAME'} eq 'Novell' || $setup_vars{'VENDORNAME'} eq 'Debian' || $setup_vars{'VENDORNAME'} eq 'Mandriva' ) && $configure_vars{BUILD_TYPE} =~ m/ODK/) {
-- print "Running SDK installer\n";
-+# system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
-+# "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl ".
-+# "-f openoffice.lst -l $langs -p OpenOffice_Languages " .
-+# "-packagelist ../inc_ure/unix/packagelist.txt " .
-+# "-addpackagelist ../inc_openoffice/unix/packagelist_language.txt " .
-+# "-buildid $BUILD $destdir $strip " .
-+# "-simple $path") && die "Failed to install: $!";
-+
-+ print "Installer finished\n";
-+ exit 0
-+}else {
- system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
- "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl " .
-- "-f openoffice.lst -l en-US -p OpenOffice_SDK " .
-- "-packagelist ../inc_sdkoo/unix/packagelist.txt " .
-+ "-f openoffice.lst -l $langs -p OpenOffice " .
-+ "-packagelist ../inc_openoffice/unix/packagelist.txt " .
-+ "-addpackagelist ../inc_openoffice/unix/packagelist_language.txt " .
- "-buildid $BUILD $destdir $strip " .
-- "-simple $path/sdk") && die "Failed to install: $!";
-+ "-simple $path") && die "Failed to install: $!";
-+
-+ if (($setup_vars{'VENDORNAME'} eq 'Novell' || $setup_vars{'VENDORNAME'} eq 'Debian' || $setup_vars{'VENDORNAME'} eq 'Mandriva' ) && $configure_vars{BUILD_TYPE} =~ m/ODK/) {
-+ print "Running SDK installer\n";
-+ system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
-+ "perl -w $configure_vars{SOLARENV}/bin/make_installer.pl " .
-+ "-f openoffice.lst -l en-US -p OpenOffice_SDK " .
-+ "-packagelist ../inc_sdkoo/unix/packagelist.txt " .
-+ "-buildid $BUILD $destdir $strip " .
-+ "-simple $path/sdk") && die "Failed to install: $!";
-+ }
+@@ -160,6 +165,11 @@ foreach my $i (split(/,/, $langs)) {
+ }
}
- print "Installer finished\n";
++if ($setup_vars{'LANGS_ONLY'} eq 'YES') {
++ print "Installer finished\n";
++ exit 0;
++}
++
+ if (($setup_vars{'VENDORNAME'} eq 'Novell' || $setup_vars{'VENDORNAME'} eq 'Debian' || $setup_vars{'VENDORNAME'} eq 'Mandriva' ) && $configure_vars{BUILD_TYPE} =~ m/ODK/) {
+ print "Running SDK installer\n";
+ system ("cd $setup_vars{OOBUILDDIR}/instsetoo_native/util ; " .
--- bin/package-ooo
+++ bin/package-ooo
@@ -15,6 +15,8 @@
@@ -82,15 +62,17 @@
export DISPLAY=''; # clobber;
echo "Execute ooinstall ...";
-@@ -302,6 +302,15 @@
+@@ -302,6 +302,17 @@
# poor localizations in never packages
}
+# FIXME: remove en-US files in LANG ONLY build
+if test "$LANGS_ONLY" = "YES" ; then
+ cd $OODESTDIR
-+ for file in `grep -v "%dir" gid_Module_Root.en-US | sed "s|%config ||"` ; do
-+ rm -f ./$file
++ for gid_file in gid_Module*.en-US ; do
++ for file in `grep -v "%dir" $gid_file | sed "s|%config ||"` ; do
++ rm -f ./$file
++ done
+ done
+ cd -
+fi
++++++ oox.2007-09-05.tar.bz2 -> oox.2008-01-29.tar.bz2 ++++++
++++ 86985 lines of diff (skipped)
++++++ openabout_nld.bmp ++++++
Files arch/i386/OpenOffice_org/openabout_nld.bmp and /mounts/work_src_done/STABLE/OpenOffice_org/openabout_nld.bmp differ
++++++ openintro_nld.bmp ++++++
Files arch/i386/OpenOffice_org/openintro_nld.bmp and /mounts/work_src_done/STABLE/OpenOffice_org/openintro_nld.bmp differ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org