bin/pack-debug                                                       |  195 
++++++++++
 config_host.mk.in                                                    |    2 
 configure.ac                                                         |    8 
 filter/source/config/fragments/filters/BroadBand_eBook.xcu           |    2 
 filter/source/config/fragments/filters/ClarisWorks.xcu               |    2 
 filter/source/config/fragments/filters/ClarisWorks_Calc.xcu          |    2 
 filter/source/config/fragments/filters/ClarisWorks_Draw.xcu          |    2 
 filter/source/config/fragments/filters/ClarisWorks_Impress.xcu       |    2 
 filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu       |    2 
 filter/source/config/fragments/filters/CorelDrawDocument.xcu         |    2 
 filter/source/config/fragments/filters/CorelPresentationExchange.xcu |    2 
 filter/source/config/fragments/filters/DIF.xcu                       |    2 
 filter/source/config/fragments/filters/DXF___AutoCAD_Interchange.xcu |    2 
 filter/source/config/fragments/filters/DocBook_File.xcu              |    2 
 filter/source/config/fragments/filters/DosWord.xcu                   |    2 
 filter/source/config/fragments/filters/FictionBook_2.xcu             |    2 
 filter/source/config/fragments/filters/FreehandDocument.xcu          |    2 
 filter/source/config/fragments/filters/Lotus.xcu                     |    2 
 filter/source/config/fragments/filters/LotusWordPro.xcu              |    2 
 filter/source/config/fragments/filters/MacWrite.xcu                  |    2 
 filter/source/config/fragments/filters/Mac_Word.xcu                  |    2 
 filter/source/config/fragments/filters/Mac_Works.xcu                 |    2 
 filter/source/config/fragments/filters/Mac_Works_Calc.xcu            |    2 
 filter/source/config/fragments/filters/Mariner_Write.xcu             |    2 
 filter/source/config/fragments/filters/PageMakerDocument.xcu         |    2 
 filter/source/config/fragments/filters/PalmDoc.xcu                   |    2 
 filter/source/config/fragments/filters/Palm_Text_Document.xcu        |    2 
 filter/source/config/fragments/filters/Plucker_eBook.xcu             |    2 
 filter/source/config/fragments/filters/QPro.xcu                      |    2 
 filter/source/config/fragments/filters/QXPDocument.xcu               |    2 
 filter/source/config/fragments/filters/StarOffice_Drawing.xcu        |    2 
 filter/source/config/fragments/filters/StarOffice_Presentation.xcu   |    2 
 filter/source/config/fragments/filters/StarOffice_Spreadsheet.xcu    |    2 
 filter/source/config/fragments/filters/StarOffice_Writer.xcu         |    2 
 filter/source/config/fragments/filters/StarOffice_XML__Base_.xcu     |    2 
 filter/source/config/fragments/filters/StarOffice_XML__Writer_.xcu   |    2 
 filter/source/config/fragments/filters/UOF_presentation.xcu          |    2 
 filter/source/config/fragments/filters/UOF_spreadsheet.xcu           |    2 
 filter/source/config/fragments/filters/UOF_text.xcu                  |    2 
 filter/source/config/fragments/filters/WPS_Lotus_Calc.xcu            |    2 
 filter/source/config/fragments/filters/WPS_QPro_Calc.xcu             |    2 
 filter/source/config/fragments/filters/WordPerfect.xcu               |    2 
 filter/source/config/fragments/filters/WordPerfectGraphics.xcu       |    2 
 filter/source/config/fragments/filters/WriteNow.xcu                  |    2 
 filter/source/config/fragments/filters/ZMFDocument.xcu               |    2 
 instsetoo_native/CustomTarget_install.mk                             |    2 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs           |    2 
 solenv/bin/modules/installer.pm                                      |   53 ++
 solenv/bin/modules/installer/epmfile.pm                              |   20 +
 solenv/bin/modules/installer/splitdbg.pm                             |  121 
++++++
 50 files changed, 440 insertions(+), 47 deletions(-)

