Hello community,
here is the log from the commit of package OpenOffice_org
checked in at Mon Sep 3 18:39:45 CEST 2007.
--------
--- arch/i386/OpenOffice_org/OpenOffice_org.changes 2007-08-20 17:52:19.000000000 +0200
+++ /mounts/work_src_done/STABLE/OpenOffice_org/OpenOffice_org.changes 2007-08-31 18:34:04.000000000 +0200
@@ -1,0 +2,36 @@
+Fri Aug 31 18:10:10 CEST 2007 - pmladek@suse.cz
+
+- updated to milestone oog680-m2 (another OOo-2.3.beta, close rc1)
+- updated ooo-build to oog680-m2:
+ * target oog680-m2
+ * search templates on more locations
+ * lots optimizations of the text search operations
+ * lots fixes in the layout stuff
+ * lots fixes and improvements in the OOX import filters
+ * export to MS format for autoshape macro bindings/associations [n#304739]
+ * load condensed paragraphs from Word Perfect documents
+ * Writer.append not compatible with PrintWriter.append
+ * associate sheet and codename when insert a sheet
+ * crash when deleting rows via autofilter [n#199224]
+ * display bitmap images in presentation mode correctly [n#266082]
+ * read the real help path from registry everywhere
+ * display help correctly when is it symlinked
+ * URLs with invalid characters [n#246629]
+ * GDK hang
+ * no Help->registration dialog by default
+ * read the right GNOME color for menus [n#187693]
+ * search /usr/lib64 for 64-bit JREs
+ * updated list of gij search paths
+ * fix testtool to work again [n#301439]
+ * finally removed -fsigned-char on PPC [n#169875]
+ * branched SUSE-10.3 configuration
+- updated libwpd to version 0.8.11
+ * crashes with tables where cells span more then 0x7f rows
+ * incorrect reading of font information
+- added the tarball with OOX import filters; all these files were added by
+ patches in the previous versions of ooo-build; it was ugly...
+- fixed dependency on java; any 64-bit JRE is enough on x86_64
+- moved also English help to /usr/share
+- configured ooo-build to use the 10.3-specific configuration
+
+-------------------------------------------------------------------
--- arch/i386/OpenOffice_org/OpenOffice_org-i18n.changes 2007-08-17 18:57:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/OpenOffice_org/OpenOffice_org-i18n.changes 2007-08-31 18:27:24.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Aug 31 18:25:40 CEST 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,
+ nn, sk, sl, vi
+- added extra translation file: gl
+- removed unused Requires and Provides
+- fixed build to update localizations from the external sources
+
+-------------------------------------------------------------------
Old:
----
libwpd-0.8.10.tar.gz
minmem
oog680-m1-binfilter.tar.bz2
oog680-m1-core.tar.bz2
oog680-m1-lang.tar.bz2
oog680-m1-sdk_oo.tar.bz2
oog680-m1-system.tar.bz2
ooo-build-oog680-m1-cws-compatability01.diff
ooo-build-oog680-m1-desktop-build-deps.diff
ooo-build-oog680-m1.tar.gz
New:
----
libwpd-0.8.11.tar.gz
oog680-m2-binfilter.tar.bz2
oog680-m2-core.tar.bz2
oog680-m2-lang.tar.bz2
oog680-m2-sdk_oo.tar.bz2
oog680-m2-system.tar.bz2
ooo-build-help-in-usr-share.diff
ooo-build-oog680-m2-config_office-ibm-java-1.5.0-ppc.diff
ooo-build-oog680-m2.tar.gz
oox.2008-08-28.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ OpenOffice_org-i18n.spec ++++++
--- /var/tmp/diff_new_pack.tv5060/_old 2007-09-03 18:37:51.000000000 +0200
+++ /var/tmp/diff_new_pack.tv5060/_new 2007-09-03 18:37:51.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package OpenOffice_org-i18n (Version 2.3.0.0.1)
+# spec file for package OpenOffice_org-i18n (Version 2.3.0.0.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -70,8 +70,8 @@
%define ooo_prefix %_libdir
%define ooo_home ooo-2.0
%define ooo_build_dir build
-%define ooo_build_version oog680-m1
-%define ooo_build_tag oog680-m1
+%define ooo_build_version oog680-m2
+%define ooo_build_tag oog680-m2
# source sripts for architectures
%ifarch ppc
%define ooo_source_script %ooo_build_dir/%ooo_build_tag/LinuxPPCEnv.Set.sh
@@ -84,12 +84,9 @@
%endif
License: GPL v2 or later, LGPL v2 or later, The non-standard licenses from /usr/lib/ooo-2.0/THIRDPARTYLICENSEREADME.html:
Group: Productivity/Office/Suite
-Version: 2.3.0.0.1
-Release: 2
+Version: 2.3.0.0.2
+Release: 1
Autoreqprov: on
-PreReq: coreutils /usr/bin/update-mime-database
-Prereq: %{?suseconfig_fonts_prereq:%suseconfig_fonts_prereq}
-Requires: myspell-american
Summary: A Source Package for OpenOffice.org Localizations
URL: http://www.openoffice.org/
#Url-help: ftp://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/
@@ -116,8 +113,8 @@
# necessary for SDK, http://udk.openoffice.org/common/man/spec/transparentofficecomponents.html
# FIXME: can be built using mingw32 C++ compiler
Source15: unowinreg.dll
-# libwpd-0.8.10 with lots fixes
-Source16: libwpd-0.8.10.tar.gz
+# libwpd-0.8.11 with lots fixes
+Source16: libwpd-0.8.11.tar.gz
# fix bibliographic encoding n#155725, i#62664
Source17: biblio.tar.bz2
# library that handles Word Perfect Draw documents
@@ -126,6 +123,8 @@
Source19: libwps-0.1.0.tar.gz
# library that handles SVG graphics format
Source20: libsvg-0.1.4.tar.gz
+# native OpenXML import filter sources
+Source21: oox.2008-08-28.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
@@ -144,7 +143,8 @@
Patch0: ooo-build-bin.diff
Patch1: ooo-build-help.diff
Patch2: ooo-build-pack-noarch.diff
-Patch3: ooo-build-oog680-m1-cws-compatability01.diff
+Patch3: ooo-build-help-in-usr-share.diff
+Patch4: ooo-build-oog680-m2-config_office-ibm-java-1.5.0-ppc.diff
Patch100: extra_localizations_sources-about.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArchitectures: noarch
@@ -981,7 +981,8 @@
%patch1
%patch2
%patch3
-install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:12} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} src/
+%patch4 -p1
+install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:12} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} src/
# extra localizations sources
tar -xjf %{S:30} -C src/
%patch100
@@ -1064,6 +1065,10 @@
cp -a %ooo_prefix/%ooo_home/devel/Linux*.sh %ooo_build_dir/%ooo_build_tag/
cp -a src/go-oo-team.png %ooo_build_dir/%ooo_build_tag/default_images/sw/res/
%endif
+# update localization from the extra sources
+cd bin
+./localize-ooo
+cd ..
# build helpcontent2
source %ooo_source_script
# build in parallel?
@@ -1750,6 +1755,14 @@
%defattr(-,root,root)
%changelog
+* 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,
+ nn, sk, sl, vi
+- 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
- updated to milestone oog680-m1 (another OOo-2.3.beta, close rc1)
- updated ooo-build to oog680-m1
++++++ OpenOffice_org.spec ++++++
--- /var/tmp/diff_new_pack.tv5060/_old 2007-09-03 18:37:52.000000000 +0200
+++ /var/tmp/diff_new_pack.tv5060/_new 2007-09-03 18:37:52.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package OpenOffice_org (Version 2.3.0.0.1)
+# spec file for package OpenOffice_org (Version 2.3.0.0.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -121,12 +121,12 @@
%define ooo_prefix %_libdir
%define ooo_home ooo-2.0
%define ooo_build_dir build
-%define ooo_build_version oog680-m1
-%define ooo_build_tag oog680-m1
+%define ooo_build_version oog680-m2
+%define ooo_build_tag oog680-m2
License: Artistic License, BSD 3-Clause, The non-standard licenses from /usr/lib/ooo-2.0/THIRDPARTYLICENSEREADME.html:
Group: Productivity/Office/Suite
-Version: 2.3.0.0.1
-Release: 3
+Version: 2.3.0.0.2
+Release: 1
Autoreqprov: on
PreReq: coreutils /usr/bin/update-mime-database
Prereq: %{?suseconfig_fonts_prereq:%suseconfig_fonts_prereq}
@@ -142,18 +142,39 @@
# we need a JRE for oobase and the other stuff
# gij is enough on SL 10.1 and higher
%if %suse_version > 1000
-%ifarch x86_64 ppc
-# the 64-bit build does not work with Sun Java, #219982
-%if %suse_version > 1010
+# ---
+%ifarch %ix86
+# the 32-bit build requires 32-bit JRE, #222708
+Requires: jre-32
+%endif
+# ---
+%ifarch x86_64
+%if %suse_version > 1020
+Requires: jre-64
+%endif
+# the 64-bit build does not work with Sun Java on older distributions, #219982
+%if %suse_version == 1020
Requires: gcc-gij
-%else
+%endif
+%if %suse_version < 1020
Requires: libgcj
%endif
-%else
-# the 32-bit build requires 32-bit JRE, #222708
+%endif
+# ---
+%ifarch ppc
+%if %suse_version > 1020
Requires: jre-32
%endif
+# there were problems with the commercial Java on ppc on older distribtions
+%if %suse_version == 1020
+Requires: gcc-gij
%endif
+%if %suse_version < 1020
+Requires: libgcj
+%endif
+%endif
+%endif
+# ---
%if %suse_version > 1000
Requires: xalan-j2 xerces-j2 xml-commons-apis
%endif
@@ -214,8 +235,8 @@
# necessary for SDK, http://udk.openoffice.org/common/man/spec/transparentofficecomponents.html
# FIXME: can be built using mingw32 C++ compiler
Source15: unowinreg.dll
-# libwpd-0.8.10 with lots fixes
-Source16: libwpd-0.8.10.tar.gz
+# libwpd-0.8.11 with lots fixes
+Source16: libwpd-0.8.11.tar.gz
# fix bibliographic encoding n#155725, i#62664
Source17: biblio.tar.bz2
# library that handles Word Perfect Draw documents
@@ -224,6 +245,8 @@
Source19: libwps-0.1.0.tar.gz
# library that handles SVG graphics format
Source20: libsvg-0.1.4.tar.gz
+# native OpenXML import filter sources
+Source21: oox.2008-08-28.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
@@ -249,8 +272,8 @@
Patch0: ooo-build-bin.diff
Patch1: ooo-build-help.diff
Patch2: ooo-build-pack-noarch.diff
-Patch3: ooo-build-oog680-m1-cws-compatability01.diff
-Patch4: ooo-build-oog680-m1-desktop-build-deps.diff
+Patch3: ooo-build-help-in-usr-share.diff
+Patch4: ooo-build-oog680-m2-config_office-ibm-java-1.5.0-ppc.diff
Patch100: extra_localizations_sources-about.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -619,7 +642,7 @@
%patch2
%patch3
%patch4 -p1
-install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:12} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} src/
+install -m 644 %{S:1} %{S:2} %{S:3} %{S:6} %{S:7} %{S:8} %{S:9} %{S:10} %{S:11} %{S:12} %{S:13} %{S:14} %{S:15} %{S:16} %{S:17} %{S:18} %{S:19} %{S:20} %{S:21} 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
@@ -651,13 +674,13 @@
fi
#
# Distro settings ...
-%if %suse_version <= 1010
+%if %suse_version <= 1020
suse_major_ver=$((%suse_version / 100))
suse_minor_ver=$((%suse_version / 10 - $suse_major_ver * 10))
with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
%else
-%if %suse_version > 1010 && %suse_version <= 1020
- with_distro="SUSE-10.2"
+%if %suse_version > 1020 && %suse_version <= 1030
+ with_distro="SUSE-10.3"
%else
with_distro="SUSE"
%endif
@@ -729,6 +752,7 @@
%endif
# FIXME: will be obsolete after we are able to build res files separately
export HELPCONTENT_EN_US_ONLY=YES
+export NOARCH_HELP=YES
make DESTDIR=$RPM_BUILD_ROOT install
# fix permissions of .so files
find $RPM_BUILD_ROOT%ooo_prefix/%ooo_home/program -name '*.so*' -type f -exec chmod a+x {} \;
@@ -1030,6 +1054,39 @@
%{_prefix}/bin/dmake
%changelog
+* 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:
+ * target oog680-m2
+ * search templates on more locations
+ * lots optimizations of the text search operations
+ * lots fixes in the layout stuff
+ * lots fixes and improvements in the OOX import filters
+ * export to MS format for autoshape macro bindings/associations [n#304739]
+ * load condensed paragraphs from Word Perfect documents
+ * Writer.append not compatible with PrintWriter.append
+ * associate sheet and codename when insert a sheet
+ * crash when deleting rows via autofilter [n#199224]
+ * display bitmap images in presentation mode correctly [n#266082]
+ * read the real help path from registry everywhere
+ * display help correctly when is it symlinked
+ * URLs with invalid characters [n#246629]
+ * GDK hang
+ * no Help->registration dialog by default
+ * read the right GNOME color for menus [n#187693]
+ * search /usr/lib64 for 64-bit JREs
+ * updated list of gij search paths
+ * fix testtool to work again [n#301439]
+ * finally removed -fsigned-char on PPC [n#169875]
+ * branched SUSE-10.3 configuration
+- updated libwpd to version 0.8.11
+ * crashes with tables where cells span more then 0x7f rows
+ * incorrect reading of font information
+- added the tarball with OOX import filters; all these files were added by
+ patches in the previous versions of ooo-build; it was ugly...
+- fixed dependency on java; any 64-bit JRE is enough on x86_64
+- moved also English help to /usr/share
+- configured ooo-build to use the 10.3-specific configuration
* Mon Aug 20 2007 - pmladek@suse.cz
- fixed build dependencies of the desktop module
* Fri Aug 17 2007 - pmladek@suse.cz
++++++ extra_localizations_sources.tar.bz2 ++++++
arch/i386/OpenOffice_org/extra_localizations_sources.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/extra_localizations_sources.tar.bz2 differ: byte 11, line 1
++++++ libwpd-0.8.10.tar.gz -> libwpd-0.8.11.tar.gz ++++++
++++ 1677 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.10/CHANGES new/libwpd-0.8.11/CHANGES
--- old/libwpd-0.8.10/CHANGES 2007-06-15 10:31:17.000000000 +0200
+++ new/libwpd-0.8.11/CHANGES 2007-08-24 13:15:41.000000000 +0200
@@ -1,4 +1,14 @@
CHANGES:
+0.8.10 - 0.8.11
+- Fix incorrect conversion of tables with cells spanning more then 127 rows due to
+ incorrect information in the file-format (Fridrich)
+- Fix incorrect reading of font name information in prefix packets (Fridrich)
+- Fixing http://bugzilla.abisource.com bug #10957: Bad -L flags in Makefile.am break
+ compiling if different libwpd version is already installed (Daniel Mack)
+- Fixing http://bugzilla.abisource.com bug #10958: Risky -I ordering (Daniel Mack)
+- Making a proper release win32 (MinGW) binaries crosscompilation on Linux possible and
+ smooth (Fridrich)
+
0.8.9 - 0.8.10
- Fix a locale dependency in our float to string conversion (Fridrich)
- Enhance our reading of document meta data for WP6 (David Hislop)
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.10/configure.in new/libwpd-0.8.11/configure.in
--- old/libwpd-0.8.10/configure.in 2007-06-15 10:31:33.000000000 +0200
+++ new/libwpd-0.8.11/configure.in 2007-08-24 11:01:55.000000000 +0200
@@ -4,7 +4,7 @@
WPD_MAJOR_VERSION=0
WPD_MINOR_VERSION=8
-WPD_MICRO_VERSION=10
+WPD_MICRO_VERSION=11
WPD_VERSION="$WPD_MAJOR_VERSION.$WPD_MINOR_VERSION.$WPD_MICRO_VERSION"
@@ -154,6 +154,7 @@
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$native_win32" = xyes; then
+ AC_CHECK_TOOL(WINDRES, windres)
if test x"$GCC" = xyes; then
msnative_struct=''
AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
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.10/libwpd.spec new/libwpd-0.8.11/libwpd.spec
--- old/libwpd-0.8.10/libwpd.spec 2007-06-15 10:32:57.000000000 +0200
+++ new/libwpd-0.8.11/libwpd.spec 2007-08-24 16:38:03.000000000 +0200
@@ -1,5 +1,5 @@
%define name libwpd
-%define version 0.8.10
+%define version 0.8.11
%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.10/*
+%{_datadir}/doc/libwpd-0.8.11/*
%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.10/libwpd-zip.in new/libwpd-0.8.11/libwpd-zip.in
--- old/libwpd-0.8.10/libwpd-zip.in 2007-03-04 10:44:16.000000000 +0100
+++ new/libwpd-0.8.11/libwpd-zip.in 2007-08-24 11:01:55.000000000 +0200
@@ -2,27 +2,29 @@
# Build runtime and developer zipfiles for libwpd on Win32.
-ZIP=libwpd-@WPD_VERSION@.zip
-DEVZIP=libwpd-dev-@WPD_VERSION@.zip
+ZIP=libwpd-@WPD_VERSION@-MinGW.zip
+DEVZIP=libwpd-devel-@WPD_VERSION@-MinGW.zip
-cd @prefix@
+cd $DESTDIR@prefix@
-DLLDIR=lib
[ -f bin/libwpd-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll ] && \
[ -f bin/libwpd-stream-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll ] && \
-DLLDIR=bin
-strip --strip-all \
-$DLLDIR/libwpd-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll \
-$DLLDIR/libwpd-stream-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll
+@STRIP@ --strip-all \
+bin/libwpd-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll \
+bin/libwpd-stream-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll
+
+upx --best \
+bin/libwpd-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll \
+bin/libwpd-stream-@WPD_MAJOR_VERSION@.@WPD_MINOR_VERSION@.dll
-rm $ZIP
+rm -f $ZIP
zip $ZIP -@ < Unicode (UCS2) Mappings by Ariya Hidayat for the
@@ -506,7 +486,10 @@
{
// if characterset == 0, we have ascii. note that this is different from the doc. body
// this is not documented in the file format specifications
- *chars = &asciiMap[character];
+ if (character >= 0x20 && character < 0x7F)
+ *chars = &asciiMap[character - 0x20];
+ else
+ *chars = &asciiMap[0x00];
return 1;
}
@@ -516,77 +499,77 @@
if (character < WP6_NUM_MULTINATIONAL_CHARACTERS)
*chars = &multinationalWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_PHONETIC_SYMBOL_CHARACTER_SET:
if (character < WP6_NUM_PHONETIC_CHARACTERS)
*chars = &phoneticWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_BOX_DRAWING_CHARACTER_SET:
if (character < WP6_NUM_BOX_DRAWING_CHARACTERS)
*chars = &boxdrawingWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_TYPOGRAPHIC_SYMBOL_CHARACTER_SET:
if (character < WP6_NUM_TYPOGRAPHIC_CHARACTERS)
*chars = &typographicWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_ICONIC_SYMBOL_CHARACTER_SET:
if (character < WP6_NUM_ICONIC_CHARACTERS)
*chars = &iconicWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_MATH_SCIENTIFIC_CHARACTER_SET:
if (character < WP6_NUM_MATH_SCIENTIFIC_CHARACTERS)
*chars = &mathWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_MATH_SCIENTIFIC_EXTENDED_CHARACTER_SET:
if (character < WP6_NUM_MATH_SCIENTIFIC_EXTENDED_CHARACTERS)
*chars = &mathextWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_GREEK_CHARACTER_SET:
if (character < WP6_NUM_GREEK_CHARACTERS)
*chars = &greekWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_HEBREW_CHARACTER_SET:
if (character < WP6_NUM_HEBREW_CHARACTERS)
*chars = &hebrewWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_CYRILLIC_CHARACTER_SET:
if (character < WP6_NUM_CYRILLIC_CHARACTERS)
*chars = &cyrillicWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_JAPANESE_CHARACTER_SET:
if (character < WP6_NUM_JAPANESE_CHARACTERS)
*chars = &japaneseWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_TIBETAN_CHARACTER_SET:
@@ -597,7 +580,7 @@
return i;
}
else {
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
}
@@ -605,19 +588,19 @@
if (character < WP6_NUM_ARABIC_CHARACTERS)
*chars = &arabicWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP6_ARABIC_SCRIPT_CHARACTER_SET:
if (character < WP6_NUM_ARABIC_SCRIPT_CHARACTERS)
*chars = &arabicScriptWP6[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
}
// last resort: return whitespace
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
}
@@ -849,7 +832,10 @@
{
// if characterset == 0, we have ascii. note that this is different from the doc. body
// this is not documented in the file format specifications
- *chars = &asciiMap[character];
+ if (character >= 0x20 && character < 0x7F)
+ *chars = &asciiMap[character - 0x20];
+ else
+ *chars = &asciiMap[0x00];
return 1;
}
@@ -859,63 +845,63 @@
if (character < WP5_NUM_INTERNATIONAL_1_CHARACTERS)
*chars = &international1WP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_INTERNATIONAL_2_CHARACTER_SET:
if (character < WP5_NUM_INTERNATIONAL_2_CHARACTERS)
*chars = &international2WP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_BOX_DRAWING_CHARACTER_SET:
if (character < WP5_NUM_BOX_DRAWING_CHARACTERS)
*chars = &boxdrawingWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_TYPOGRAPHIC_SYMBOL_CHARACTER_SET:
if (character < WP5_NUM_TYPOGRAPHIC_CHARACTERS)
*chars = &typographicWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_ICONIC_SYMBOL_CHARACTER_SET:
if (character < WP5_NUM_ICONIC_CHARACTERS)
*chars = &iconicWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_MATH_SCIENTIFIC_CHARACTER_SET:
if (character < WP5_NUM_MATH_SCIENTIFIC_CHARACTERS)
*chars = &mathWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_MATH_SCIENTIFIC_EXTENDED_CHARACTER_SET:
if (character < WP5_NUM_MATH_SCIENTIFIC_EXTENDED_CHARACTERS)
*chars = &mathextWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_GREEK_CHARACTER_SET:
if (character < WP5_NUM_GREEK_CHARACTERS)
*chars = &greekWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_HEBREW_CHARACTER_SET:
if (character < WP5_NUM_HEBREW_CHARACTERS)
*chars = &hebrewWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
case WP5_CYRILLIC_CHARACTER_SET:
@@ -927,12 +913,12 @@
if (character < WP5_NUM_JAPANESE_CHARACTERS)
*chars = &japaneseWP5[character];
else
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
}
// last resort: return whitespace
- *chars = &asciiMap[32];
+ *chars = &asciiMap[0x00];
return 1;
}
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.10/src/lib/Makefile.am new/libwpd-0.8.11/src/lib/Makefile.am
--- old/libwpd-0.8.10/src/lib/Makefile.am 2007-05-08 11:07:38.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/Makefile.am 2007-08-24 11:01:55.000000000 +0200
@@ -366,10 +366,12 @@
if OS_WIN32
@LIBWPD_WIN32_RESOURCE@ : libwpd.rc
- $(top_srcdir)/build/win32/lt-compile-resource libwpd.rc @LIBWPD_WIN32_RESOURCE@
+ chmod +x $(top_srcdir)/build/win32/*compile-resource
+ WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource libwpd.rc @LIBWPD_WIN32_RESOURCE@
@LIBWPD_STREAM_WIN32_RESOURCE@ : libwpd-stream.rc
- $(top_srcdir)/build/win32/lt-compile-resource libwpd-stream.rc @LIBWPD_STREAM_WIN32_RESOURCE@
+ chmod +x $(top_srcdir)/build/win32/*compile-resource
+ WINDRES=@WINDRES@ $(top_srcdir)/build/win32/lt-compile-resource libwpd-stream.rc @LIBWPD_STREAM_WIN32_RESOURCE@
endif
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.10/src/lib/WP1ContentListener.cpp new/libwpd-0.8.11/src/lib/WP1ContentListener.cpp
--- old/libwpd-0.8.10/src/lib/WP1ContentListener.cpp 2007-05-09 11:01:21.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP1ContentListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -131,7 +131,14 @@
{
if (!isUndoOn() && !m_ps->m_isNote)
{
- _closeSpan();
+ if (!m_ps->m_isParagraphOpened)
+ _openParagraph();
+ else
+ {
+ _flushText();
+ _closeSpan();
+ }
+
m_ps->m_isNote = true;
WPXPropertyList propList;
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.10/src/lib/WP3ContentListener.cpp new/libwpd-0.8.11/src/lib/WP3ContentListener.cpp
--- old/libwpd-0.8.10/src/lib/WP3ContentListener.cpp 2007-05-09 13:24:41.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP3ContentListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -569,7 +569,13 @@
{
if (!isUndoOn() && !m_ps->m_isNote)
{
- _closeSpan();
+ if (!m_ps->m_isParagraphOpened)
+ _openParagraph();
+ else
+ {
+ _flushText();
+ _closeSpan();
+ }
m_ps->m_isNote = true;
WPXNumberingType numberingType = _extractWPXNumberingTypeFromBuf(m_parseState->m_noteReference, ARABIC);
int number = _extractDisplayReferenceNumberFromBuf(m_parseState->m_noteReference, numberingType);
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.10/src/lib/WP3TablesGroup.cpp new/libwpd-0.8.11/src/lib/WP3TablesGroup.cpp
--- old/libwpd-0.8.10/src/lib/WP3TablesGroup.cpp 2007-05-09 10:53:42.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP3TablesGroup.cpp 2007-07-22 23:40:42.000000000 +0200
@@ -129,7 +129,7 @@
{
case WP3_TABLES_GROUP_TABLE_FUNCTION:
listener->defineTable(m_tableMode, fixedPointToWPUs(m_offsetFromLeftEdge));
- for (i=0; iaddTableColumnDefinition(fixedPointToWPUs(m_columnWidth[i]), fixedPointToWPUs(m_leftGutterSpacing),
fixedPointToWPUs(m_rightGutterSpacing), 0, LEFT);
listener->startTable();
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.10/src/lib/WP5ContentListener.cpp new/libwpd-0.8.11/src/lib/WP5ContentListener.cpp
--- old/libwpd-0.8.10/src/lib/WP5ContentListener.cpp 2007-05-09 13:25:48.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP5ContentListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -365,7 +365,13 @@
{
if (!isUndoOn())
{
- _closeSpan();
+ if (!m_ps->m_isParagraphOpened)
+ _openParagraph();
+ else
+ {
+ _flushText();
+ _closeSpan();
+ }
m_ps->m_isNote = true;
WPXNumberingType numberingType = _extractWPXNumberingTypeFromBuf(m_parseState->m_noteReference, ARABIC);
int number = _extractDisplayReferenceNumberFromBuf(m_parseState->m_noteReference, numberingType);
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.10/src/lib/WP5DefinitionGroup.cpp new/libwpd-0.8.11/src/lib/WP5DefinitionGroup.cpp
--- old/libwpd-0.8.10/src/lib/WP5DefinitionGroup.cpp 2007-05-09 10:53:42.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP5DefinitionGroup.cpp 2007-07-22 23:40:42.000000000 +0200
@@ -79,7 +79,7 @@
listener->endTable();
listener->defineTable(m_position, m_leftOffset);
- for (int i=0; i < m_numColumns; i++)
+ for (int i=0; i < m_numColumns && i < 32; i++)
listener->addTableColumnDefinition(m_columnWidth[i], m_leftGutter, m_rightGutter, m_attributeBits[i], m_columnAlignment[i]);
listener->startTable();
}
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.10/src/lib/WP5StylesListener.cpp new/libwpd-0.8.11/src/lib/WP5StylesListener.cpp
--- old/libwpd-0.8.10/src/lib/WP5StylesListener.cpp 2007-05-09 12:23:36.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP5StylesListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -208,7 +208,12 @@
WPXTableList tableList;
if ((wpxType == HEADER) && tempCurrentPageHasContent)
- m_nextPage.setHeaderFooter(wpxType, headerFooterType, wpxOccurence, subDocument, tableList);
+ {
+ if (wpxOccurence != NEVER)
+ m_nextPage.setHeaderFooter(wpxType, headerFooterType, wpxOccurence, subDocument, tableList);
+ else
+ m_nextPage.setHeaderFooter(wpxType, headerFooterType, wpxOccurence, 0, tableList);
+ }
else /* FOOTER || !tempCurrentPageHasContent */
{
if (wpxOccurence != NEVER)
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.10/src/lib/WP6ContentListener.cpp new/libwpd-0.8.11/src/lib/WP6ContentListener.cpp
--- old/libwpd-0.8.10/src/lib/WP6ContentListener.cpp 2007-06-13 19:05:36.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP6ContentListener.cpp 2007-07-11 18:40:12.000000000 +0200
@@ -1166,7 +1166,13 @@
return;
}
- _closeSpan();
+ if (!m_ps->m_isParagraphOpened)
+ _openParagraph();
+ else
+ {
+ _flushText();
+ _closeSpan();
+ }
m_parseState->m_styleStateSequence.setCurrentState(DOCUMENT_NOTE);
// save a reference to the text PID, we want to parse
// the packet after we're through with the footnote ref.
@@ -1303,7 +1309,9 @@
_openSection();
m_ps->m_sectionAttributesChanged = false;
}
- _openTable();
+ if (!m_parseState->m_currentTable->isEmpty()) // WordPerfect ignores empty tables and inserts an Hard EOL instead
+ _openTable();
+
}
}
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.10/src/lib/WP6EOLGroup.cpp new/libwpd-0.8.11/src/lib/WP6EOLGroup.cpp
--- old/libwpd-0.8.10/src/lib/WP6EOLGroup.cpp 2007-05-09 10:53:42.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP6EOLGroup.cpp 2007-07-18 10:56:29.000000000 +0200
@@ -164,20 +164,15 @@
case WP6_EOL_GROUP_CELL_SPANNING_INFORMATION:
WPD_DEBUG_MSG(("WordPerfect: EOL Group Embedded Sub-Function: CELL_SPANNING_INFORMATION\n"));
numBytesToSkip = WP6_EOL_GROUP_CELL_SPANNING_INFORMATION_SIZE;
- uint8_t numCellsSpannedHorizontally;
- uint8_t numCellsSpannedVertically;
- numCellsSpannedHorizontally = readU8(input);
- numCellsSpannedVertically = readU8(input);
+ m_colSpan = readU8(input);
+ m_rowSpan = readU8(input);
WPD_DEBUG_MSG(("WordPerfect: num cells spanned (h:%ld, v:%ld)\n",
(long) numCellsSpannedHorizontally, (long) numCellsSpannedVertically));
- if (numCellsSpannedHorizontally >= 128)
- m_boundFromLeft = true;
- else
- m_colSpan = numCellsSpannedHorizontally;
- if (numCellsSpannedVertically >= 128)
+ if (m_colSpan >= 128) // WP allows only tables with up to 64 columns, so this makes sense
m_boundFromAbove = true;
- else
- m_rowSpan = numCellsSpannedVertically;
+ // This is bogus because WP allows cells to span more then 128 rows. That is why this has no effect whatsoever
+ if (m_rowSpan >= 128)
+ m_boundFromLeft = true;
break;
case WP6_EOL_GROUP_CELL_FILL_COLORS:
WPD_DEBUG_MSG(("WordPerfect: EOL Group Embedded Sub-Function: CELL_FILL_COLORS\n"));
@@ -306,7 +301,7 @@
break;
case WP6_EOL_GROUP_TABLE_CELL: // Table Cell
WPD_DEBUG_MSG(("WordPerfect: EOL group: table cell\n"));
- if (!m_boundFromLeft && !m_boundFromAbove)
+ if (!m_boundFromAbove)
{
listener->insertCell(m_colSpan, m_rowSpan, m_cellBorders, cellFgColor, cellBgColor,
cellBorderColor, m_cellVerticalAlign, m_useCellAttributes, m_cellAttributes);
@@ -324,7 +319,7 @@
listener->insertRow(m_rowHeight, m_isMinimumHeight, m_isHeaderRow);
// the cellBorders variable already represent the cell border bits as well
- if (!m_boundFromLeft && !m_boundFromAbove)
+ if (!m_boundFromAbove) // if m_boundFromLeft is true here, the documentation is lying because this is the first cell in the row
{
listener->insertCell(m_colSpan, m_rowSpan, m_cellBorders, cellFgColor, cellBgColor,
cellBorderColor, m_cellVerticalAlign, m_useCellAttributes, m_cellAttributes);
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.10/src/lib/WP6FontDescriptorPacket.cpp new/libwpd-0.8.11/src/lib/WP6FontDescriptorPacket.cpp
--- old/libwpd-0.8.10/src/lib/WP6FontDescriptorPacket.cpp 2007-05-09 12:54:53.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP6FontDescriptorPacket.cpp 2007-07-11 18:40:12.000000000 +0200
@@ -26,8 +26,9 @@
#include <limits>
#include "WP6FontDescriptorPacket.h"
#include "libwpd_internal.h"
+#include <string>
-const char *FONT_WEIGHT_STRINGS[] = { "Bold", "bold", "Demi", "demi", "Extended", "extended",
+const char * FONT_WEIGHT_STRINGS [] = { "Bold", "bold", "Demi", "demi", "Extended", "extended",
"Extra", "extra", "Headline", "headline", "Light", "light",
"Medium", "medium", "Normal", "normal", "Regular", "regular",
"Standaard", "standaard", "Standard", "standard" };
@@ -54,120 +55,88 @@
m_fontType(0),
m_fontSourceFileType(0),
m_fontNameLength(0),
- m_fontName(0)
+ m_fontName()
{
_read(input, dataOffset, dataSize);
}
WP6FontDescriptorPacket::~WP6FontDescriptorPacket()
{
- delete [] m_fontName;
}
void WP6FontDescriptorPacket::_readContents(WPXInputStream *input)
{
- // short sized characteristics
- m_characterWidth = readU16(input);
- m_ascenderHeight = readU16(input);
- m_xHeight = readU16(input);
- m_descenderHeight = readU16(input);
- m_italicsAdjust = readU16(input);
- // byte sized characteristics
- m_primaryFamilyMemberId = readU8(input);
- m_primaryFamilyId = readU8(input);
- m_scriptingSystem = readU8(input);
- m_primaryCharacterSet = readU8(input);
- m_width = readU8(input);
- m_weight = readU8(input);
- m_attributes = readU8(input);
- m_generalCharacteristics = readU8(input);
- m_classification = readU8(input);
- m_fill = readU8(input);
- m_fontType = readU8(input);
- m_fontSourceFileType = readU8(input);
+ // short sized characteristics
+ m_characterWidth = readU16(input);
+ m_ascenderHeight = readU16(input);
+ m_xHeight = readU16(input);
+ m_descenderHeight = readU16(input);
+ m_italicsAdjust = readU16(input);
+ // byte sized characteristics
+ m_primaryFamilyMemberId = readU8(input);
+ m_primaryFamilyId = readU8(input);
+ m_scriptingSystem = readU8(input);
+ m_primaryCharacterSet = readU8(input);
+ m_width = readU8(input);
+ m_weight = readU8(input);
+ m_attributes = readU8(input);
+ m_generalCharacteristics = readU8(input);
+ m_classification = readU8(input);
+ m_fill = readU8(input);
+ m_fontType = readU8(input);
+ m_fontSourceFileType = readU8(input);
- m_fontNameLength = readU16(input);
+ m_fontNameLength = readU16(input);
- if (m_fontNameLength > ((std::numeric_limits::max)() / 2))
+ if (m_fontNameLength > ((std::numeric_limits::max)() / 2))
m_fontNameLength = ((std::numeric_limits::max)() / 2);
- if (m_fontNameLength == 0)
- {
- m_fontName = new char[1];
- m_fontName[0]='\0';
- }
-
- else
- {
- m_fontName = new char[m_fontNameLength];
-
- uint16_t tempLength=0;
- int numTokens=0;
- int lastTokenPosition=0;
- for (uint16_t i=0; i<(m_fontNameLength/2); i++)
- {
- uint16_t charWord = readU16(input);
-
- uint8_t characterSet = (uint8_t)((charWord >> 8) & 0x00FF);
- uint8_t character = (uint8_t)(charWord & 0xFF);
-
- const uint16_t *chars;
- extendedCharacterWP6ToUCS2(character, characterSet, &chars);
- /* We are only using ascii characters here, and
- * if we have more than one character, that's
- * going to be an international character, so
- * we don't actually iterate through the list of
- * characters returned - we assume that just one
- * character was returned.
- */
- if (chars[0] == 0x20) {
- m_fontName[tempLength]=' ';
- tempLength++;
- numTokens++;
- lastTokenPosition=tempLength;
- }
- else if (chars[0] != 0x00 && chars[0] < 0x7F) {
- m_fontName[tempLength]=(char) chars[0];
- tempLength++;
- }
- }
- m_fontName[tempLength]='\0';
- // TODO/HACK: probably should create a proper static function for doing this
- // consume the last token (by replacing the first char with a null-terminator) if its a weight signifier
- // also remove annoying -WP postfix
- // (NB: not all wp fonts are terminated by weight, just enough of them to make this annoying)
- // NB: also this is O(n^2). Could be a performance hotspot.
- WPD_DEBUG_MSG(("WordPerfect: stripping font name (original: %s)\n", m_fontName));
- for (int stringPosition=(tempLength-1); stringPosition>=0; stringPosition--)
- {
- unsigned int k;
- for (k=0; k 0 && !strcmp(FONT_WEIGHT_STRINGS[k], &m_fontName[stringPosition]))
- {
- m_fontName[stringPosition-1]='\0';
- tempLength = (uint16_t)(stringPosition-1);
- break;
- }
- }
- // SPECIAL CASE: eliminate the -WP postfix (if it's there), which isn't spaced out from
- // the rest of the font
- if (k==countElements(FONT_WEIGHT_STRINGS))
- {
- if (!strcmp(USELESS_WP_POSTFIX, &m_fontName[stringPosition]))
- {
- m_fontName[stringPosition]='\0';
- tempLength = (uint16_t)(stringPosition - 1);
- }
- }
- // also consume any whitespace at the end of the font..
- while ((tempLength - 1) > 0 && m_fontName[tempLength-1] == ' ')
- {
- m_fontName[tempLength-1] = '\0';
- }
- }
- WPD_DEBUG_MSG(("WordPerfect: stripping font name (final: %s)\n", m_fontName));
- }
- WPD_DEBUG_MSG(("WordPerfect: Read Font (primary family id: %i, family member id: %i, font type: %i, font source file type: %i font name length: %i, font name: %s)\n", (int) m_primaryFamilyId, (int) m_primaryFamilyMemberId, (int) m_fontType, (int) m_fontSourceFileType, (int) m_fontNameLength, m_fontName));
-
+ if (m_fontNameLength)
+ {
+ for (uint16_t i=0; i<(m_fontNameLength/2); i++)
+ {
+ uint16_t charWord = readU16(input);
+ uint8_t characterSet = (uint8_t)((charWord >> 8) & 0x00FF);
+ uint8_t character = (uint8_t)(charWord & 0xFF);
+
+ if (character == 0x00 && characterSet == 0x00)
+ break;
+
+ const uint16_t *chars;
+ int len = extendedCharacterWP6ToUCS2(character, characterSet, &chars);
+
+ for (int j = 0; j < len; j++)
+ appendUCS4(m_fontName, (uint32_t)chars[j]);
+ }
+
+ WPD_DEBUG_MSG(("WordPerfect: stripping font name (original: %s)\n", m_fontName.cstr()));
+ std::string stringValue(m_fontName.cstr());
+ std::string::size_type pos;
+ for (unsigned k = 0; k < countElements(FONT_WEIGHT_STRINGS); k++)
+ {
+ if (!stringValue.empty())
+ while ((pos = stringValue.find(FONT_WEIGHT_STRINGS[k])) != std::string::npos)
+ stringValue.replace(pos, strlen(FONT_WEIGHT_STRINGS[k]),"");
+ }
+ // SPECIAL CASE: eliminate the -WP postfix (if it's there), which isn't spaced out from
+ // the rest of the font
+ if (!stringValue.empty())
+ while ((pos = stringValue.find(USELESS_WP_POSTFIX)) != std::string::npos)
+ stringValue.replace(pos, strlen(USELESS_WP_POSTFIX), "");
+ // also consume any whitespace at the end of the font.
+ if (!stringValue.empty())
+ while ((pos = stringValue.find(" ")) != std::string::npos)
+ stringValue.replace(pos, strlen(" "), " ");
+ if (!stringValue.empty())
+ while ((pos = stringValue.find(" ", stringValue.size() - 1)) != std::string::npos)
+ stringValue.replace(pos, strlen(" "), "");
+ if (!stringValue.empty())
+ while ((pos = stringValue.find("-", stringValue.size() - 1)) != std::string::npos)
+ stringValue.replace(pos, strlen("-"), "");
+
+ m_fontName = WPXString(stringValue.c_str());
+ WPD_DEBUG_MSG(("WordPerfect: stripping font name (final: %s)\n", m_fontName.cstr()));
+ }
+ WPD_DEBUG_MSG(("WordPerfect: Read Font (primary family id: %i, family member id: %i, font type: %i, font source file type: %i font name length: %i, font name: %s)\n",
+ (int) m_primaryFamilyId, (int) m_primaryFamilyMemberId, (int) m_fontType, (int) m_fontSourceFileType, (int) m_fontNameLength, m_fontName.cstr()));
}
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.10/src/lib/WP6FontDescriptorPacket.h new/libwpd-0.8.11/src/lib/WP6FontDescriptorPacket.h
--- old/libwpd-0.8.10/src/lib/WP6FontDescriptorPacket.h 2007-05-09 10:53:44.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP6FontDescriptorPacket.h 2007-07-11 18:40:12.000000000 +0200
@@ -26,6 +26,7 @@
#ifndef WP6FONTDESCRIPTORPACKET_H
#define WP6FONTDESCRIPTORPACKET_H
#include "WP6PrefixDataPacket.h"
+#include "WPXString.h"
class WP6FontDescriptorPacket : public WP6PrefixDataPacket
{
@@ -33,7 +34,7 @@
WP6FontDescriptorPacket(WPXInputStream *input, int id, uint32_t dataOffset, uint32_t dataSize);
~WP6FontDescriptorPacket();
void _readContents(WPXInputStream *input);
- const char *getFontName() const { return m_fontName; }
+ const char *getFontName() const { return m_fontName.cstr(); }
private:
WP6FontDescriptorPacket(const WP6FontDescriptorPacket&);
@@ -59,6 +60,6 @@
uint16_t m_fontNameLength;
- char *m_fontName;
+ WPXString m_fontName;
};
#endif
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.10/src/lib/WP6StylesListener.cpp new/libwpd-0.8.11/src/lib/WP6StylesListener.cpp
--- old/libwpd-0.8.10/src/lib/WP6StylesListener.cpp 2007-05-09 13:19:02.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WP6StylesListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -297,7 +297,8 @@
WPXTableList oldTableList = m_tableList;
m_tableList = tableList;
- static_cast(subDocument)->parse(this);
+ if (subDocument)
+ static_cast(subDocument)->parse(this);
m_tableList = oldTableList;
m_currentTable = oldCurrentTable;
@@ -305,7 +306,8 @@
}
else
{
- static_cast(subDocument)->parse(this);
+ if (subDocument)
+ static_cast(subDocument)->parse(this);
}
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.10/src/lib/WPXContentListener.cpp new/libwpd-0.8.11/src/lib/WPXContentListener.cpp
--- old/libwpd-0.8.10/src/lib/WPXContentListener.cpp 2007-06-12 13:42:45.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WPXContentListener.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -298,7 +298,8 @@
std::vector<WPXHeaderFooter> headerFooterList = currentPage.getHeaderFooterList();
for (std::vector<WPXHeaderFooter>::iterator iter = headerFooterList.begin(); iter != headerFooterList.end(); iter++)
{
- if (!currentPage.getHeaderFooterSuppression((*iter).getInternalType()))
+ if (((*iter).getOccurence() != NEVER) && ((*iter).getInternalType() != DUMMY_INTERNAL_HEADER_FOOTER)
+ && !currentPage.getHeaderFooterSuppression((*iter).getInternalType()))
{
propList.clear();
switch ((*iter).getOccurence())
@@ -322,7 +323,9 @@
else
m_listenerImpl->openFooter(propList);
+ WPD_DEBUG_MSG(("Header Footer Element: Starting to parse the subDocument\n"));
handleSubDocument((*iter).getSubDocument(), true, (*iter).getTableList(), 0);
+ WPD_DEBUG_MSG(("Header Footer Element: End of the subDocument parsing\n"));
if ((*iter).getType() == HEADER)
m_listenerImpl->closeHeader();
else
@@ -591,10 +594,10 @@
if (!m_ps->m_isParagraphOpened && !m_ps->m_isListElementOpened)
_changeList();
- if (m_ps->m_currentListLevel == 0)
- _openParagraph();
- else
- _openListElement();
+ if (m_ps->m_currentListLevel == 0)
+ _openParagraph();
+ else
+ _openListElement();
// The behaviour of WP6+ is following: if an attribute bit is set in the cell attributes, we cannot
// unset it; if it is set, we can set or unset it
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.10/src/lib/WPXPageSpan.cpp new/libwpd-0.8.11/src/lib/WPXPageSpan.cpp
--- old/libwpd-0.8.10/src/lib/WPXPageSpan.cpp 2007-05-09 13:36:49.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WPXPageSpan.cpp 2007-07-05 15:18:55.000000000 +0200
@@ -30,7 +30,6 @@
const float WPX_DEFAULT_PAGE_MARGIN_TOP = 1.0f;
const float WPX_DEFAULT_PAGE_MARGIN_BOTTOM = 1.0f;
-const uint8_t DUMMY_INTERNAL_HEADER_FOOTER = 16;
// precondition: 0 <= headerFooterType <= 3 (i.e.: we don't handle watermarks here)
WPXHeaderFooter::WPXHeaderFooter(const WPXHeaderFooterType headerFooterType, const WPXHeaderFooterOccurence occurence,
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.10/src/lib/WPXPageSpan.h new/libwpd-0.8.11/src/lib/WPXPageSpan.h
--- old/libwpd-0.8.10/src/lib/WPXPageSpan.h 2007-05-09 10:53:44.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WPXPageSpan.h 2007-07-05 15:18:55.000000000 +0200
@@ -32,6 +32,8 @@
#include "libwpd_internal.h"
#include "WPXSubDocument.h"
+const uint8_t DUMMY_INTERNAL_HEADER_FOOTER = 16;
+
// intermediate page representation class: for internal use only (by the high-level content/styles listeners). should not be exported.
class WPXHeaderFooter
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.10/src/lib/WPXTable.h new/libwpd-0.8.11/src/lib/WPXTable.h
--- old/libwpd-0.8.10/src/lib/WPXTable.h 2007-05-09 10:53:44.000000000 +0200
+++ new/libwpd-0.8.11/src/lib/WPXTable.h 2007-07-11 18:40:12.000000000 +0200
@@ -62,6 +62,7 @@
std::vector _getCellsRightAdjacent(int i, int j);
const std::vector< std::vector >& getRows() const { return m_tableRows; }
+ const bool isEmpty() const { return m_tableRows.size() == 0; }
private:
std::vector< std::vector > m_tableRows;
++++++ oog680-m1-binfilter.tar.bz2 -> oog680-m2-binfilter.tar.bz2 ++++++
arch/i386/OpenOffice_org/oog680-m1-binfilter.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/oog680-m2-binfilter.tar.bz2 differ: byte 11, line 1
++++++ oog680-m1-core.tar.bz2 -> oog680-m2-core.tar.bz2 ++++++
arch/i386/OpenOffice_org/oog680-m1-core.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/oog680-m2-core.tar.bz2 differ: byte 11, line 1
++++++ oog680-m1-lang.tar.bz2 -> oog680-m2-lang.tar.bz2 ++++++
arch/i386/OpenOffice_org/oog680-m1-lang.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/oog680-m2-lang.tar.bz2 differ: byte 11, line 1
++++++ oog680-m1-sdk_oo.tar.bz2 -> oog680-m2-sdk_oo.tar.bz2 ++++++
arch/i386/OpenOffice_org/oog680-m1-sdk_oo.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/oog680-m2-sdk_oo.tar.bz2 differ: byte 11, line 1
++++++ oog680-m1-system.tar.bz2 -> oog680-m2-system.tar.bz2 ++++++
arch/i386/OpenOffice_org/oog680-m1-system.tar.bz2 /mounts/work_src_done/STABLE/OpenOffice_org/oog680-m2-system.tar.bz2 differ: byte 11, line 1
++++++ ooo-build-help-in-usr-share.diff ++++++
--- patches/src680/apply
+++ patches/src680/apply
@@ -702,6 +702,10 @@
# we need a good plan before, though ;-)
split-icons-search-usr-share.diff, n#296502, pmladek
+# help is in /usr/share/ooo-2.0/help now
+# FIXME: this should be configurable via ./configure
+officecfg-help-in-usr-share.diff
+
[ BuildBits ]
novell-win32-agfa-monotype-fonts.diff, i#63805, tml
--- patches/src680/officecfg-help-in-usr-share.diff
+++ patches/src680/officecfg-help-in-usr-share.diff
@@ -0,0 +1,31 @@
+--- officecfg/registry/schema/org/openoffice/Office/Common.xcs.old2 2007-08-24 16:15:30.000000000 +0200
++++ officecfg/registry/schema/org/openoffice/Office/Common.xcs 2007-08-29 22:25:36.000000000 +0200
+@@ -1474,7 +1474,7 @@ Dymamic border coloring means that when
+ <author>ABI</author>
+ <desc>Specifies the path to the Office help files.</desc>
+ </info>
+- <value>$(instpath)/help</value>
++ <value>/usr/share/ooo-2.0/help</value>
+ </prop>
+ <prop oor:name="Linguistic" oor:type="xs:string">
+ <info>
+@@ -1636,7 +1636,7 @@ Dymamic border coloring means that when
+ <info>
+ <desc>Specifies the default directory where Office help files are located.</desc>
+ </info>
+- <value>$(instpath)/help</value>
++ <value>/usr/share/ooo-2.0/help</value>
+ </prop>
+ <prop oor:name="Linguistic" oor:type="xs:string">
+ <info>
+--- officecfg/registry/data/org/openoffice/Office/Paths.xcu.old 2007-06-19 17:49:05.000000000 +0200
++++ officecfg/registry/data/org/openoffice/Office/Paths.xcu 2007-08-29 22:24:01.000000000 +0200
+@@ -134,7 +134,7 @@
+
+ <node oor:name="Help" oor:op="fuse" oor:mandatory="true">
+ <node oor:name="InternalPaths">
+- <node oor:name="$(instpath)/help" oor:op="fuse" />
++ <node oor:name="/usr/share/ooo-2.0/help" oor:op="fuse" />
+ </node>
+ </node>
+
++++++ ooo-build-oog680-m2-config_office-ibm-java-1.5.0-ppc.diff ++++++
Index: ooo-build/patches/src680/apply
===================================================================
--- ooo-build/patches/src680/apply (revision 10178)
+++ ooo-build/patches/src680/apply (working copy)
@@ -723,6 +723,9 @@
build-java-target.diff, pmladek
qadevooo-runner-target-workaround.diff, i#79961
+# fix build with IBM Java 1.5.0 on ppc
+config_office-ibm-java-1.5.0-ppc.diff, pmladek
+
[ NovellOnlyWin32 ]
SectionOwner => tml
Index: ooo-build/patches/src680/config_office-ibm-java-1.5.0-ppc.diff
===================================================================
--- ooo-build/patches/src680/config_office-ibm-java-1.5.0-ppc.diff (revision 0)
+++ ooo-build/patches/src680/config_office-ibm-java-1.5.0-ppc.diff (revision 0)
@@ -0,0 +1,76 @@
+--- config_office/configure.in.old 2007-08-30 16:18:42.000000000 +0200
++++ config_office/configure.in 2007-08-31 17:57:18.000000000 +0200
+@@ -2440,10 +2440,6 @@ you must use the "--with-jdk-home" confi
+ AC_MSG_ERROR([In order to successfully build OpenOffice.org using the IBM JDK,
+ you must use the "--with-jdk-home" configure option explicitly])
+ fi
+- if test "$_jdk_ver" -gt 10402; then
+- AC_MSG_WARN([IBM JDK might be too recent, maximum version tested is 1.4.2])
+- echo "IBM JDK might be too recent, maximum version tested is 1.4.2" >>warn
+- fi
+
+ JAVA_HOME=$with_jdk_home
+
+@@ -2639,6 +2635,7 @@ if test "$SOLAR_JAVA" != ""; then
+ fi
+ fi
+
++AWTLIB=
+ if test "$SOLAR_JAVA" != ""; then
+ AC_MSG_CHECKING([for jawt lib name])
+ if test "$JDK" = "gcj"; then
+@@ -2654,6 +2651,29 @@ if test "$SOLAR_JAVA" != ""; then
+ CFLAGS=$save_CFLAGS
+ LDFLAGS=$save_LDFLAGS
+ fi
++ # IBM SDK 1.5.0-sr5 includes libjawt.so with unresolved symbols.
++ # A workaround is to link also against libpmawt.so
++ if test "$JDK" = "ibm" ; then
++ save_CFLAGS=$CFLAGS
++ save_LDFLAGS=$LDFLAGS
++ save_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
++ CFLAGS="$CFLAGS -I$JAVA_HOME/include"
++ LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin"
++ LD_LIBRARY_PATH=$JAVA_HOME/jre/bin:$JAVA_HOME/jre/bin/classic:$JAVA_HOME/jre/bin/xawt:$LD_LIBRARY_PATH
++ export LD_LIBRARY_PATH
++ exec 6>/dev/null # no output
++ AC_CHECK_HEADER(jni.h, [],
++ [AC_MSG_ERROR([jni.h could not be found.])], [])
++ AC_CHECK_LIB(jawt, JAWT_GetAWT, [ AWTLIB="-ljawt"] )
++ if test -z "$AWTLIB"; then
++ LDFLAGS="$LDFLAGS -L$JAVA_HOME/jre/bin/xawt -ljawt"
++ AC_CHECK_LIB(mawt, JAWT_GetAWT, [ AWTLIB="-L$JAVA_HOME/jre/bin/xawt -ljawt -lmawt"])
++ fi
++ exec 6>&1 # output on again
++ CFLAGS=$save_CFLAGS
++ LDFLAGS=$save_LDFLAGS
++ LD_LIBRARY_PATH=$save_LD_LIBRARY_PATH
++ fi
+ if test -z "$AWTLIB"; then
+ AWTLIB=-ljawt
+ fi
+--- config_office/set_soenv.in.old 2007-08-30 16:18:42.000000000 +0200
++++ config_office/set_soenv.in 2007-08-31 16:56:20.000000000 +0200
+@@ -464,7 +464,12 @@ elsif ( $platform =~ m/linux-gnu/ )
+ if ( $JDK eq "gcj" ) {
+ $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc";
+ $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."client";
+- $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads";
++ $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."lib".$ds."ppc".$ds."native_threads"; }
++ elsif ($JDK =~ m/^[Ii][Bb][Mm]/)
++ { $JRELIBDIR = '$JAVA_HOME'.$ds."jre".$ds."bin";
++ $JRETOOLKITDIR = '$JAVA_HOME'.$ds."jre".$ds."bin".$ds."classic";
++ $JRETHREADDIR = '$JAVA_HOME'.$ds."jre".$ds."bin";
++ $JREEXTRALIBDIR = '$JAVA_HOME'.$ds."jre".$ds."bin".$ds."xawt";
+ }
+ }
+
+@@ -1717,6 +1722,8 @@ if ( $JDK ne "gcj" ) {
+ }
+ else {
+ ToFile( "JAVACISGCJ", '@JAVACISGCJ@', "e" );
++}
++if ( $GUI eq "UNX" ) {
+ ToFile( "AWTLIB", '@AWTLIB@', "e" );
+ }
+ if ( '@JDK@' ne '' )
++++++ ooo-build-oog680-m1.tar.gz -> ooo-build-oog680-m2.tar.gz ++++++
++++ 257698 lines of diff (skipped)
++++++ ooo-build-pack-noarch.diff ++++++
--- /var/tmp/diff_new_pack.tv5060/_old 2007-09-03 18:37:59.000000000 +0200
+++ /var/tmp/diff_new_pack.tv5060/_new 2007-09-03 18:37:59.000000000 +0200
@@ -1,31 +1,67 @@
--- bin/package-ooo
+++ bin/package-ooo
-@@ -808,6 +808,28 @@
- -name "*.ps" \) -exec chmod 644 {} \;
- fi
+@@ -833,6 +833,64 @@
+ fi
+ done
-+# FIXME: Crazy hack to prepare usable noarch packages
-+# The noarch files must be at a common place => move them to /usr/share
-+# They must be accessible from both /usr/lib and /usr/lib64 => create symlinks
++# FIXME: Crazy hacks to move the noarch stuff into /usr/share
++
++# We have to keep the %config flag for the moved files. We have to list the newly created symlinks
++# The trick is that we create fake paths for the new symlinks in the file list. Then we substitute
++# lib_path to data_path and the fake_path to lib_path
++move_files_to_usr_share()
++{
++ file_list="$1"
++ symlink="$2"
++ path="$3"
++
++ full_lib_path="$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME$path"
++ full_data_path="$DATADIRBASE/$OOOINSTALLDIRNAME$path"
++
++ echo "full_lib_path=$full_lib_path"
++
++ # copy directories
++ for dir in `grep "%dir $full_lib_path" $BUILDDIR/${file_list} | sed "s|%dir $PREFIXBASE/$LIB/$OOOINSTALLDIRNAME||"` ; do
++ mkdir -p $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME$dir
++ if test "$symlink" = "yes" ; then
++ echo "%dir @fake_path@$dir" >>$BUILDDIR/${file_list}
++ fi
++ done
++ # move files
++ for file in `grep "$full_lib_path" $BUILDDIR/${file_list} | grep -v "%dir" | sed -e "s|%config ||" -e "s|$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME||"` ; do
++ mv $OODESTDIR$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME$file $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME$file
++ if test "$symlink" = "yes" ; then
++ ln -sf $DATADIRBASE/$OOOINSTALLDIRNAME$file $OODESTDIR$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME$file
++ echo "@fake_path@$file" >>$BUILDDIR/${file_list}
++ fi
++ done
++ # fix the file list
++ sed "s|$full_lib_path|$full_data_path|" $BUILDDIR/${file_list} | sort -u >$BUILDDIR/${file_list}.new
++ mv $BUILDDIR/${file_list}.new $BUILDDIR/${file_list}
++ if test "$symlink" = "yes" ; then
++ sed "s|@fake_path@|$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME|" $BUILDDIR/${file_list} | sort -u >$BUILDDIR/${file_list}.new
++ mv $BUILDDIR/${file_list}.new $BUILDDIR/${file_list}
++ else
++ cp -a $BUILDDIR/${file_list} $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME/${file_list}
++ echo $DATADIRBASE/$OOOINSTALLDIRNAME/${file_list} >>$BUILDDIR/${file_list}
++ fi
++}
++
++
+if test "$NOARCH_LANGS" = "YES" ; then
-+ echo "Fixing noarch packages..."
++ echo "Movin noarch files..."
+ for lang in $OOO_LANGS_LIST ; do
+ test "$LANGS_ONLY" = "YES" -a "${lang}" = "en-US" && continue;
-+ test "$LIB" = "lib" && LIB2="lib64" || LIB2="lib"
-+ rm -f $BUILDDIR/lang_${lang}_list.txt.noarch
-+ for dir in `grep %dir $BUILDDIR/lang_${lang}_list.txt | sed "s|%dir $PREFIXBASE/$LIB/$OOOINSTALLDIRNAME||"` ; do
-+ mkdir -p $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME$dir
-+ mkdir -p $OODESTDIR$PREFIXBASE/$LIB2/$OOOINSTALLDIRNAME$dir
-+ done
-+ for file in `grep -v %dir $BUILDDIR/lang_${lang}_list.txt | sed -e "s|%config ||" -e "s|$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME||"` ; do
-+ mv $OODESTDIR$PREFIXBASE/$LIB/$OOOINSTALLDIRNAME$file $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME$file
-+ done
-+ sed "s|$PREFIXBASE/$LIB|$DATADIRBASE|" $BUILDDIR/lang_${lang}_list.txt | sort -u >>$OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME/lang_${lang}_list.txt
-+ cp -a $OODESTDIR$DATADIRBASE/$OOOINSTALLDIRNAME/lang_${lang}_list.txt $BUILDDIR/lang_${lang}_list.txt
-+ echo $DATADIRBASE/$OOOINSTALLDIRNAME/lang_${lang}_list.txt >>$BUILDDIR/lang_${lang}_list.txt
++ move_files_to_usr_share lang_${lang}_list.txt no ""
+ done
+fi
+
++if test "$NOARCH_HELP" = "YES" ; then
++ echo "Movin noarch files..."
++ move_files_to_usr_share common_list.txt yes /help
++fi
++
++
if test "z$OODESTDIR" != "z" ; then
echo "Checking for DESTDIR inside installed files..."
found_destdir=
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org