- reduce build parallelism to reduce build crashes:

* dmake support 64 jobs at maximum
    * do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory

OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=6
This commit is contained in:
Petr Mladek 2012-07-11 15:09:01 +00:00 committed by Git OBS Bridge
parent a7366008e6
commit 11c8a6f190
18 changed files with 356 additions and 141 deletions

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -63,6 +63,7 @@ BuildRequires: openssl-devel
BuildRequires: perl-Archive-Zip
BuildRequires: perl-Compress-Zlib
BuildRequires: pkg-config
BuildRequires: procps
BuildRequires: unzip
BuildRequires: xorg-x11-devel
BuildRequires: zip
@ -182,24 +183,44 @@ cd -
PARALLEL_BUILD=
BUILD_SCRIPT_FLAGS=
ncpus=
# parallel build of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -59,6 +59,7 @@ BuildRequires: openssl-devel
BuildRequires: perl-Archive-Zip
BuildRequires: perl-Compress-Zlib
BuildRequires: pkg-config
BuildRequires: procps
BuildRequires: unzip
BuildRequires: xorg-x11-devel
BuildRequires: zip
@ -178,24 +179,44 @@ cd -
PARALLEL_BUILD=
BUILD_SCRIPT_FLAGS=
ncpus=
# parallel build of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -75,6 +75,7 @@ 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
@ -277,24 +278,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -75,6 +75,7 @@ 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
@ -295,24 +296,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -75,6 +75,7 @@ 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
@ -334,24 +335,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -75,6 +75,7 @@ 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
@ -268,24 +269,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,11 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -75,6 +75,7 @@ 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
@ -322,24 +323,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -71,6 +71,7 @@ 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
@ -154,24 +155,44 @@ 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 of modules; it makes sense on machines with more CPUs
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`"
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
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"
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
if test -n "$ncpus" ; then
PARALLEL_BUILD="--with-num-cpus=$ncpus"
BUILD_SCRIPT_FLAGS="-P$ncpus"
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
BUILD_SCRIPT_FLAGS="-- -P%jobs"
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"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
BUILD_SCRIPT_FLAGS="-P$ncpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly

View File

@ -1,7 +1,7 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -1,7 +1,7 @@
-------------------------------------------------------------------
Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
- updated to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
- update to libreoffice-3.5.4.7 (SUSE 3.5 rc3, based on upstream 3.5.5-rc3)
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -11,6 +11,10 @@ Mon Jul 9 17:06:28 UTC 2012 - pmladek@suse.com
* fix MySQL, GDocs, and LanguageTool extension registration
* make sure we don't export shapes with negative size (bnc#760997)
* make sure all tab pages have the same dimensions (fdo#49921, bnc#769162)
- reduce build parallelism to reduce build crashes:
* dmake support 64 jobs at maximum
* do not eat all memory with some huge sources
- add procps into BuildRequires to check available memory
-------------------------------------------------------------------
Thu Jun 28 13:33:54 UTC 2012 - pmladek@suse.com

View File

@ -47,6 +47,7 @@ BuildRequires: patch
BuildRequires: perl-Archive-Zip
BuildRequires: perl-Compress-Zlib
BuildRequires: postgresql-devel
BuildRequires: procps
BuildRequires: python-devel
BuildRequires: recode
BuildRequires: unixODBC-devel
@ -163,10 +164,6 @@ BuildRequires: gst-plugins-base-devel
# test_build_SDK: 0 = no
# 1 = yes (if possible, see below the definition of lo_build_sdk)
%define test_build_sdk 1
# 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
@ -1388,17 +1385,39 @@ cd -
%endif
#
# Parallel build settings ...
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%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"
lo_jobs="64"
fi
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
if test `uname -i` = "x86_64" ; then
mem_per_process=300
else
mem_per_process=200
fi
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"
fi
# finally set jobs
PARALLEL_BUILD=
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
PARALLEL_BUILD="--with-gcc-speedup=icecream
--with-max-jobs=%jobs"
if test -n "$lo_jobs" ; then
PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
fi
# parallel build of modules; it makes sense on machines with more CPUs
if test "%build_module_in_parallel" = "1" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
fi
if test "%build_module_in_parallel" -gt "1" ; then
PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# 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"
fi
#
# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11