New commits:
commit 32c0ff9a0cf82566f5db464bdf5df4cc2c02a8a7
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Wed Apr 25 15:30:38 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sun Feb 13 12:50:33 2022 +0100

    [cp] StarOffice XML is not exotic, old binary format is exotic
    
    Change-Id: Ie435dda390e434e34ef753b5cb2715ac2252e82e
    Reviewed-on: https://gerrit.libreoffice.org/53450
    Reviewed-by: Aron Budea <aron.bu...@collabora.com>
    Tested-by: Aron Budea <aron.bu...@collabora.com>

diff --git a/filter/source/config/fragments/filters/StarOffice_Drawing.xcu 
b/filter/source/config/fragments/filters/StarOffice_Drawing.xcu
index f820fe0965a3..a367a5bd909a 100644
--- a/filter/source/config/fragments/filters/StarOffice_Drawing.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_Drawing.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="StarOffice_Drawing" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Draw.StarOfficeDrawImportFilter</value>
diff --git a/filter/source/config/fragments/filters/StarOffice_Presentation.xcu 
b/filter/source/config/fragments/filters/StarOffice_Presentation.xcu
index 7179379d74d6..ce591c60e126 100644
--- a/filter/source/config/fragments/filters/StarOffice_Presentation.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_Presentation.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="StarOffice_Presentation" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         
<value>org.libreoffice.comp.Impress.StarOfficePresentationImportFilter</value>
diff --git a/filter/source/config/fragments/filters/StarOffice_Spreadsheet.xcu 
b/filter/source/config/fragments/filters/StarOffice_Spreadsheet.xcu
index d6ac85576aca..dda317a24083 100644
--- a/filter/source/config/fragments/filters/StarOffice_Spreadsheet.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_Spreadsheet.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="StarOffice_Spreadsheet" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Calc.StarOfficeCalcImportFilter</value>
diff --git a/filter/source/config/fragments/filters/StarOffice_Writer.xcu 
b/filter/source/config/fragments/filters/StarOffice_Writer.xcu
index 9522d73b0374..f27ee757ecd4 100644
--- a/filter/source/config/fragments/filters/StarOffice_Writer.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_Writer.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="StarOffice_Writer" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.StarOfficeWriterImportFilter</value>
diff --git a/filter/source/config/fragments/filters/StarOffice_XML__Base_.xcu 
b/filter/source/config/fragments/filters/StarOffice_XML__Base_.xcu
index 344843043b7c..4c33a806fd9d 100644
--- a/filter/source/config/fragments/filters/StarOffice_XML__Base_.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_XML__Base_.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="StarOffice XML (Base)" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT OWN DEFAULT 3RDPARTYFILTER 
ENCRYPTION EXOTIC</value></prop>
+        <prop oor:name="Flags"><value>IMPORT OWN DEFAULT 3RDPARTYFILTER 
ENCRYPTION</value></prop>
         <prop oor:name="UIComponent"/>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"/>
diff --git a/filter/source/config/fragments/filters/StarOffice_XML__Writer_.xcu 
b/filter/source/config/fragments/filters/StarOffice_XML__Writer_.xcu
index ba7db694d6ca..ee3638bc0cc8 100644
--- a/filter/source/config/fragments/filters/StarOffice_XML__Writer_.xcu
+++ b/filter/source/config/fragments/filters/StarOffice_XML__Writer_.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="StarOffice XML (Writer)" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT TEMPLATE OWN ALIEN PREFERRED 
ENCRYPTION EXOTIC</value></prop>
+        <prop oor:name="Flags"><value>IMPORT TEMPLATE OWN ALIEN PREFERRED 
ENCRYPTION</value></prop>
         <prop oor:name="UIComponent"/>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"><value>CXML</value></prop>
commit 5144684d7972a44652c051447a52fcb64b0dcc59
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Tue Apr 17 13:14:47 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sun Feb 13 12:50:27 2022 +0100

    [cp] Display warning at attempted loading of exotic file format
    
    Change-Id: I5dbf0545230795806aa3eb28e0a9e6170d916de2

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs 
b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 06c36df8e13a..a556d6af7f4d 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -2622,7 +2622,7 @@
             </info>
           </enumeration>
         </constraints>
-        <value>2</value>
+        <value>1</value>
       </prop>
       <prop oor:name="EnableExpertConfiguration" oor:type="xs:boolean" 
oor:nillable="false">
         <info>
