bin/pack-debug | 195 ++++++++++++++++++++++ config_host.mk.in | 1 configure.ac | 3 external/freetype/ExternalProject_freetype.mk | 1 external/pdfium/Library_pdfium.mk | 1 readlicense_oo/Package_files.mk | 4 readlicense_oo/license/EULA.odt |binary readlicense_oo/license/EULA_en-US.rtf | 105 +++++++++++ sfx2/source/appl/appserv.cxx | 26 ++ sfx2/uiconfig/ui/licensedialog.ui | 49 ++++- solenv/bin/modules/installer.pm | 53 +++++ solenv/bin/modules/installer/environment.pm | 5 solenv/bin/modules/installer/epmfile.pm | 22 ++ solenv/bin/modules/installer/splitdbg.pm | 121 +++++++++++++ solenv/bin/modules/installer/windows/idtglobal.pm | 2 vcl/win/app/fileregistration.cxx | 6 16 files changed, 571 insertions(+), 23 deletions(-)
New commits: commit 17b6a50b3337852b32e13248d8153cc0219add33 Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Wed Dec 7 20:18:42 2022 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:20:55 2024 +0100 [cp] Revert "Explicitly build external/freetype --without-png" This reverts commit b48cb69dae4118fe4a471921510281bbd16f5c4f. Reason: there is no support for color emojis without libpng. I checked our use case and this revert seems to be safe, because we build without system libpng. In this case we have the LIBPNG_CFLAGS and LIBPNG_LIBS variables defined in config_host.mk and those point to the internal libpng headers and static libs in workdir. These variables are used by configure script of freetype, and freetype will link our internal libpng statically. The link problem with libpdfium is also addressed. Change-Id: I565832e8a32597dde6eb9fb64c522c62233c3097 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143799 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tor Lillqvist <t...@collabora.com> diff --git a/external/freetype/ExternalProject_freetype.mk b/external/freetype/ExternalProject_freetype.mk index d3d65612200c..e54346286799 100644 --- a/external/freetype/ExternalProject_freetype.mk +++ b/external/freetype/ExternalProject_freetype.mk @@ -23,7 +23,6 @@ $(call gb_ExternalProject_get_state_target,freetype,build) : --without-brotli \ --without-bzip2 \ --without-harfbuzz \ - --without-png \ --prefix=$(call gb_UnpackedTarball_get_dir,freetype/instdir) \ $(gb_CONFIGURE_PLATFORMS) \ $(if $(filter -fsanitize=undefined,$(CC)),CC='$(CC) -fno-sanitize=function') \ diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index fc0903d873d1..f8d075b8db08 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -596,6 +596,7 @@ $(eval $(call gb_Library_add_libs,pdfium,\ endif $(eval $(call gb_Library_use_external,pdfium,freetype)) +$(eval $(call gb_Library_use_external,pdfium,libpng)) $(eval $(call gb_Library_add_defs,pdfium,\ -DDEFINE_PS_TABLES_DATA \ )) commit 4a2eeebcf59f90b7d599ad107a5e1ba0e88e1199 Author: Aron Budea <aron.bu...@collabora.com> AuthorDate: Tue Sep 13 07:19:07 2022 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:20:48 2024 +0100 [cp] Use correct product prefix for file association check Change-Id: I369cc259cb14c754fabc171c016f3373e1e3d71d diff --git a/vcl/win/app/fileregistration.cxx b/vcl/win/app/fileregistration.cxx index ec7ccbcee2aa..03aafb422833 100644 --- a/vcl/win/app/fileregistration.cxx +++ b/vcl/win/app/fileregistration.cxx @@ -155,9 +155,9 @@ void CheckFileExtRegistration(weld::Window* pDialogParent) } static const std::pair<LPCWSTR, LPCWSTR> formats[] = { - { L".odp", L"LibreOffice.ImpressDocument.1" }, - { L".odt", L"LibreOffice.WriterDocument.1" }, - { L".ods", L"LibreOffice.CalcDocument.1" }, + { L".odp", L"CollaboraOffice.ImpressDocument.1" }, + { L".odt", L"CollaboraOffice.WriterDocument.1" }, + { L".ods", L"CollaboraOffice.CalcDocument.1" }, }; OUString aNonDefaults; commit d138d14e02039306e22924f1720012887ca08a3a Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Thu Mar 9 12:28:39 2017 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:20:16 2024 +0100 [cp] don't allow space in INSTALLDIRNAME (cherry picked from commit 2fc7778ba2ce545ecb6bd2e60a09eeb8fdb44b49) Change-Id: I4c20ab9051b49149d4cd52339a61c98f5f62226b diff --git a/configure.ac b/configure.ac index 9d5d806b0ed2..25e427ac553c 100644 --- a/configure.ac +++ b/configure.ac @@ -14546,7 +14546,7 @@ else fi AC_SUBST(WITH_COMPAT_OOWRAPPERS) -INSTALLDIRNAME=`echo AC_PACKAGE_NAME | $AWK '{print tolower($0)}'` +INSTALLDIRNAME=`echo AC_PACKAGE_NAME | $AWK '{gsub(" ", "", $0);print tolower($0)}'` AC_MSG_CHECKING([for install dirname]) if test -n "$with_install_dirname" -a "$with_install_dirname" != "no" -a "$with_install_dirname" != "yes"; then INSTALLDIRNAME="$with_install_dirname" commit a8f037adf8337dd9f19a448be589933e3b564961 Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Sat Jul 13 08:02:27 2019 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:20:09 2024 +0100 [cp] use packagerevision for rpm, too Change-Id: I8e1431e8db870c2782f22f8450b97cef180f1e33 diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm index 2bdc79599d52..6c212ccbe2ce 100644 --- a/solenv/bin/modules/installer/epmfile.pm +++ b/solenv/bin/modules/installer/epmfile.pm @@ -316,7 +316,7 @@ sub create_epm_header push(@epmheader, $line); $line = "%release" . " " . $installer::globals::packagerevision . " "; - if ( $installer::globals::isrpmbuild ) { $line = "%release" . " " . $installer::globals::buildid . " "; } + #if ( $installer::globals::isrpmbuild ) { $line = "%release" . " " . $installer::globals::buildid . " "; } push(@epmheader, $line); # Description, Copyright and Vendor are multilingual and are defined in commit ee5681a30dc9efd08a2f0ff2142c7deed0cb8d01 Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Mon Apr 23 20:18:45 2018 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:17:46 2024 +0100 [cp] Allow creation of debuginfo and debugsource rpm/deb packages Change-Id: Idae5128b58e4cd6f61b8e83664098d195ca67072 diff --git a/bin/pack-debug b/bin/pack-debug new file mode 100755 index 000000000000..70e3f80c7ed4 --- /dev/null +++ b/bin/pack-debug @@ -0,0 +1,195 @@ +#!/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 type -P pigz &>/dev/null; then + GZIP=pigz +else + GZIP=gzip +fi + +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) + +# set package base name, eg. collaboraoffice +DEBUGSRC_PACKAGENAME=$INSTALLDIRNAME + +################################# +# 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" --define "_binary_payload w1T.xzdio" ${DEBUGSRC}-debugsource --target $build_cpu --buildroot=$buildroot + + +echo Update RPM download tar.gz +rpmdir=$(echo $topdir | sed 's/_inprogress$//') +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}-debugsource ${DEBUGSRC}-debugsource --output-dir DEBS -v + +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).' + diff --git a/config_host.mk.in b/config_host.mk.in index 2ac32c263dc2..8674ccc0f077 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -133,6 +133,7 @@ export DICT_SYSTEM_DIR=@DICT_SYSTEM_DIR@ export DISABLE_CVE_TESTS=@DISABLE_CVE_TESTS@ export DISABLE_DYNLOADING=@DISABLE_DYNLOADING@ export DISABLE_PYTHON=@DISABLE_PYTHON@ +export DLOPEN_LIBS=@DLOPEN_LIBS@ export DOCDIR=@DOCDIR@ export DOXYGEN=@DOXYGEN@ export DO_FETCH_TARBALLS=@DO_FETCH_TARBALLS@ diff --git a/configure.ac b/configure.ac index 10db59f7bc51..9d5d806b0ed2 100644 --- a/configure.ac +++ b/configure.ac @@ -5011,7 +5011,6 @@ else AC_MSG_RESULT([for "$enable_symbols"]) fi AC_SUBST(ENABLE_SYMBOLS_FOR) - if test -n "$with_android_ndk" -a \( -n "$ENABLE_SYMBOLS" -o -n "$ENABLE_DEBUG" -o -n "$ENABLE_DBGUTIL" \) -a "$ENABLE_DEBUGINFO_FOR" = "all"; then # Building on Android with full symbols: without enough memory the linker never finishes currently. AC_MSG_CHECKING([whether enough memory is available for linking]) diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm index a22385924b92..64d18254e777 100644 --- a/solenv/bin/modules/installer.pm +++ b/solenv/bin/modules/installer.pm @@ -48,6 +48,7 @@ use installer::scpzipfiles; use installer::scriptitems; use installer::setupscript; use installer::simplepackage; +use installer::splitdbg qw(splitdbg_libraries); use installer::strip qw(strip_libraries); use installer::systemactions; use installer::windows::assembly; @@ -1044,6 +1045,7 @@ sub run { strip_libraries($filesinpackage, $languagestringref); } + if ( $installer::globals::simple ) { installer::worker::install_simple($onepackagename, $$languagestringref, $dirsinpackage, $filesinpackage, $linksinpackage, $unixlinksinpackage); } @@ -1055,16 +1057,37 @@ sub run { # Example for a link: l 000 root sys /usr/bin/linkname filename # The source field specifies the file to link to + # check if we have to create a debug info package + my $dbg = 0; + my $debugfilelist; + if ( !($installer::globals::strip) ) + { + $debugfilelist = splitdbg_libraries($filesinpackage, $languagestringref); + if ( $#{$debugfilelist} > -1 ) + { + $dbg = 1; + } + } + my $epmfilename = "epm_" . $onepackagename . ".lst"; + my $dbgepmfilename = "epm_" . $onepackagename . ".debug.lst"; installer::logger::print_message( "... creating epm list file $epmfilename ... " ); + if ($dbg) + { + installer::logger::print_message( "... creating epm list file $dbgepmfilename ... " ); + } my $completeepmfilename = $listfiledir . $installer::globals::separator . $epmfilename; + my $completedbgepmfilename = $listfiledir . $installer::globals::separator . $dbgepmfilename; + my @epmfile = (); + my @dbgepmfile = (); my $epmheaderref = installer::epmfile::create_epm_header($allvariableshashref, $filesinproductlanguageresolvedarrayref, $languagesarrayref, $onepackage); installer::epmfile::adding_header_to_epm_file(\@epmfile, $epmheaderref); + my $dbgepmheaderref; # adding directories, files and links into epm file @@ -1093,6 +1116,17 @@ sub run { installer::epmfile::resolve_path_in_epm_list_before_packaging(\@epmfile, $completeepmfilename, "UREPACKAGEPREFIX", $allvariableshashref->{'UREPACKAGEPREFIX'}); installer::files::save_file($completeepmfilename ,\@epmfile); + if ($dbg) + { + $onepackage->{'packagename'} .= "-debuginfo"; + $onepackage->{'description'} .= " (debug info)"; + $dbgepmheaderref = installer::epmfile::create_epm_header($allvariableshashref, $filesinproductlanguageresolvedarrayref, $languagesarrayref, $onepackage); + installer::epmfile::adding_header_to_epm_file(\@dbgepmfile, $dbgepmheaderref); + installer::epmfile::put_directories_into_epmfile($dirsinpackage, \@dbgepmfile, $allvariableshashref, $packagerootpath); + installer::epmfile::put_files_into_dbgepmfile($debugfilelist, \@dbgepmfile ); + installer::files::save_file($completedbgepmfilename ,\@dbgepmfile); + } + { # changing into the "install" directory to create installation sets @@ -1135,9 +1169,18 @@ sub run { # Install: rpm -i --prefix=/opt/special --nodeps so8m35.rpm installer::epmfile::create_new_directory_structure($newepmdir); - $installer::globals::postprocess_specialepm = 1; - # solaris patch not needed anymore + # package the debug info if required + + if ($dbg) + { + installer::epmfile::call_epm($epmexecutable, $completedbgepmfilename, $packagename . "-debuginfo", $includepatharrayref); + my $newdbgepmdir = installer::epmfile::prepare_packages($loggingdir, $packagename . "-debuginfo", $staticpath, $relocatablepath, $onepackage, $allvariableshashref, $debugfilelist, $languagestringref); + installer::epmfile::create_packages_without_epm($newdbgepmdir, $packagename . "-debuginfo", $includepatharrayref, $allvariableshashref, $languagestringref); + installer::epmfile::remove_temporary_epm_files($newdbgepmdir, $loggingdir, $packagename . "-debuginfo"); + installer::epmfile::create_new_directory_structure($newdbgepmdir); + } + $installer::globals::postprocess_specialepm = 1; } } @@ -1159,7 +1202,11 @@ sub run { installer::logger::print_message( "... starting unpatched epm ... " ); } - if ( $installer::globals::call_epm ) { installer::epmfile::call_epm($epmexecutable, $completeepmfilename, $packagename, $includepatharrayref); } + installer::epmfile::call_epm($epmexecutable, $completeepmfilename, $packagename, $includepatharrayref); + if ($dbg) + { + installer::epmfile::call_epm($epmexecutable, $completedbgepmfilename, $packagename . "-debuginfo", $includepatharrayref); + } if (($installer::globals::isrpmbuild) || ($installer::globals::issolarispkgbuild) || ($installer::globals::debian)) { diff --git a/solenv/bin/modules/installer/environment.pm b/solenv/bin/modules/installer/environment.pm index 42861e6ac080..c2add9cadb41 100644 --- a/solenv/bin/modules/installer/environment.pm +++ b/solenv/bin/modules/installer/environment.pm @@ -123,8 +123,7 @@ sub set_global_environment_variables if ( $ENV{'RPM'} ) { $installer::globals::rpm = $ENV{'RPM'}; } if ( $ENV{'DONTCOMPRESS'} ) { $installer::globals::solarisdontcompress = 1; } if ( $ENV{'IGNORE_ERROR_IN_LOGFILE'} ) { $installer::globals::ignore_error_in_logfile = 1; } - if (( $ENV{'ENABLE_STRIP'} ) && ( $ENV{'ENABLE_STRIP'} ne '' )) { $installer::globals::strip = 1; } - if (( $ENV{'DISABLE_STRIP'} ) && ( $ENV{'DISABLE_STRIP'} ne '' )) { $installer::globals::strip = 0; } + if (!( $ENV{'ENABLE_SYMBOLS_FOR'} ) || !( $ENV{'ENABLE_SYMBOLS_FOR'} ne '' )) { $installer::globals::strip = 1; } # it is 0 by default if ( $installer::globals::localinstalldir ) { $installer::globals::localinstalldirset = 1; } # Special handling, if LOCALINSTALLDIR contains "~" in the path diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm index 0b2caf1fff37..2bdc79599d52 100644 --- a/solenv/bin/modules/installer/epmfile.pm +++ b/solenv/bin/modules/installer/epmfile.pm @@ -199,6 +199,26 @@ sub put_files_into_epmfile } } +sub put_files_into_dbgepmfile +{ + my ($filesinproductarrayref, $epmfileref) = @_; + + for ( my $i = 0; $i <= $#{$filesinproductarrayref}; $i++ ) + { + my $onefile = ${$filesinproductarrayref}[$i]; + + my $unixrights = $onefile->{'UnixRights'}; + my $destination = $onefile->{'destination'} . ".dbg"; + my $sourcepath = $onefile->{'sourcepath'} . ".dbg"; + my $filetype = "f"; + my $group = "root"; + + my $line = "$filetype $unixrights root $group $destination $sourcepath "; + + push(@{$epmfileref}, $line); + } +} + sub put_links_into_epmfile { my ($linksinproductarrayref, $epmfileref) = @_; diff --git a/solenv/bin/modules/installer/splitdbg.pm b/solenv/bin/modules/installer/splitdbg.pm new file mode 100644 index 000000000000..60c0c1bde024 --- /dev/null +++ b/solenv/bin/modules/installer/splitdbg.pm @@ -0,0 +1,121 @@ +# +# 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/. +# + +package installer::splitdbg; + +use strict; +use warnings; + +use base 'Exporter'; + +use installer::globals; +use installer::logger; +use installer::pathanalyzer; +use installer::systemactions; + +our @EXPORT_OK = qw(splitdbg_libraries); + +sub _need_to_splitdbg +{ + my ( $filename ) = @_; + + my $splitdbg = 0; + + # Check using the "file" command + + $filename =~ s/'/'\''/g; + open (FILE, "file '$filename' |"); + my $fileoutput = <FILE>; + close (FILE); + + if (( $fileoutput =~ /not stripped/i ) && ( $fileoutput =~ /ELF/ )) { $splitdbg = 1; } + + return $splitdbg; +} + +sub _do_splitdbg +{ + my ( $filename ) = @_; + + my $systemcall = "objcopy --only-keep-debug $filename $filename.dbg && "; + $systemcall .= "objcopy --strip-debug $filename && "; + $systemcall .= "objcopy --add-gnu-debuglink=$filename.dbg $filename"; + + my $returnvalue = system($systemcall); + + my $infoline = "Systemcall: $systemcall "; + push( @installer::globals::logfileinfo, $infoline); + + if ($returnvalue) + { + $infoline = "ERROR: Could not split debug info of $filename! "; + push( @installer::globals::logfileinfo, $infoline); + } + else + { + $infoline = "SUCCESS: Split debug info of $filename! "; + push( @installer::globals::logfileinfo, $infoline); + } +} + +sub splitdbg_libraries +{ + my ( $filelist, $languagestringref ) = @_; + + my @debugfilelist = (); + + installer::logger::include_header_into_logfile("Splitting debuginfo from files:"); + + my $splitdbgdirbase = installer::systemactions::create_directories("splitdbg", $languagestringref); + + if (! grep {$_ eq $splitdbgdirbase} @installer::globals::removedirs) + { + push(@installer::globals::removedirs, $splitdbgdirbase); + } + + for ( my $i = 0; $i <= $#{$filelist}; $i++ ) + { + my $sourcefilename = ${$filelist}[$i]->{'sourcepath'}; + + if ( _need_to_splitdbg($sourcefilename) ) + { + my $shortfilename = $sourcefilename; + installer::pathanalyzer::make_absolute_filename_to_relative_filename(\$shortfilename); + + my $infoline = "Split debuginfo: $shortfilename "; + push(@installer::globals::logfileinfo, $infoline); + + # copy file into directory for split debuginfo libraries + + my $onelanguage = ${$filelist}[$i]->{'specificlanguage'}; + + # files without language into directory "00" + + if ($onelanguage eq "") { $onelanguage = "00"; } + + my $splitdbgdir = $splitdbgdirbase . $installer::globals::separator . $onelanguage; + installer::systemactions::create_directory($splitdbgdir); # creating language specific subdirectories + + my $destfilename = $splitdbgdir . $installer::globals::separator . $shortfilename; + installer::systemactions::copy_one_file($sourcefilename, $destfilename); + + # change sourcepath in files collector + + ${$filelist}[$i]->{'sourcepath'} = $destfilename; + + # split debuginfo from file + + _do_splitdbg($destfilename); + + push(@debugfilelist, ${$filelist}[$i]); + } + } + return \@debugfilelist; +} + +1; commit a247d23e942cf47085ff760b906c7bc96c325d49 Author: Gülşah Köse <gulsah.k...@collabora.com> AuthorDate: Wed Sep 18 23:07:09 2019 +0300 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:16:20 2024 +0100 [cp] add EULA button to Help - License Information... dialog Forward port of acd8acfa89d9 from distro/collabora/cp-6.0 Rewritten for weld API Change-Id: I62b9293c68059389a63e523ea5747fdb267b1a99 28a21f5831e0b2e99eb11f1c1ac2b8845c462669 Reviewed-on: https://gerrit.libreoffice.org/79110 Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index f1a6227e23e1..2369f5cf8237 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -265,21 +265,43 @@ namespace class LicenseDialog : public weld::GenericDialogController { + private: + std::unique_ptr<weld::Button> m_xBtnLicense; + std::unique_ptr<weld::Button> m_xBtnEula; + + DECL_LINK(EulaHdl, weld::Button&, void); + DECL_LINK(LicenseHdl, weld::Button&, void); + public: LicenseDialog(weld::Window* pParent) : GenericDialogController(pParent, "sfx/ui/licensedialog.ui", "LicenseDialog") + , m_xBtnLicense(m_xBuilder->weld_button("license")) + , m_xBtnEula(m_xBuilder->weld_button("eula")) { + m_xBtnLicense->connect_clicked( LINK(this, LicenseDialog, LicenseHdl) ); + m_xBtnEula->connect_clicked( LINK(this, LicenseDialog, EulaHdl) ); } virtual short run() override { short nRet = GenericDialogController::run(); - if (nRet == RET_OK) - showDocument("LICENSE"); return nRet; } }; + IMPL_LINK_NOARG(LicenseDialog, EulaHdl, weld::Button&, void) + { + response(RET_OK); + showDocument("EULA.odt"); + } + + IMPL_LINK_NOARG(LicenseDialog, LicenseHdl, weld::Button&, void) + { + response(RET_OK); + showDocument("LICENSE"); + } + + class SafeModeQueryDialog : public weld::MessageDialogController { public: diff --git a/sfx2/uiconfig/ui/licensedialog.ui b/sfx2/uiconfig/ui/licensedialog.ui index 9253f3c9d290..fe06c7544e92 100644 --- a/sfx2/uiconfig/ui/licensedialog.ui +++ b/sfx2/uiconfig/ui/licensedialog.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.20.2 --> +<!-- Generated with glade 3.22.1 --> <interface domain="sfx"> <requires lib="gtk+" version="3.20"/> <object class="GtkDialog" id="LicenseDialog"> @@ -11,6 +11,9 @@ <property name="default_width">0</property> <property name="default_height">0</property> <property name="type_hint">dialog</property> + <child> + <placeholder/> + </child> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> <property name="can_focus">False</property> @@ -21,7 +24,7 @@ <property name="can_focus">False</property> <property name="layout_style">end</property> <child> - <object class="GtkButton" id="ok"> + <object class="GtkButton" id="license"> <property name="label" translatable="yes" context="licensedialog|show">_Show License</property> <property name="visible">True</property> <property name="can_focus">True</property> @@ -36,6 +39,23 @@ <property name="secondary">True</property> </packing> </child> + <child> + <object class="GtkButton" id="eula"> + <property name="label" translatable="yes" context="licensedialog|eula">_EULA</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> + <property name="receives_default">True</property> + <property name="use_underline">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + <property name="secondary">True</property> + </packing> + </child> <child> <object class="GtkButton" id="close"> <property name="label" translatable="yes" context="stock">_Close</property> @@ -50,7 +70,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="position">1</property> + <property name="position">2</property> </packing> </child> </object> @@ -61,6 +81,24 @@ <property name="position">0</property> </packing> </child> + <child> + <object class="GtkLabel" id="label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="licensedialog|label2">%PRODUCTNAME binary package is made available subject to the terms of the End User License and Subscription Agreement; choose EULA to see exact details in English.</property> + <property name="use_underline">True</property> + <property name="wrap">True</property> + <property name="mnemonic_widget">eula</property> + <property name="max_width_chars">80</property> + <property name="xalign">0</property> + <property name="yalign">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> <child> <object class="GtkLabel" id="label"> <property name="visible">True</property> @@ -88,11 +126,8 @@ This product was created by %OOOVENDOR, based on OpenOffice.org, which is Copyri </object> </child> <action-widgets> - <action-widget response="-5">ok</action-widget> + <action-widget response="-5">license</action-widget> <action-widget response="-7">close</action-widget> </action-widgets> - <child> - <placeholder/> - </child> </object> </interface> commit 6c9869f2c29fd96e597f11ab82191e16c5c47a6a Author: Andras Timar <andras.ti...@collabora.com> AuthorDate: Fri Apr 18 02:16:38 2014 -0700 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Mon Jan 15 12:16:11 2024 +0100 [cp] Collabora Office EULA Change-Id: Ia380db465f5094216cb36526f6cc178043376356 diff --git a/readlicense_oo/Package_files.mk b/readlicense_oo/Package_files.mk index 101d3878de3f..95614109e3d1 100644 --- a/readlicense_oo/Package_files.mk +++ b/readlicense_oo/Package_files.mk @@ -11,9 +11,13 @@ $(eval $(call gb_Package_Package,readlicense_oo_files,$(SRCDIR)/readlicense_oo/l ifneq ($(OS),MACOSX) $(eval $(call gb_Package_add_file,readlicense_oo_files,NOTICE,NOTICE)) +$(eval $(call gb_Package_add_file,readlicense_oo_files,EULA.odt,EULA.odt)) +$(eval $(call gb_Package_add_file,readlicense_oo_files,EULA_en-US.rtf,EULA_en-US.rtf)) $(eval $(call gb_Package_add_file,readlicense_oo_files,CREDITS.fodt,CREDITS.fodt)) else $(eval $(call gb_Package_add_file,readlicense_oo_files,Resources/NOTICE,NOTICE)) +$(eval $(call gb_Package_add_file,readlicense_oo_files,Resources/EULA.odt,EULA.odt)) +$(eval $(call gb_Package_add_file,readlicense_oo_files,Resources/EULA_en-US.rtf,EULA_en-US.rtf)) $(eval $(call gb_Package_add_file,readlicense_oo_files,Resources/CREDITS.fodt,CREDITS.fodt)) endif diff --git a/readlicense_oo/license/EULA.odt b/readlicense_oo/license/EULA.odt new file mode 100644 index 000000000000..e5c937f15401 Binary files /dev/null and b/readlicense_oo/license/EULA.odt differ diff --git a/readlicense_oo/license/EULA_en-US.rtf b/readlicense_oo/license/EULA_en-US.rtf new file mode 100644 index 000000000000..b5f8e682645b --- /dev/null +++ b/readlicense_oo/license/EULA_en-US.rtf @@ -0,0 +1,105 @@ +{ tf1nsinsicpg1252\deff0 ouicompat{onttbl{0swisscharset0 ArialMT;}{1swisscharset0 Helvetica;}} +{+{\*\generator Riched20 10.0.18362}iewkind4\uc1 +\pard\qj0s28\lang14 End User License and Subscription Agreement0s24\par +s28 Collabora Office (\ldblquote Software dblquote )0s24\par +s20\par +\par +An individual acting on their own behalf or on behalf of any corporate entity which employs them or which they represent (\ldblquote an Organisation dblquote ) represents that he or she has the authority to enter into this agreement on behalf of that Organisation. In this Licence Agreement, \ldblquote You dblquote includes both the reader and any Organisation.0s24\par +s20\par +PLEASE READ THIS AGREEMENT CAREFULLY. BY PURCHASING, INSTALLING AND/OR USING THE COLLABORA OFFICE SOFTWARE (INCLUDING ITS COMPONENTS), YOU AGREE TO THE TERMS OF THIS LICENCE AND SUBSCRIPTION AGREEMENT AND ACKNOWLEDGE THAT YOU HAVE READ AND UNDERSTAND THIS AGREEMENT. s24\par +s20\par +IF YOU DO NOT AGREE WITH THESE TERMS PLEASE DO NOT DOWNLOAD, INSTALL OR USE THE SOFTWARE OR SUBSCRIPTION SERVICES. s24\par +s20\par + PARTIES.0 This software licence and subscription agreement (\ldblquote Agreement dblquote ) is a legally binding agreement between You and Collabora Productivity Limited, incorporated and registered in England and Wales with company number 08644931 whose registered office is at The Platinum Building, St John quote s Innovation Park, Cambridge, CB4 0DS, United Kingdom (\ldblquote Collabora dblquote ) and where applicable references to Collabora shall also refer to its authorised resellers and third party distributors from time to time. s24\par +s20\par + SOFTWARE0 . The Software and each of its components are owned by Collabora or other licensors and are protected as copyrighted works of authorship, and are also protected under applicable database and other applicable laws. To the extent that they are not accompanied by a separate Collabora software licence agreement, any modification, update or upgrade to the Software that You may download or receive, whether as Subscription Services detailed below or otherwise, is included as Software and governed by the \ldblquote Licenses dblquote heading below and generally by this Agreement.s24\par +s20\par + LICENCES.0 Provided that You have subscribed to the Subscription Services as detailed below and Your compliance with the other terms and conditions of this Agreement, Collabora grants to You a perpetual, non-transferable, worldwide licence (\ldblquote Licence dblquote ) to reproduce and use copies of the Software within Your Organization. The Software is licensed (not sold) to You. Accordingly no title to or ownership of the Software is transferred to You. You should also be aware that in addition to this grant of Licence, many of the individual components of the Software are subject to open source licences, as detailed further below under \ldblquote Open Source Licences and Limitations dblquote .s24\par +s20\par + SUBSCRIPTION SERVICES. 0 The Licence to reproduce and use a copy of the Software is granted subject to the initial purchase by You of Software maintenance and/or support services entitlements (\ldblquote Subscription Services Entitlements dblquote ) equivalent in number to the total number of units of the Software that you intend to deploy, install or use in Your Organization.s24\par +s20 The Subscription Services Entitlements entitle You during the subscription period to make use of the following services (\ldblquote Subscription Services dblquote ):s24\par +s20 a) in the case of maintenance services, to any security fixes and Software updates which may be issued by Collabora, including existing fixes from the support services set out at (b), on the terms set out in this Agreement and from time to time at {{ield{\*ldinst{HYPERLINK http://www.CollaboraOffice.com/ }}{ldrslt{http://www.CollaboraOffice.com/\ul0+ s20 b) in the case of support services, to fee based technical support on the terms set out in this Agreement, or any separate agreement, and from time to time at {{ield{\*ldinst{HYPERLINK http://www.CollaboraOffice.com/ }}{ ldrslt{http://www.CollaboraOffice.com/\ul0+s20 All Subscription Services will be supplied in a professional manner in accordance with generally accepted industry standards. s24\par +s20 Unless the Subscription Services and Subscription Services Entitlements are set out in a separate contract with Collabora, they are offered to You subject to the terms set out in this Agreement. s24\par +s20\par +IF THE SUBSCRIPTION SERVICES ENTITLEMENTS PERIOD EXPIRES AND IS NOT RENEWED WITHIN 30 DAYS, ACCESS TO SUBSCRIPTION SERVICES IS TERMINATED. IF WITHIN THE SUBSCRIPTION SERVICES ENTITLEMENT PERIOD YOU WISH TO INCREASE THE NUMBER OF COPIES OF THE SOFTWARE YOUR ORGANISATION IS USING, YOU MUST PURCHASE ADDITIONAL UNITS OF SUBSCRIPTION SERVICES ENTITLEMENTS EQUIVALENT TO THE NUMBER OF ADDITIONAL SOFTWARE COPIES YOU WISH TO INSTALL. UPON RENEWAL OF YOUR SUBSCRIPTION SERVICES ENTITLEMENTS, YOUR SUBMISSION OF A PURCHASE ORDER OR PAYMENT OF FEES FOR SUBSCRIPTION SERVICES ENTITLEMENTS WILL BE DEEMED TO BE A REPRESENTATION OF THE NUMBER OF COPIES OF THE SOFTWARE INSTALLED AT YOUR ORGANISATION AT THAT TIME. COLLABORA RESERVES THE RIGHT AT ITS ENTIRE DISCRETION TO CARRY OUT A LICENCE COMPLIANCE AUDIT AT ANY TIME.s24\par + +\pard\qj x5693s20 abs24\par + +\pard\qjs20 HOME USE.0 Collabora grants primary users of Subscription Services Entitlements and their immediate family members a License to reproduce and use copies of the Software for Home Use as detailed below unless otherwise prohibited by any applicable laws, policies or regulations. Home Use is usage outside the scope of normal business that occurs primarily inside the home. s24\par +s20\par + LICENSE COMPLIANCE AUDIT0 . Collabora may, upon fifteen (15) days quote advance notice and at its expense, conduct an annual audit if You are an Organisation, during your normal business hours, of Your use of the Software to verify compliance with this Agreement and in particular Your commitment under the License herein to purchase an equivalent number units of Subscription Services Entitlements. You agree to keep records sufficient to certify your compliance with this Agreement. Upon Collabora quote s or its authorized representative quote s reasonable written commitment(s) to safeguard your confidential information, you shall fully cooperate with such audit and provide any necessary assistance and access to records and computers. If an audit reveals that you have or at any time had unlicensed installation, use of, or access to the Software, You will promptly acquire sufficient Subscription Services Entitlements to cover any shortage. If a shortage of 5% or more is found, you m ust reimburse Collabora for the costs incurred in the audit and acquire the necessary additional Subscription Services Entitlements within 30 days. s24\par +s20\par ++s20\par +OPEN SOURCE LICENCES/REQUIREMENTS.0 Many of the individual components included in the Software are licensed primarily pursuant to Mozilla Public License v2.0 open source licence, in addition to other open source licences identified in the documentation or located in the source code or binary code for the component. For these the source code form of the Software is made available at all times under the terms of such licences.s24\par +s20 Whilst this Agreement in no way limits Your rights under such licences, nor is it intended to supersede or conflict with the licence terms or obligations for use of any individual open source component, the Mozilla Public License v2.0 has been utilised to license the majority of the components comprising the Software because it allows the imposition (as is set out in its paragraph 3.2(b)) of the conditions of this Agreement on the free distribution of Software in its Executable Form.s24\par +s20 For the avoidance of doubt, Collabora branding, theme data and Collabora Marks are not made available under an Open Source license.s24\par +s20\par +MAINTENANCE SERVICES. 0s24\par +s20 1) By purchasing maintenance services You are entitled to install and use all upgrades and updates made commercially available by Collabora during the period covered by the maintenance services subscription, up to the number of installations for which You have purchase maintenance services. s24\par +s20\par +2) Any \ldblquote update dblquote means a fix or compilation of fixes released by Collabora to correct operational errors (a defect that prevents it from operating substantially as intended, where such intent shall be deduced based on a competent inspection of the source code and documentation) in the Software. An \ldblquote upgrade dblquote means any new version of the Software which bears the same product name, including version changes evidenced by a number immediately after the name of the Software. s24\par +s20\par +3) If a question arises as to whether a release by Collabora is an upgrade or an update or a new Software product, Collabora quote s opinion will prevail provided that Collabora treats the product offering the same for its end users generally.s24\par +s20\par +4) If Collabora commercially releases any upgrade or updates, it will make such upgrades or updates available to You within a reasonable period of time after they become commercially available, although Collabora cannot guarantee any specific turnaround times and/or regular release intervals. s24\par +s20\par +5) At its sole discretion Collabora will determine whether to eliminate an operational error by means of issuing an update. Collabora will inform you by email (to the address given on registration of the maintenance services) as soon as new updates are released at the Collabora website.s24\par +s20\par +6) Maintenance services do not include integration services, installation of upgrades or updates, support services or any other benefits not expressly described in this Agreement.s24\par +s20\par + SUPPORT SERVICES0s24\par +s20 By purchasing an entitlement to \lquote Level 3 quote technical support, services will be provided on certain terms which include:s24\par + +\pard\sa120\sl276\slmult1s20 - allocation of a severity level for each support case and any variations on this;1s22\par +0s20 - Collabora quote s work availability times, initial response time and the communication frequency for each support case based on such allocated case severity level; 1 s22\par +0s20 - Your limit on the number of support cases that You can report for each such allocated case severity level (although for the avoidance of doubt, any unused limit cannot be refunded and expires at the end of the Subscription Services Entitlement period unless otherwise agreed). 1s22\par +0s20 The specific terms are subject to change from time to time and accordingly are set out at {{ield{\*ldinst{HYPERLINK http://www.CollaboraOffice.com/ }}{ldrslt{http://www.CollaboraOffice.com/\ul0+ 0s20 Alternatively, Collabora also entitle You to purchase the support services entitlement from a reseller or other intermediary rather than from Collabora directly. If You have purchased the services entitlement from such a party please check with them if any support service entitlement terms have been separately negotiated between them and Collabora, as any such terms are deemed to be incorporated into this Agreement and shall take precedence over any conflicting terms set out at {{ield{\*ldinst{HYPERLINK http://www.CollaboraOffice.com/ }}{ldrslt{http://www.CollaboraOffice.com/\ul0+ +\pard\qj0s20 LIMITATIONS AND EXCLUSIONS0s24\par +s20 1) Collabora offers no rights other than those expressly granted to You in this Agreement. Except as agreed to under a separate written agreement with Collabora or in the licence terms accompanying a particular component, to the maximum extent permitted under applicable law (and not applicable to claims relating to death or personal injury caused by negligence or fraudulent misrepresentation) the Software is provided and licensed "as is" without any warranties of any kind, express or implied, including any implied warranties of quality, title, non-infringement, non-interruption or fitness for a particular purpose. s24\par +s20\par +2) The Software is only compatible with certain computers and operating systems. It is not warranted for non-compatible systems or for incorrect or unauthorised use, being use which is not in accordance with the Documentation. Please contact Collabora for information about compatibility or incorrect use. s24\par +s20\par +3) The Software may include or be bundled with other software programmes or services licensed or sold by an entity other than Collabora. Collabora does not warrant non-Collabora products or services, which are provided on an "as is" basis. Please see the third party entity regarding remedies.s24\par +s20\par +4) No right or licence, express or implied, is granted under this Agreement with respect to any trademark, trade name or service mark (\ldblquote Mark dblquote ) of Collabora. If You distribute any open source component of the Software, You must remove all Marks except those used to identify Collabora quote s ownership or licensing of the component. In addition you may not vary, delete or obscure any notices of proprietary rights or any product identification or restrictions on or in the Software.s24\par +s20\par +5) Neither Collabora nor any of its licensors, subsidiaries, contractors or employees will in any case be liable for any incidental, consequential, indirect or economic damages arising out of the use of or inability to use the Software or Subscription Services, including without limitation loss of profits, business or data, even if advised of the possibility of those damages. In particular, as files may be altered or damaged in the course of Collabora providing Subscription Services, You agree to take appropriate measures to isolate and back up Your systems. s24\par +s20\par +6) Notwithstanding (5) above, in no event will Collabora's aggregate liability for damages (whether in one instance or a series of instances) exceed 1.25 times the amount paid by You for the Subscription Services Entitlements out of which such claim arose.s24\par +s20\par +7) Upon any default in Collabora quote s provision of Subscription Services, Collabora's only obligation is to either correct the Subscription Services so that they comply with this warranty or at its option refund the amount You paid to Collabora for the portion of such Services that fail to comply with this warranty and in such event You may elect to terminate this Agreement with immediate effect.s24\par +s20\par +\par + GENERAL TERMS0s24\par +s20 1) This Agreement may not be transferred or assigned without the prior written approval of Collabora.s24\par +s20\par +2) This Agreement will terminate if You fail to comply with any term or condition of this Agreement.s24\par +s20\par +3) Unless explicitly indicated otherwise, this Agreement sets forth the entire understanding and agreement between You and Collabora and may be amended or modified only by a written agreement agreed to by You and Collabora. No licensor, distributor, or reseller is authorised to modify this Agreement whether formally or informally.s24\par +s20\par +4) No waiver of any right under this Agreement will be effective unless in writing. No waiver of any past or present right will be deemed to be a waiver of any future right arising under this Agreement. s24\par +s20\par +5) If any provision in this Agreement is invalid or unenforceable, that provision will be construed, limited, modified or, if necessary, severed, to the extent necessary, to eliminate its invalidity or unenforceability, and the other provisions of this Agreement will remain unaffected. s24\par +s20\par +6) Any products or technical information provided under this Agreement may be subject to trade laws of various countries including U.S. export controls. Both You and Collabora each agree to comply with all export control regulations and to obtain any required licenses or classification to export, re-export or import deliverables and Collabora assumes no responsibility for the Your failure to comply with any such necessary export control laws, rules or regulations. s24\par +s20\par +7) If You are an Organisation You agree that you will not use the Software in breach of any relevant laws in the country in which you use the Software, and you agree to implement internal safeguards to prevent any unauthorized copying, distribution, installation, or use of, or access to, the Software.s24\par +s20\par +8) You may make a reasonable number of copies 0 of the Software over and above the number of units of Software for which you have purchased Subscription Services Entitlements, purely for backup, archival or other security purposes. In so doing You will not be in breach of the terms of this Agreement.s24\par +s20\par +9) Without regard to conflict of laws rules and principles or the United Nations Convention of Contracts for the International Sale of Goods, this Agreement is governed by the laws of England, and any action relating to this Agreement may only be brought before the courts of England.s24\par +s20\par +\par +\i EULA 2020-04-07\i0s24\par +\par + +\pard\qcs16 Collabora Productivity Ltd. The Platinum Building, St John quote s Innovation Park, Cambridge, CB4 0DS, United Kingdom\par +Registered in England and Wales with company number 08644931\par +Telephone +44 (0)1223 362967 libreoff...@collabora.com {{ield{\* ldinst{HYPERLINK http://CollaboraOffice.com }}{ ldrslt{http://CollaboraOffice.com\ul0+} diff --git a/solenv/bin/modules/installer/environment.pm b/solenv/bin/modules/installer/environment.pm index c04971431f40..42861e6ac080 100644 --- a/solenv/bin/modules/installer/environment.pm +++ b/solenv/bin/modules/installer/environment.pm @@ -62,7 +62,7 @@ sub create_pathvariables my $filelistpath = $environment->{'WORKDIR'}; $variables{'filelistpath'} = $filelistpath; - my $licensepath = $environment->{'WORKDIR'} . $installer::globals::separator . "CustomTarget/readlicense_oo/license"; + my $licensepath = $environment->{'SRCDIR'} . $installer::globals::separator . "readlicense_oo/license"; $variables{'licensepath'} = $licensepath; my $packinfopath = $environment->{'SRCDIR'} . $installer::globals::separator . "setup_native/source/packinfo"; diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm index f0e59c29efbf..89c083a2aa00 100644 --- a/solenv/bin/modules/installer/windows/idtglobal.pm +++ b/solenv/bin/modules/installer/windows/idtglobal.pm @@ -816,7 +816,7 @@ sub get_rtflicensefilesource { my ($language, $includepatharrayref) = @_; - my $licensefilename = "license_" . $language . ".rtf"; + my $licensefilename = "EULA_en-US.rtf"; my $sourcefileref = installer::scriptitems::get_sourcepath_from_filename_and_includepath(\$licensefilename, $includepatharrayref, 1);