From 6905b745b2d6b68e98dfc2706026caa055522d399d21dd9579d133724f2e58d0 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 26 Apr 2012 15:35:13 +0000 Subject: [PATCH] Accepting request 114864 from LibreOffice:Unstable this is needed to fix build in Factory - buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 - clean up configure switches: * move switches from SUSE*.conf to spec files * use --with-system-headers and --with-system-libs to prefer system stuff over internal copies * use --without-system- only for stuff that is not packaged or not patched in the SUSE distribution, for example libvisio, redland, mythes * bin not longer existing options - remove unused python-devel from BuildRequires - build zip-3.0 only for openSUSE < 11.4 - add patches for the extra zip-3.0 from the last zip package - make sure that parallel build is used for dmake and GNU make build parts - buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 - clean up configure switches: * move switches from SUSE*.conf to spec files * use --with-system-headers and --with-system-libs to prefer system stuff over internal copies * use --without-system- only for stuff that is not packaged or not patched in the SUSE distribution, for example libvisio, redland, mythes * bin not longer existing options - build zip-3.0 only for openSUSE < 11.4 - add patches for the extra zip-3.0 from the last zip package - make sure that parallel build is used for dmake and GNU make build parts OBS-URL: https://build.opensuse.org/request/show/114864 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libreoffice?expand=0&rev=31 --- SUSE-10.1.conf | 48 ------- SUSE-11.1.conf | 57 -------- SUSE-11.2.conf | 58 -------- SUSE-11.3.conf | 57 -------- SUSE-11.4.conf | 57 -------- SUSE.conf | 57 -------- buildfix-icu-4.9.diff | 96 +++++++++++++ libreoffice-help-en-US.changes | 22 +++ libreoffice-help-en-US.spec | 169 +++++++++++++---------- libreoffice-help-en-US.spec.in | 169 +++++++++++++---------- libreoffice-help-group1.changes | 21 +++ libreoffice-help-group1.spec | 161 ++++++++++++---------- libreoffice-help-group2.changes | 21 +++ libreoffice-help-group2.spec | 161 ++++++++++++---------- libreoffice-help-group3.changes | 21 +++ libreoffice-help-group3.spec | 161 ++++++++++++---------- libreoffice-help-group4.changes | 21 +++ libreoffice-help-group4.spec | 161 ++++++++++++---------- libreoffice-help-group5.changes | 21 +++ libreoffice-help-group5.spec | 161 ++++++++++++---------- libreoffice-help-groupX.spec.in | 161 ++++++++++++---------- libreoffice.changes | 30 ++++ libreoffice.spec | 234 +++++++++++++++----------------- pyuno-path.diff | 4 +- 24 files changed, 1118 insertions(+), 1011 deletions(-) delete mode 100644 SUSE-10.1.conf delete mode 100644 SUSE-11.1.conf delete mode 100644 SUSE-11.2.conf delete mode 100644 SUSE-11.3.conf delete mode 100644 SUSE-11.4.conf delete mode 100644 SUSE.conf create mode 100644 buildfix-icu-4.9.diff diff --git a/SUSE-10.1.conf b/SUSE-10.1.conf deleted file mode 100644 index 47d4100..0000000 --- a/SUSE-10.1.conf +++ /dev/null @@ -1,48 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system ---with-system-cppunit ---without-junit - ---with-vendor=Novell, Inc. ---disable-access ---disable-dbus ---disable-kde4 ---disable-odk ---enable-gnome-vfs ---enable-hids ---enable-kde ---enable-lockdown ---enable-mono ---enable-quickstart ---enable-opengl ---enable-ogltrans ---with-ant-home=/usr ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=@libdir@/@OOOINSTALLDIRNAME@/basis@OOO_VERSION@/share/dictionaries ---with-external-thes-dir=@libdir@/@OOOINSTALLDIRNAME@/basis@OOO_VERSION@/share/dictionaries ---with-jdk-home=$JAVA_HOME ---with-system-cairo ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-libxslt ---with-system-neon ---with-system-odbc ---with-xulrunner ---without-junit ---without-myspell-dicts ---without-system-poppler ---without-system-mesa-headers ---without-stlport diff --git a/SUSE-11.1.conf b/SUSE-11.1.conf deleted file mode 100644 index 9c922d7..0000000 --- a/SUSE-11.1.conf +++ /dev/null @@ -1,57 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system - ---with-vendor=Novell, Inc. ---disable-access ---disable-odk ---disable-qadevooo ---enable-hids ---enable-kde ---enable-kde4 ---enable-lockdown ---enable-ext-presenter-minimizer ---enable-mono ---enable-opengl ---enable-ogltrans ---enable-ext-pdfimport ---enable-ext-presenter-console ---enable-ext-report-builder ---enable-ext-wiki-publisher ---without-stlport ---with-ant-home=/usr/share/ant ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=/usr/share/ooo/hyphen ---with-external-thes-dir=/usr/share/ooo/thesaurus ---with-java-target-version=1.5 ---with-jdk-home=$JAVA_HOME ---with-system-boost ---with-system-cairo ---with-system-cppunit ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-hunspell ---with-system-icu ---with-system-libxslt ---with-system-lpsolve ---with-system-neon ---with-system-odbc ---with-system-sablot ---with-system-xalan ---with-system-xerces ---with-system-xml-apis ---with-system-xrender-headers ---without-myspell-dicts ---without-junit diff --git a/SUSE-11.2.conf b/SUSE-11.2.conf deleted file mode 100644 index 61ed329..0000000 --- a/SUSE-11.2.conf +++ /dev/null @@ -1,58 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system ---with-system-cppunit ---without-junit - ---with-vendor=Novell, Inc. ---disable-access ---disable-odk ---disable-qadevooo ---enable-hids ---enable-kde ---enable-kde4 ---enable-lockdown ---enable-ext-presenter-minimizer ---enable-mono ---enable-opengl ---enable-ogltrans ---enable-ext-pdfimport ---enable-ext-presenter-console ---enable-ext-report-builder ---enable-ext-wiki-publisher ---without-stlport ---with-ant-home=/usr/share/ant ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=/usr/share/ooo/hyphen ---with-external-thes-dir=/usr/share/ooo/thesaurus ---with-java-target-version=1.5 ---with-jdk-home=$JAVA_HOME ---with-system-boost ---with-system-cairo ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-hunspell ---with-system-icu ---with-system-libxslt ---with-system-lpsolve ---with-system-neon ---with-system-odbc ---with-system-sablot ---with-system-xalan ---with-system-xerces ---with-system-xml-apis ---with-system-xrender-headers ---without-myspell-dicts ---without-junit diff --git a/SUSE-11.3.conf b/SUSE-11.3.conf deleted file mode 100644 index b47b7bb..0000000 --- a/SUSE-11.3.conf +++ /dev/null @@ -1,57 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system ---with-system-cppunit ---without-junit - ---with-vendor=Novell, Inc. ---disable-access ---disable-odk ---disable-qadevooo ---enable-hids ---enable-kde ---enable-kde4 ---enable-lockdown ---enable-ext-presenter-minimizer ---enable-mono ---enable-opengl ---enable-ogltrans ---enable-ext-pdfimport ---enable-ext-presenter-console ---enable-ext-report-builder ---enable-ext-wiki-publisher ---without-stlport ---with-ant-home=/usr/share/ant ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=/usr/share/ooo/hyphen ---with-external-thes-dir=/usr/share/ooo/thesaurus ---with-java-target-version=1.5 ---with-jdk-home=$JAVA_HOME ---with-system-boost ---with-system-cairo ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-hunspell ---with-system-icu ---with-system-libxslt ---with-system-lpsolve ---with-system-neon ---with-system-odbc ---with-system-sablot ---with-system-xalan ---with-system-xerces ---with-system-xml-apis ---with-system-xrender-headers ---without-myspell-dicts diff --git a/SUSE-11.4.conf b/SUSE-11.4.conf deleted file mode 100644 index b47b7bb..0000000 --- a/SUSE-11.4.conf +++ /dev/null @@ -1,57 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system ---with-system-cppunit ---without-junit - ---with-vendor=Novell, Inc. ---disable-access ---disable-odk ---disable-qadevooo ---enable-hids ---enable-kde ---enable-kde4 ---enable-lockdown ---enable-ext-presenter-minimizer ---enable-mono ---enable-opengl ---enable-ogltrans ---enable-ext-pdfimport ---enable-ext-presenter-console ---enable-ext-report-builder ---enable-ext-wiki-publisher ---without-stlport ---with-ant-home=/usr/share/ant ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=/usr/share/ooo/hyphen ---with-external-thes-dir=/usr/share/ooo/thesaurus ---with-java-target-version=1.5 ---with-jdk-home=$JAVA_HOME ---with-system-boost ---with-system-cairo ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-hunspell ---with-system-icu ---with-system-libxslt ---with-system-lpsolve ---with-system-neon ---with-system-odbc ---with-system-sablot ---with-system-xalan ---with-system-xerces ---with-system-xml-apis ---with-system-xrender-headers ---without-myspell-dicts diff --git a/SUSE.conf b/SUSE.conf deleted file mode 100644 index b47b7bb..0000000 --- a/SUSE.conf +++ /dev/null @@ -1,57 +0,0 @@ ---disable-epm ---with-openldap ---without-fonts ---with-system-jpeg ---with-system-libxml ---with-system-openssl ---with-system-python ---with-system-stdlibs ---with-system-zlib ---with-system-poppler ---enable-evolution2 ---enable-dbus ---with-alloc=system ---with-system-cppunit ---without-junit - ---with-vendor=Novell, Inc. ---disable-access ---disable-odk ---disable-qadevooo ---enable-hids ---enable-kde ---enable-kde4 ---enable-lockdown ---enable-ext-presenter-minimizer ---enable-mono ---enable-opengl ---enable-ogltrans ---enable-ext-pdfimport ---enable-ext-presenter-console ---enable-ext-report-builder ---enable-ext-wiki-publisher ---without-stlport ---with-ant-home=/usr/share/ant ---with-external-dict-dir=/usr/share/myspell ---with-external-hyph-dir=/usr/share/ooo/hyphen ---with-external-thes-dir=/usr/share/ooo/thesaurus ---with-java-target-version=1.5 ---with-jdk-home=$JAVA_HOME ---with-system-boost ---with-system-cairo ---with-system-curl ---with-system-db ---with-system-dicts ---with-system-expat ---with-system-hunspell ---with-system-icu ---with-system-libxslt ---with-system-lpsolve ---with-system-neon ---with-system-odbc ---with-system-sablot ---with-system-xalan ---with-system-xerces ---with-system-xml-apis ---with-system-xrender-headers ---without-myspell-dicts diff --git a/buildfix-icu-4.9.diff b/buildfix-icu-4.9.diff new file mode 100644 index 0000000..480506f --- /dev/null +++ b/buildfix-icu-4.9.diff @@ -0,0 +1,96 @@ +From ba3550bc82b8fb697b905c9913e399e1835b7cc0 Mon Sep 17 00:00:00 2001 +From: Eike Rathke +Date: Tue, 3 Apr 2012 16:15:48 +0200 +Subject: [PATCH] as of ICU 4.9 RBBI the Prepend property is empty +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport of 43084e8b30c101a44510b7a8267d5c2b316a17bb +* config_host.mk doesn't exist, instead changes to set_soenv.in +* i18npool/CustomTarget_breakiterator.mk doesn't exist, instead same changes + to i18npool/source/breakiterator/Makefile +* char.txt and char_in.txt unchanged + +Signed-off-by: Tomáš Chvátal +--- + configure.in | 6 ++++++ + i18npool/source/breakiterator/Makefile | 8 +++++++- + set_soenv.in | 1 + + 3 files changed, 14 insertions(+), 1 deletions(-) + +diff --git a/configure.in b/configure.in +index ea959e6..8e45756 100644 +--- a/configure.in ++++ b/configure.in +@@ -6162,6 +6162,7 @@ ICU_MAJOR= + ICU_MINOR= + ICU_MICRO= + ICU_RECLASSIFIED_CLOSE_PARENTHESIS= ++ICU_RECLASSIFIED_PREPEND_SET_EMPTY= + AC_MSG_CHECKING([which icu to use]) + if test "$with_system_icu" = "yes"; then + AC_MSG_RESULT([external]) +@@ -6207,6 +6208,9 @@ if test "$with_system_icu" = "yes"; then + if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then + ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" + fi ++ if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "9"; then ++ ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES" ++ fi + fi + + MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll" +@@ -6214,6 +6218,7 @@ else + AC_MSG_RESULT([internal]) + SYSTEM_ICU="NO" + ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES" ++ # ICU_RECLASSIFIED_PREPEND_SET_EMPTY not applied for our internal ICU 4.4.2 + BUILD_TYPE="$BUILD_TYPE ICU" + fi + AC_SUBST(SYSTEM_ICU) +@@ -6224,6 +6229,7 @@ AC_SUBST(ICU_MAJOR) + AC_SUBST(ICU_MINOR) + AC_SUBST(ICU_MICRO) + AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS) ++AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY) + + dnl =================================================================== + dnl Graphite +diff --git a/i18npool/source/breakiterator/Makefile b/i18npool/source/breakiterator/Makefile +index b34217a..6aed8b2 100644 +--- a/i18npool/source/breakiterator/Makefile ++++ b/i18npool/source/breakiterator/Makefile +@@ -83,10 +83,16 @@ OpenOffice_dat.c : $(subst .brk,_brk.c,$(BRKFILES)) + %.brk : %.txt.p + $(GENBRK) -r $< -o $@ + +-# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards ++# fdo#31271 ")" reclassified in more recent Unicode Standards / ICU 4.4 ++# Prepend set empty as of Unicode Version 6.1 / ICU 4.9, which bails out if used. ++# NOTE: strips every line with _word_ 'Prepend', including $Prepend + %.txt.p : $(realpath $(SRC_ROOT)/i18npool/source/breakiterator/data)/%.txt + ifeq ($(ICU_RECLASSIFIED_CLOSE_PARENTHESIS),YES) ++ifeq ($(ICU_RECLASSIFIED_PREPEND_SET_EMPTY),YES) ++ sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#;/\/d" $< > $@ ++else + sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@ ++endif + else + cp $< $@ + endif +diff --git a/set_soenv.in b/set_soenv.in +index 3dc9cfa..a8561cd 100755 +--- a/set_soenv.in ++++ b/set_soenv.in +@@ -1881,6 +1881,7 @@ ToFile( "ICU_MAJOR", "@ICU_MAJOR@", "e" ); + ToFile( "ICU_MINOR", "@ICU_MINOR@", "e" ); + ToFile( "ICU_MICRO", "@ICU_MICRO@", "e" ); + ToFile( "ICU_RECLASSIFIED_CLOSE_PARENTHESIS", "@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@", "e" ); ++ToFile( "ICU_RECLASSIFIED_PREPEND_SET_EMPTY", "@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@", "e" ); + ToFile( "SYSTEM_GENBRK", "@SYSTEM_GENBRK@", "e" ); + ToFile( "SYSTEM_GENCCODE", "@SYSTEM_GENCCODE@", "e" ); + ToFile( "SYSTEM_GENCMN", "@SYSTEM_GENCMN@", "e" ); +-- +1.7.8.3 + diff --git a/libreoffice-help-en-US.changes b/libreoffice-help-en-US.changes index bb4845c..395d840 100644 --- a/libreoffice-help-en-US.changes +++ b/libreoffice-help-en-US.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- remove unused python-devel from BuildRequires +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-en-US.spec b/libreoffice-help-en-US.spec index 1e6a9ca..2553f53 100644 --- a/libreoffice-help-en-US.spec +++ b/libreoffice-help-en-US.spec @@ -29,6 +29,13 @@ Release: 0 %define zip_version 3.0 %define lo_langs "" %define lo_home libreoffice +# 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) +%define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -56,7 +63,6 @@ BuildRequires: openssl-devel BuildRequires: perl-Archive-Zip BuildRequires: perl-Compress-Zlib BuildRequires: pkg-config -BuildRequires: python-devel BuildRequires: unzip BuildRequires: xorg-x11-devel BuildRequires: zip @@ -111,13 +117,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-en-US.spec.in Source201: lo-help-gen-spec @@ -126,6 +125,16 @@ Source202: lo-help-en-US Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -142,10 +151,22 @@ stuff is in LibreOffice-l10n-en-US. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -156,39 +177,36 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - +%endif # # Parallel build settings ... +PARALLEL_BUILD= +BUILD_SCRIPT_FLAGS= +ncpus= # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -201,51 +219,64 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-python \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-python \ + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-en-US.spec.in b/libreoffice-help-en-US.spec.in index ce7c964..159e667 100644 --- a/libreoffice-help-en-US.spec.in +++ b/libreoffice-help-en-US.spec.in @@ -25,6 +25,13 @@ Release: 0 %define zip_version 3.0 %define lo_langs "" %define lo_home libreoffice +# 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) +%define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -52,7 +59,6 @@ BuildRequires: openssl-devel BuildRequires: perl-Archive-Zip BuildRequires: perl-Compress-Zlib BuildRequires: pkg-config -BuildRequires: python-devel BuildRequires: unzip BuildRequires: xorg-x11-devel BuildRequires: zip @@ -107,13 +113,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-en-US.spec.in Source201: lo-help-gen-spec @@ -122,6 +121,16 @@ Source202: lo-help-en-US Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -138,10 +147,22 @@ stuff is in LibreOffice-l10n-en-US. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -152,39 +173,36 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - +%endif # # Parallel build settings ... +PARALLEL_BUILD= +BUILD_SCRIPT_FLAGS= +ncpus= # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -197,51 +215,64 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-python \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-python \ + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-group1.changes b/libreoffice-help-group1.changes index 8d6bed8..537bf45 100644 --- a/libreoffice-help-group1.changes +++ b/libreoffice-help-group1.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-group1.spec b/libreoffice-help-group1.spec index 9134ff2..4a0dadd 100644 --- a/libreoffice-help-group1.spec +++ b/libreoffice-help-group1.spec @@ -35,6 +35,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -96,13 +99,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -111,6 +107,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -246,10 +252,22 @@ is in libreoffice-l10n-en-GB. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -260,39 +278,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -305,50 +315,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-group2.changes b/libreoffice-help-group2.changes index cb19c09..476f769 100644 --- a/libreoffice-help-group2.changes +++ b/libreoffice-help-group2.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-group2.spec b/libreoffice-help-group2.spec index 24cae99..70b799b 100644 --- a/libreoffice-help-group2.spec +++ b/libreoffice-help-group2.spec @@ -35,6 +35,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -96,13 +99,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -111,6 +107,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -264,10 +270,22 @@ is in libreoffice-l10n-gl. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -278,39 +296,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -323,50 +333,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-group3.changes b/libreoffice-help-group3.changes index 0640c9d..69f2540 100644 --- a/libreoffice-help-group3.changes +++ b/libreoffice-help-group3.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-group3.spec b/libreoffice-help-group3.spec index 5c62f2d..642fc9d 100644 --- a/libreoffice-help-group3.spec +++ b/libreoffice-help-group3.spec @@ -35,6 +35,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -96,13 +99,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -111,6 +107,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -303,10 +309,22 @@ is in libreoffice-l10n-km. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -317,39 +335,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -362,50 +372,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-group4.changes b/libreoffice-help-group4.changes index d00c22e..d7c05a8 100644 --- a/libreoffice-help-group4.changes +++ b/libreoffice-help-group4.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-group4.spec b/libreoffice-help-group4.spec index 9a83b3b..6aa2aca 100644 --- a/libreoffice-help-group4.spec +++ b/libreoffice-help-group4.spec @@ -35,6 +35,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -96,13 +99,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -111,6 +107,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -237,10 +243,22 @@ is in libreoffice-l10n-pt. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -251,39 +269,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -296,50 +306,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-group5.changes b/libreoffice-help-group5.changes index cb19c09..476f769 100644 --- a/libreoffice-help-group5.changes +++ b/libreoffice-help-group5.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- build zip-3.0 only for openSUSE < 11.4 +- add patches for the extra zip-3.0 from the last zip package +- make sure that parallel build is used for dmake and GNU make + build parts + ------------------------------------------------------------------- Wed Apr 4 13:39:46 UTC 2012 - pmladek@suse.com diff --git a/libreoffice-help-group5.spec b/libreoffice-help-group5.spec index 609fffb..03e661d 100644 --- a/libreoffice-help-group5.spec +++ b/libreoffice-help-group5.spec @@ -35,6 +35,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -96,13 +99,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -111,6 +107,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -291,10 +297,22 @@ is in libreoffice-l10n-zh-TW. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -305,39 +323,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -350,50 +360,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice-help-groupX.spec.in b/libreoffice-help-groupX.spec.in index d7a8505..76f6773 100644 --- a/libreoffice-help-groupX.spec.in +++ b/libreoffice-help-groupX.spec.in @@ -31,6 +31,9 @@ Release: 0 # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -92,13 +95,6 @@ Source2: libreoffice-translations-%version.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # helper stuff to produce pieces of the spec file Source200: libreoffice-help-groupX.spec.in Source201: lo-help-gen-spec @@ -107,6 +103,16 @@ Source202: lo-help-groupX Patch0: libreoffice-3.5-unpack-sources.diff # cups is not needed for helpcontent build Patch1: build-helpcontent-do-not-check-cups.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch2: buildfix-icu-4.9.diff +# +# Patches against zip-3.0 +Patch2000: zip-3.0-iso8859_2.patch +Patch2001: zip-3.0-add_options_to_help.patch +Patch2002: zip-3.0-nonexec-stack.patch +Patch2003: zip-3.0-optflags.patch +Patch2004: zip-3.0-tempfile.patch +Patch2005: zip-notimestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #!ExclusiveArch: %ix86 x86_64 ppc BuildArch: noarch @@ -123,10 +129,22 @@ development. %setup -q -a30 -a31 -n libreoffice-core-%version %patch0 bin/unpack-sources `pwd` %{S:1} %{S:2} -# SUSE config files -cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs # extra fixes %patch1 +%patch2 -p1 +# +# patch zip-3.0 +%if %suse_version < 1140 +tar -xjf %{S:31} +cd zip30 +%patch2000 +%patch2001 +%patch2002 +%patch2003 +%patch2004 +%patch2005 +cd - +%endif %endif %build @@ -137,39 +155,31 @@ CFLAGS=$RPM_OPT_FLAGS ./configure make %{?_smp_mflags} cd - # -# second build zip-3.0 +# second build zip-3.0 on older distributions +%if %suse_version < 1140 cd zip30 make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc cd - -# -# Parallel build settings ... +%endif # parallel build of modules; it makes sense on machines with more CPUs -PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`" -# parallel build for files per module -if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then - PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs" +if test "%build_module_in_parallel" = "1" ; then + ncpus=`grep ^processor /proc/cpuinfo | wc -l` + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`" +fi +if test "%build_module_in_parallel" -gt "1" ; then + ncpus=%build_module_in_parallel + PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" +fi +if test -n "$ncpus" ; then + PARALLEL_BUILD="--with-num-cpus=$ncpus" + BUILD_SCRIPT_FLAGS="-P$ncpus" +fi +if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then + PARALLEL_BUILD="$PARALLEL_BUILD + --with-gcc-speedup=icecream + --with-max-jobs=%jobs" + BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs" fi -# -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# -# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 -%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) -DISABLE_KDE4= -test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4" %endif # make sure that JAVA_HOME is set correctly %if 0%{?suse_version} @@ -182,50 +192,63 @@ export JAVA_HOME=%{java_home} export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing" # FIXME: genccode from the system icu is in /usr/sbin # FIXME: we need make-3.82 for parallel build -export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin" +# use the extra built zip-3.0 on older distributions +%if %suse_version < 1140 +export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" +%endif %if %prepare_build != 0 -./autogen.sh \ +./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-jdk-home=$JAVA_HOME \ - --disable-cups \ - --disable-fontconfig \ - --without-junit \ - --without-system-jpeg \ - --disable-mozilla \ - --disable-mono \ - --without-system-curl \ - --disable-ldap \ - --without-system-odbc \ - --without-system-mozilla \ - --without-system-neon \ - --without-system-hunspell \ - --without-system-lpsolve \ - --disable-gtk \ + --with-alloc=system \ + --disable-strip-solver \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --without-fonts \ + --without-myspell-dicts \ --disable-kde \ --disable-kde4 \ + --disable-gtk \ --disable-gconf \ --disable-gnome-vfs \ - --without-system-cairo \ + --disable-evolution2 \ --disable-gstreamer \ --disable-opengl \ - --without-system-poppler \ - --disable-evolution2 + --disable-mono \ + --disable-odk \ + --without-junit \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ + --without-system-mozilla \ + --disable-ldap \ + --disable-cups \ + --disable-fontconfig \ + --with-system-dicts \ + --with-system-libxml \ + --with-system-openssl \ + --with-system-icu \ + --with-system-cppunit \ + --with-system-expat \ + --with-system-db \ + --with-system-boost \ + --without-system-jpeg %endif ./bootstrap . ./Env.Host.sh cd helpcontent2 -build --all $PARALLEL_BUILD +build --all $BUILD_SCRIPT_FLAGS %install . ./Env.Host.sh diff --git a/libreoffice.changes b/libreoffice.changes index fe916fd..c66dd31 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Fri Apr 20 12:29:53 UTC 2012 - pmladek@suse.com + +- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2 + +------------------------------------------------------------------- +Fri Apr 13 15:28:42 UTC 2012 - pmladek@suse.com + +- pyuno-path.diff: basis-link directory does not longer exist + +------------------------------------------------------------------- +Fri Apr 6 14:57:48 UTC 2012 - pmladek@suse.com + +- disable ccache; does not make sense for clean build; saves 1GB on the disk +- hard link binaries in the build tree; it might save several GBs on the disk + and is faster +- clean up configure switches: + * move switches from SUSE*.conf to spec files + * use --with-system-headers and --with-system-libs to prefer system + stuff over internal copies + * use --without-system- only for stuff that is not packaged + or not patched in the SUSE distribution, for example libvisio, + redland, mythes + * bin not longer existing options +- use system libwpd, libwpg, libwps, librsvg, vigra on openSUSE >= 11.4 +- remove unused sablot-devel, xalan-j2, xerces-j2, xml-commons-apis + from BuildRequires and Requires +- remove some %if sections for not longer supported openSUSE < 11.1 +- update license tag: added BSD-4-Clause, SUSE-Public-Domain, W3C + ------------------------------------------------------------------- Wed Apr 4 12:44:47 UTC 2012 - pmladek@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index e43231a..b514f9f 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -23,7 +23,6 @@ BuildRequires: ant-apache-regexp BuildRequires: ant-nodeps BuildRequires: bison BuildRequires: boost-devel -BuildRequires: ccache BuildRequires: cups-devel BuildRequires: curl-devel BuildRequires: dbus-1-glib-devel @@ -33,10 +32,13 @@ BuildRequires: gcc-c++ BuildRequires: gnome-vfs2-devel BuildRequires: gperf BuildRequires: gtk2-devel +BuildRequires: hunspell-devel BuildRequires: icu BuildRequires: java-devel BuildRequires: libexif +BuildRequires: libicu-devel BuildRequires: libxml2-devel +BuildRequires: lpsolve-devel BuildRequires: mono-devel BuildRequires: neon-devel BuildRequires: orbit2-devel @@ -89,7 +91,7 @@ BuildRequires: kdelibs3-devel %endif ############################ # cppunit stuff -%if 0%{?suse_version} >= 01100 +%if 0%{?suse_version} BuildRequires: libcppunit-devel %endif %if 0%{?meego_version} @@ -118,15 +120,8 @@ BuildRequires: libexpat-devel BuildRequires: expat-devel %endif ############################ -# lpsolve stuff -%if 0%{?suse_version} > 01100 || 0%{?meego_version} -# lpsolve-devel has been available since openSUSE-11.1 -BuildRequires: lpsolve-devel -%endif -############################ # poppler is needed to build the PDF import extension -# the needed version 0.8.0 has been avaiable only since openSUSE-11.0 -%if 0%{?suse_version} >= 01100 +%if 0%{?suse_version} BuildRequires: libpoppler-devel %endif %if 0%{?meego_version} @@ -138,17 +133,13 @@ BuildRequires: poppler-devel BuildRequires: junit4 %endif ############################ -# openSUSE 10.3 features -%if 0%{?suse_version} > 01020 || 0%{?meego_version} -BuildRequires: libicu-devel -%endif -############################ -# openSUSE 11.0 features -%if 0%{?suse_version} > 01030 || 0%{?meego_version} -BuildRequires: hunspell-devel +# openSUSE 11.4 features +%if 0%{?suse_version} >= 01140 || 0%{?meego_version} +BuildRequires: librsvg-devel BuildRequires: libwpd-devel BuildRequires: libwpg-devel BuildRequires: libwps-devel +BuildRequires: vigra-devel %endif ############################ # CODE10 features @@ -156,17 +147,9 @@ BuildRequires: libwps-devel %if 0%{?suse_version} > 01000 BuildRequires: gstreamer010-plugins-base-devel BuildRequires: python-lxml -BuildRequires: sablot-devel -BuildRequires: xalan-j2 -BuildRequires: xerces-j2 -BuildRequires: xml-commons-apis %endif %if 0%{?meego_version} BuildRequires: gst-plugins-base-devel -BuildRequires: sablot-devel -BuildRequires: xalan-j2 -BuildRequires: xerces-j2 -BuildRequires: xml-commons-apis %endif # FIXME: part of the language-dependant stuff is still built here and # put into the -devel package @@ -184,6 +167,9 @@ BuildRequires: xml-commons-apis # 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) %define build_module_in_parallel 1 +# debug_build: 0 = no +# 1 = yes (enable depency tracking, ccache) +%define debug_build 0 # prepare_build: 0 = no # 1 = yes (just build, install and create packages; without %%prep section and configure) %define prepare_build 1 @@ -209,12 +195,6 @@ BuildRequires: xml-commons-apis %define lo_build_sdk no %endif %endif -# java target bytecode; should be compatible with the gcj -%if 0%{?suse_version} > 01030 || 0%{?meego_version} -%define java_target_version 1.5 -%else -%define java_target_version 1.4 -%endif # python paths %if 0%{?suse_version} <= 01110 %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())") @@ -279,9 +259,6 @@ Requires: libgcj Requires: jre >= 1.5 %endif # --- -Requires: xalan-j2 -Requires: xerces-j2 -Requires: xml-commons-apis # post install scripts %if 0%{?suse_version} > 01120 Requires(pre): findutils @@ -480,7 +457,7 @@ Obsoletes: OpenOffice_org-Quickstarter < 3.3.1 %endif # Summary: A Free Office Suite (Framework) -License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT +License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C Group: Productivity/Office/Suite Url: http://www.documentfoundation.org/ Source0: libreoffice-core-%version.tar.bz2 @@ -495,13 +472,6 @@ Source20: libreoffice-desktop-icons-256x256.tar.bz2 Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2 # zip-3.0 or newer is required because of the --filesync feature Source31: zip-%zip_version.tar.bz2 -# SUSE config files -Source100: SUSE.conf -Source101: SUSE-10.1.conf -Source102: SUSE-11.1.conf -Source103: SUSE-11.2.conf -Source104: SUSE-11.3.conf -Source105: SUSE-11.4.conf # rpmlint complains about devel files in non-devel package # but we would like to keep the sdk package name # We would like to keep the -bootstrap package name @@ -600,8 +570,10 @@ Source1042: d28864eb2b59bb57b034c0d4662a3cee-libvisio-0.0.15.tar.bz2 Source1043: d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz # # allow to unpack source tarballs +# pushed upstream for 3.5.3 Patch0: libreoffice-3.5-unpack-sources.diff # mark share/config/javasettingsunopkginstall.xml as %config; it is updated by unopkg in %post +# pushed upstream for 3.6.0 Patch1: javasetting-mark-config.diff # search application icons in /usr/share # FIXME: search both lib and lib64 and push into git @@ -610,34 +582,47 @@ Patch2: split-icons-search-usr-share.diff # FIXME: make it configurable in integrate into git Patch3: officecfg-help-in-usr-share.diff # slower patching to debug and hopefully fix parallel build of ct2n extension; always happened only in the Build Service (bnc#595550) +# FIXME: remove when scp2 module is gbuildized Patch4: solenv-carefull-patching-hack.diff # change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse # to avoid BerkleyDB incompatibility with the plain build +# FIXME: make it configurable in integrate into git Patch5: scp2-user-config-suse.diff # fix library link order to work with link as needed +# pushed upstream for 3.6.0 except for fpicker; it was moved to vcl and gbuildized Patch6: library-link-order-to-build-with-as-needed.diff # put internal rhino into XBootClasspath to fix build with OpenJDK +# FIXME: make it clean to be able to push upstream Patch7: scripting-prefer-internal-rhino.diff # update file list generation for 3.5 +# pushed upstream for LO-.3.6; pending request for 3.5 Patch8: distro-install-file-lists-3.5.diff # search /share/template/common for language independent templates -# will not push it upstream because it will be replaced by upcomming kendy's work +# FIXME: make it configurable to push upstream Patch9: office-cfg-linux-common-template-dir.diff # correctly bootstrap python stuff with system python, (deb#501028, i#90701) +# is this solutions stull used in other distributions? Patch10: system-python-ure-bootstrap.diff # do not use the broken help; unopkg complained about it when registering extensions # FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files Patch11: nlpsolver-no-broken-help.diff Patch12: mediawiki-no-broken-help.diff # revert problematic build fix for poppler 0.17.0 on older distributions +# FIXME: make it configurable to push upstream Patch13: libreoffice-poppler-0.17.0-reject-fix.diff # generate selected bytecode version also in gbuild +# FIXME: push upstream and be ready to fix problem on other systems Patch14: solenv-java-source-version.diff # fix build dependency problem in svx +# FIXME: completely reworked in LO-3.6; might be removed there Patch15: svx-globlmn-hrc-build-dep.diff +# fix build with icu-4.9; it will be in upstream 3.5.3 +Patch16: buildfix-icu-4.9.diff # display LO application in the right desktop submenu (bnc#718694) +# pushed upstream for LO-3.6 Patch21: desktop-submenu.diff # add pyuno to python path +# FIXME: related to system-python-ure-bootstrap.diff Patch26: pyuno-path.diff # # default to MS Office 97/2000/XP file formats on MeeGo; asked by HP @@ -1331,8 +1316,6 @@ the LibreOffice localizations separately. bin/unpack-sources `pwd` %{S:1} %{S:2} %{S:3} # 256x256 icons tar -xjf %{S:20} -# SUSE config files -cp $RPM_SOURCE_DIR/SUSE*.conf distro-configs # READMEs cp $RPM_SOURCE_DIR/README* . # extra fixes @@ -1354,6 +1337,7 @@ cp $RPM_SOURCE_DIR/README* . %endif %patch14 %patch15 +%patch16 -p1 %patch21 %patch26 # @@ -1410,22 +1394,6 @@ if test "%build_module_in_parallel" -gt "1" ; then PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel" fi # -# Distro settings ... -%if 0%{?meego_version} - with_distro="SUSE-11.1" -%endif -%if 0%{?suse_version} && 0%{?suse_version} <= 01110 - 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" -%endif -%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120 - with_distro="SUSE-11.2" -%endif -%if 0%{?suse_version} > 01120 - with_distro="SUSE" -%endif -# # disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11 %define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel) DISABLE_KDE4= @@ -1450,86 +1418,104 @@ export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbu %if %suse_version < 1140 export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" %endif +# %if %prepare_build != 0 ./autogen.sh $PARALLEL_BUILD \ + --libdir=%{_libdir} \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --sysconfdir=/etc \ + --docdir=%{_docdir}/%{name} \ + --with-vendor="Novell, Inc." \ + --with-lang=%lo_langs \ + --disable-fetch-external \ --with-external-tar="$RPM_SOURCE_DIR" \ - --with-arch-flags="$ARCH_FLAGS" \ - --libdir=%{_libdir} \ - --prefix=%{_prefix} \ - --mandir=%{_mandir} \ - --sysconfdir=/etc \ - --docdir=%{_docdir}/%{name} \ - --with-distro="$with_distro" \ - --without-git \ - --without-download \ - --disable-fetch-external \ - --with-lang=%lo_langs \ - --with-poor-help-localizations=%lo_poor_help_localizations \ - --with-mono-gac-root=%{_prefix}/lib \ - --with-compat-oowrappers \ + --with-alloc=system \ + --disable-strip-solver \ + --with-compat-oowrappers \ + --enable-split-app-modules \ + --enable-split-opt-features \ + --with-jdk-home=$JAVA_HOME \ + --with-java-target-version=1.5 \ + --with-ant-home=/usr/share/ant \ + --with-mono-gac-root=%{_prefix}/lib \ + --without-fonts \ + --without-myspell-dicts \ + --with-external-dict-dir=/usr/share/myspell \ + --with-external-hyph-dir=/usr/share/ooo/hyphen \ + --with-external-thes-dir=/usr/share/ooo/thesaurus \ + --without-help \ %if %test_build_binfilters != 0 - --enable-binfilter \ + --enable-binfilter \ %endif - --with-jdk-home=$JAVA_HOME \ - --with-java-target-version=%java_target_version \ - --disable-helpcontent \ %if %lo_build_sdk == yes - --enable-odk \ + --enable-odk \ %endif -%if 0%{?meego_version} - --without-system-cairo \ - --with-system-icu \ - --disable-kde4 \ -%endif -%if 0%{?meego_version} - --disable-kde \ +%if 0%{?suse_version} + --enable-kde \ + --enable-kde4 \ %endif $DISABLE_KDE4 \ -%if 0%{?suse_version} > 01130 + --enable-evolution2 \ + --enable-lockdown \ + --enable-dbus \ +%if 0%{?suse_version} <= 01130 + --enable-mono \ +%else --disable-mono \ %endif -%if %suse_version <= 1110 - --without-junit \ +%if %suse_version <= 1130 + --without-junit \ %endif - --disable-access \ - --disable-post-install-scripts \ - --disable-strip \ - --disable-strip-solver \ - --enable-openxml \ - --disable-report-builder \ - --disable-pdfimport \ - --disable-presenter-console \ - --enable-build-noarch \ - --enable-ext-ct2n \ - --enable-ext-nlpsolver \ - --enable-ext-google-docs \ - --enable-ext-numbertext \ - --without-help \ - --disable-mozilla \ +%if %debug_build == 0 + --disable-ccache \ +%endif + --without-stlport \ + --disable-mozilla \ --without-system-mozilla \ --disable-ldap \ --enable-xmlsec \ - --with-system-nss \ -%if 0%{?suse_version} > 01110 - --with-system-postgresql \ -%endif + --with-openldap \ + --enable-ext-ct2n \ + --enable-ext-nlpsolver \ + --enable-ext-google-docs \ + --enable-ext-numbertext \ + --enable-ext-wiki-publisher \ %if 0%{?suse_version} - --with-system-mysql \ - --enable-ext-mysql-connector \ -%endif -%if 0%{?suse_version} > 01220 - --with-system-mysql-cppconn \ -%endif -%if 0%{?suse_version} > 01030 || 0%{?meego_version} - --enable-pdfimport \ + --enable-ext-mysql-connector \ %endif --enable-ext-scripting-beanshell \ --enable-ext-scripting-javascript \ - --enable-ext-scripting-python \ - --enable-minimizer --enable-presenter-console \ - --enable-wiki-publisher --enable-ogltrans --enable-report-builder \ - --enable-split-app-modules \ - --enable-split-opt-features + --with-system-dicts \ + --with-system-headers \ +%if 0%{?suse_version} <= 01130 + --without-system-vigra \ +%endif + --without-system-mdds \ + --without-system-mozilla-headers \ + --without-system-sane \ + --with-system-libs \ +%if 0%{?suse_version} <= 01110 + --without-system-postgresql \ +%endif +%if 0%{?meego_version} + --without-system-cairo \ +%endif +%if 0%{?suse_version} <= 01130 + --without-system-libwpd \ + --without-system-libwpg \ + --without-system-libwps \ + --enable-librsvg=internal \ +%endif + --without-system-mysql-cppconn \ + --without-system-libvisio \ + --without-system-libcmis \ + --without-system-graphite \ + --without-system-sampleicc \ + --without-system-redland \ + --without-system-altlinuxhyph \ + --without-system-mythes \ + --without-system-libexttextcat %endif # prebuilt stuff ( @@ -1544,6 +1530,8 @@ export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin" ) # hack to correctly bootstrap python stuff with system python, (deb#501028, i#90701) sed -i -e "s|@INSTALLDIR@|%lo_prefix/%lo_home|" pyuno/source/module/uno.py +# hard link binaries in the build tree; it might save several GBs on the disk and is faster +export gb_Deliver_HARDLINK=1 # FIXME: try to finish build even with the strange random build crash in officecfg make || make || make diff --git a/pyuno-path.diff b/pyuno-path.diff index 4bad32a..c866cb3 100644 --- a/pyuno-path.diff +++ b/pyuno-path.diff @@ -7,9 +7,9 @@ +import platform + +if platform.machine() == 'x86_64': -+ sys.path.append('/usr/lib64/libreoffice/basis-link/program') ++ sys.path.append('/usr/lib64/libreoffice/program') +else: -+ sys.path.append('/usr/lib/libreoffice/basis-link/program') ++ sys.path.append('/usr/lib/libreoffice/program') if getattr(os.environ, 'URE_BOOTSTRAP', None) is None: os.environ['URE_BOOTSTRAP'] = "vnd.sun.star.pathname:@INSTALLDIR@/program/fundamentalrc"