commit 2cb76705f7c1e050c53a1dc6734994943aa20250
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Tue Apr 17 13:12:32 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sun Feb 13 12:50:20 2022 +0100

    [cp] Flag a few more import filters as EXOTIC
    
    Change-Id: I171efc7e533039ab61d7ae607673aaf81d88c73d

diff --git a/filter/source/config/fragments/filters/BroadBand_eBook.xcu 
b/filter/source/config/fragments/filters/BroadBand_eBook.xcu
index 3a54aed07d92..cb53d790c5dc 100644
--- a/filter/source/config/fragments/filters/BroadBand_eBook.xcu
+++ b/filter/source/config/fragments/filters/BroadBand_eBook.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="BroadBand eBook" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.EBookImportFilter</value>
diff --git a/filter/source/config/fragments/filters/ClarisWorks.xcu 
b/filter/source/config/fragments/filters/ClarisWorks.xcu
index 8288c34ff66f..788bd9bd2f32 100644
--- a/filter/source/config/fragments/filters/ClarisWorks.xcu
+++ b/filter/source/config/fragments/filters/ClarisWorks.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="ClarisWorks" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu 
b/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
index a6f817dc26ae..4fa8d5e1b8f2 100644
--- a/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
+++ b/filter/source/config/fragments/filters/ClarisWorks_Calc.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="ClarisWorks_Calc" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/ClarisWorks_Draw.xcu 
b/filter/source/config/fragments/filters/ClarisWorks_Draw.xcu
index e69354c3ffc2..5fa846dfa188 100644
--- a/filter/source/config/fragments/filters/ClarisWorks_Draw.xcu
+++ b/filter/source/config/fragments/filters/ClarisWorks_Draw.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="ClarisWorks_Draw" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Draw.MWAWDrawImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/ClarisWorks_Impress.xcu 
b/filter/source/config/fragments/filters/ClarisWorks_Impress.xcu
index 9318c5d95376..9e220ba6d815 100644
--- a/filter/source/config/fragments/filters/ClarisWorks_Impress.xcu
+++ b/filter/source/config/fragments/filters/ClarisWorks_Impress.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="ClarisWorks_Impress" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Impress.MWAWPresentationImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu 
b/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
index 17b80242229b..b0ffab33d1d8 100644
--- a/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
+++ b/filter/source/config/fragments/filters/Claris_Resolve_Calc.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Claris_Resolve_Calc" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/CorelDrawDocument.xcu 
b/filter/source/config/fragments/filters/CorelDrawDocument.xcu
index 14b6e2806ca3..8ee043694f84 100644
--- a/filter/source/config/fragments/filters/CorelDrawDocument.xcu
+++ b/filter/source/config/fragments/filters/CorelDrawDocument.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Corel Draw Document" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Draw.CDRImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git 
a/filter/source/config/fragments/filters/CorelPresentationExchange.xcu 
b/filter/source/config/fragments/filters/CorelPresentationExchange.xcu
index 0a402d2ea633..47fdabc06c81 100644
--- a/filter/source/config/fragments/filters/CorelPresentationExchange.xcu
+++ b/filter/source/config/fragments/filters/CorelPresentationExchange.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Corel Presentation Exchange" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Draw.CMXImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/DIF.xcu 
b/filter/source/config/fragments/filters/DIF.xcu
index c075ff97797c..ba1a84850889 100644
--- a/filter/source/config/fragments/filters/DIF.xcu
+++ b/filter/source/config/fragments/filters/DIF.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="DIF" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN</value></prop>
+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN EXOTIC</value></prop>
         <prop 
oor:name="UIComponent"><value>com.sun.star.comp.Calc.FilterOptionsDialog</value></prop>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"><value></value></prop>
diff --git 
a/filter/source/config/fragments/filters/DXF___AutoCAD_Interchange.xcu 
b/filter/source/config/fragments/filters/DXF___AutoCAD_Interchange.xcu
index 652ee10e2c58..0059a539f4b0 100644
--- a/filter/source/config/fragments/filters/DXF___AutoCAD_Interchange.xcu
+++ b/filter/source/config/fragments/filters/DXF___AutoCAD_Interchange.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="DXF - AutoCAD Interchange" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/DocBook_File.xcu 
b/filter/source/config/fragments/filters/DocBook_File.xcu
index da278f4c688f..9b37f1eac5e7 100644
--- a/filter/source/config/fragments/filters/DocBook_File.xcu
+++ b/filter/source/config/fragments/filters/DocBook_File.xcu
@@ -26,5 +26,5 @@
         <prop oor:name="UIName">
             <value xml:lang="en-US">DocBook</value>
         </prop>
