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{0swisscharset0 ArialMT;}{1swisscharset0 Helvetica;}}
+{+{\*\generator Riched20 10.0.18362}iewkind4\uc1
+\pard\qj0s28\lang14 End User License and Subscription Agreement0s24\par
+s28 Collabora Office (\ldblquote Software
dblquote )0s24\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.0s24\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       x5693s20       abs24\par
+
+\pard\qjs20 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. 0s24\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 SERVICES0s24\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\slmult1s20 - allocation of a severity level for each 
support case and any variations on this;1s22\par
+0s20 - 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
+0s20 - 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). 1s22\par
+0s20 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+
0s20 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\qj0s20 LIMITATIONS AND EXCLUSIONS0s24\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 TERMS0s24\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\i0s24\par
+\par
+
+\pard\qcs16 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);
 

Reply via email to