[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - 3 commits - bin/pack-debug officecfg/registry scp2/source

Andras Timar andras.timar at collabora.com
Fri Feb 24 14:30:03 UTC 2017


 bin/pack-debug                                           |  337 +++++++++++++++
 officecfg/registry/data/org/openoffice/Office/Common.xcu |    2 
 scp2/source/ooo/common_brand.scp                         |    4 
 3 files changed, 339 insertions(+), 4 deletions(-)

New commits:
commit db6cc6accdc1180b0e6fcba4a99ce4e1e1b84d08
Author: Andras Timar <andras.timar at collabora.com>
Date:   Fri Feb 24 15:29:33 2017 +0100

    bin/pack-debug
    
    Change-Id: I965f4d88416f3345c706d5e9e07acef3c55b7206

diff --git a/bin/pack-debug b/bin/pack-debug
new file mode 100755
index 0000000..bc3bd1a
--- /dev/null
+++ b/bin/pack-debug
@@ -0,0 +1,337 @@
+#!/bin/bash
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# create debuginfo and debugsource packages from LO rpm & deb files
+# (generated by using --enable-symbols)
+
+# build path
+export BUILD_PATH=$PWD
+export BUILD_LOG=$BUILD_PATH/pack-debug.log
+
+if [ $# -gt 0 ]
+then
+ for i in "$@"
+ do
+  case $i in
+--only-rpm) ONLY_RPM=1;;
+--only-deb) ONLY_DEB=1;;
+*) echo "Usage: pack-debug [--only-rpm | --only-deb]" && exit 1;;
+  esac
+ done
+fi
+
+# set install dirname and product version
+if [ ! -f config.log ]; then
+    echo "config.log not found. Run this script from build root."
+    exit 1;
+fi
+
+# create pack-debug.log file
+echo create debug packages >$BUILD_LOG
+
+eval $(grep ^INSTALLDIRNAME config.log)
+eval $(grep ^PRODUCTVERSION config.log)
+
+# set package base name, eg. collaboraoffice5.3
+DEBUGSRC_PACKAGENAME=$INSTALLDIRNAME$PRODUCTVERSION
+
+#################################
+# Function for re-build RPM files
+#################################
+function repack_rpm {
+
+# set environment based on config.log
+# for find-requires-x11.sh used by rpm __find_requires
+eval $(grep ^PLATFORMID config.log)
+export PLATFORMID
+eval $(grep ^build_cpu config.log)
+export build_cpu
+
+####################################
+echo create RPM debug source package
+####################################
+
+DEBUGSRC="$(find workdir -name ${DEBUGSRC_PACKAGENAME}.spec.log)"
+
+# create spec file, based on the spec file of the brand package
+
+cat $DEBUGSRC | awk '
+	/^Name:/ { print "Summary: Debug source for package "$2; print $0"-debugsource";next }
+	/^Group:/ { print $1" Development/Debug";next }
+	/^Brand module/ { print gensub("Brand module", "Source files", "");next }
+	/^%attr/ || /^Summary:/ { next }
+	{print}
+	END {
+		print "%defattr(-,root,root)"
+	}
+ ' > ${DEBUGSRC}-debugsource
+ buildroot=$(cat $DEBUGSRC-debugsource | awk '/^BuildRoot/{print$2}')
+ topdir=$(dirname $(dirname $buildroot))
+ mkdir -p $buildroot $topdir/RPMS/BUILD $topdir/RPMS/RPMS
+ rm -rf $buildroot
+
+ # create source file list
+
+ find $BUILD_PATH -name '*[.][hc]xx' -o -name '*[.][hc]' | grep -Ev '/(instdir|qa|DEBS)/' |
+
+ # list all directories for complete rpm remove
+
+ awk -v home=$BUILD_PATH '
+	{
+		split($0, a, home "/")
+		n=split(a[2], b, "/")
+		c=home
+		for(i=1;i<n;i++) {
+			c=c"/"b[i]
+			if(mem[c]!=1) print "%dir "c
+			mem[c]=1
+		}
+		print $0
+	}' >> ${DEBUGSRC}-debugsource
+
+ # start rpmbuild for debug source package
+
+ ln -s / $buildroot
+
+ # debug build source package
+
+ rpmbuild -bb --define "_unpackaged_files_terminate_build  0" ${DEBUGSRC}-debugsource --target $build_cpu --buildroot=$buildroot
+
+###################################################################
+echo create rpm debug info packages by processing logged spec files
+###################################################################
+
+for i in $BUILD_PATH/workdir/installation/CollaboraOffice/rpm/logging/*/*.spec.log
+do
+
+ # repackage only rpm packages with non-stripped so files
+
+ if grep -q '^%attr.*[.]\(so\|bin\)\([.].*\)\?\"' $i
+ then
+	echo ================ $i ================
+	pack=$(cat $i | awk '/^Name/{print$2}')
+	buildroot=$(cat $i | awk '/^BuildRoot/{print$2}')
+	topdir=$(dirname $(dirname $buildroot))
+	rpmdir=$(echo $topdir | sed 's/_inprogress$//')
+
+	# create empty buildroot directory
+
+	rm -rf $buildroot
+	mkdir -p $buildroot $topdir/RPMS/BUILD $topdir/RPMS/RPMS
+	cd $buildroot
+
+	echo REBUILD: $rpmdir/RPMS/${pack}-[0-9]*.rpm
+
+	# extract rpm package
+
+	rpm2cpio $rpmdir/RPMS/${pack}-[0-9]*.rpm | cpio -idmv
+
+	# create stripped libraries and linked debug info files
+
+	for j in $(cat $i | awk '/^%attr.*[.](so|bin)([.].*)?"$/{print$2}')
+	do
+		so=$(echo $j | tr -d '"')
+		cd ./$(dirname $so)
+		so=$(basename $so)
+		objcopy --only-keep-debug $so $so.dbg
+		objcopy --strip-debug $so
+		objcopy --add-gnu-debuglink=$so.dbg $so
+		cd $buildroot
+	done
+
+	# copy files for double package generation (using hard links)
+
+	cp -rl $buildroot $buildroot.copy
+
+	# stripped package
+
+	rpmbuild -bb --define "_unpackaged_files_terminate_build  0" $i --target $build_cpu --buildroot=$buildroot
+	rm -rf $buildroot
+	mv $buildroot.copy $buildroot
+	mkdir -p $topdir/RPMS/BUILD $topdir/RPMS/RPMS
+
+	# create spec file for the debug info package
+
+	cat $i | awk '
+		/^Name:/ { print "Summary: Debug information for package "$2; print $0"-debuginfo";next }
+		/^Group:/ { print $1" Development/Debug";next }
+		/^%attr.*[.](so|bin)([.].*)?"$/ { print substr($0, 1, length($0) - 1)".dbg\""; next }
+		/^%attr/ || /^Summary:/ { next }
+		{print}
+	' > ${i}-debuginfo
+
+	# create debug info package
+
+	rpmbuild -bb --define "_unpackaged_files_terminate_build  0" ${i}-debuginfo --target $build_cpu --buildroot=$buildroot
+ fi
+done
+
+echo Update RPM download tar.gz
+
+mv $topdir/RPMS/RPMS/*/*.rpm $rpmdir/RPMS/
+cd $rpmdir/..
+TARGET_RPM=$(ls *_download/*.tar.gz)
+TARGET_DEBUG=$(echo $TARGET_RPM | sed 's/.tar.gz$/-debug.tar.gz/')
+SOURCE_RPM=$(find *_rpm -type f | grep -v debug)
+SOURCE_DEBUG=$(find *_rpm -type f | grep -E '(debug|readme|README)')
+tar c $SOURCE_RPM | gzip >$TARGET_RPM
+tar c $SOURCE_DEBUG | gzip >$TARGET_DEBUG
+cd $BUILD_PATH
+rm -rf $topdir
+}
+
+#################################
+# Function for re-build DEB files
+#################################
+function repack_deb {
+
+####################################
+echo create DEB debug source package
+####################################
+
+DEBUGSRC=$BUILD_PATH/workdir/installation/CollaboraOffice/deb/listfile/en-US/epm_gid_Module_Root_Brand.lst
+
+echo Base spec file: $DEBUGSRC
+
+# create spec file, based on the spec file of the brand package
+
+cat $DEBUGSRC | awk '
+	/^%product/ { print gensub("Brand module", "Debug source package", "", $0) ;next }
+	/^%description/ { print gensub("Brand module", "Debug source package", "", $0) ;next }
+	/^[cdf] / { next }
+	{print}
+ ' > ${DEBUGSRC}-debugsource
+
+ # create source file list
+
+ find $BUILD_PATH -name '*[.][hc]xx' -o -name '*[.][hc]' | grep -Ev '/(instdir|qa|DEBS)/' |
+
+ # list all directories
+
+ awk -v home=$BUILD_PATH '
+	{
+		split($0, a, home "/")
+		n=split(a[2], b, "/")
+		c=home
+		for(i=1;i<n;i++) {
+			c=c"/"b[i]
+			if(mem[c]!=1) print "d 755 root root "c" -"
+			mem[c]=1
+		}
+		print "f 644 root root "$0" "$0
+	}' >> ${DEBUGSRC}-debugsource
+
+ echo Spec file of debug source package: ${DEBUGSRC}-debugsource
+
+ # debug build source package
+
+ $BUILD_PATH/workdir/UnpackedTarball/epm/epm -f deb -g ${INSTALLDIRNAME}${PRODUCTVERSION}-debugsource ${DEBUGSRC}-debugsource --output-dir DEBS -v
+
+######################################################################
+echo create DEB debug info packages by processing logged EPM lst files
+######################################################################
+
+for i in $BUILD_PATH/workdir/installation/CollaboraOffice/deb/listfile/en-US/*.lst
+do
+
+ # repackage only deb packages with non-stripped so files
+
+ if grep -q '^f .*[.]\(so\|bin\)\([.].*\)\?$' $i
+ then
+	echo ================ $i ================
+	TARGET_NAME=$INSTALLDIRNAME"$(echo $(basename $i) | awk '
+	/epm_gid_Module_Optional_Gnome.lst/{print"basis5.3-gnome-integration"}
+	/epm_gid_Module_Optional_Grfflt.lst/{print"basis5.3-graphicfilter"}
+	/epm_gid_Module_Optional_Kde.lst/{print"basis5.3-kde-integration"}
+	/epm_gid_Module_Optional_OGLTrans.lst/{print"basis5.3-ogltrans"}
+	/epm_gid_Module_Optional_PostgresqlSdbc.lst/{print"basis5.3-postgresql-sdbc"}
+	/epm_gid_Module_Pdfimport.lst/{print"basis5.3-extension-pdf-import"}
+	/epm_gid_Module_Prg_Base_Bin.lst/{print"basis5.3-base"}
+	/epm_gid_Module_Prg_Calc_Bin.lst/{print"basis5.3-calc"}
+	/epm_gid_Module_Prg_Impress_Bin.lst/{print"basis5.3-impress"}
+	/epm_gid_Module_Prg_Math_Bin.lst/{print"basis5.3-math"}
+	/epm_gid_Module_Prg_Wrt_Bin.lst/{print"basis5.3-writer"}
+	/epm_gid_Module_Pyuno.lst/{print"basis5.3-pyuno"}
+	/epm_gid_Module_Reportbuilder.lst/{print"basis5.3-extension-report-builder"}
+	/epm_gid_Module_Root_Brand.lst/{print"5.3"}
+	/epm_gid_Module_Root.lst/{print"basis5.3-core"}
+	/epm_gid_Module_Root_Ure_Hidden.lst/{print"5.3-ure"}
+	' | sed s/5.3/$PRODUCTVERSION/g)"
+	echo TARGET NAME: $TARGET_NAME
+
+	# create stripped libraries and linked debug info files
+
+	for j in $(cat $i | awk '/^f .*[.](so|bin)([.].*)?$/{print$6}')
+	do
+		cd $(dirname $j)
+		so=$(basename $j)
+		# remove old temporary files
+		rm -f $so.copy $so.dbg
+		# keep original file
+		cp $so $so.copy
+		objcopy --only-keep-debug $so $so.dbg
+		objcopy --strip-debug $so
+		objcopy --add-gnu-debuglink=$so.dbg $so
+		cd $BUILD_PATH
+	done
+
+	# create stripped package
+
+	$BUILD_PATH/workdir/UnpackedTarball/epm/epm -f deb -g $TARGET_NAME $i --output-dir DEBS -v
+
+	# create spec file for the debug info package
+
+	cat $i | awk '
+		/^%product/ { print "%product Debug info package of "$0 ;next }
+		/^%description/ { print "%description Debug info package of "$0 ;next }
+		/^f .*[.](so|bin)([.].*)?$/ { print $1,$2,$3,$4,$5".dbg",$6".dbg"; next }
+		/^[cf] / { next }
+		{print}
+	' > ${i}-debuginfo
+
+	# create debug info package
+	$BUILD_PATH/workdir/UnpackedTarball/epm/epm -f deb -g ${TARGET_NAME}-debuginfo $i-debuginfo --output-dir DEBS -v
+
+	# restore original non stripped library files
+
+	for j in $(cat $i | awk '/^f .*[.](so|bin)([.].*)?$/{print$6}')
+	do
+		cd $(dirname $j)
+		so=$(basename $j)
+		rm $so.dbg
+		# restore original file
+		mv -f $so.copy $so
+		cd $BUILD_PATH
+	done
+ fi
+done
+
+echo Update DEB download tar.gz
+
+debdir=$(ls -d $BUILD_PATH/workdir/installation/CollaboraOffice/deb/install/*_deb)
+mv $BUILD_PATH/DEBS/*.deb $debdir/DEBS/
+cd $debdir/..
+TARGET_DEB=$(ls *_download/*.tar.gz)
+TARGET_DEBUG=$(echo $TARGET_DEB | sed 's/.tar.gz$/-debug.tar.gz/')
+SOURCE_DEB=$(find *_deb -type f | grep -v debug)
+SOURCE_DEBUG=$(find *_deb -type f | grep -E '(debug|readme|README)')
+tar c $SOURCE_DEB | gzip >$TARGET_DEB
+tar c $SOURCE_DEBUG | gzip >$TARGET_DEBUG
+
+cd $BUILD_PATH
+rm -rf DEBS
+}
+
+# start deb re-build
+test -z "$ONLY_RPM" -a "$(find workdir/installation/CollaboraOffice/deb/listfile -name '*.lst')" != "" && repack_deb >$BUILD_LOG 2>&1 || \
+	echo 'Skip DEB debug package generation (--only-rpm or missing EPM lst files).'
+
+# start rpm re-build
+test -z "$ONLY_DEB" -a "$(find workdir -name '*spec.log')" != "" && repack_rpm >>$BUILD_LOG 2>&1 || \
+	echo 'Skip RPM debug package generation (--only-deb or missing RPM spec files).'
+
commit 3fc7a4eebce40fc4043726f2f85f8b84d6bee716
Author: Andras Timar <andras.timar at collabora.com>
Date:   Fri Jul 8 09:45:22 2016 +0200

    Disable OpenGL by default on Windows
    
    Change-Id: Ib2cb9e26578ed0911f08965f9675580d45f85cee
    (cherry picked from commit 7327491b4a4744123d62a9d884c6cba07a27274e)

diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
index e45beb4..37952f8 100644
--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
@@ -61,7 +61,7 @@
     <prop oor:name="UseOpenGL" oor:type="xs:boolean">
       <value install:module="macosx">false</value>
       <value install:module="unx">false</value>
-      <value install:module="wnt">true</value>
+      <value install:module="wnt">false</value>
     </prop>
   </node>
   <node oor:name="I18N">
commit 95c3996d389c4f91648777726226dddef2c75dc1
Author: Andras Timar <andras.timar at collabora.com>
Date:   Sat Aug 22 08:33:11 2015 +0200

    scp2: EULA to Resources on OS X
    
    Change-Id: I87bbb61884d77729832e4d3f36aca29d6dada277
    (cherry picked from commit d701823363236c1976f22dc46116a9b49bf68b24)
    (cherry picked from commit 6b70a1059d86f7252daa83716b335f8dcdf452d1)

diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 389afaf..d9d9864 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1289,10 +1289,8 @@ End
 
 File gid_Eula_Odt
     BIN_FILE_BODY;
-#if defined ENABLE_MACOSX_MACLIKE_APP_STRUCTURE
+#if defined MACOSX
     Dir = gid_Dir_Bundle_Contents_Resources;
-#elif defined MACOSX
-    Dir = gid_Dir_Bundle_Contents;
 #else
     Dir = gid_Dir_Brand_Root;
 #endif


More information about the Libreoffice-commits mailing list