-        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
     </node>
diff --git a/filter/source/config/fragments/filters/DosWord.xcu 
b/filter/source/config/fragments/filters/DosWord.xcu
index 697032c91e4e..d94cb04a9dc8 100644
--- a/filter/source/config/fragments/filters/DosWord.xcu
+++ b/filter/source/config/fragments/filters/DosWord.xcu
@@ -8,7 +8,7 @@
 
 <node oor:name="DosWord" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>com.sun.star.comp.Writer.MSWorksImportFilter</value>
diff --git a/filter/source/config/fragments/filters/FictionBook_2.xcu 
b/filter/source/config/fragments/filters/FictionBook_2.xcu
index 68e4c1c34841..bef1d1a0d68c 100644
--- a/filter/source/config/fragments/filters/FictionBook_2.xcu
+++ b/filter/source/config/fragments/filters/FictionBook_2.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="FictionBook 2" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.EBookImportFilter</value>
diff --git a/filter/source/config/fragments/filters/FreehandDocument.xcu 
b/filter/source/config/fragments/filters/FreehandDocument.xcu
index 4502ac0ce697..656b443c0391 100644
--- a/filter/source/config/fragments/filters/FreehandDocument.xcu
+++ b/filter/source/config/fragments/filters/FreehandDocument.xcu
@@ -1,5 +1,5 @@
     <node oor:name="Freehand Document" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Draw.FreehandImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Lotus.xcu 
b/filter/source/config/fragments/filters/Lotus.xcu
index 44bf3a89c548..c3c9370953ba 100644
--- a/filter/source/config/fragments/filters/Lotus.xcu
+++ b/filter/source/config/fragments/filters/Lotus.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Lotus" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN PREFERRED 
EXOTIC</value></prop>
         <prop 
oor:name="UIComponent"><value>com.sun.star.comp.Calc.FilterOptionsDialog</value></prop>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/LotusWordPro.xcu 
b/filter/source/config/fragments/filters/LotusWordPro.xcu
index 8b065b0c2fd2..074b6cd88a4b 100644
--- a/filter/source/config/fragments/filters/LotusWordPro.xcu
+++ b/filter/source/config/fragments/filters/LotusWordPro.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="LotusWordPro" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.LotusWordProImportFilter</value></prop>
         <prop oor:name="UserData"><value>WPD</value></prop>
diff --git a/filter/source/config/fragments/filters/MacWrite.xcu 
b/filter/source/config/fragments/filters/MacWrite.xcu
index 79a297f336b2..cfe91f5a3cea 100644
--- a/filter/source/config/fragments/filters/MacWrite.xcu
+++ b/filter/source/config/fragments/filters/MacWrite.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="MacWrite" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Mac_Word.xcu 
b/filter/source/config/fragments/filters/Mac_Word.xcu
index 64d2edb2b7ae..f23ad5382311 100644
--- a/filter/source/config/fragments/filters/Mac_Word.xcu
+++ b/filter/source/config/fragments/filters/Mac_Word.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Mac_Word" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Mac_Works.xcu 
b/filter/source/config/fragments/filters/Mac_Works.xcu
index beb2eadea3cb..b74b50934b90 100644
--- a/filter/source/config/fragments/filters/Mac_Works.xcu
+++ b/filter/source/config/fragments/filters/Mac_Works.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Mac_Works" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Mac_Works_Calc.xcu 
b/filter/source/config/fragments/filters/Mac_Works_Calc.xcu
index ec3b959d227d..a18a7431b41d 100644
--- a/filter/source/config/fragments/filters/Mac_Works_Calc.xcu
+++ b/filter/source/config/fragments/filters/Mac_Works_Calc.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Mac_Works_Calc" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Calc.MWAWCalcImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/Mariner_Write.xcu 
b/filter/source/config/fragments/filters/Mariner_Write.xcu
index df6689ccca4a..5344c28036f2 100644
--- a/filter/source/config/fragments/filters/Mariner_Write.xcu
+++ b/filter/source/config/fragments/filters/Mariner_Write.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Mariner_Write" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/PageMakerDocument.xcu 
b/filter/source/config/fragments/filters/PageMakerDocument.xcu
index ad45de75b559..afcbce65870e 100644
--- a/filter/source/config/fragments/filters/PageMakerDocument.xcu
+++ b/filter/source/config/fragments/filters/PageMakerDocument.xcu
@@ -1,5 +1,5 @@
     <node oor:name="PageMaker Document" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>org.libreoffice.comp.Draw.PageMakerImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/PalmDoc.xcu 
