File of Package libreoffice

# spec file for package libreoffice-help-group@GROUP_NUMBER@
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           libreoffice-help-group@GROUP_NUMBER@
Release:        0
%define         gnu_make_version  3.82
%define         gnu_make_snapshot 20120301
%define         zip_version       3.0
%define         lo_home           libreoffice
# test_build_langs:   	   1 = de and cs
#			   2 = all supported languages 
%define		test_build_langs 	2
# 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
%if %test_build_langs == 0
%define       lo_langs		"@OOO_LANGS_MIN_0@"
%if %test_build_langs == 1
%define       lo_langs		"@OOO_LANGS_MIN_1@"
%define       lo_langs		"@OOO_LANGS_MIN_2@"
#!BuildIgnore:  libreoffice
# both zip and perl-Archive-Zip are needed; tested with ooo320-m3, 2009-10-22
BuildRequires:  ant
BuildRequires:  ant-apache-regexp
BuildRequires:  automake
BuildRequires:  bison
BuildRequires:  boost-devel
BuildRequires:  db-devel
BuildRequires:  flac-devel
BuildRequires:  flex
BuildRequires:  freetype2-devel
BuildRequires:  gcc-c++
BuildRequires:  gperf
BuildRequires:  icu
BuildRequires:  java-devel
BuildRequires:  libcppunit-devel
BuildRequires:  libexpat-devel
BuildRequires:  libicu-devel
BuildRequires:  libxml2-devel
BuildRequires:  libxslt-devel
BuildRequires:  openssl-devel
BuildRequires:  perl-Archive-Zip
BuildRequires:  perl-Compress-Zlib
BuildRequires:  pkg-config
BuildRequires:  procps
BuildRequires:  python-devel
BuildRequires:  unzip
BuildRequires:  xorg-x11-devel
BuildRequires:  zip
%if 0%{?suse_version} == 01010
# is not required by Java SDKs by mistake on SLED10
BuildRequires:  update-alternatives
# compat stuff
Provides:       OpenOffice_org-help-group@GROUP_NUMBER@ = %version
Obsoletes:      OpenOffice_org-help-group@GROUP_NUMBER@ <= %version
Summary:        LibreOffice Help Development
License:        LGPL-3.0
Group:          Productivity/Office/Suite
Source0:        libreoffice-core-%version.tar.bz2
Source1:        libreoffice-help-%version.tar.bz2
Source2:        libreoffice-translations-%version.tar.bz2
# make-3.82 is needed for parallel build
# this version extends plain make-3.82 with --warn-undefined-functions option
# URL:, snapshot 2011-08-17
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
# helper stuff to produce pieces of the spec file
Source201:      lo-help-gen-spec
Source202:      lo-help-groupX
# cups is not needed for helpcontent build
Patch0:         build-helpcontent-do-not-check-cups.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

This package provides files related to the LibreOffice help

%if %prepare_build == 0
%setup -D -T -q -n libreoffice-core-%version
%setup -q -a30 -a31 -n libreoffice-core-%version
bin/unpack-sources `pwd` %{S:1}  %{S:2}
# patch zip-3.0
%if %suse_version < 1140
tar -xjf %{S:31}
cd zip30
cd -

%if %prepare_build != 0
# first build make-3.82
cd make-*
make %{?_smp_mflags}
cd -
# 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 ...
# dmake does not work with more than 64 jobs
if test -n "$lo_jobs" -a "$lo_jobs" -gt "64" ; then
    echo "Warning: dmake does not support more than 64 processes => reducing number of parallel jobs"
# do not eat all memory
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
    if test `uname -i` = "x86_64" ; then
    max_mem=`LANG=C free -t -m | sed -n "s|^Total: *\([0-9]*\).*$|\1|p"`
    max_jobs="$(($max_mem / $mem_per_process))"
    test "$lo_jobs" -gt "$max_jobs" && lo_jobs="$max_jobs" && lo_jobs_reduced="yes" && echo "Warning: Reducing number of jobs to $max_jobs because of memory limits"
    test "$lo_jobs" -le 0 && lo_jobs= && echo "Warning: Do not use the parallel build at all becuse of memory limits"
# finally set jobs
if test -n "$lo_jobs" ; then
  BUILD_SCRIPT_FLAGS="-- -P$lo_jobs"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# again reduce to 64 CPUs because of dmake
test "$num_cpus" -gt "64" && num_cpus="64" && echo "Warning: dmake does not support more than 64 processes => reducing number of used cpus"
# allow only 2 modules if there more jobs allowed in one module
test -n "$lo_jobs" -a "$lo_jobs" -gt 1 && num_cpus="2"
PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=$num_cpus"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
  PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
source /etc/profile.d/
%if 0%{?meego_version}
export JAVA_HOME=%{java_home}
# use RPM_OPT_FLAGS, ...
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:$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"
%if %prepare_build != 0
        --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-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 \
        --disable-evolution2 \
        --disable-gstreamer \
        --disable-opengl \
        --disable-mono \
        --disable-odk \
        --without-junit \
%if %debug_build == 0
        --disable-ccache \
        --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 \
. ./
cd helpcontent2

. ./
test -z %lo_langs && langs="en-US" || langs=%lo_langs
mkdir -p file-lists
for lang in $langs ; do
    test "$lang" = "en-US" && langdir="en" || langdir="$lang"
    mkdir -p $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir
    for pack in helpcontent2/$INPATH/bin/s*$ ; do
        unzip $pack -d $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir
    lang_underscore=`echo $lang | sed "s/-/_/g"`
    echo "%dir %_datadir/%lo_home"                     >file-lists/$filelist
    echo "%dir %_datadir/%lo_home/help" >>file-lists/$filelist
    find $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir -type d -printf "%%%%dir %_datadir/%lo_home/help/$langdir/%%P\n" >>file-lists/$filelist
    find $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir -type f -printf "%_datadir/%lo_home/help/$langdir/%%P\n"         >>file-lists/$filelist
    # the file list is needed to create compat symlinks
    cp file-lists/$filelist $RPM_BUILD_ROOT/%_datadir/%lo_home
    echo "%_datadir/%lo_home/$filelist" >>file-lists/$filelist