From f7c6c1ffbfcf556d46d5fb704c3196802088855b Mon Sep 17 00:00:00 2001 From: tigro Date: Sun, 22 Dec 2024 17:07:07 +0300 Subject: [PATCH] import libreoffice-24.8.4.2-1.el10 --- .gitignore | 7 + .libreoffice.metadata | 7 + ...bz-1432468-disable-opencl-by-default.patch | 26 + SOURCES/0001-disable-libe-book-support.patch | 145 + ...ble-tip-of-the-day-dialog-by-default.patch | 26 + SOURCES/0001-don-t-suppress-crashes.patch | 37 + ...60944ea767075d27247c3162b3bc-unowinreg.dll | Bin 0 -> 12288 bytes SOURCES/cflags.patch | 10 + ...2c3f2a0042bfc434c88c6dde9e140-opens___.ttf | Bin 0 -> 207992 bytes ...CAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc | 51 + .../kahansum_test_fix_for_aarc64_s390x.patch | 16 + SOURCES/libreoffice-24.8.4.2.tar.xz.asc | 16 + SOURCES/libreoffice-base-symbolic.svg | 27 + SOURCES/libreoffice-calc-symbolic.svg | 27 + SOURCES/libreoffice-draw-symbolic.svg | 26 + SOURCES/libreoffice-help-24.8.4.2.tar.xz.asc | 16 + SOURCES/libreoffice-impress-symbolic.svg | 25 + SOURCES/libreoffice-main-symbolic.svg | 24 + SOURCES/libreoffice-math-symbolic.svg | 25 + SOURCES/libreoffice-multiliblauncher.sh | 16 + ...breoffice-translations-24.8.4.2.tar.xz.asc | 16 + SOURCES/libreoffice-writer-symbolic.svg | 28 + SOURCES/lo-7.6-ppc64le-tests.patch | 19 + SPECS/libreoffice.spec | 2401 +++++++++++++++++ 24 files changed, 2991 insertions(+) create mode 100644 .gitignore create mode 100644 .libreoffice.metadata create mode 100644 SOURCES/0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch create mode 100644 SOURCES/0001-disable-libe-book-support.patch create mode 100644 SOURCES/0001-disble-tip-of-the-day-dialog-by-default.patch create mode 100644 SOURCES/0001-don-t-suppress-crashes.patch create mode 100644 SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll create mode 100644 SOURCES/cflags.patch create mode 100644 SOURCES/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf create mode 100644 SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc create mode 100644 SOURCES/kahansum_test_fix_for_aarc64_s390x.patch create mode 100644 SOURCES/libreoffice-24.8.4.2.tar.xz.asc create mode 100644 SOURCES/libreoffice-base-symbolic.svg create mode 100644 SOURCES/libreoffice-calc-symbolic.svg create mode 100644 SOURCES/libreoffice-draw-symbolic.svg create mode 100644 SOURCES/libreoffice-help-24.8.4.2.tar.xz.asc create mode 100644 SOURCES/libreoffice-impress-symbolic.svg create mode 100644 SOURCES/libreoffice-main-symbolic.svg create mode 100644 SOURCES/libreoffice-math-symbolic.svg create mode 100644 SOURCES/libreoffice-multiliblauncher.sh create mode 100644 SOURCES/libreoffice-translations-24.8.4.2.tar.xz.asc create mode 100644 SOURCES/libreoffice-writer-symbolic.svg create mode 100644 SOURCES/lo-7.6-ppc64le-tests.patch create mode 100644 SPECS/libreoffice.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b0916df --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +SOURCES/dtoa-20180411.tgz +SOURCES/libreoffice-translations-24.8.4.2.tar.xz +SOURCES/libreoffice-24.8.4.2.tar.xz +SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip +SOURCES/libreoffice-help-24.8.4.2.tar.xz +SOURCES/Java-WebSocket-1.5.6.tar.gz +SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip diff --git a/.libreoffice.metadata b/.libreoffice.metadata new file mode 100644 index 0000000..e6dd682 --- /dev/null +++ b/.libreoffice.metadata @@ -0,0 +1,7 @@ +083509db5ad9d1680830be9add727d58b54ca0d3 SOURCES/dtoa-20180411.tgz +f1756c6d85714f271d7620f825b9def83dc90180 SOURCES/libreoffice-translations-24.8.4.2.tar.xz +7d9d2ffb384c02ca8a2cb2bed022b8dff63153d8 SOURCES/libreoffice-24.8.4.2.tar.xz +2d49e11b0b711970f494294dc3698f05eb294853 SOURCES/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip +b20924f5568b24d7f57edcb32bec2f7e528b5f44 SOURCES/libreoffice-help-24.8.4.2.tar.xz +ee561c270fa186bac51bb240d4ce2166f866795c SOURCES/Java-WebSocket-1.5.6.tar.gz +7168b0f40aa5c72267899601c116d2348d2f56ec SOURCES/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip diff --git a/SOURCES/0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch b/SOURCES/0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch new file mode 100644 index 0000000..a974295 --- /dev/null +++ b/SOURCES/0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch @@ -0,0 +1,26 @@ +From 87b90b6fbf010effd44ef0e2bd3d75b27562a82b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Mon, 27 Mar 2017 11:47:01 +0100 +Subject: [PATCH] Resolves: rhbz#1432468 disable opencl by default + +Change-Id: Ie037fcabdd219f195425979dd721501fb5527573 +--- + officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +index 99b4104f6499..ef7ada84c2f3 100644 +--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs ++++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +@@ -5652,7 +5652,7 @@ + Determines whether OpenCL can be used, when available, to speed up + some operations. + +- true ++ false + + + +-- +2.29.2 + diff --git a/SOURCES/0001-disable-libe-book-support.patch b/SOURCES/0001-disable-libe-book-support.patch new file mode 100644 index 0000000..2142734 --- /dev/null +++ b/SOURCES/0001-disable-libe-book-support.patch @@ -0,0 +1,145 @@ +From 0b613b941c3ffbe432934269f8865bc1f9e59cde Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Tue, 27 Sep 2022 15:13:59 -0700 +Subject: [PATCH] disable libe-book support + +--- + configure.ac | 3 --- + external/Module_external.mk | 1 - + filter/Configuration_filter.mk | 8 -------- + writerperfect/Library_wpftwriter.mk | 2 -- + writerperfect/qa/unit/WpftFilterFixture.hxx | 4 ---- + writerperfect/qa/unit/WpftWriterFilterTest.cxx | 5 ----- + writerperfect/source/writer/wpftwriter.component | 6 ------ + 7 files changed, 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8babc85..e7733de 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9606,9 +9606,6 @@ libo_PKG_VERSION([ETONYEK], [libetonyek-0.1], [0.1.10]) + + libo_CHECK_SYSTEM_MODULE([libfreehand],[FREEHAND],[libfreehand-0.1]) + +-libo_CHECK_SYSTEM_MODULE([libebook],[EBOOK],[libe-book-0.1]) +-libo_PKG_VERSION([EBOOK], [libe-book-0.1], [0.1.2]) +- + libo_CHECK_SYSTEM_MODULE([libabw],[ABW],[libabw-0.1]) + + libo_CHECK_SYSTEM_MODULE([libpagemaker],[PAGEMAKER],[libpagemaker-0.0]) +diff --git a/external/Module_external.mk b/external/Module_external.mk +index 366fff2..bc987d1 100644 +--- a/external/Module_external.mk ++++ b/external/Module_external.mk +@@ -31,7 +31,6 @@ $(eval $(call gb_Module_add_moduledirs,external,\ + $(call gb_Helper_optional,CURL,curl) \ + $(call gb_Helper_optional,DRAGONBOX,dragonbox) \ + dtoa \ +- $(call gb_Helper_optional,EBOOK,libebook) \ + $(call gb_Helper_optional,EPM,epm) \ + $(call gb_Helper_optional,EPOXY,epoxy) \ + $(call gb_Helper_optional,EPUBGEN,libepubgen) \ +diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk +index a58b839..526b447 100644 +--- a/filter/Configuration_filter.mk ++++ b/filter/Configuration_filter.mk +@@ -359,10 +359,6 @@ $(eval $(call filter_Configuration_add_types,fcfg_langpack,fcfg_writer_types.xcu + writer_OOXML_Template \ + writer_layout_dump_xml \ + writer_indexing_export_xml \ +- writer_BroadBand_eBook \ +- writer_FictionBook_2 \ +- writer_PalmDoc \ +- writer_Plucker_eBook \ + writer_ApplePages \ + MWAW_Text_Document \ + Palm_Text_Document \ +@@ -409,10 +405,6 @@ $(eval $(call filter_Configuration_add_filters,fcfg_langpack,fcfg_writer_filters + OOXML_Text_Template \ + writer_layout_dump \ + writer_indexing_export \ +- BroadBand_eBook \ +- FictionBook_2 \ +- PalmDoc \ +- Plucker_eBook \ + ApplePages \ + MWAW_Text_Document \ + Palm_Text_Document \ +diff --git a/writerperfect/Library_wpftwriter.mk b/writerperfect/Library_wpftwriter.mk +index 840a86f..70a8933 100644 +--- a/writerperfect/Library_wpftwriter.mk ++++ b/writerperfect/Library_wpftwriter.mk +@@ -64,7 +64,6 @@ endif + $(eval $(call gb_Library_use_externals,wpftwriter,\ + abw \ + boost_headers \ +- ebook \ + $(if $(ENABLE_WASM_STRIP_SWEXPORTS),,etonyek) \ + icu_headers \ + icui18n \ +@@ -93,7 +92,6 @@ endif + ifneq ($(ENABLE_WASM_STRIP_SWEXPORTS),TRUE) + $(eval $(call gb_Library_add_exception_objects,wpftwriter,\ + writerperfect/source/writer/AbiWordImportFilter \ +- writerperfect/source/writer/EBookImportFilter \ + writerperfect/source/writer/MSWorksImportFilter \ + writerperfect/source/writer/MWAWImportFilter \ + writerperfect/source/writer/PagesImportFilter \ +diff --git a/writerperfect/qa/unit/WpftFilterFixture.hxx b/writerperfect/qa/unit/WpftFilterFixture.hxx +index 2fdd6a2..dbdd672 100644 +--- a/writerperfect/qa/unit/WpftFilterFixture.hxx ++++ b/writerperfect/qa/unit/WpftFilterFixture.hxx +@@ -25,10 +25,6 @@ + || ((major) == (req_major) \ + && ((minor) > (req_minor) || ((minor) == (req_minor) && ((micro) >= (req_micro))))) + +-#define REQUIRE_EBOOK_VERSION(major, minor, micro) \ +- REQUIRE_VERSION(EBOOK_VERSION_MAJOR, EBOOK_VERSION_MINOR, EBOOK_VERSION_MICRO, major, minor, \ +- micro) +- + #define REQUIRE_ETONYEK_VERSION(major, minor, micro) \ + REQUIRE_VERSION(ETONYEK_VERSION_MAJOR, ETONYEK_VERSION_MINOR, ETONYEK_VERSION_MICRO, major, \ + minor, micro) +diff --git a/writerperfect/qa/unit/WpftWriterFilterTest.cxx b/writerperfect/qa/unit/WpftWriterFilterTest.cxx +index 78d24dc..39924f9 100644 +--- a/writerperfect/qa/unit/WpftWriterFilterTest.cxx ++++ b/writerperfect/qa/unit/WpftWriterFilterTest.cxx +@@ -30,9 +30,6 @@ WpftWriterFilterTest::WpftWriterFilterTest() + + void WpftWriterFilterTest::test() + { +- const writerperfect::test::WpftOptionalMap_t aEBookOptional{ +- { "FictionBook2.fb2.zip", REQUIRE_EBOOK_VERSION(0, 1, 1) }, +- }; + const writerperfect::test::WpftOptionalMap_t aEtonyekOptional{ + { "Pages_4.pages", REQUIRE_ETONYEK_VERSION(0, 1, 2) }, + { "Pages_5.pages", REQUIRE_ETONYEK_VERSION(0, 1, 8) }, +@@ -59,8 +56,6 @@ void WpftWriterFilterTest::test() + + doTest("com.sun.star.comp.Writer.AbiWordImportFilter", + u"/writerperfect/qa/unit/data/writer/libabw/"); +- doTest("org.libreoffice.comp.Writer.EBookImportFilter", +- u"/writerperfect/qa/unit/data/writer/libe-book/", aEBookOptional); + doTest("com.sun.star.comp.Writer.MSWorksImportFilter", + u"/writerperfect/qa/unit/data/writer/libwps/", aWpsOptional); + doTest("com.sun.star.comp.Writer.MWAWImportFilter", +diff --git a/writerperfect/source/writer/wpftwriter.component b/writerperfect/source/writer/wpftwriter.component +index 176d487..0c89217 100644 +--- a/writerperfect/source/writer/wpftwriter.component ++++ b/writerperfect/source/writer/wpftwriter.component +@@ -42,12 +42,6 @@ + + + +- +- +- +- +- + + +-- +2.31.1 + diff --git a/SOURCES/0001-disble-tip-of-the-day-dialog-by-default.patch b/SOURCES/0001-disble-tip-of-the-day-dialog-by-default.patch new file mode 100644 index 0000000..7233a4e --- /dev/null +++ b/SOURCES/0001-disble-tip-of-the-day-dialog-by-default.patch @@ -0,0 +1,26 @@ +From d6e2cdb0023e422546e3ece5bf9915f7c490ced8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 20 Mar 2020 14:24:05 +0000 +Subject: [PATCH] disble tip-of-the-day dialog by default + +Change-Id: Ie7f0e3fe3dda12c2ec88c376d2b57419253ae5cf +--- + officecfg/registry/schema/org/openoffice/Office/Common.xcs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +index e7c339e2e22e..9aa88ef1aa02 100644 +--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs ++++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs +@@ -5570,7 +5570,7 @@ + + Determines whether the Tip-of-the-Day dialog is shown on startup. + +- true ++ false + + + +-- +2.24.1 + diff --git a/SOURCES/0001-don-t-suppress-crashes.patch b/SOURCES/0001-don-t-suppress-crashes.patch new file mode 100644 index 0000000..596534d --- /dev/null +++ b/SOURCES/0001-don-t-suppress-crashes.patch @@ -0,0 +1,37 @@ +From a6f2cba43d79347b6975b3b8069b423c94a7dba6 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Tue, 8 Nov 2016 11:50:06 +0100 +Subject: [PATCH] don't suppress crashes + +An automatic restart after a crash makes the crash invisible to abrt. + +Change-Id: I3854e619356049b144b08575879d289a3c12e4c9 +--- + desktop/source/app/app.cxx | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx +index c54aea9dd4f7..a613fe12cef2 100644 +--- a/desktop/source/app/app.cxx ++++ b/desktop/source/app/app.cxx +@@ -1165,8 +1165,6 @@ + if( bRestart ) + { + RequestHandler::Disable(); +- if( pSignalHandler ) +- osl_removeSignalHandler( pSignalHandler ); + + restartOnMac(false); + #if !ENABLE_WASM_STRIP_SPLASH +@@ -1174,7 +1172,7 @@ + m_rSplashScreen->reset(); + #endif + +- _exit( EXITHELPER_CRASH_WITH_RESTART ); ++ return; + } + else + { +-- +2.29.2 + diff --git a/SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll b/SOURCES/185d60944ea767075d27247c3162b3bc-unowinreg.dll new file mode 100644 index 0000000000000000000000000000000000000000..1189dbaecf50090eea78251ead7db08d887146ac GIT binary patch literal 12288 zcmeHNeP|R{5T8q95?hU@ZPK&^TqR0MC2TI&CQS>ym|R7h)61QAks3WWckAWiW%t;< zYnuLHg;G$LK=iLd|M8DPzbFVwNsAUyC=`^6wjdRXEv>B}REiV}*6nZJeKvleF_xC@ zgxUAryqS43zj^zS+YP)jMGp~CHQ2U^rqMF_#PQCDbC|AQ`dK|4o_}iDw5$KrvW+7t zQ_2{6(on{vxT0x#RvK0%Bd19zP3qeamd5mi+O}}v!z~5ZpYGoH-Jh4bCyTuE`{d*e zF@ApX545$XR!-WYoi}-1v~LvJTG575@e#J28EMc@)bFaHH+O#IE6!b@`el!}YKa;l zVFt-=9GGPup~wBIJRU4yTmsB;0p3Vwark| zIuy^aJOk!++jvkWAJJ+(u_N|ummFit4y&>9tkb(21Wqzt;teW#C#Rcba-WzgQC?a; zPIG;aFQB4A#JX$++~KH|tFvkbM`G(hF#Ps;I__%3uPJ{C{?H$HmFgP)hH_TKHEl`t@=?4hobgAuGn6` z9oxFu`f1DYrqX7>rr`Sd-Qgg1K?AN;DEC2Ewn`M&&3c%B^K#uiL>Q5H*-+FvXYaef zaRgeh%l7!O-J*q!7O4w{!lSgukL28gLAzljzt8enM4GJnL5^Bv5ooq*ki`IOISUJZ z0upb^Byec-OL$=i|3yesk8if zq#+UowjzMDMXXyEUA6qJGelT9A6-$ayfa#9%3i@Iy}g3>g1v$ZW3S-A%2yPp=OEx9 z;2_{2;2_{2;2_{2;2_{2;2_{2;2_{2;2`jSLEvtFt$i>$#djq5bxr(qf8-gWBTF&x zk$VBS3ET{pz^&j16UBemYZ1Sbc=y9Uk3U@C5sat6)8KhPEw}`bqMZU?0H0orS1;gQ zVBe#7&4KxEp?eA3;vw1&{t$c_+}c631N>Yi7Ozp}Q%=*zQ<|YB z+Y;$Ctx>a4)i6`KwpQD&(>moU4&+p0f-66}3JUY6lFq3}-l2ab0-}b`K5h=-WY1&`MKe7^;ZQGLk`Ccz>Cm{A9W&#puA$+SHdMZ1WD>*w z${d}b9xMXwo!uSYZjYB&2`Cd%`*V^26GIT=)RwW*449Z?Dc@hDIZp|_Sc0Qnf&_4E?@ zOh>DKy^;U#sFv0(XGy+&k-MO3{PEtYq)#Al!C#gPN|8oMcuP^5RCv~CJLyo~FLY$` z;v=?Buop3KMC<8s*!Dta4Et1p{sd$SMygmMOgYFT3czC={&g~;VPY*6Iwq~c9Ip~D ze026KJpzBl^`p=-pp}B1Cj50mPcCp5BI(S3-G`l654#N_gQUnpK?X%XS}7uqMyGM1 zVZeJ5z7o((!@Cz}rAtJ^(HYQWALVRrwk3L>crH-Yj2Q a=`rXu%aYt8x5}$3uK#lzjN|Q}M&K{Pq;x6( literal 0 HcmV?d00001 diff --git a/SOURCES/cflags.patch b/SOURCES/cflags.patch new file mode 100644 index 0000000..f7fa293 --- /dev/null +++ b/SOURCES/cflags.patch @@ -0,0 +1,10 @@ +--- a/configure~ 2024-08-22 09:49:41.957960557 -0500 ++++ b/configure 2024-08-23 10:31:14.357014789 -0500 +@@ -7399,7 +7399,6 @@ + # AC_PROG_CC sets CFLAGS to -g -O2 if not set, avoid that (and avoid -O2 during AC_PROG_CC, + # Clang 12.0.1 occasionally SEGVs on some of the test invocations during AC_PROG_CC with -O2): + save_CFLAGS=$CFLAGS +- CFLAGS=-g + + + diff --git a/SOURCES/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf b/SOURCES/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7217222edf6aa3e72f2d8ac1ce2fa01cb752c6c7 GIT binary patch literal 207992 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�%*?`-RZnrF_(Z^$Q!xG%(6IrUpit4&nrC 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 literal 0 HcmV?d00001 diff --git a/SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc b/SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc new file mode 100644 index 0000000..5f4f64d --- /dev/null +++ b/SOURCES/gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=1iQB +-----END PGP PUBLIC KEY BLOCK----- diff --git a/SOURCES/kahansum_test_fix_for_aarc64_s390x.patch b/SOURCES/kahansum_test_fix_for_aarc64_s390x.patch new file mode 100644 index 0000000..e0110c0 --- /dev/null +++ b/SOURCES/kahansum_test_fix_for_aarc64_s390x.patch @@ -0,0 +1,16 @@ +diff -U 3 -dHrN a/sc/inc/arraysumfunctor.hxx b/sc/inc/arraysumfunctor.hxx +--- a/sc/inc/arraysumfunctor.hxx 2023-09-22 21:07:01.000000000 +0200 ++++ b/sc/inc/arraysumfunctor.hxx 2023-10-01 09:13:03.523493665 +0200 +@@ -85,8 +85,12 @@ + inline KahanSum sumArray(const double* pArray, size_t nSize) + { + size_t i = 0; ++#if 0 + const double* pCurrent = pArray; + KahanSum fSum = executeFast(i, nSize, pCurrent); ++#else ++ KahanSum fSum = 0.0; ++#endif + + // sum rest of the array + for (; i < nSize; ++i) diff --git a/SOURCES/libreoffice-24.8.4.2.tar.xz.asc b/SOURCES/libreoffice-24.8.4.2.tar.xz.asc new file mode 100644 index 0000000..6c7161d --- /dev/null +++ b/SOURCES/libreoffice-24.8.4.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmdbXA0ACgkQ9DSh76/u +rqMs8Q//czrx0nIsduH5/3/ADZXR2LLe22t28Q6UhkDHWsAEvuvvJW3o1P9xTpsg +dmmysIYuYUYiSkAPFLsFXh+OYBWRzXeutKHH3lqckxAH60Of4S7p1tebYxvi+kMA +FDCm2+OCE8Ro+bENaOAE8qXuONKYf/VKjzQ3/2YQR2TqHq4Flfa1uKsnozKW3aSi +vYSthYukjzBb0u6GWQ2CCWSdIz6V/WcUKi/AyGvLeH5TG4BJoXjL13tSdr8RCobn +wKTJHHikf2fXj0rkw0dvJzQHSViQbI0khyQ3kjTPrxT2WFsxc+I7Pww0+CY0H7Jb +tF6rStCiqBntFZ4O9D7Tl+YsQZSWQ6wBIFGCq5lEh+3Bl5zaVSd2F/LFQDryxA/3 +cX3kbpBX8ECePj5zfgNIhcyBCZJFpeMPgwRK5MAGPfDnF8KU6wVHf6mzmhJhehP2 +KmwTGGqBjkiNAqH9EIMKyILltBKTdPYjlLlRfqvzfmLAvlI/jKgGlzCqP37WOl0r +GGRE6CbhS7Y2uX4G4WvtEMjNm7P2dzjQQH7Pm1hGLAlS5t7YoAzF+PSMcoaBFnt2 +dniI+8S8khfB8w43QZlLkCLEyhLgsVnefhzfCCTwHCOVohyceYgrfZcG37Iy4fas +OyVn/II3gaY2G9VZ2nD/+Z/83+u7m5MqeC+T6kfnX2VqEwaWFwI= +=Z0ze +-----END PGP SIGNATURE----- diff --git a/SOURCES/libreoffice-base-symbolic.svg b/SOURCES/libreoffice-base-symbolic.svg new file mode 100644 index 0000000..16f3cef --- /dev/null +++ b/SOURCES/libreoffice-base-symbolic.svg @@ -0,0 +1,27 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + diff --git a/SOURCES/libreoffice-calc-symbolic.svg b/SOURCES/libreoffice-calc-symbolic.svg new file mode 100644 index 0000000..bf56588 --- /dev/null +++ b/SOURCES/libreoffice-calc-symbolic.svg @@ -0,0 +1,27 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + diff --git a/SOURCES/libreoffice-draw-symbolic.svg b/SOURCES/libreoffice-draw-symbolic.svg new file mode 100644 index 0000000..7ca94ee --- /dev/null +++ b/SOURCES/libreoffice-draw-symbolic.svg @@ -0,0 +1,26 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + diff --git a/SOURCES/libreoffice-help-24.8.4.2.tar.xz.asc b/SOURCES/libreoffice-help-24.8.4.2.tar.xz.asc new file mode 100644 index 0000000..457d54d --- /dev/null +++ b/SOURCES/libreoffice-help-24.8.4.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmdbXBMACgkQ9DSh76/u +rqOHaw//f9UVB+F6zzyR7UnGTa9TabI1kgqhMLuAozOld/m5xCXUErbisqKLDi6N +d6sD3CfFdM0+F5l6q4607L0SpIJgM8Hf0Qq7u7uqTK50PDog9q/G03mck5aQDqI7 +OfJtYWZzm2uZNOSnIbG9pGsFzK6IjSmi6aFVe+LR3HWioY1cVGCjVOUUOJux816Z +nWtG+Vt+k1kKSS5AVBUN2zsy/QqrLCjz6zUgXPUGlQQFIRhdVaSXBGQ3jhNO3nKI +P9mlq1VNMoJ5g+xVwUvCGeSwFg1NFgj2ynlvWeABpXPE5zAT4/cm/d0xDuZ+rEZW +JKp1denInxkep+PZWo5HuDrQzuj7qfyiCxf+p7A2JtUGNJdCH+rTJgdi0J3dRQUI +MWhZ6RxT/ar3rDgRxKJVyKawT6ZZykjEw/9CUyY0+tjG976XsiP4CnsA37eGPK4N +ahYqiFh9Tcr45PJKlEbtTUlXALFRk+S3bpzgLW9vRL3vqtjJEdbSajNYfBHPYDUe +Bdyl20jLwAuE4Znz2HxniQ5Xp5NeVH2KYjmIaZIHdh6ahz29JwvZcvlO26V46wzZ +2h8VTD3+9gZp2RUHCzztcgHbXVvkEVCezemG49jQBNefIpW/KFxsI5m6FbSFcVwR +Z/Tv/H/m7JYIn0QWUoLErG+dCyAed28iu82EHqDCH2w9rvARBKo= +=k/hC +-----END PGP SIGNATURE----- diff --git a/SOURCES/libreoffice-impress-symbolic.svg b/SOURCES/libreoffice-impress-symbolic.svg new file mode 100644 index 0000000..9a16f76 --- /dev/null +++ b/SOURCES/libreoffice-impress-symbolic.svg @@ -0,0 +1,25 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + diff --git a/SOURCES/libreoffice-main-symbolic.svg b/SOURCES/libreoffice-main-symbolic.svg new file mode 100644 index 0000000..6bd3103 --- /dev/null +++ b/SOURCES/libreoffice-main-symbolic.svg @@ -0,0 +1,24 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + diff --git a/SOURCES/libreoffice-math-symbolic.svg b/SOURCES/libreoffice-math-symbolic.svg new file mode 100644 index 0000000..66cd9e7 --- /dev/null +++ b/SOURCES/libreoffice-math-symbolic.svg @@ -0,0 +1,25 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + diff --git a/SOURCES/libreoffice-multiliblauncher.sh b/SOURCES/libreoffice-multiliblauncher.sh new file mode 100644 index 0000000..05c9d3f --- /dev/null +++ b/SOURCES/libreoffice-multiliblauncher.sh @@ -0,0 +1,16 @@ +#!/bin/sh +OOO_ARCH=$(uname -m) +case $OOO_ARCH in + x86_64 | s390x | sparc64 | aarch64) + OOO_LIB_DIR="/usr/lib64" + SECONDARY_LIB_DIR="/usr/lib" + ;; + * ) + OOO_LIB_DIR="/usr/lib" + SECONDARY_LIB_DIR="/usr/lib64" + ;; +esac +if [ ! -x $OOO_LIB_DIR/BRAND/program/LAUNCHER ]; then + OOO_LIB_DIR="$SECONDARY_LIB_DIR" +fi +exec $OOO_LIB_DIR/BRAND/program/LAUNCHER "$@" diff --git a/SOURCES/libreoffice-translations-24.8.4.2.tar.xz.asc b/SOURCES/libreoffice-translations-24.8.4.2.tar.xz.asc new file mode 100644 index 0000000..392bc92 --- /dev/null +++ b/SOURCES/libreoffice-translations-24.8.4.2.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwoOeytlAj76VMcPp9DSh76/urqMFAmdbXBQACgkQ9DSh76/u +rqN3Ng//Zmsx1bDZUIvdvLj0y2UdV6ucdVfEspSlRddEiAa86XI1jAAArlh39JTr +BTkmpxKiozJicqZ97rJcSI4rBt/Ch/8kS4K/87meuXZzB59aL6r6bxjM1KJfSUyg ++P4RjVSkAm1L7yjBSupIbrTNf3/b4mqAVWdEHkPxmv5cw0M0tuPDnL5P9ERLkyRT +zJY+k5tJ66Jz3ppd00awz9tS270pnwvv29qjgZBTI+jW8WWL1Kafx0wpTnWjfJ74 +fThhKksTJNeRKcO4qMndQdnYx0sCpE2PTKOOVB3xrmRc7S0gwCFmkMdSsBK62XG+ +HsZtiAvqtbXfWt47yowSWUThj+nCcnSQpfN8CFQ2xvcUMYnPvj2lduSbVpK8CGKu +f87ouev4Sl/b1UF850r+BwV/OEgKlQWl6sJB1r4jlvn20tw1xifcLOW10z0CoZji +UA5EVkaETkXSzD59qTNsErg8mWmdnfWkOmYOPPMUWgeCZUB4XUI0ybvYZKB2j4ga +iIcJJNDVDvaCE3pMibPj+OfvHJRrtquexhFUsxzR9qtwOEij/bikmqPJfrJss7S8 +1Mffggh6a4tNFu6W6negoomkABD9rTTiHVHt4O7NCmMgI1GlQdTAjRAxPM49VmUj +d3msAroZm09BJWmmdPWIp4045ZfodoERgGIJM41yaKnecyY3dJ8= +=m0E4 +-----END PGP SIGNATURE----- diff --git a/SOURCES/libreoffice-writer-symbolic.svg b/SOURCES/libreoffice-writer-symbolic.svg new file mode 100644 index 0000000..e97b545 --- /dev/null +++ b/SOURCES/libreoffice-writer-symbolic.svg @@ -0,0 +1,28 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + diff --git a/SOURCES/lo-7.6-ppc64le-tests.patch b/SOURCES/lo-7.6-ppc64le-tests.patch new file mode 100644 index 0000000..4732451 --- /dev/null +++ b/SOURCES/lo-7.6-ppc64le-tests.patch @@ -0,0 +1,19 @@ +diff -up libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx.orig libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx +--- libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx.orig 2023-08-21 13:15:31.738062821 +0200 ++++ libreoffice-7.6.0.3/testtools/source/bridgetest/bridgetest.cxx 2023-08-21 13:15:56.607246816 +0200 +@@ -469,6 +469,7 @@ static bool performTest( + equals(aData, aSV2ret) && equals(aData, aRet2), + "getValues2 test"); + } ++#if 0 + { + TwoFloats aIn(1.1f, 2.2f); + TwoFloats aOut = xLBT->echoTwoFloats(aIn); +@@ -479,6 +480,7 @@ static bool performTest( + FourFloats aOut = xLBT->echoFourFloats(aIn); + bRet = check( memcmp(&aIn, &aOut, sizeof(FourFloats)) == 0, "four floats struct test" ) && bRet; + } ++#endif + { + MixedFloatAndInteger aIn(7.7f, 8); + MixedFloatAndInteger aOut = xLBT->echoMixedFloatAndInteger(aIn); diff --git a/SPECS/libreoffice.spec b/SPECS/libreoffice.spec new file mode 100644 index 0000000..2f20d18 --- /dev/null +++ b/SPECS/libreoffice.spec @@ -0,0 +1,2401 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.7.3) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# download path contains version without the last (fourth) digit +%global libo_version 24.8.4 +# Should contain .alphaX / .betaX, if this is pre-release (actually +# pre-RC) version. The pre-release string is part of tarball file names, +# so we need a way to define it easily at one place. +%global libo_prerelease %{nil} +# Should contain any suffix of release tarball name, e.g., -buildfix1. +%global libo_buildfix %{nil} +# rhbz#715152 state vendor +%if 0%{?rhel} && ! 0%{?epel} && ! 0%{?eln} +%global vendoroption --with-vendor="Red Hat, Inc." +%endif +%if 0%{?fedora} +%global vendoroption --with-vendor="The Fedora Project" +%endif +%global libo_python python3 +%global libo_python_executable %{__python3} +%global libo_python_sitearch %{python3_sitearch} +# rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF +%global __jar_repack %{nil} +# make it easier to download sources from pre-release site +%if 0%{?prerelease} +%global source_url http://dev-builds.libreoffice.org/pre-releases/src +%else +%global source_url http://download.documentfoundation.org/libreoffice/src/%{libo_version} +%endif +# URL for external projects' tarballs +%global external_url http://dev-www.libreoffice.org/src +%global girapiversion 0.1 + +# get english only and no-langpacks for a faster smoketest build +# fedpkg compile/install/local/mockbuild does not handle --without ATM, +# so it is necessary to change this to bcond_with to achieve the same +# effect +%bcond_without langpacks + +# 'serverconfig' is tuned for non-interactive installs +# defaults off except on rhel for s390[x] and aarch64 +%if 0%{?rhel} +%ifarch s390 s390x aarch64 +%bcond_without serverconfig +%else +%bcond_with serverconfig +%endif +%else +%bcond_with serverconfig +%endif + +# Disable firebird for RHEL +%if 0%{?rhel} +%bcond_with firebird +%else +%bcond_without firebird +%endif + +# Handle KDE/Qt integration for Fedora and RHEL/EPEL +%if 0%{?rhel} && 0%{?rhel} < 10 +%bcond_with kf5 +%bcond_with kf6 +%endif + +# KDE Plasma 5 integration only for Fedora +%if 0%{?fedora} +%bcond_without kf5 +%endif + +# KDE Plasma 6 integration for Fedora and RHEL/EPEL 10+ +%if 0%{?fedora} || 0%{?rhel} >= 10 +%bcond_without kf6 +%endif + + +# generated by %%langpack definitions +%global langpack_langs %{nil} + +%global bundling_options %{nil} + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Summary: Free Software Productivity Suite +Name: libreoffice +Epoch: 1 +Version: %{libo_version}.2 +%if 0%{?libo_prerelease} +Release: %autorelease -e %{?libo_prerelease} +%else +Release: %autorelease +%endif +# default new files are: MPLv2 +# older files are typically: MPLv2 incorporating work under ASLv2 +# nlpsolver is: LGPLv3 +# icon-themes/karasa_jaga/COPYING: LGPLv3+ +# icon-themes/colibre/COPYING-ICONS: CC0 +# lotuswordpro is: Either LGPL 2.1 or SISSL 1.1 +# wizards/source/access2base: Either MPLv2 or LGPLv3+ +# writerperfect/source/common/DirectoryStream.cxx: MPLv2 or LGPLv2+ +# extras/source/autocorr/lang/hr/license.md: GPL 2.0 or LGPL2 or MPLv1.1 +# odk/examples/java/...: 3 clause BSD +License: MPL-2.0 AND Apache-2.0 AND LGPL-3.0-only AND LGPL-3.0-or-later AND CC0-1.0 AND BSD-3-Clause AND (LGPL-2.1-only OR SISSL) AND (MPL-2.0 OR LGPL-3.0-or-later) AND (MPL-2.0 OR LGPL-2.1-or-later) AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.1-only) AND MIT +URL: http://www.libreoffice.org/ + +Source0: %{source_url}/libreoffice-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz +Source1: %{source_url}/libreoffice-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc +Source2: %{source_url}/libreoffice-help-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz +Source3: %{source_url}/libreoffice-help-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc +Source4: %{source_url}/libreoffice-translations-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz +Source5: %{source_url}/libreoffice-translations-%{version}%{?libo_prerelease}%{?libo_buildfix}.tar.xz.asc +Source6: gpgkey-C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3.gpg.asc +Source7: http://dev-www.libreoffice.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll +Source8: libreoffice-multiliblauncher.sh + +Source9: %{external_url}/dtoa-20180411.tgz +Source11: %{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip + +# Unfortunately later versions of hsqldb changed the file format, so if we use a later version we lose +# backwards compatability. +# LibreOffice is also pinned to use hsqldb really old version 1.8.0 so there's currently no way building +# with system provided hsqldb without major hacking. +Source12: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip +Source13: %{external_url}/../extern/f543e6e2d7275557a839a164941c0a86e5f2c3f2a0042bfc434c88c6dde9e140-opens___.ttf +Source14: %{external_url}/Java-WebSocket-1.5.6.tar.gz +%global bundling_options %{?bundling_options} --without-system-hsqldb + +Provides: bundled(hsqldb) = 1.8.0 +Provides: bundled(xsltml) = 2.1.2 + +# symbolic icons +Source42: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-base-symbolic.svg +Source43: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-calc-symbolic.svg +Source44: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-draw-symbolic.svg +Source45: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-impress-symbolic.svg +Source46: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-main-symbolic.svg +Source47: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-math-symbolic.svg +Source48: https://raw.githubusercontent.com/gnome-design-team/gnome-icons/master/apps-symbolic/Adwaita/scalable/apps/libreoffice-writer-symbolic.svg + +# build tools +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bc +BuildRequires: binutils +BuildRequires: bison +BuildRequires: desktop-file-utils +BuildRequires: doxygen +BuildRequires: findutils +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: gnupg2 +BuildRequires: gperf +BuildRequires: hunspell-en-US +BuildRequires: icu +BuildRequires: libtool-ltdl-devel +BuildRequires: make +BuildRequires: mariadb-connector-c-devel +BuildRequires: patch +BuildRequires: perl(Digest::MD5) +BuildRequires: perl(FindBin) +BuildRequires: perl(base) +BuildRequires: perl(lib) +%if 0%{?fedora} +BuildRequires: glibc-all-langpacks +BuildRequires: libappstream-glib +%endif +BuildRequires: zip + +# libs / headers - common +BuildRequires: %{libo_python}-devel +BuildRequires: %{libo_python}-setuptools +BuildRequires: Box2D-devel +BuildRequires: boost-devel +BuildRequires: cups-devel +BuildRequires: dragonbox-static +BuildRequires: fontpackages-devel +%if %{with firebird} +BuildRequires: firebird-devel +%endif +BuildRequires: glm-devel +BuildRequires: hyphen-devel +BuildRequires: libjpeg-turbo-devel +BuildRequires: lpsolve-devel +BuildRequires: openldap-devel +BuildRequires: pam-devel +BuildRequires: pkgconfig(bluez) +BuildRequires: pkgconfig(dconf) +BuildRequires: pkgconfig(epoxy) +BuildRequires: pkgconfig(evolution-data-server-1.2) +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(hunspell) +BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libabw-0.1) +BuildRequires: pkgconfig(libargon2) +BuildRequires: pkgconfig(libcdr-0.1) +BuildRequires: pkgconfig(libclucene-core) +BuildRequires: pkgconfig(libcmis-0.6) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libetonyek-0.1) +BuildRequires: pkgconfig(libexttextcat) +BuildRequires: pkgconfig(libfreehand-0.1) +BuildRequires: pkgconfig(liblangtag) +BuildRequires: pkgconfig(libmspub-0.1) +BuildRequires: pkgconfig(libmwaw-0.3) +BuildRequires: pkgconfig(libodfgen-0.1) +BuildRequires: pkgconfig(libpagemaker-0.0) +BuildRequires: pkgconfig(libpq) +BuildRequires: pkgconfig(librevenge-0.0) +BuildRequires: pkgconfig(libstaroffice-0.0) +BuildRequires: pkgconfig(libtiff-4) +BuildRequires: pkgconfig(libvisio-0.1) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwpd-0.10) +BuildRequires: pkgconfig(libwpg-0.3) +BuildRequires: pkgconfig(libwps-0.4) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(libzmf-0.0) +BuildRequires: pkgconfig(mythes) +BuildRequires: pkgconfig(neon) +BuildRequires: pkgconfig(nss) +BuildRequires: pkgconfig(poppler) +BuildRequires: pkgconfig(poppler-cpp) +BuildRequires: pkgconfig(redland) +BuildRequires: pkgconfig(sane-backends) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xmlsec1-nss) +BuildRequires: pkgconfig(xt) +BuildRequires: pkgconfig(zlib) +BuildRequires: unixODBC-devel +BuildRequires: %{libo_python_executable} + +# Uncomment for backtraces +#BuildRequires: gdb + +# libs / headers - conditional +%if 0%{?fedora} || 0%{?rhel} >= 10 +BuildRequires: pkgconfig(libe-book-0.1) +%endif + +%if %{with kf5} +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtx11extras-devel +BuildRequires: kf5-kconfig-devel +BuildRequires: kf5-kcoreaddons-devel +BuildRequires: kf5-kdelibs4support-devel +BuildRequires: kf5-ki18n-devel +BuildRequires: kf5-kio-devel +BuildRequires: kf5-kwindowsystem-devel +%endif + +%if %{with kf6} +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtmultimedia-devel +BuildRequires: kf6-kconfig-devel +BuildRequires: kf6-kcoreaddons-devel +BuildRequires: kf6-ki18n-devel +BuildRequires: kf6-kio-devel +BuildRequires: kf6-kwindowsystem-devel +%endif + +BuildRequires: gpgmepp-devel +BuildRequires: pkgconfig(cppunit) >= 1.14.0 +BuildRequires: pkgconfig(graphite2) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(libeot) +BuildRequires: pkgconfig(libepubgen-0.1) +BuildRequires: pkgconfig(libqxp-0.0) +BuildRequires: pkgconfig(liborcus-0.18) +BuildRequires: pkgconfig(mdds-2.1) +BuildRequires: pkgconfig(zxing) +BuildRequires: libnumbertext-devel +BuildRequires: frozen-static +BuildRequires: zxcvbn-c-devel + +%ifarch %{java_arches} +# java stuff +BuildRequires: ant +BuildRequires: java-devel +BuildRequires: junit +BuildRequires: pentaho-reporting-flow-engine +%endif + +# fonts needed for tests +BuildRequires: dejavu-sans-fonts +BuildRequires: dejavu-serif-fonts +BuildRequires: google-carlito-fonts +BuildRequires: google-rubik-fonts +BuildRequires: google-crosextra-caladea-fonts +BuildRequires: google-noto-sans-hebrew-fonts +# Amiri used in vcl/qa/cppunit tests +BuildRequires: amiri-fonts +BuildRequires: amiri-quran-fonts +BuildRequires: liberation-mono-fonts +BuildRequires: liberation-narrow-fonts +BuildRequires: liberation-sans-fonts +BuildRequires: liberation-serif-fonts +BuildRequires: linux-libertine-fonts + +Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-draw%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-math%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-emailmerge%{?_isa} = %{epoch}:%{version}-%{release} + +# not upstreamed: upstream wants an automatic restart after a crash; we +# want a nice abrt report +Patch0: 0001-don-t-suppress-crashes.patch +# disable tip-of-the-day dialog by default +Patch1: 0001-disble-tip-of-the-day-dialog-by-default.patch +# rhbz#1736810 disable opencl by default again +Patch2: 0001-Resolves-rhbz-1432468-disable-opencl-by-default.patch +# not upstreamed +# fix FTB in ppc64le from sharkcz +# https://lists.freedesktop.org/archives/libreoffice/2023-August/090870.html +Patch11: lo-7.6-ppc64le-tests.patch +Patch12: cflags.patch +Patch500: 0001-disable-libe-book-support.patch +# https://lists.freedesktop.org/archives/libreoffice/2023-September/090948.html +Patch501: kahansum_test_fix_for_aarc64_s390x.patch + +%global instdir %{_libdir} +%global baseinstdir %{instdir}/libreoffice +%global sdkinstdir %{baseinstdir}/sdk +%global datadir %{_datadir}/%{name} +%global fontname opensymbol +# HACK: Get the data dir for -data subpackage. I haven't found any better +# way to do this... +%global oldname %{name} +%global name %{name}-data +%global lodatadocdir %{_pkgdocdir} +%global name %{oldname} + +%if 0%{?__isa_bits} == 64 +%global mark64 ()(64bit) +%endif + +%description +LibreOffice is an Open Source, community-developed, office productivity suite. +It includes the key desktop applications, such as a word processor, +spreadsheet, presentation manager, formula editor and drawing program, with a +user interface and feature set similar to other office suites. Sophisticated +and flexible, LibreOffice also works transparently with a variety of file +formats, including Microsoft Office File Formats. + +%package filters +Summary: All import / export filters +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-impress%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-xsltfilter%{?_isa} = %{epoch}:%{version}-%{release} + +%description filters +Metapackage to pull in all subpackages that contain import or export +filters. + +%package core +Summary: Core modules for LibreOffice +Requires: %{name}-%{fontname}-fonts = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +%if ! %{with serverconfig} +Requires: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release} +%endif +Requires: liberation-sans-fonts, liberation-serif-fonts, liberation-mono-fonts +Requires: google-crosextra-caladea-fonts, google-crosextra-carlito-fonts +Requires: %{name}-langpack-en = %{epoch}:%{version}-%{release} +%ifarch %{java_arches} +# rhbz#949106 libreoffice-core drags in both openjdk 1.7.0 and 1.8.0 +Recommends: java-headless >= 1:1.6 +%else +Obsoletes: libreoffice-nlpsolver < 1:7.4.0.0 +Obsoletes: libreoffice-officebean < 1:7.4.0.0 +Obsoletes: libreoffice-officebean-common < 1:7.4.0.0 +Obsoletes: libreoffice-wiki-publisher < 1:7.4.0.0 +%endif +Obsoletes: libreoffice-headless < 1:4.4.0.0 +Obsoletes: libreoffice-math-debuginfo < 1:6.4.7.2 +Provides: libreoffice-headless = %{epoch}:%{version}-%{release} +Provides: libreoffice-headless%{?_isa} = %{epoch}:%{version}-%{release} +Obsoletes: libreoffice-bsh < 1:7.3.0.4 +Obsoletes: libreoffice-rhino < 1:7.3.0.4 + +%description core +The shared core libraries and support files for LibreOffice. + +%package pyuno +Summary: Python support for LibreOffice +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{libo_python_executable} + +%description pyuno +Python bindings for the LibreOffice UNO component model. Allows scripts both +external to LibreOffice and within the internal LibreOffice scripting framework +to be written in python. + +%package base +Summary: Database front-end for LibreOffice +%if %{with firebird} +Requires: firebird +%endif +%ifarch %{java_arches} +Requires: java-headless >= 1:1.6 +%endif +Requires: pentaho-reporting-flow-engine +Requires: postgresql-jdbc +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description base +GUI database front-end for LibreOffice. Allows creation and management of +databases through a GUI. + +%ifarch %{java_arches} + +%package officebean +Summary: JavaBean for LibreOffice Components +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-officebean-common = %{epoch}:%{version}-%{release} + +%description officebean +Allows embedding of LibreOffice documents within the Java environment. It +provides a Java AWT window into which the backend LibreOffice process draws +its visual representation + +%package officebean-common +Summary: Common JavaBean for LibreOffice Components +Requires: %{name}-data = %{epoch}:%{version}-%{release} +BuildArch: noarch + +%description officebean-common +Arch-independent part of %{name}-officebean. + +%package wiki-publisher +Summary: Create Wiki articles on MediaWiki servers with LibreOffice +Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description wiki-publisher +The Wiki Publisher enables you to create Wiki articles on MediaWiki servers +without having to know the syntax of the MediaWiki markup language. Publish +your new and existing documents transparently with writer to a wiki page. + +%package nlpsolver +Summary: Non-linear solver engine for LibreOffice Calc +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-calc%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description nlpsolver +A non-linear solver engine for Calc as an alternative to the default linear +programming model when more complex, nonlinear programming is required. + +%endif + +%package ogltrans +Summary: 3D OpenGL slide transitions for LibreOffice +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description ogltrans +OpenGL Transitions enable 3D slide transitions to be used in LibreOffice. +Requires good quality 3D support for your graphics card for best experience. + +%package pdfimport +Summary: PDF Importer for LibreOffice Draw +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description pdfimport +The PDF Importer imports PDF into drawing documents to preserve layout +and enable basic editing of PDF documents. + +%package %{fontname}-fonts +Summary: LibreOffice dingbats font +Requires: fontpackages-filesystem +BuildArch: noarch + +%description %{fontname}-fonts +A dingbats font, OpenSymbol, suitable for use by LibreOffice for bullets and +mathematical symbols. + +%package writer +Summary: LibreOffice Word Processor Application +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description writer +The LibreOffice Word Processor application. + +%package emailmerge +Summary: Email mail-merge component for LibreOffice +Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} + +%description emailmerge +Enables the LibreOffice writer module to mail-merge to email. + +%package calc +Summary: LibreOffice Spreadsheet Application +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description calc +The LibreOffice Spreadsheet application. + +%package draw +Summary: LibreOffice Drawing Application +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-ogltrans%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description draw +The LibreOffice Drawing Application. + +%package impress +Summary: LibreOffice Presentation Application +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-ogltrans%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-graphicfilter%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description impress +The LibreOffice Presentation Application. + +%package math +Summary: LibreOffice Equation Editor Application +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pdfimport%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description math +The LibreOffice Equation Editor Application. + +%package graphicfilter +Summary: LibreOffice Extra Graphic filters +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-data = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description graphicfilter +The graphicfilter module for LibreOffice provides graphic filters, e.g. svg. + +%package xsltfilter +Summary: Optional xsltfilter module for LibreOffice +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} + +%description xsltfilter +The xsltfilter module for LibreOffice, provides additional docbook and +xhtml export transforms. Install this to enable docbook export. + +%package postgresql +Summary: PostgreSQL connector for LibreOffice +Requires: %{name}-base%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description postgresql +A PostgreSQL connector for the database front-end for LibreOffice. Allows +creation and management of PostgreSQL databases through a GUI. + +%package ure +Summary: UNO Runtime Environment +Requires: %{name}-ure-common = %{epoch}:%{version}-%{release} +Requires: unzip%{?_isa} +%ifarch %{java_arches} +#rhbz#1164551 we want to ensure that a libjvm.so of this arch is available +Requires: libjvm.so%{?mark64} +%endif + +%description ure +UNO is the component model of LibreOffice. UNO offers interoperability between +programming languages, other components models and hardware architectures, +either in process or over process boundaries, in the Intranet as well as in the +Internet. UNO components may be implemented in and accessed from any +programming language for which a UNO implementation (AKA language binding) and +an appropriate bridge or adapter exists + +%package ure-common +Summary: Common UNO Runtime Environment + +%description ure-common +Arch-independent part of %{name}-ure. + +%package sdk +Summary: Software Development Kit for LibreOffice +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Requires: unzip%{?_isa} +%ifarch %{java_arches} +Requires: java-devel +%endif + +%description sdk +The LibreOffice SDK is an add-on for the LibreOffice office suite. It provides +the necessary tools for programming using the LibreOffice APIs and for creating +extensions (UNO components) for LibreOffice. To set the build environment for +building against the sdk use %{sdkinstdir}/setsdkenv_unix.sh. + +%package sdk-doc +Summary: Software Development Kit documentation for LibreOffice + +%description sdk-doc +This provides documentation for programming using the LibreOffice APIs +and examples of creating extensions (UNO components) for LibreOffice. + +%package glade +Summary: Support for creating LibreOffice dialogs in glade +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} + +%description glade +%{name}-glade contains a catalog of LibreOffice-specific widgets for +glade tool to check the visual appearance of dialogs. + +%package librelogo +Summary: LibreLogo scripting language +Requires: %{name}-writer%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-pyuno%{?_isa} = %{epoch}:%{version}-%{release} + +%description librelogo +Enables LibreLogo scripting in Writer. LibreLogo is a Logo-like +programming language with interactive vectorgraphics for education and +DTP. + +%package data +Summary: LibreOffice data files + +%description data +%{name}-data contains platform-independent data files. + +%package x11 +Summary: LibreOffice generic X11 support plug-in +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release} +Supplements: (%{name}-core%{?_isa} and Xserver) + +%description x11 +A plug-in for LibreOffice that enables generic X11 support. + +%package gtk3 +Summary: LibreOffice GTK+ 3 integration plug-in +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Requires: gstreamer1(element-gtksink)%{?mark64} +Obsoletes: libreoffice-gtk2 < 1:6.2.0.0 +Obsoletes: libreoffice-gtk2-debuginfo < 1:6.2.0.0 +Supplements: (%{name}-core%{?_isa} and gtk3%{?_isa}) + +%description gtk3 +A plug-in for LibreOffice that enables integration into GTK+ 3 environment. + +%package gtk4 +Summary: LibreOffice GTK+ 4 experimental integration plug-in +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Supplements: (%{name}-core%{?_isa} and gtk4%{?_isa}) + +%description gtk4 +An experimental plug-in for LibreOffice that enables integration into GTK+ 4 environment. + +%if %{with kf5} + +%package kf5 +Summary: LibreOffice KDE Frameworks 5 integration plug-in +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release} +Obsoletes: libreoffice-kde4 < 1:6.3.0.0 +Obsoletes: libreoffice-kde5 < 1:6.4.7.3 +Obsoletes: libreoffice-kde4-debuginfo < 1:6.3.0.0 +Obsoletes: libreoffice-kde5-debuginfo < 1:6.4.7.3 +%if (0%{?fedora} && 0%{?fedora} < 40) +Supplements: (%{name}-core%{?_isa} and plasma-workspace) +%endif + +%description kf5 +A plug-in for LibreOffice that enables integration into the KDE Frameworks 5. + +%endif + +%if %{with kf6} + +%package kf6 +Summary: LibreOffice KDE Frameworks 6 integration plug-in +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin = %{epoch}:%{version}-%{release} +Provides: %{name}-plugin%{?_isa} = %{epoch}:%{version}-%{release} +Obsoletes: libreoffice-kde4 < 1:6.3.0.0 +Obsoletes: libreoffice-kde5 < 1:6.4.7.3 +Obsoletes: libreoffice-kde4-debuginfo < 1:6.3.0.0 +Obsoletes: libreoffice-kde5-debuginfo < 1:6.4.7.3 +Supplements: (%{name}-core%{?_isa} and plasma-workspace) + +%description kf6 +A plug-in for LibreOffice that enables integration into the KDE Frameworks 6. + +%endif + +%package -n libreofficekit +Summary: A library providing access to LibreOffice functionality +License: MPL-2.0 + +%description -n libreofficekit +LibreOfficeKit can be used to access LibreOffice functionality +through C/C++, without any need to use UNO. + +For now it only offers document conversion (in addition to an +experimental tiled rendering API). + +%package -n libreofficekit-devel +Summary: Development files for libreofficekit +Requires: libreofficekit%{?_isa} = %{epoch}:%{version}-%{release} +License: MPL-2.0 + +%description -n libreofficekit-devel +The libreofficekit-devel package contains libraries and header files for +developing applications that use libreofficekit. + +%if 0%{?_enable_debug_packages} + +%package gdb-debug-support +Summary: Additional support for debugging with gdb +Requires: gdb%{?_isa} +Requires: %{libo_python}-six +Requires: libreoffice-core%{?_isa} = %{epoch}:%{version}-%{release} +Supplements: libreoffice-debuginfo%{?_isa} + +%description gdb-debug-support +This package provides gdb pretty printers for package %{name}. + +%files gdb-debug-support +%{_datadir}/gdb/auto-load%{baseinstdir} +%{_datadir}/libreoffice/gdb + +%endif + +%define _langpack_common(Eg:j:l:) \ +%{!-E: \ +%{baseinstdir}/program/resource/%{-g:%{-g*}}%{!-g:%{-l*}} \ +%{baseinstdir}/share/registry/res/registry_%{-l*}.xcd \ +} \ +%{baseinstdir}/share/template/%{-l*} \ +%{baseinstdir}/share/registry/Langpack-%{-l*}.xcd \ +%{baseinstdir}/share/registry/res/fcfg_langpack_%{-l*}.xcd \ +%{baseinstdir}/share/wizards/resources_%{-j:%{-j*}}%{!-j:%{-l*}}.properties \ +%{nil} + +# Defines a language pack subpackage. +# +# It's necessary to define language code (-l) and language name (-n). +# Additionally, it's possible +# * to require autocorr, hunspell, hyphen or mythes package or font for +# given language, +# * to provide libreoffice-langpack-loc package, where loc is glibc +# locale--this is necessary for yum to pick it automatically, +# * to require other, unrelated, packages, +# * to specify file serving as file list. +# For these, lower case character argument takes an argument specifying +# language, upper case character argument uses language from -l. +# +# All remaining arguments are considered to be files and added to the file +# list. +# +# Aa: autocorr dependency +# c: additional config file (just the name stem) +# E: base (US English) langpack +# Ff: font language dependency +# g: glibc/java locale +# Hh: hunspell dependency +# i: additional language added to this package +# j: java locale for the additional language +# k: glibc locale for the additional language +# L: internal (LibreOffice) language code, used in file names +# l: language code, e.g., cs +# Mm: mythes dependency +# n: language name, e.g., Czech +# p: Provides: of libreoffice-langpack +# r: comma-separated list of additional requires +# S:s: script classification (cjk, ctl). -S is only a marker, as it does +# not add any .xcd into the package (the file does not exist for at +# least one CTL-using locale, si) +# T has help files +# Xx: has autotext definitions +# Yy: hyphen dependency +# +# Example: +# libreoffice-langpack-cs: langpack for Czech lang. requiring hyphen-cs, +# autocorr-cs, mythes-cs-CZ and suitable font: +# %%langpack -l cs -n Czech -H -A -m cs-CZ +# b de q tu z BCD G IJK N PQR U Z0123456789 +%define langpack(Aa:c:EFf:g:Hh:i:j:k:L:l:Mm:n:p:r:S:s:TXx:Yy:) \ +%define lang %{-l:%{-l*}}%{!-l:%{error:Language code not defined}} \ +%define _langpack_lang %{-L:%{-L*}}%{!-L:%{lang}} \ +%define pkgname langpack-%{lang} \ +%define langname %{-n:%{-n*}}%{!-n:%{error:Language name not defined}} \ +\ +%global langpack_langs %{langpack_langs} %{_langpack_lang} %{-i:%{-i*}} \ +\ +%package %{pkgname} \ +Summary: %{langname} language pack for LibreOffice \ +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \ +%{-a:Requires: autocorr-%{-a*}}%{!-a:%{-A:Requires: autocorr-%{lang}}} \ +%{-f:Recommends: langpacks-%{-f*}}%{!-f:%{-F:Recommends: langpacks-%{lang}}} \ +%{-h:Requires: hunspell-%{-h*}}%{!-h:%{-H:Requires: hunspell-%{lang}}} \ +%{-m:Requires: mythes-%{-m*}}%{!-m:%{-M:Requires: mythes-%{lang}}} \ +%{-y:Requires: hyphen-%{-y*}}%{!-y:%{-Y:Requires: hyphen-%{lang}}} \ +%{-r:Requires: %{-r*}} \ +%{-p:Provides: %{name}-langpack-%{-p*} = %{epoch}:%{version}-%{release}} \ +%{-p:Provides: %{name}-langpack-%{-p*}%{?_isa} = %{epoch}:%{version}-%{release}} \ +%{-p:Supplements: (%{name}-core%{?_isa} and langpacks-%{-p*})} \ +%{!-p:Supplements: (%{name}-core%{?_isa} and langpacks-%{lang})} \ +%if 0%{?rhel} \ +%{-T:Requires: %{name}-help-%{lang}} \ +%else \ +%{-T:Recommends: %{name}-help-%{lang}} \ +%endif \ +\ +%description %{pkgname} \ +Provides additional %{langname} translations and resources for LibreOffice. \ +\ +%{-T: \ +%package help-%{lang} \ +Summary: %{langname} help for LibreOffice \ +Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} \ +\ +%description help-%{lang} \ +Provides %{langname} help for LibreOffice. \ +\ +%files help-%{lang} \ +%docdir %{baseinstdir}/help/%{_langpack_lang} \ +%{baseinstdir}/help/%{_langpack_lang} \ +} \ +\ +%files %{pkgname} \ +%{expand:%%_langpack_common %{-E} -l %{_langpack_lang} %{-g:-g %{-g*} -j %{-g*}}} \ +%{-x:%{baseinstdir}/share/autotext/%{-x*}}%{!-x:%{-X:%{baseinstdir}/share/autotext/%{_langpack_lang}}} \ +%{-c:%{baseinstdir}/share/registry/%{-c*}.xcd} \ +%{-s:%{baseinstdir}/share/registry/%{-s*}_%{_langpack_lang}.xcd} \ +%{-i:%{expand:%%_langpack_common %{-E} -l %{-i*} %{-k:-g %{-k*}} %{-j:-j %{-j*}}}} \ +%{nil} + +# Defines an auto-correction subpackage. +# +# i: add autocorrections from additional language +# l: language code +# n: language name +# L the filename does not contain country code +# +# All remaining arguments are considered to be files and added to the file +# list. +%define autocorr(i:Ll:n:) \ +%define lang %{-l:%{-l*}}%{!-l:%{error:Language code not defined}} \ +%define pkgname autocorr-%{lang} \ +%define langname %{-n:%{-n*}}%{!-n:%{error:Language name not defined}} \ +\ +%package -n %{pkgname} \ +Summary: %{langname} auto-correction rules \ +BuildArch: noarch \ +\ +%description -n %{pkgname} \ +Rules for auto-correcting common %{langname} typing errors. \ +\ +%files -n %{pkgname} \ +%doc instdir/LICENSE \ +%dir %{_datadir}/autocorr \ +%{-L:%{_datadir}/autocorr/acor_%{lang}.dat} \ +%{!-L:%{_datadir}/autocorr/acor_%{lang}-*.dat} \ +%{nil} + +%langpack -l en -n English -F -h en-US -Y -M -A -E -L en-US -T -X -g en_US + +%if %{with langpacks} + +%langpack -l af -n Afrikaans -F -H -Y -A -X +%langpack -l ar -n Arabic -F -H -s ctl -T -X +%langpack -l as -n Assamese -F -H -Y -X +%langpack -l bg -n Bulgarian -F -H -Y -M -A -T -X +%langpack -l bn -n Bengali -F -H -Y -T -X +%langpack -l br -n Breton -F -H -X +%langpack -l ca -n Catalan -F -H -Y -M -A -T -X +%langpack -l cs -n Czech -F -H -Y -M -A -T -X +%langpack -l cy -n Welsh -F -H -Y -X +%langpack -l da -n Danish -F -H -Y -M -A -T -X +%langpack -l de -n German -F -H -Y -M -A -T -X +%langpack -l dz -n Dzongkha -F -s ctl -T -X +%langpack -l el -n Greek -F -H -Y -M -A -T -X +%langpack -l eo -n Esperanto -F -H -M -T -X +%langpack -l es -n Spanish -F -H -Y -M -A -T -X +%langpack -l et -n Estonian -F -H -Y -T -X +%langpack -l eu -n Basque -F -H -Y -T -X +%langpack -l fa -n Farsi -A -H -Y -s ctl -X +%langpack -l fi -n Finnish -F -r libreoffice-voikko -A -T -X +%langpack -l fr -n French -F -H -Y -M -A -T -X +%langpack -l fy -n Frisian -F -H -X +%langpack -l ga -n Irish -F -H -Y -M -A -X +%langpack -l gl -n Galician -F -H -Y -T -X +%langpack -l ka -n Georgian -F -T -X +%langpack -l gu -n Gujarati -F -H -Y -s ctl -T -X +%langpack -l he -n Hebrew -F -H -s ctl -T -X +%langpack -l hi -n Hindi -F -H -Y -s ctl -T -X +%langpack -l hr -n Croatian -F -H -Y -A -T -X +%langpack -l hu -n Hungarian -F -H -Y -M -A -T -X +%{baseinstdir}/share/wordbook/hu_AkH11.dic +%langpack -l id -n Indonesian -F -H -Y -T -X +%langpack -l it -n Italian -F -H -Y -M -A -T -X +%langpack -l ja -n Japanese -F -A -s cjk -T -X +%langpack -l kk -n Kazakh -F -H -X +%langpack -l kn -n Kannada -F -H -Y -X +%langpack -l ko -n Korean -F -H -A -s cjk -T -X +%langpack -l lt -n Lithuanian -F -H -Y -A -T -X +%langpack -l lv -n Latvian -F -H -Y -M -T -X +%langpack -l mai -n Maithili -F -X +%langpack -l ml -n Malayalam -F -H -Y -X +%langpack -l mr -n Marathi -F -H -Y -X +%langpack -l nb -n Bokmal -F -H -Y -M -T -X +%langpack -l nl -n Dutch -F -H -Y -M -A -T -X +%langpack -l nn -n Nynorsk -F -H -Y -M -T -X +%define langpack_lang Southern Ndebele +%langpack -l nr -n %{langpack_lang} -F -H -X +%define langpack_lang Northern Sotho +%langpack -l nso -n %{langpack_lang} -F -H -X +%langpack -l or -n Odia -F -H -Y -s ctl -X +%langpack -l pa -n Punjabi -F -H -Y -s ctl -L pa-IN -g pa_IN -X +%langpack -l pl -n Polish -F -H -Y -M -A -T -X + +%if 0%{?rhel} > 9 + +%define langpack_lang Brazilian Portuguese +%langpack -l pt-BR -n %{langpack_lang} -f pt_BR -H -Y -m pt -a pt -p pt_BR -T -X -g pt_BR + +%else + +%define langpack_lang Brazilian Portuguese +%langpack -l pt-BR -n %{langpack_lang} -f pt_BR -h pt -y pt -m pt -a pt -p pt_BR -T -X -g pt_BR + +%endif + +%langpack -l pt-PT -n Portuguese -f pt -h pt -y pt -m pt -a pt -p pt_PT -T -L pt -x pt +%langpack -l ro -n Romanian -A -F -H -Y -M -T -X +%langpack -l ru -n Russian -F -H -Y -M -A -T -X +%langpack -l si -n Sinhalese -F -H -S ctl -T -X +%langpack -l sk -n Slovak -F -H -Y -M -A -T -X +%langpack -l sl -n Slovenian -F -H -Y -M -A -T -X +%{baseinstdir}/share/wordbook/sl.dic + +#rhbz#452379 clump serbian translations together +%langpack -l sr -n Serbian -F -H -Y -A -i sr-Latn -k sr@latin -j sr_Latn -x sr* +%langpack -l ss -n Swati -F -H -X +%define langpack_lang Southern Sotho +# note that langpacks-st seems to be missing as of the time of writing, so no -F here +%langpack -l st -n %{langpack_lang} -H -X +%langpack -l sv -n Swedish -F -H -Y -M -A -T -X +%langpack -l ta -n Tamil -F -H -Y -s ctl -T -X +%langpack -l te -n Telugu -F -H -Y -X +%langpack -l th -n Thai -F -H -s ctl -c ctlseqcheck_th -X +%langpack -l tn -n Tswana -F -H -X +%langpack -l tr -n Turkish -F -A -T -X +%langpack -l ts -n Tsonga -F -H -X +%langpack -l uk -n Ukrainian -F -H -Y -M -T -X +%langpack -l ve -n Venda -F -H -X +%langpack -l xh -n Xhosa -F -H -X + +%define langpack_lang Simplified Chinese +%langpack -l zh-Hans -n %{langpack_lang} -f zh_CN -a zh -p zh_CN -s cjk -T -L zh-CN -x zh-CN -g zh_CN +%{baseinstdir}/share/template/common/l10n/zh_CN_ott_normal.ott + +%define langpack_lang Traditional Chinese +%langpack -l zh-Hant -n %{langpack_lang} -f zh_TW -a zh -p zh_TW -s cjk -T -L zh-TW -x zh-TW -g zh_TW + +%langpack -l zu -n Zulu -F -H -Y -X +%undefine langpack_lang + +%endif + +%autocorr -l en -n English + +%if %{with langpacks} + +%autocorr -l af -n Afrikaans +%autocorr -l bg -n Bulgarian +%autocorr -l ca -n Catalan +%autocorr -l cs -n Czech +%autocorr -l da -n Danish +%autocorr -l de -n German -L +%define autocorr_lang Lower Sorbian +%autocorr -l dsb -n %{autocorr_lang} -L +%autocorr -l el -n Greek +%autocorr -l es -n Spanish -L +%autocorr -l fa -n Farsi +%autocorr -l fi -n Finnish +%autocorr -l fr -n French -L +%autocorr -l ga -n Irish +%autocorr -l hr -n Croatian +%define autocorr_lang Upper Sorbian +%autocorr -l hsb -n %{autocorr_lang} -L +%autocorr -l hu -n Hungarian +%autocorr -l is -n Icelandic +%autocorr -l it -n Italian -L +%autocorr -l ja -n Japanese +%autocorr -l ko -n Korean +%autocorr -l lb -n Luxembourgish +%autocorr -l lt -n Lithuanian +%autocorr -l mn -n Mongolian +%autocorr -l nl -n Dutch +%autocorr -l pl -n Polish +%autocorr -l pt -n Portuguese +%autocorr -l ro -n Romanian +%autocorr -l ru -n Russian +%autocorr -l sk -n Slovak +%autocorr -l sl -n Slovenian +%autocorr -l sr -n Serbian +%autocorr -l sv -n Swedish +%autocorr -l th -n Thai +%autocorr -l tr -n Turkish +%autocorr -l vi -n Vietnamese +%autocorr -l vro -n Võro +%autocorr -l zh -n Chinese + +%endif + +%define make_autocorr_aliases(l:) \ +%{?-l: \ +for lang in %{*}; do \ + ln -sf acor_%{-l*}.dat acor_$lang.dat \ +done \ +} \ +%{!?-l:%{error:-l must be present}} + +%prep +# verify tarballs +gpg2 --dearmor < %{SOURCE6} > keyring.gpg +gpgv2 --keyring ./keyring.gpg %{SOURCE1} %{SOURCE0} +gpgv2 --keyring ./keyring.gpg %{SOURCE3} %{SOURCE2} +gpgv2 --keyring ./keyring.gpg %{SOURCE5} %{SOURCE4} + +%setup -q -n %{name}-%{version}%{?libo_prerelease} -b 2 -b 4 +rm -rf git-hooks */git-hooks + +#Customize Palette to add Red Hat colours +(head -n -1 extras/source/palettes/standard.soc && \ + echo -e ' + + + + ' && \ + tail -n 1 extras/source/palettes/standard.soc) > redhat.soc +mv -f redhat.soc extras/source/palettes/standard.soc + +# apply patches +%autopatch -p1 -M 99 +%if ! (0%{?fedora} || 0%{?rhel} >= 10) +%patch -P 500 -p1 +%endif + +%ifarch aarch64 s390x ppc64le +%patch -P 501 -p1 +%endif + +# Temporarily disable failing tests +%ifarch ppc64le +sed -i -e s/CppunitTest_dbaccess_RowSetClones// dbaccess/Module_dbaccess.mk +# the following actually succeeded as of 2024-02-23, remove if it succeeds again. +#sed -i -e s/CppunitTest_dbaccess_hsqldb_test// dbaccess/Module_dbaccess.mk +%endif +%ifarch aarch64 +# Nothing to do +%endif +%ifarch s390x +# SwMacrosTest::testVba fails +sed -i -e s/CppunitTest_sw_macros_test// sw/Module_sw.mk +# https://bugs.documentfoundation.org/show_bug.cgi?id=125978 +sed -i -e s/CustomTarget_uno_test// testtools/Module_testtools.mk +# failing testTdf149402_vba +sed -i -e s/CppunitTest_basic_macros// basic/Module_basic.mk +# Other test exclusions pointed out by sharkcz +sed -i -e /CppunitTest_vcl_svm_test/d vcl/Module_vcl.mk +sed -i -e /CppunitTest_sw_core_layout/d sw/Module_sw.mk +# https://bugs.documentfoundation.org/show_bug.cgi?id=158722 +sed -i -e /CppunitTest_desktop_lib/d desktop/Module_desktop.mk +# https://bugs.documentfoundation.org/show_bug.cgi?id=159184 +sed -i -e /CppunitTest_vcl_png_test/d vcl/Module_vcl.mk +# https://bugs.documentfoundation.org/show_bug.cgi?id=159211 +sed -i -e /CppunitTest_sd_png_export_tests/d sd/Module_sd.mk +sed -i -e /CppunitTest_sw_core_text/d sw/Module_sw.mk +%endif +%ifarch riscv64 +# Failed test on RV64 +# confimed on 2024-06-01, version 24.2.3.2 +sed -i -e s/CustomTarget_uno_test// testtools/Module_testtools.mk +sed -i -e s/CppunitTest_sw_macros_test// sw/Module_sw.mk +# https://bugs.documentfoundation.org/show_bug.cgi?id=152943 +sed -i -e s/CppunitTest_sc_ucalc_formula2// sc/Module_sc.mk +%endif +%ifarch x86_64 +%if 0%{?rhel} >= 10 +# Test already limited to x86, also fails with x86-64-v3 +sed -i -e 's/defined X86_64/0/' sc/qa/unit/functions_array.cxx +%endif +%endif + +#see rhbz#2072615 +rm -f vcl/qa/cppunit/graphicfilter/data/tiff/fail/CVE-2017-9936-1.tiff + +# Failing on multiple arches +sed -i -e /CppunitTest_svgio/d svgio/Module_svgio.mk +sed -i -e /CppunitTest_sw_layoutwriter3/d sw/Module_sw.mk +sed -i -e /CppunitTest_sc_pdf_export/d sc/Module_sc.mk + +%build +# path to external tarballs +EXTSRCDIR=`dirname %{SOURCE0}` + +#use the RPM_OPT_FLAGS but remove the LibreOffice overridden ones +for i in $RPM_OPT_FLAGS; do + case "$i" in + -pipe|-Wall|-Werror*|-fexceptions) continue;; + esac + ARCH_FLAGS="$ARCH_FLAGS $i" +done +%ifarch s390 s390x %{arm} +# these builders typically do not have enough memory to link the big libs with -g2 +ARCH_FLAGS="$ARCH_FLAGS -g1" +%endif +export ARCH_FLAGS +export CFLAGS="$ARCH_FLAGS -I%{_includedir}/zxcvbn -I%{_includedir}/KF6/KConfig/" +export CXXFLAGS="$ARCH_FLAGS -I%{_includedir}/zxcvbn -I%{_includedir}/KF6/KConfig/" + +# Distro build options +%define distrooptions --enable-eot %{!?with_firebird:--disable-firebird-sdbc} %{?with_kf5:--enable-kf5} %{?with_kf6:--enable-kf6} + +%ifarch %{java_arches} +%define javaoptions --with-java --enable-ext-nlpsolver --enable-ext-wiki-publisher +%else +%define javaoptions --without-java +%endif + +%if %{with langpacks} +%define with_lang --with-lang='%{langpack_langs}' +%endif + +#aclocal -I m4 +#autoconf + +SMP_MFLAGS=%{?_smp_mflags} +SMP_MFLAGS=$[${SMP_MFLAGS/-j/}] + +%if 0%{?flatpak} +%define flatpakoptions --with-beanshell-jar=/app/share/java/bsh.jar --with-boost-libdir=%{_libdir} --with-external-dict-dir=/app/share/hunspell --with-external-hyph-dir=/app/share/hyphen --with-external-thes-dir=/app/share/mythes --with-flute-jar=/app/share/java/flute.jar --with-jdk-home=/app/lib/jvm/java --with-jfreereport-jar=/app/share/java/flow-engine.jar --with-libbase-jar=/app/share/java/libbase.jar --with-libfonts-jar=/app/share/java/libfonts.jar --with-libformula-jar=/app/share/java/libformula.jar --with-liblayout-jar=/app/share/java/liblayout.jar --with-libloader-jar=/app/share/java/libloader.jar --with-librepository-jar=/app/share/java/librepository.jar --with-libserializer-jar=/app/share/java/libserializer.jar --with-libxml-jar=/app/share/java/libxml.jar --with-sac-jar=/app/share/java/sac.jar FIREBIRDCONFIG=%{_libdir}/fb_config QT4INC=%{_includedir} +%endif + +# TODO: enable coinmp? +# avoid running autogen.sh on make +touch autogen.lastrun +%configure \ + %vendoroption \ + %{?with_lang} \ + --with-parallelism=$SMP_MFLAGS \ + --disable-coinmp \ + --disable-community-flavor \ + --disable-fetch-external \ + --disable-openssl \ + --disable-pdfium \ + --disable-skia \ + --enable-dconf \ + --enable-evolution2 \ + --enable-introspection \ + --enable-odk \ + --enable-release-build \ + --enable-symbols \ + --with-external-dict-dir=/usr/share/hunspell \ + --with-external-tar="$EXTSRCDIR" \ + --with-help \ + --with-system-dicts \ + --with-system-libs \ + --without-export-validation \ + --without-fonts \ + --without-lxml \ + --without-system-libfixmath \ + --enable-python=system \ + --disable-scripting-beanshell --disable-scripting-javascript \ + --enable-gtk4 \ + %{javaoptions} \ + %{distrooptions} \ + %{?bundling_options} \ + %{?archoptions} \ + %{?flatpakoptions} \ + --with-system-zxcvbn + +if ! %make_build; then + echo "build attempt 1 failed" + make verbose=true build +fi + +#generate the icons and mime type stuff +export DESTDIR=../output +export KDEMAINDIR=/usr +export GNOMEDIR=/usr +export GNOME_MIME_THEME=hicolor +export PREFIXDIR=/usr +# TODO use empty variables? Should make the renaming hacks in %%install +# unnecessary. +. ./bin/get_config_variables PRODUCTVERSIONSHORT PRODUCTVERSION SRCDIR WORKDIR PKG_CONFIG INSTDIR +pushd $WORKDIR/CustomTarget/sysui/share/libreoffice +./create_tree.sh +popd +mkdir $WORKDIR/os-integration +cp -pr $WORKDIR/CustomTarget/sysui/share/output/usr/share/* $WORKDIR/os-integration +cp -pr $WORKDIR/CustomTarget/sysui/share/libreoffice/LOKDocView-%{girapiversion}.* $WORKDIR/os-integration + +%install +# remove workdir before install, to allow build on space-constrained machines +# remove the biggest offenders +rm -rf $WORKDIR/CxxObject $WORKDIR/GenCxxObject $WORKDIR/HelpTarget $WORKDIR/LinkTarget + +# TODO investigate use of make distro-pack-install +#figure out the icon version +. ./bin/get_config_variables PRODUCTVERSIONSHORT PRODUCTVERSION SRCDIR WORKDIR +export PRODUCTVERSIONSHORT PRODUCTVERSION + +# installation + +install -m 0755 -d %{buildroot}%{instdir} +if ! make instsetoo_native PKGFORMAT=installed DISABLE_STRIP=1 EPM=not-used-but-must-be-set; then + echo - ---dump log start--- + cat $WORKDIR/installation/LibreOffice/installed/logging/en-US/log_*_en-US.log + echo - ---dump log end--- + echo - ---dump log start -- SDK--- + cat $WORKDIR/installation/LibreOffice_SDK/installed/logging/en-US/log_*_en-US.log + echo - ---dump log end -- SDK--- + echo - ---dump log start -- languagepacks--- + cat $WORKDIR/installation/LibreOffice_languagepack/installed/logging/en-US/log_*_en-US.log + echo - ---dump log end -- languagepacks--- + exit 1 +fi +install -m 0755 -d %{buildroot}%{baseinstdir} +mv $WORKDIR/installation/LibreOffice/installed/install/en-US/* %{buildroot}%{baseinstdir} +%if %{with langpacks} +for langpack in $WORKDIR/installation/LibreOffice_languagepack/installed/install/*; do + [ `basename $langpack` = log ] && continue + cp -rp $langpack/* %{buildroot}%{baseinstdir} + rm -rf $langpack +done +%endif +mv $WORKDIR/installation/LibreOffice_SDK/installed/install/en-US/sdk %{buildroot}%{sdkinstdir} +chmod -R +w %{buildroot}%{baseinstdir} + +# postprocessing and tweaks + +# The installer currently sets UserInstallation to +# $ORIGIN/../libreoffice/4, which is of course total nonsense. Because I +# have no inclination to crawl through mountains of perl code to figure out +# where it comes from, I am just going to replace it by a sensible +# value here. +sed -i -e '/UserInstallation/s@\$ORIGIN/..@$SYSUSERCONFIG@' %{buildroot}%{baseinstdir}/program/bootstraprc + +#configure sdk +pushd %{buildroot}%{sdkinstdir} + sed -e "s,@OO_SDK_NAME@,sdk," \ + -e "s,@OO_SDK_HOME@,%{sdkinstdir}," \ + -e "s,@OFFICE_HOME@,%{baseinstdir}," \ + -e "s,@OO_SDK_MAKE_HOME@,/usr/bin," \ + -e "s,@OO_SDK_ZIP_HOME@,/usr/bin," \ + -e "s,@OO_SDK_CPP_HOME@,/usr/bin," \ + -e "s,@OO_SDK_CAT_HOME@,/usr/bin," \ + -e "s,@OO_SDK_SED_HOME@,/usr/bin," \ + -e "s,@OO_SDK_CC_55_OR_HIGHER@,," \ + -e "s,@OO_SDK_JAVA_HOME@,$JAVA_HOME," \ + -e "s,@OO_SDK_OUTPUT_DIR@,\$HOME," \ + -e "s,@SDK_AUTO_DEPLOYMENT@,NO," \ + setsdkenv_unix.sh.in > setsdkenv_unix.sh + # ensure no unexpanded vars sneaked in + grep '@[A_Z0-9_]\+@' setsdkenv_unix.sh && exit 1 + chmod 755 setsdkenv_unix.sh + # we don't want to install the input file + rm -f setsdkenv_unix.sh.in +# TODO: is this still necessary? +#fix permissions + find examples -type f -exec chmod -x {} \; +popd + +#ensure a template dir for each lang +pushd %{buildroot}%{baseinstdir}/share/template +for I in %{langpack_langs}; do + mkdir -p $I +done +popd + +#Set some aliases to canonical autocorrect language files for locales with matching languages +pushd %{buildroot}%{baseinstdir}/share/autocorr + +%make_autocorr_aliases -l en-GB en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT +%make_autocorr_aliases -l en-US en-PH +#en-ZA exists and has a good autocorrect file with two or three extras that make sense for +#neighbouring english speaking territories +%make_autocorr_aliases -l en-ZA en-NA en-ZW +%if %{with langpacks} +%make_autocorr_aliases -l af-ZA af-NA +%make_autocorr_aliases -l nl-NL nl-AW +%make_autocorr_aliases -l sv-SE sv-FI +%else +rm -f acor_[a-df-z]*.dat acor_e[lsu]*.dat +%endif +popd +#rhbz#484055 make these shared across multiple applications +install -m 0755 -d %{buildroot}%{_datadir} +mv -f %{buildroot}%{baseinstdir}/share/autocorr %{buildroot}%{_datadir}/autocorr +chmod 755 %{buildroot}%{_datadir}/autocorr +ln -s %{_datadir}/autocorr %{buildroot}%{baseinstdir}/share/autocorr + +#remove it in case we didn't build with gcj +rm -f %{buildroot}%{baseinstdir}/program/classes/sandbox.jar +# we don't need this in the install +rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar + +#remove dummy .dat files +rm -f %{buildroot}%{baseinstdir}/program/root?.dat + +#set standard permissions for rpmlint +find %{buildroot}%{baseinstdir} -exec chmod +w {} \; +find %{buildroot}%{baseinstdir} -type d -exec chmod 0755 {} \; + +# move python bits into site-packages +install -m 0755 -d %{buildroot}%{libo_python_sitearch} +pushd %{buildroot}%{libo_python_sitearch} +echo "import sys, os" > uno.py +echo "sys.path.append('%{baseinstdir}/program')" >> uno.py +echo "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:%{baseinstdir}/program/fundamentalrc')" >> uno.py +cat %{buildroot}%{baseinstdir}/program/uno.py >> uno.py +rm -f %{buildroot}%{baseinstdir}/program/uno.py* +mv -f %{buildroot}%{baseinstdir}/program/unohelper.py* . +mv -f %{buildroot}%{baseinstdir}/program/officehelper.py* . +popd + +#https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3 +%py_byte_compile %{libo_python_executable} %{buildroot}%{baseinstdir}/program +rm -rf %{buildroot}%{baseinstdir}/program/__pycache__ + +# rhbz#477435 package opensymbol separately +pushd %{buildroot}%{baseinstdir}/program/resource/common/fonts +install -d -m 0755 %{buildroot}%{_fontdir} +install -p -m 0644 *.ttf %{buildroot}%{_fontdir} +popd +rm -rf %{buildroot}%{baseinstdir}/program/resource/common/fonts/*ttf +rm -rf %{buildroot}%{baseinstdir}/share/fonts/truetype/*.ttf + +# move platform-independent data into shared dir +install -m 0755 -d %{buildroot}%{datadir} +rm -f %{buildroot}%{baseinstdir}/CREDITS.fodt %{buildroot}%{baseinstdir}/LICENSE* %{buildroot}%{baseinstdir}/NOTICE +# rhbz#1473749 ensure display of files in license/about dialogs works +ln -sr %{buildroot}%{lodatadocdir}/CREDITS.fodt %{buildroot}%{baseinstdir}/CREDITS.fodt +ln -sr %{buildroot}%{lodatadocdir}/LICENSE.html %{buildroot}%{baseinstdir}/LICENSE.html + +#ensure that no sneaky un-prelinkable, un-fpic or non executable shared libs +#have snuck through +pic=0 +executable=0 +for foo in `find %{buildroot}%{instdir} -name "*" -exec file {} \;| grep ": ELF" | cut -d: -f 1` ; do + chmod +wx $foo + ls -asl $foo + result=`readelf -d $foo | grep TEXTREL` || true + if [ "$result" != "" ]; then + echo "TEXTREL Warning: $foo is b0rked (-fpic missing)" + pic=1 + fi + result=`readelf -l $foo | grep GNU_STACK | grep RWE` || true + if [ "$result" != "" ]; then + echo "GNU_STACK Warning: $foo is b0rked (-noexecstack missing)" + executable=1 + fi +done +if [ $pic == 1 ]; then false; fi +if [ $executable == 1 ]; then false; fi + +#make up some /usr/bin scripts +install -m 0755 -d %{buildroot}%{_bindir} + +pushd %{buildroot}%{_bindir} +echo \#\!/bin/sh > ooffice +echo exec libreoffice \"\$@\" >> ooffice +chmod a+x ooffice + +echo \#\!/bin/sh > ooviewdoc +echo exec libreoffice --view \"\$@\" >> ooviewdoc +chmod a+x ooviewdoc + +for app in base calc draw impress math writer; do + echo \#\!/bin/sh > oo$app + echo exec libreoffice --$app \"\$@\" >> oo$app + chmod a+x oo$app +done + +sed -e s/LAUNCHER/unopkg/g -e s/BRAND/libreoffice/g %{SOURCE8} > unopkg +chmod a+x unopkg + +sed -e s/LAUNCHER/soffice/g -e s/BRAND/libreoffice/g %{SOURCE8} > libreoffice +chmod a+x libreoffice + +%if 0%{?flatpak} +sed -i -e 's|/usr/lib|/app/lib|g' unopkg libreoffice +%endif + +# rhbz#499474 provide a /usr/bin/soffice for .recently-used.xbel +ln -s %{baseinstdir}/program/soffice soffice +# rhbz#499474 provide a /usr/bin/openoffice.org for backwards compat +ln -s libreoffice openoffice.org +popd + +pushd %{buildroot}%{baseinstdir}/share/xdg/ +chmod u+w *.desktop +ICONVERSION=`echo $PRODUCTVERSION | sed -e 's/\.//'` +for file in *.desktop; do + # rhbz#156677 remove the version from Name= + # rhbz#156067 don't version the icons + sed -i -e "s/ *$PRODUCTVERSION//g" \ + -e "s/$ICONVERSION//g" \ + -e "s/$PRODUCTVERSIONSHORT//g" \ + $file +done +# rhbz#186515 do not show startcenter +desktop-file-edit --set-key=NoDisplay --set-value=true startcenter.desktop +%if %{with serverconfig} +for app in base calc draw impress math startcenter writer xsltfilter; do + desktop-file-edit --set-key=NoDisplay --set-value=true $app.desktop +done +%endif +# relocate the .desktop and icon files +install -m 0755 -d %{buildroot}%{_datadir}/applications +for app in base calc draw impress math startcenter writer xsltfilter; do + sed -i -e 's/\${UNIXBASISROOTNAME}/%{name}/' $app.desktop + desktop-file-validate $app.desktop + install -m 0644 -p $app.desktop %{buildroot}%{_datadir}/applications/libreoffice-$app.desktop +done +popd +%if 0%{?flatpak} +# Transform the libreoffice-*.desktop files into +# org.libreoffice.LibreOffice.*.desktop ones: +solenv/bin/assemble-flatpak-desktop.sh %{buildroot}%{_datadir}/applications/ \ + %{buildroot}%{_datadir}/applications/ +rm %{buildroot}%{_datadir}/applications/libreoffice-*.desktop +%endif + +pushd $WORKDIR/os-integration +#get rid of the gnome icons and other unneeded files +rm -rf icons/gnome applications application-registry + +#relocate the rest of them +# rhbz#901346 512x512 icons are not used by anything +for icon in `find icons -path '*/512x512' -prune -o -type f -print`; do + install -m 0755 -d %{buildroot}%{_datadir}/`dirname $icon` + install -m 0644 -p $icon %{buildroot}%{_datadir}/`echo $icon | sed -e s@libreoffice$ICONVERSION-@libreoffice-@ | sed -e s@libreoffice$PRODUCTVERSION-@libreoffice-@` +done +#add our mime-types, e.g. for .oxt extensions +install -m 0755 -d %{buildroot}%{_datadir}/mime/packages +install -m 0644 -p mime/packages/libreoffice$PRODUCTVERSION.xml %{buildroot}%{_datadir}/mime/packages/libreoffice.xml + +%if 0%{?fedora} +# restrict abipkgdiff to shared objects that actually have a stable ABI +for pkg in core base officebean ogltrans pdfimport calc writer impress graphicfilter postgresql ure pyuno x11 gtk3 gtk4 kf5 libreofficekit; do + cat > %{buildroot}%{baseinstdir}/program/${pkg}.abignore << _EOF +[suppress_file] +file_name_not_regexp=.*\.so\.[0-9]+ +_EOF +done +%endif + +# install LibreOfficeKit +install -m 0755 -d %{buildroot}%{_libdir}/girepository-1.0 +install -m 0644 -p LOKDocView-%{girapiversion}.typelib %{buildroot}%{_libdir}/girepository-1.0/LOKDocView-%{girapiversion}.typelib +install -m 0755 -d %{buildroot}%{_libdir}/gir-1.0 +install -m 0644 -p LOKDocView-%{girapiversion}.gir %{buildroot}%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir +mv %{buildroot}%{baseinstdir}/program/liblibreofficekitgtk.so %{buildroot}%{_libdir} +popd + +# install LibreOfficeKit headers +install -m 0755 -d %{buildroot}%{_includedir}/LibreOfficeKit +install -m 0644 -p include/LibreOfficeKit/* %{buildroot}%{_includedir}/LibreOfficeKit + +rm -rf %{buildroot}%{baseinstdir}/readmes +rm -rf %{buildroot}%{baseinstdir}/licenses +rm -rf %{buildroot}%{baseinstdir}/share/theme_definitions + +# to-do, remove this in libreoffice 4.4 when --without-ppds is gone, it'll do the right thing on its own then +install -m 0755 -d %{buildroot}%{baseinstdir}/share/psprint/driver +install -m 0644 -p vcl/unx/generic/printer/configuration/ppds/SGENPRT.PS %{buildroot}%{baseinstdir}/share/psprint/driver/SGENPRT.PS + +# rhbz#452385 to auto have postgres in classpath if subsequently installed +sed -i -e "s#URE_MORE_JAVA_CLASSPATH_URLS.*#& file:///usr/share/java/postgresql-jdbc.jar#" %{buildroot}%{baseinstdir}/program/fundamentalrc + +# move glade catalog to system glade dir +install -m 0755 -d %{buildroot}%{_datadir}/glade/catalogs +mv %{buildroot}%{baseinstdir}/share/glade/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade/catalogs +install -m 0755 -d %{buildroot}%{_datadir}/glade3/catalogs +ln -sr %{buildroot}%{_datadir}/glade/catalogs/libreoffice-catalog.xml %{buildroot}%{_datadir}/glade3/catalogs + +# rhbz#1049543 install appdata +install -m 0755 -d %{buildroot}%{_datadir}/metainfo +install -m 0644 -p sysui/desktop/appstream-appdata/*.appdata.xml %{buildroot}%{_datadir}/metainfo + +# rhbz#1215800 install symbolic icons +install -m 0755 -d %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE42} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE43} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE44} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE45} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE46} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE47} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +install -m 0644 -p %{SOURCE48} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps + +%if 0%{?flatpak} +# Duplicate icons/*/*/apps/libreoffice-* as +# icons/*/*/apps/org.libreoffice.LibreOffice.* (so they end up "with both their +# original libreoffice-* name as well as the org.libreoffice name needed by +# Flatpak, which fixes the window icons", see +# "clean up desktop integration"): +for i in %{buildroot}%{_datadir}/icons/*/*/apps/libreoffice-*; do + cp -a "$i" \ + "$(dirname "$i")"/org.libreoffice.LibreOffice."${i##*/apps/libreoffice-}" +done +%endif + +# install man pages +install -m 0755 -d %{buildroot}%{_mandir}/man1 +install -m 0644 -p sysui/desktop/man/*.1 %{buildroot}%{_mandir}/man1 +for app in oobase oocalc oodraw ooffice ooimpress oomath ooviewdoc oowriter openoffice.org soffice; do + echo '.so man1/libreoffice.1' > $app.1 + install -m 0644 -p $app.1 %{buildroot}%{_mandir}/man1 +done + +export DESTDIR=%{buildroot} +./solenv/bin/install-gdb-printers -a %{_datadir}/gdb/auto-load%{baseinstdir} -c -i %{baseinstdir} -p %{_datadir}/libreoffice/gdb + +%if 0%{?flatpak} +# Assemble the libreoffice-*.appdata.xml files into a single +# org.libreoffice.LibreOffice.appdata.xml: +solenv/bin/assemble-flatpak-appdata.sh \ + %{buildroot}%{_datadir}/metainfo/ 0 +rm %{buildroot}%{_datadir}/metainfo/libreoffice-*.appdata.xml +%endif + +%ifarch %{java_arches} +# rhbz#1247399 - move stable API jars to noarch java location +install -m 0755 -d %{buildroot}%{_javadir}/%{name} +for jar in %{buildroot}%{baseinstdir}/program/classes/*.jar; do + j=`basename $jar` + case ${j%.jar} in + juh|jurt|libreoffice|ridl|unoloader|unoil|officebean) + mv $jar %{buildroot}%{_javadir}/%{name} + ln -sr %{buildroot}%{_javadir}/%{name}/$j $jar + ;; + esac +done +%else +# make sure something creates this dir +install -m 0755 -d %{buildroot}%{baseinstdir}/share/extensions +# and remove this +rm -f %{buildroot}%{baseinstdir}/program/officebean.abignore +%endif + +%check +make unitcheck slowcheck +# we don't need this anymore +rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar + + +%files + +%files filters + +%files core +%dir %{baseinstdir} +%{baseinstdir}/CREDITS.fodt +%{baseinstdir}/LICENSE.html +%dir %{baseinstdir}/help +%{baseinstdir}/help/idxcaption.xsl +%{baseinstdir}/help/idxcontent.xsl +%{baseinstdir}/help/main_transform.xsl +%{baseinstdir}/presets +%dir %{baseinstdir}/program +%{baseinstdir}/program/bootstraprc +%ifarch %{java_arches} +%dir %{baseinstdir}/program/classes +%{baseinstdir}/program/classes/commonwizards.jar +%{baseinstdir}/program/classes/form.jar +%{baseinstdir}/program/classes/query.jar +%{baseinstdir}/program/classes/report.jar +%{baseinstdir}/program/classes/ScriptFramework.jar +%{baseinstdir}/program/classes/ScriptProviderForJava.jar +%{baseinstdir}/program/classes/table.jar +%{baseinstdir}/program/classes/unoil.jar +%{baseinstdir}/program/classes/XMergeBridge.jar +%{baseinstdir}/program/classes/xmerge.jar +%endif +%if 0%{?fedora} +%{baseinstdir}/program/core.abignore +%endif +%{baseinstdir}/program/fundamentalrc +%{baseinstdir}/program/gdbtrace +%{baseinstdir}/program/gengal +%{baseinstdir}/program/gengal.bin +%{baseinstdir}/program/intro.png +%{baseinstdir}/program/intro-highres.png +%{baseinstdir}/program/libacclo.so +%{baseinstdir}/program/libanimcorelo.so +%{baseinstdir}/program/libavmediagst.so +%{baseinstdir}/program/libavmedialo.so +%{baseinstdir}/program/libbasctllo.so +%{baseinstdir}/program/libbasegfxlo.so +%{baseinstdir}/program/libbasprovlo.so +%{baseinstdir}/program/libbiblo.so +%{baseinstdir}/program/libcached1.so +%{baseinstdir}/program/libcairocanvaslo.so +%{baseinstdir}/program/libcanvasfactorylo.so +%{baseinstdir}/program/libcanvastoolslo.so +%{baseinstdir}/program/libchart*lo.so +%{baseinstdir}/program/libclewlo.so +%{baseinstdir}/program/libcmdmaillo.so +%{baseinstdir}/program/libcomphelper.so +%{baseinstdir}/program/libconfigmgrlo.so +%{baseinstdir}/program/libcppcanvaslo.so +%{baseinstdir}/program/libctllo.so +%{baseinstdir}/program/libcuilo.so +%{baseinstdir}/program/libdbalo.so +%{baseinstdir}/program/libdbahsqllo.so +%{baseinstdir}/program/libdbaselo.so +%{baseinstdir}/program/libdbaxmllo.so +%{baseinstdir}/program/libdbpool2.so +%{baseinstdir}/program/libdbtoolslo.so +%{baseinstdir}/program/libdbulo.so +%{baseinstdir}/program/libdeployment.so +%{baseinstdir}/program/libdeploymentgui.so +%{baseinstdir}/program/libdeploymentmisclo.so +%{baseinstdir}/program/libdesktopbe1lo.so +%{baseinstdir}/program/libdlgprovlo.so +%{baseinstdir}/program/libdocmodello.so +%{baseinstdir}/program/libdrawinglayerlo.so +%{baseinstdir}/program/libdrawinglayercorelo.so +%{baseinstdir}/program/libeditenglo.so +%{baseinstdir}/program/libembobj.so +%{baseinstdir}/program/libemboleobj.so +%{baseinstdir}/program/libemfiolo.so +%{baseinstdir}/program/libevoab*.so +%{baseinstdir}/program/libevtattlo.so +%{baseinstdir}/program/libfps_officelo.so +%{baseinstdir}/program/libfwklo.so +%{baseinstdir}/program/libicglo.so +%{baseinstdir}/program/libfilelo.so +%{baseinstdir}/program/libfilterconfiglo.so +%{baseinstdir}/program/libflatlo.so +%{baseinstdir}/program/libfrmlo.so +%{baseinstdir}/program/libfsstoragelo.so +%{baseinstdir}/program/libguesslanglo.so +%{baseinstdir}/program/libhelplinkerlo.so +%{baseinstdir}/program/libhyphenlo.so +%{baseinstdir}/program/libi18npoollo.so +%{baseinstdir}/program/libi18nsearchlo.so +%{baseinstdir}/program/libi18nutil.so +%{baseinstdir}/program/libldapbe2lo.so +%ifarch %{java_arches} +%{baseinstdir}/program/libjdbclo.so +%endif +%{baseinstdir}/program/libLanguageToollo.so +%{baseinstdir}/program/liblnglo.so +%{baseinstdir}/program/liblnthlo.so +%{baseinstdir}/program/libloglo.so +%{baseinstdir}/program/liblocalebe1lo.so +%{baseinstdir}/program/liblocaledata_en.so +%{baseinstdir}/program/liblocaledata_es.so +%{baseinstdir}/program/liblocaledata_euro.so +%{baseinstdir}/program/liblocaledata_others.so +%{baseinstdir}/program/liblosessioninstalllo.so +%{baseinstdir}/program/libmigrationoo2lo.so +%{baseinstdir}/program/libmigrationoo3lo.so +%{baseinstdir}/program/libmozbootstraplo.so +%{baseinstdir}/program/libmsfilterlo.so +%{baseinstdir}/program/libmsformslo.so +%{baseinstdir}/program/libmtfrendererlo.so +%{baseinstdir}/program/libmysql_jdbclo.so +%{baseinstdir}/program/libmysqlclo.so +%{baseinstdir}/program/libodbclo.so +%{baseinstdir}/program/libodfflatxmllo.so +%{baseinstdir}/program/liboglcanvaslo.so +%{baseinstdir}/program/liboffacclo.so +%{baseinstdir}/program/libooxlo.so +%{baseinstdir}/program/libopencllo.so +%{baseinstdir}/program/libpackage2.so +%{baseinstdir}/program/libpasswordcontainerlo.so +%{baseinstdir}/program/libpcrlo.so +%{baseinstdir}/program/libpdffilterlo.so +%{baseinstdir}/program/libprotocolhandlerlo.so +%{baseinstdir}/program/libsaxlo.so +%{baseinstdir}/program/libsblo.so +%{baseinstdir}/program/libscnlo.so +%{baseinstdir}/program/libscriptframe.so +%{baseinstdir}/program/libsdlo.so +%{baseinstdir}/program/libsdbc2.so +%{baseinstdir}/program/libsdbtlo.so +%{baseinstdir}/program/libsddlo.so +%{baseinstdir}/program/libsduilo.so +%{baseinstdir}/program/libsfxlo.so +%{baseinstdir}/program/libsimplecanvaslo.so +%{baseinstdir}/program/libslideshowlo.so +%{baseinstdir}/program/libsmlo.so +%{baseinstdir}/program/libsmdlo.so +%{baseinstdir}/program/libsofficeapp.so +%{baseinstdir}/program/libsotlo.so +%{baseinstdir}/program/libspelllo.so +%{baseinstdir}/program/libspllo.so +%{baseinstdir}/program/libstringresourcelo.so +%{baseinstdir}/program/libsrtrs1.so +%{baseinstdir}/program/libstoragefdlo.so +%{baseinstdir}/program/libsvgiolo.so +%{baseinstdir}/program/libsvllo.so +%{baseinstdir}/program/libsvtlo.so +%{baseinstdir}/program/libsvxlo.so +%{baseinstdir}/program/libsvxcorelo.so +%{baseinstdir}/program/libswdlo.so +%{baseinstdir}/program/libswlo.so +%{baseinstdir}/program/libsysshlo.so +%{baseinstdir}/program/libtextconversiondlgslo.so +%{baseinstdir}/program/libtextfdlo.so +%{baseinstdir}/program/libtklo.so +%{baseinstdir}/program/libtllo.so +%{baseinstdir}/program/libucb1.so +%{baseinstdir}/program/libucbhelper.so +%{baseinstdir}/program/libucpchelp1.so +%{baseinstdir}/program/libucpcmis1lo.so +%{baseinstdir}/program/libucpdav1.so +%{baseinstdir}/program/libucpexpand1lo.so +%{baseinstdir}/program/libucpextlo.so +%{baseinstdir}/program/libucpfile1.so +%{baseinstdir}/program/libucpgio1lo.so +%{baseinstdir}/program/libucpimagelo.so +%{baseinstdir}/program/libucptdoc1lo.so +%{baseinstdir}/program/libucphier1.so +%{baseinstdir}/program/libucppkg1.so +%{baseinstdir}/program/libunordflo.so +%{baseinstdir}/program/libunopkgapp.so +%{baseinstdir}/program/libunoxmllo.so +%{baseinstdir}/program/libutllo.so +%{baseinstdir}/program/libupdatefeedlo.so +%{baseinstdir}/program/libuuilo.so +%{baseinstdir}/program/libvbaeventslo.so +%{baseinstdir}/program/libvbahelperlo.so +%{baseinstdir}/program/libvclcanvaslo.so +%{baseinstdir}/program/libvcllo.so +%{baseinstdir}/program/libwriterperfectlo.so +%{baseinstdir}/program/libxmlfalo.so +%{baseinstdir}/program/libxmlfdlo.so +%{baseinstdir}/program/libxmlscriptlo.so +%{baseinstdir}/program/libxmlsecurity.so +%{baseinstdir}/program/libxoflo.so +%{baseinstdir}/program/libxolo.so +%{baseinstdir}/program/libxsec_xmlsec.so +%{baseinstdir}/program/libxsltdlglo.so +%{baseinstdir}/program/libxsltfilterlo.so +%{baseinstdir}/program/libxstor.so +%{baseinstdir}/program/lounorc +%{baseinstdir}/program/oosplash +%{baseinstdir}/program/opencl +%{baseinstdir}/program/opencltest +%dir %{baseinstdir}/program/opengl +%{baseinstdir}/program/opengl/*.glsl +%{baseinstdir}/program/pagein-common +%{baseinstdir}/program/redirectrc +%dir %{baseinstdir}/program/resource +%dir %{baseinstdir}/program/resource/common +%dir %{baseinstdir}/program/resource/common/fonts +%{baseinstdir}/program/senddoc +%dir %{baseinstdir}/program/services +%{baseinstdir}/program/services/services.rdb +%{baseinstdir}/program/setuprc +%{baseinstdir}/program/shell/ +%{baseinstdir}/program/soffice +%{baseinstdir}/program/soffice.bin +%{baseinstdir}/program/sofficerc +%{baseinstdir}/program/types +%{baseinstdir}/program/unoinfo +%{baseinstdir}/program/unopkg +%{baseinstdir}/program/unopkg.bin +%{baseinstdir}/program/uri-encode +%{baseinstdir}/program/versionrc +%dir %{baseinstdir}/share +%{baseinstdir}/share/autocorr +%dir %{baseinstdir}/share/autotext +%{baseinstdir}/share/basic +%dir %{baseinstdir}/share/classification +%{baseinstdir}/share/classification/example*.xml +%dir %{baseinstdir}/share/config +%{baseinstdir}/share/config/images_breeze.zip +%{baseinstdir}/share/config/images_breeze_svg.zip +%{baseinstdir}/share/config/images_breeze_dark.zip +%{baseinstdir}/share/config/images_breeze_dark_svg.zip +%{baseinstdir}/share/config/images_colibre.zip +%{baseinstdir}/share/config/images_colibre_svg.zip +%{baseinstdir}/share/config/images_colibre_dark.zip +%{baseinstdir}/share/config/images_colibre_dark_svg.zip +%{baseinstdir}/share/config/images_elementary.zip +%{baseinstdir}/share/config/images_elementary_svg.zip +%{baseinstdir}/share/config/images_helpimg.zip +%{baseinstdir}/share/config/images_karasa_jaga.zip +%{baseinstdir}/share/config/images_karasa_jaga_svg.zip +%{baseinstdir}/share/config/images_sifr.zip +%{baseinstdir}/share/config/images_sifr_dark.zip +%{baseinstdir}/share/config/images_sifr_dark_svg.zip +%{baseinstdir}/share/config/images_sifr_svg.zip +%{baseinstdir}/share/config/images_sukapura.zip +%{baseinstdir}/share/config/images_sukapura_svg.zip +%{baseinstdir}/share/config/images_sukapura_dark.zip +%{baseinstdir}/share/config/images_sukapura_dark_svg.zip +%dir %{baseinstdir}/share/config/soffice.cfg +%{baseinstdir}/share/config/soffice.cfg/cui +%{baseinstdir}/share/config/soffice.cfg/dbaccess +%{baseinstdir}/share/config/soffice.cfg/desktop +%{baseinstdir}/share/config/soffice.cfg/editeng +%{baseinstdir}/share/config/soffice.cfg/filter +%{baseinstdir}/share/config/soffice.cfg/formula +%{baseinstdir}/share/config/soffice.cfg/fps +%{baseinstdir}/share/config/soffice.cfg/modules +%{baseinstdir}/share/config/soffice.cfg/sfx +%dir %{baseinstdir}/share/config/soffice.cfg/simpress +%{baseinstdir}/share/config/soffice.cfg/simpress/styles.xml +%{baseinstdir}/share/config/soffice.cfg/simpress/transitions-ogl.xml +%{baseinstdir}/share/config/soffice.cfg/svx +%{baseinstdir}/share/config/soffice.cfg/svt +%{baseinstdir}/share/config/soffice.cfg/uui +%{baseinstdir}/share/config/soffice.cfg/vcl +%{baseinstdir}/share/config/soffice.cfg/writerperfect +%{baseinstdir}/share/config/soffice.cfg/xmlsec +%{baseinstdir}/share/config/soffice.cfg/*/ui +%{baseinstdir}/share/config/wizard +%dir %{baseinstdir}/share/dtd +%{baseinstdir}/share/dtd/officedocument +%dir %{baseinstdir}/share/extensions +%dir %{baseinstdir}/share/filter +%{baseinstdir}/share/filter/oox-drawingml-adj-names +%{baseinstdir}/share/filter/oox-drawingml-cs-presets +%{baseinstdir}/share/filter/signature-line.svg +%{baseinstdir}/share/filter/signature-line-draw.svg +%{baseinstdir}/share/filter/vml-shape-types +%dir %{baseinstdir}/share/fonts +%dir %{baseinstdir}/share/fonts/truetype +%{baseinstdir}/share/fonts/truetype/fc_local.conf +%{baseinstdir}/share/gallery +%dir %{baseinstdir}/share/labels +%{baseinstdir}/share/labels/labels.xml +%{baseinstdir}/share/palette +%dir %{baseinstdir}/share/psprint +%config %{baseinstdir}/share/psprint/psprint.conf +%{baseinstdir}/share/psprint/driver +%dir %{baseinstdir}/share/Scripts +%ifarch %{java_arches} +%{baseinstdir}/share/Scripts/java +%endif +%dir %{baseinstdir}/share/registry +%{baseinstdir}/share/registry/draw.xcd +%{baseinstdir}/share/registry/gnome.xcd +%{baseinstdir}/share/registry/lingucomponent.xcd +%{baseinstdir}/share/registry/main.xcd +%{baseinstdir}/share/registry/math.xcd +%{baseinstdir}/share/registry/oo-ad-ldap.xcd.sample +%{baseinstdir}/share/registry/oo-ldap.xcd.sample +%dir %{baseinstdir}/share/registry/res +%dir %{baseinstdir}/share/template +%dir %{baseinstdir}/share/template/common +%{baseinstdir}/share/template/common/draw +%{baseinstdir}/share/template/common/internal +%{baseinstdir}/share/template/common/officorr +%{baseinstdir}/share/template/common/offimisc +%{baseinstdir}/share/template/common/personal +%{baseinstdir}/share/template/common/presnt +%{baseinstdir}/share/template/common/styles +%{baseinstdir}/share/template/common/wizard +%{baseinstdir}/share/template/common/l10n/ +%{baseinstdir}/share/template/wizard +%dir %{baseinstdir}/share/tipoftheday +%{baseinstdir}/share/tipoftheday/* +%dir %{baseinstdir}/share/toolbarmode +%{baseinstdir}/share/toolbarmode/* +%dir %{baseinstdir}/share/wizards +%dir %{baseinstdir}/share/wordbook +%{baseinstdir}/share/wordbook/en-GB.dic +%{baseinstdir}/share/wordbook/en-US.dic +%{baseinstdir}/share/wordbook/technical.dic +%{baseinstdir}/share/xdg/ +%{_bindir}/libreoffice +%{_bindir}/openoffice.org +%{_bindir}/ooffice +%{_bindir}/ooviewdoc +%{_bindir}/soffice +%{_bindir}/unopkg +%dir %{_datadir}/autocorr +%if 0%{?flatpak} +%{_datadir}/metainfo/org.libreoffice.LibreOffice.appdata.xml +%{_datadir}/applications/org.libreoffice.LibreOffice.desktop +%else +%{_datadir}/applications/libreoffice-startcenter.desktop +%endif +%{_mandir}/man1/libreoffice.1* +%{_mandir}/man1/openoffice.org.1* +%{_mandir}/man1/soffice.1* +%{_mandir}/man1/ooffice.1* +%{_mandir}/man1/ooviewdoc.1* +%{_mandir}/man1/unopkg.1* + +%files base +%{baseinstdir}/program/access2base.py +%if 0%{?fedora} +%{baseinstdir}/program/base.abignore +%endif +%ifarch %{java_arches} +%{baseinstdir}/program/classes/hsqldb.jar +%{baseinstdir}/program/classes/reportbuilder.jar +%{baseinstdir}/program/classes/reportbuilderwizard.jar +%{baseinstdir}/program/classes/sdbc_hsqldb.jar +%endif +%{baseinstdir}/program/libabplo.so +%{baseinstdir}/program/libdbplo.so +%if %{with firebird} +%{baseinstdir}/program/libfirebird_sdbclo.so +%endif +%ifarch %{java_arches} +%{baseinstdir}/program/libhsqldb.so +%{baseinstdir}/program/librptlo.so +%{baseinstdir}/program/librptuilo.so +%{baseinstdir}/program/librptxmllo.so +%endif +%{baseinstdir}/share/registry/base.xcd +%ifarch %{java_arches} +%{baseinstdir}/share/registry/reportbuilder.xcd +%endif +%{baseinstdir}/program/sbase +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.base.desktop +%else +%{_datadir}/metainfo/libreoffice-base.appdata.xml +%{_datadir}/applications/libreoffice-base.desktop +%endif +%{_bindir}/oobase +%{_mandir}/man1/oobase.1* + +%ifarch %{java_arches} + +%files wiki-publisher +%docdir %{baseinstdir}/share/extensions/wiki-publisher/license +%{baseinstdir}/share/extensions/wiki-publisher + +%files nlpsolver +%docdir %{baseinstdir}/share/extensions/nlpsolver/help +%{baseinstdir}/share/extensions/nlpsolver + +%files officebean +%{baseinstdir}/program/classes/officebean.jar +%if 0%{?fedora} +%{baseinstdir}/program/officebean.abignore +%endif +%{baseinstdir}/program/libofficebean.so + +%files officebean-common +%{_javadir}/%{name}/officebean.jar + +%endif + +%files ogltrans +%if 0%{?fedora} +%{baseinstdir}/program/ogltrans.abignore +%endif +%{baseinstdir}/program/libOGLTranslo.so +%{baseinstdir}/program/opengl/basicFragmentShader.glsl +%{baseinstdir}/program/opengl/basicVertexShader.glsl +%{baseinstdir}/program/opengl/dissolveFragmentShader.glsl +%{baseinstdir}/program/opengl/fadeBlackFragmentShader.glsl +%{baseinstdir}/program/opengl/fadeFragmentShader.glsl +%{baseinstdir}/program/opengl/glitterFragmentShader.glsl +%{baseinstdir}/program/opengl/glitterVertexShader.glsl +%{baseinstdir}/program/opengl/honeycombFragmentShader.glsl +%{baseinstdir}/program/opengl/honeycombGeometryShader.glsl +%{baseinstdir}/program/opengl/honeycombVertexShader.glsl +%{baseinstdir}/program/opengl/rippleFragmentShader.glsl +%{baseinstdir}/program/opengl/reflectionFragmentShader.glsl +%{baseinstdir}/program/opengl/reflectionVertexShader.glsl +%{baseinstdir}/program/opengl/staticFragmentShader.glsl +%{baseinstdir}/program/opengl/vortexFragmentShader.glsl +%{baseinstdir}/program/opengl/vortexGeometryShader.glsl +%{baseinstdir}/program/opengl/vortexVertexShader.glsl +%{baseinstdir}/share/registry/ogltrans.xcd + +%files pdfimport +%if 0%{?fedora} +%{baseinstdir}/program/pdfimport.abignore +%endif +%{baseinstdir}/program/libpdfimportlo.so +%{baseinstdir}/program/xpdfimport +%{baseinstdir}/share/registry/pdfimport.xcd + +%_font_pkg -n %{fontname} opens___.ttf +%doc instdir/LICENSE + +%files calc +%if 0%{?fedora} +%{baseinstdir}/program/calc.abignore +%endif +%{baseinstdir}/program/libanalysislo.so +%{baseinstdir}/program/libcalclo.so +%{baseinstdir}/program/libdatelo.so +%{baseinstdir}/program/libforlo.so +%{baseinstdir}/program/libforuilo.so +%{baseinstdir}/program/libnumbertextlo.so +%{baseinstdir}/program/libpricinglo.so +%{baseinstdir}/program/libsclo.so +%{baseinstdir}/program/libscdlo.so +%{baseinstdir}/program/libscfiltlo.so +%{baseinstdir}/program/libscuilo.so +%{baseinstdir}/program/libsolverlo.so +%{baseinstdir}/program/libwpftcalclo.so +%{baseinstdir}/program/libvbaobjlo.so +%{baseinstdir}/share/calc +%{baseinstdir}/share/registry/calc.xcd +%{baseinstdir}/program/pagein-calc +%{baseinstdir}/program/scalc +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.calc.desktop +%else +%{_datadir}/metainfo/libreoffice-calc.appdata.xml +%{_datadir}/applications/libreoffice-calc.desktop +%endif +%{_bindir}/oocalc +%{_mandir}/man1/oocalc.1* + +%files draw +%{baseinstdir}/program/pagein-draw +%{baseinstdir}/program/sdraw +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.draw.desktop +%else +%{_datadir}/metainfo/libreoffice-draw.appdata.xml +%{_datadir}/applications/libreoffice-draw.desktop +%endif +%{_bindir}/oodraw +%{_mandir}/man1/oodraw.1* + +%files emailmerge +%{baseinstdir}/program/mailmerge.py* +%{baseinstdir}/program/msgbox.py* + +%files writer +%if 0%{?fedora} +%{baseinstdir}/program/writer.abignore +%endif +%{baseinstdir}/program/libhwplo.so +%{baseinstdir}/program/liblwpftlo.so +%{baseinstdir}/program/libmswordlo.so +%{baseinstdir}/program/libswuilo.so +%{baseinstdir}/program/libt602filterlo.so +%{baseinstdir}/program/libwpftwriterlo.so +%{baseinstdir}/program/libsw_writerfilterlo.so +%{baseinstdir}/program/libwriterlo.so +%{baseinstdir}/program/libvbaswobjlo.so +%{baseinstdir}/share/registry/writer.xcd +%{baseinstdir}/program/pagein-writer +%{baseinstdir}/program/swriter +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.writer.desktop +%else +%{_datadir}/metainfo/libreoffice-writer.appdata.xml +%{_datadir}/applications/libreoffice-writer.desktop +%endif +%{_bindir}/oowriter +%{_mandir}/man1/oowriter.1* + +%files impress +%if 0%{?fedora} +%{baseinstdir}/program/impress.abignore +%endif +%{baseinstdir}/program/libPresentationMinimizerlo.so +%{baseinstdir}/program/libwpftimpresslo.so +%{baseinstdir}/share/config/soffice.cfg/simpress/effects.xml +%{baseinstdir}/share/config/soffice.cfg/simpress/layoutlist.xml +%{baseinstdir}/share/config/soffice.cfg/simpress/objectlist.xml +%{baseinstdir}/share/config/soffice.cfg/simpress/transitions.xml +%{baseinstdir}/share/registry/impress.xcd +%{baseinstdir}/program/pagein-impress +%{baseinstdir}/program/simpress +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.impress.desktop +%else +%{_datadir}/metainfo/libreoffice-impress.appdata.xml +%{_datadir}/applications/libreoffice-impress.desktop +%endif +%{_bindir}/ooimpress +%{_mandir}/man1/ooimpress.1* + +%files math +%{baseinstdir}/program/smath +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.math.desktop +%else +%{_datadir}/applications/libreoffice-math.desktop +%endif +%{_bindir}/oomath +%{_mandir}/man1/oomath.1* + +%files graphicfilter +%if 0%{?fedora} +%{baseinstdir}/program/graphicfilter.abignore +%endif +%{baseinstdir}/program/libgraphicfilterlo.so +%{baseinstdir}/program/libsvgfilterlo.so +%{baseinstdir}/program/libwpftdrawlo.so +%{baseinstdir}/share/registry/graphicfilter.xcd + +%files xsltfilter +%{baseinstdir}/share/xslt +%{baseinstdir}/share/registry/xsltfilter.xcd +%if 0%{?flatpak} +%{_datadir}/applications/org.libreoffice.LibreOffice.xsltfilter.desktop +%else +%{_datadir}/applications/libreoffice-xsltfilter.desktop +%endif + +%files postgresql +%if 0%{?fedora} +%{baseinstdir}/program/postgresql.abignore +%endif +%{baseinstdir}/program/libpostgresql-sdbclo.so +%{baseinstdir}/program/libpostgresql-sdbc-impllo.so +%{baseinstdir}/program/services/postgresql-sdbc.rdb +%{baseinstdir}/share/registry/postgresql.xcd + +%files ure +%ifarch %{java_arches} +%{baseinstdir}/program/classes/java_uno.jar +%{baseinstdir}/program/classes/juh.jar +%{baseinstdir}/program/classes/jurt.jar +%{baseinstdir}/program/classes/libreoffice.jar +%{baseinstdir}/program/classes/ridl.jar +%{baseinstdir}/program/classes/unoloader.jar +%{baseinstdir}/program/classes/java_websocket.jar +%{baseinstdir}/program/javaldx +%{baseinstdir}/program/javavendors.xml +%{baseinstdir}/program/jvmfwk3rc +%{baseinstdir}/program/JREProperties.class +%endif +%if 0%{?fedora} +%{baseinstdir}/program/ure.abignore +%endif +%{baseinstdir}/program/libaffine_uno_uno.so +%{baseinstdir}/program/libbinaryurplo.so +%{baseinstdir}/program/libbootstraplo.so +%{baseinstdir}/program/libgcc3_uno.so +%{baseinstdir}/program/libi18nlangtag.so +%{baseinstdir}/program/libintrospectionlo.so +%{baseinstdir}/program/libinvocadaptlo.so +%{baseinstdir}/program/libinvocationlo.so +%{baseinstdir}/program/libiolo.so +%ifarch %{java_arches} +%{baseinstdir}/program/libjava_uno.so +%{baseinstdir}/program/libjavaloaderlo.so +%{baseinstdir}/program/libjavavmlo.so +%{baseinstdir}/program/libjpipe.so +%{baseinstdir}/program/libjuh.so +%{baseinstdir}/program/libjuhx.so +%{baseinstdir}/program/libjvmaccesslo.so +%{baseinstdir}/program/libjvmfwklo.so +%endif +%{baseinstdir}/program/liblog_uno_uno.so +%{baseinstdir}/program/libnamingservicelo.so +%{baseinstdir}/program/libproxyfaclo.so +%{baseinstdir}/program/libreflectionlo.so +%{baseinstdir}/program/libreglo.so +%{baseinstdir}/program/libsal_textenclo.so +%{baseinstdir}/program/libstocserviceslo.so +%{baseinstdir}/program/libstorelo.so +%{baseinstdir}/program/libuno_cppu.so.3 +%{baseinstdir}/program/libuno_cppuhelpergcc3.so.3 +%{baseinstdir}/program/libuno_purpenvhelpergcc3.so.3 +%{baseinstdir}/program/libuno_sal.so.3 +%{baseinstdir}/program/libuno_salhelpergcc3.so.3 +%{baseinstdir}/program/libunoidllo.so +%{baseinstdir}/program/libunsafe_uno_uno.so +%{baseinstdir}/program/libuuresolverlo.so +%{baseinstdir}/program/libxmlreaderlo.so +%{baseinstdir}/program/regview +%{baseinstdir}/program/services.rdb +%{baseinstdir}/program/types.rdb +%{baseinstdir}/program/uno +%{baseinstdir}/program/uno.bin +%{baseinstdir}/program/unorc + +%files ure-common +%ifarch %{java_arches} +%dir %{_javadir}/%{name} +%{_javadir}/%{name}/juh.jar +%{_javadir}/%{name}/jurt.jar +%{_javadir}/%{name}/libreoffice.jar +%{_javadir}/%{name}/ridl.jar +%{_javadir}/%{name}/unoloader.jar +%endif +%license instdir/LICENSE + +%files sdk +%{sdkinstdir}/ +%exclude %{sdkinstdir}/docs/ +%exclude %{sdkinstdir}/examples/ + +%files sdk-doc +%docdir %{sdkinstdir}/docs +%license instdir/LICENSE +%{sdkinstdir}/docs/ +%{sdkinstdir}/examples/ + +%files pyuno +%if 0%{?fedora} +%{baseinstdir}/program/pyuno.abignore +%endif +%{baseinstdir}/program/libpyuno.so +%{baseinstdir}/program/pythonloader.py* +%{baseinstdir}/program/libpythonloaderlo.so +%{baseinstdir}/program/pythonloader.unorc +%{baseinstdir}/program/pythonscript.py* +%{baseinstdir}/program/pyuno.so +%{baseinstdir}/program/scriptforge.py* +%{baseinstdir}/program/services/pyuno.rdb +%{baseinstdir}/program/services/scriptproviderforpython.rdb +%{baseinstdir}/program/wizards +%{baseinstdir}/share/Scripts/python +%exclude %{baseinstdir}/share/Scripts/python/LibreLogo +%{libo_python_sitearch}/uno.py* +%{libo_python_sitearch}/unohelper.py* +%{libo_python_sitearch}/officehelper.py* +%{libo_python_sitearch}/__pycache__/uno.cpython-* +%{libo_python_sitearch}/__pycache__/unohelper.cpython-* +%{libo_python_sitearch}/__pycache__/officehelper.cpython-* + +%files librelogo +%{baseinstdir}/share/registry/librelogo.xcd +%{baseinstdir}/share/Scripts/python/LibreLogo + +%files glade +%{_datadir}/glade +%{_datadir}/glade3 + +%files data +%{_datadir}/icons/hicolor/*/*/libreoffice* +%if 0%{?flatpak} +%{_datadir}/icons/hicolor/*/*/org.libreoffice.LibreOffice.* +%endif +%{_datadir}/mime/packages/libreoffice.xml +%ifarch %{java_arches} +%dir %{_javadir}/%{name} +%{_javadir}/%{name}/unoil.jar +%endif +%dir %{datadir} +%doc instdir/CREDITS.fodt +%doc instdir/LICENSE.html +%doc instdir/LICENSE +%doc instdir/NOTICE +%license instdir/LICENSE + +%post data +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + +%postun data +if [ $1 -eq 0 ] ; then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : + gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans data +gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || : + +%files x11 +%if 0%{?fedora} +%{baseinstdir}/program/x11.abignore +%endif +%{baseinstdir}/program/libvclplug_genlo.so + +%files gtk3 +%if 0%{?fedora} +%{baseinstdir}/program/gtk3.abignore +%endif +%{baseinstdir}/program/libvclplug_gtk3lo.so + +%files gtk4 +%if 0%{?fedora} +%{baseinstdir}/program/gtk4.abignore +%endif +%{baseinstdir}/program/libavmediagtk.so +%{baseinstdir}/program/libvclplug_gtk4lo.so + +%if %{with kf5} +%files kf5 +%{baseinstdir}/program/kf5.abignore +%{baseinstdir}/program/libkf5be1lo.so +%{baseinstdir}/program/libvclplug_kf5lo.so +%{baseinstdir}/program/libvclplug_qt5lo.so + +%endif + +%if %{with kf6} + +%files kf6 +%{baseinstdir}/program/libavmediaqt6.so +%{baseinstdir}/program/libvclplug_kf6lo.so +%{baseinstdir}/program/libvclplug_qt6lo.so + +%endif + +%files -n libreofficekit +%{baseinstdir}/share/libreofficekit +%{_libdir}/girepository-1.0/LOKDocView-%{girapiversion}.typelib +%if 0%{?fedora} +%{baseinstdir}/program/libreofficekit.abignore +%endif +%{_libdir}/liblibreofficekitgtk.so + +%files -n libreofficekit-devel +%{_libdir}/gir-1.0/LOKDocView-%{girapiversion}.gir +%{_includedir}/LibreOfficeKit + +%changelog +## START: Generated by rpmautospec +* Sun Dec 22 2024 Arkady L. Shane - 1:24.8.4.2-1 +- Rebuilt for MSVSphere 10 + +* Thu Dec 19 2024 Gwyn Ciesla - 1:24.8.4.2-1 +- 24.8.4.2 + +* Sun Dec 08 2024 Pete Walter - 1:24.8.3.2-2 +- Rebuild for ICU 76 + +* Mon Nov 11 2024 Gwyn Ciesla - 1:24.8.3.2-1 +- 24.8.3.2 + +* Tue Oct 29 2024 Gwyn Ciesla - 1:24.8.3.1-1 +- 24.8.3.1 + +* Tue Oct 01 2024 Gwyn Ciesla - 1:24.8.2.1-2 +- Enable Georgian langpack + +* Thu Sep 26 2024 Gwyn Ciesla - 1:24.8.2.1-1 +- 24.8.2.1 + +* Wed Sep 25 2024 Mattia Verga - 1:24.8.1.2-2 +- Move playback plugins into appropriate subpackages (fedora#2314078) + +* Wed Sep 11 2024 Gwyn Ciesla - 1:24.8.1.2-1 +- 24.8.1.2 + +* Fri Sep 06 2024 Gwyn Ciesla - 1:24.8.0.3-3 +- 24.8.0.3 + +* Fri Aug 30 2024 Gwyn Ciesla - 1:24.8.0.3-2 +- RPMAUTOSPEC: unresolvable merge +## END: Generated by rpmautospec