b/filter/source/config/fragments/filters/PalmDoc.xcu
index 8e612f693f01..6466a595fcc7 100644
--- a/filter/source/config/fragments/filters/PalmDoc.xcu
+++ b/filter/source/config/fragments/filters/PalmDoc.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="PalmDoc" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.EBookImportFilter</value>
diff --git a/filter/source/config/fragments/filters/Palm_Text_Document.xcu 
b/filter/source/config/fragments/filters/Palm_Text_Document.xcu
index 4747d3588490..5979b131989d 100644
--- a/filter/source/config/fragments/filters/Palm_Text_Document.xcu
+++ b/filter/source/config/fragments/filters/Palm_Text_Document.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="Palm_Text_Document" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.EBookImportFilter</value>
diff --git a/filter/source/config/fragments/filters/Plucker_eBook.xcu 
b/filter/source/config/fragments/filters/Plucker_eBook.xcu
index b5942780db75..e3ac69ce82b4 100644
--- a/filter/source/config/fragments/filters/Plucker_eBook.xcu
+++ b/filter/source/config/fragments/filters/Plucker_eBook.xcu
@@ -9,7 +9,7 @@
 
 <node oor:name="Plucker eBook" oor:op="replace">
     <prop oor:name="Flags">
-        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED</value>
+        <value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED EXOTIC</value>
     </prop>
     <prop oor:name="FilterService">
         <value>org.libreoffice.comp.Writer.EBookImportFilter</value>
diff --git a/filter/source/config/fragments/filters/QPro.xcu 
b/filter/source/config/fragments/filters/QPro.xcu
index e3242644b84e..b9b000c0550b 100644
--- a/filter/source/config/fragments/filters/QPro.xcu
+++ b/filter/source/config/fragments/filters/QPro.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="Quattro Pro 6.0" oor:op="replace" oor:finalized="true" 
oor:mandatory="true">
-        <prop oor:name="Flags"><value>IMPORT ALIEN PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop oor:name="FilterService"/>
         <prop oor:name="UserData"/>
diff --git a/filter/source/config/fragments/filters/QXPDocument.xcu 
b/filter/source/config/fragments/filters/QXPDocument.xcu
index b0e6450001c5..cd3acfc399de 100644
--- a/filter/source/config/fragments/filters/QXPDocument.xcu
+++ b/filter/source/config/fragments/filters/QXPDocument.xcu
@@ -1,5 +1,5 @@
     <node oor:name="QXP Document" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>org.libreoffice.comp.Draw.QXPImportFilter</value></prop>
         <prop oor:name="UserData"/>
diff --git a/filter/source/config/fragments/filters/UOF_presentation.xcu 
b/filter/source/config/fragments/filters/UOF_presentation.xcu
index 1f8be437ba6d..6a90a00e099c 100644
--- a/filter/source/config/fragments/filters/UOF_presentation.xcu
+++ b/filter/source/config/fragments/filters/UOF_presentation.xcu
@@ -26,5 +26,5 @@
         <prop oor:name="UIName">
             <value xml:lang="en-US">Unified Office Format presentation</value>
         </prop>
-        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
     </node>
diff --git a/filter/source/config/fragments/filters/UOF_spreadsheet.xcu 
b/filter/source/config/fragments/filters/UOF_spreadsheet.xcu
index 91f564307b9c..50ffb3f6ec98 100644
--- a/filter/source/config/fragments/filters/UOF_spreadsheet.xcu
+++ b/filter/source/config/fragments/filters/UOF_spreadsheet.xcu
@@ -26,5 +26,5 @@
         <prop oor:name="UIName">
             <value xml:lang="en-US">Unified Office Format spreadsheet</value>
         </prop>
-        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
     </node>
diff --git a/filter/source/config/fragments/filters/UOF_text.xcu 
b/filter/source/config/fragments/filters/UOF_text.xcu
index e4241f1753f3..39cb3e2c7e9a 100644
--- a/filter/source/config/fragments/filters/UOF_text.xcu
+++ b/filter/source/config/fragments/filters/UOF_text.xcu
@@ -26,5 +26,5 @@
         <prop oor:name="UIName">
             <value xml:lang="en-US">Unified Office Format text</value>
         </prop>
-        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT EXPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
     </node>
diff --git a/filter/source/config/fragments/filters/WPS_Lotus_Calc.xcu 
b/filter/source/config/fragments/filters/WPS_Lotus_Calc.xcu
index 1d141826c229..a982c3acd80b 100644
--- a/filter/source/config/fragments/filters/WPS_Lotus_Calc.xcu
+++ b/filter/source/config/fragments/filters/WPS_Lotus_Calc.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="WPS_Lotus_Calc" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Calc.MSWorksCalcImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/WPS_QPro_Calc.xcu 
b/filter/source/config/fragments/filters/WPS_QPro_Calc.xcu
index f32b11820d82..f307ea3db1ef 100644
--- a/filter/source/config/fragments/filters/WPS_QPro_Calc.xcu
+++ b/filter/source/config/fragments/filters/WPS_QPro_Calc.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="WPS_QPro_Calc" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 
3RDPARTYFILTER</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Calc.MSWorksCalcImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/WordPerfect.xcu 
b/filter/source/config/fragments/filters/WordPerfect.xcu
index d26c30369df2..35ed5cb850cf 100644
--- a/filter/source/config/fragments/filters/WordPerfect.xcu
+++ b/filter/source/config/fragments/filters/WordPerfect.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="WordPerfect" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.WordPerfectImportFilter</value></prop>
         <prop oor:name="UserData"><value>WPD</value></prop>
diff --git a/filter/source/config/fragments/filters/WordPerfectGraphics.xcu 
b/filter/source/config/fragments/filters/WordPerfectGraphics.xcu
index 54f4f43db7d1..d98fb20114e7 100644
--- a/filter/source/config/fragments/filters/WordPerfectGraphics.xcu
+++ b/filter/source/config/fragments/filters/WordPerfectGraphics.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="WordPerfect Graphics" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Draw.WPGImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/WriteNow.xcu 
b/filter/source/config/fragments/filters/WriteNow.xcu
index 600e5d61713c..c649b51a9e1e 100644
--- a/filter/source/config/fragments/filters/WriteNow.xcu
+++ b/filter/source/config/fragments/filters/WriteNow.xcu
@@ -16,7 +16,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 -->
     <node oor:name="WriteNow" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>com.sun.star.comp.Writer.MWAWImportFilter</value></prop>
         <prop oor:name="UserData"><value></value></prop>
diff --git a/filter/source/config/fragments/filters/ZMFDocument.xcu 
b/filter/source/config/fragments/filters/ZMFDocument.xcu
index b72449df3e1d..f444d54b3770 100644
--- a/filter/source/config/fragments/filters/ZMFDocument.xcu
+++ b/filter/source/config/fragments/filters/ZMFDocument.xcu
@@ -1,5 +1,5 @@
     <node oor:name="ZMF Document" oor:op="replace">
-        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER 
PREFERRED</value></prop>
+        <prop oor:name="Flags"><value>IMPORT ALIEN 3RDPARTYFILTER PREFERRED 
EXOTIC</value></prop>
         <prop oor:name="UIComponent"/>
         <prop 
oor:name="FilterService"><value>org.libreoffice.comp.Draw.ZMFImportFilter</value></prop>
         <prop oor:name="UserData"/>
commit 9562f667fb35f9af5709b6cc75e74cfc93b445b3
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Mon Apr 23 20:18:45 2018 +0200
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Sun Feb 13 12:49:20 2022 +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 dc2bac228fd6..b16826ba1088 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -130,6 +130,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 DISABLE_STRIP=@DISABLE_STRIP@
 export DLOPEN_LIBS=@DLOPEN_LIBS@
 export DOCDIR=@DOCDIR@
 export DOXYGEN=@DOXYGEN@
@@ -208,6 +209,7 @@ export ENABLE_SDREMOTE_BLUETOOTH=@ENABLE_SDREMOTE_BLUETOOTH@
 export ENABLE_SILENT_MSI=@ENABLE_SILENT_MSI@
 export ENABLE_SKIA=@ENABLE_SKIA@
 export ENABLE_SKIA_DEBUG=@ENABLE_SKIA_DEBUG@
+export ENABLE_STRIP=@ENABLE_STRIP@
 export ENABLE_SYMBOLS_FOR=@ENABLE_SYMBOLS_FOR@
 export ENABLE_VALGRIND=@ENABLE_VALGRIND@
 export ENABLE_WASM_STRIP=@ENABLE_WASM_STRIP@
diff --git a/configure.ac b/configure.ac
index 70c77ea5d7b8..47dfd552daab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4760,16 +4760,24 @@ if test -z "$enable_symbols"; then
 fi
 if test "$enable_symbols" = yes; then
     ENABLE_SYMBOLS_FOR=all
+    ENABLE_STRIP=
+    DISABLE_STRIP=1
     AC_MSG_RESULT([yes])
 elif test "$enable_symbols" = no; then
     ENABLE_SYMBOLS_FOR=
+    ENABLE_STRIP=1
+    DISABLE_STRIP=
     AC_MSG_RESULT([no])
 else
     # Selective debuginfo.
     ENABLE_SYMBOLS_FOR="$enable_symbols"
+    ENABLE_STRIP=
+    DISABLE_STRIP=1
     AC_MSG_RESULT([for "$enable_symbols"])
 fi
 AC_SUBST(ENABLE_SYMBOLS_FOR)
+AC_SUBST(ENABLE_STRIP)
+AC_SUBST(DISABLE_STRIP)
 
 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.
diff --git a/instsetoo_native/CustomTarget_install.mk 
b/instsetoo_native/CustomTarget_install.mk
index 0dab73ad904c..1259fc19df6c 100644
--- a/instsetoo_native/CustomTarget_install.mk
+++ b/instsetoo_native/CustomTarget_install.mk
@@ -80,7 +80,7 @@ $(call instsetoo_native_msitemplates,$(1))
 $(call gb_Helper_print_on_error, \
 cd $(dir $@) \
 $(foreach pkgformat,$(5),\
-&& $(if $(filter-out archive,$(pkgformat)),ENABLE_STRIP=1) $(PERL) -w $< \
+&& $(PERL) -w $< \
        -f $(BUILDDIR)/instsetoo_native/util/openoffice.lst \
        -l $(subst $(WHITESPACE),$(COMMA),$(strip $(2))) \
        -p $(PRODUCTNAME_WITHOUT_SPACES)$(3) \
diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index a4075fec5126..fc4996d3caf4 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -45,6 +45,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;
@@ -1042,6 +1043,7 @@ sub run {
                     strip_libraries($filesinpackage, $languagestringref);
                 }
 
+
                 if ( $installer::globals::simple ) {
                     installer::worker::install_simple($onepackagename, 
$$languagestringref, $dirsinpackage, $filesinpackage, $linksinpackage, 
$unixlinksinpackage);
                 }
@@ -1053,16 +1055,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 ... \n" );
+                    if ($dbg)
+                    {
+                        installer::logger::print_message( "... creating epm 
list file $dbgepmfilename ... \n" );
+                    }
 
                     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
 
@@ -1091,6 +1114,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
 
@@ -1133,9 +1167,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;
                             }
                         }
 
@@ -1157,7 +1200,11 @@ sub run {
                                        installer::logger::print_message( "... 
starting unpatched epm ... \n" );
                                 }
 
-                                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/epmfile.pm 
b/solenv/bin/modules/installer/epmfile.pm
index 495366823604..e0d985be52be 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -196,6 +196,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\n";
+
+        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 =~ /\bELF\b/ )) { 
$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\n";
+    push( @installer::globals::logfileinfo, $infoline);
+
+    if ($returnvalue)
+    {
+        $infoline = "ERROR: Could not split debug info of $filename!\n";
+        push( @installer::globals::logfileinfo, $infoline);
+    }
+    else
+    {
+        $infoline = "SUCCESS: Split debug info of $filename!\n";
+        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\n";
+            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;

Reply via email to