Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libreoffice for openSUSE:Factory 
checked in at 2026-09-23 14:32:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
 and      /work/SRC/openSUSE:Factory/.libreoffice.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libreoffice"

Wed Sep 23 14:32:53 2026 rev:325 rq:1379744 version:26.8.0.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes  2026-09-07 
11:30:21.440158286 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new.383539/libreoffice.changes      
2026-09-23 14:34:02.843071517 +0200
@@ -1,0 +2,24 @@
+Sun Sep 20 22:20:00 UTC 2026 - Martin Schreiner <[email protected]>
+
+- Add dbaccess-no-firebird-default-crash.patch: fix the SIGSEGV in
+  the Base "Create Database" wizard.
+  The wizard hardcodes Firebird as the default entry of the data
+  source type list, but Tumbleweed has no firebird package so we build
+  with --disable-firebird-sdbc and the entry does not exist.
+  The list then has no selection at all and FillItemSet() indexes
+  m_aURLPrefixes with -1. Fall back to the first available type and
+  bounds-check the index.
+- Delete unused files:
+  * b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
+  * dtoa-20180411.tgz
+
+-------------------------------------------------------------------
+Wed Sep 16 11:29:02 UTC 2026 - Martin Schreiner <[email protected]>
+
+- Rework external library handling into one %enable_X/%bundle_X/
+  %support_X/%version_X macro block per library, with everything
+  else (Source/Provides/BuildRequires/configure flags) derived
+  from it instead of repeating %if 0%{?suse_version} checks.
+  No change to which libraries are bundled vs. system.
+
+-------------------------------------------------------------------

Old:
----
  b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
  dtoa-20180411.tgz

New:
----
  dbaccess-no-firebird-default-crash.patch

----------(New B)----------
  New:
- Add dbaccess-no-firebird-default-crash.patch: fix the SIGSEGV in
  the Base "Create Database" wizard.
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.IyejGC/_old  2026-09-23 14:34:09.876365546 +0200
+++ /var/tmp/diff_new_pack.IyejGC/_new  2026-09-23 14:34:09.883365839 +0200
@@ -65,31 +65,770 @@
 %bcond_with firebird
 %endif
 
-# Disable system abseil-cpp on versions lower than TW / SLE16
+# ============================================================================
+# External library configuration
+#
+# Exactly one if/else per library, and it decides everything about that
+# library:
+#
+#   %enable_X    1 = the library is built at all, 0 = --disable-X
+#   %bundle_X    1 = build the external tarball, 0 = link the system copy
+#   %support_X   the literal configure switch (may be %{nil})
+#   %version_X   version download.lst would fetch, whatever %bundle_X says
+#
+# Everything further down is derived from these: the Source/Provides block
+# after the patches keys off %bundle_X, and configure is handed %support_X.
+# Do not add a system-vs-bundled decision anywhere else in this file.
+#
+# LibreOffice only has an --enable-X/--disable-X for a handful of these,
+# and spells most of them differently from the library (libeot is
+# --disable-eot, rhino is --disable-scripting-javascript, and so on). Where
+# no such option exists the library is mandatory: %enable_X is pinned to 1
+# and %support_X carries only the system-vs-bundled half. Never invent an
+# --enable-X; autoconf accepts unknown ones, warns, and ignores them.
+#
+# Libraries that are only consumed by another one do not get their own
+# distro test; they follow their driver's %bundle_X.
+#
+# %version_X is the version that goes into Provides: bundled(X). Source:
+# lines use it when the tarball name contains it verbatim, and spell the
+# name out otherwise.
+# ============================================================================
+
+# --- libraries with a real system-vs-bundled choice -------------------------
+
+# ---- abseil (header-only; LibreOffice carries an internal copy, there is no 
tarball)
+%global enable_abseil            1
 %if 0%{?suse_version} < 1600
-%bcond_with system_abseil_cpp
+%global bundle_abseil            1
+%global support_abseil           --without-system-abseil
 %else
-%bcond_without system_abseil_cpp
+%global bundle_abseil            0
+%global support_abseil           --with-system-abseil
 %endif
-
-%if 0%{?suse_version} >= 1300
-%bcond_without system_harfbuzz
+# ---- afdko
+%global version_afdko            4.0.3
+%global enable_afdko             1
+%global bundle_afdko             1
+%global support_afdko            --without-system-afdko
+# ---- argon2
+%global version_argon2           20190702
+%global enable_argon2            1
+%if 0%{?suse_version} < 1500
+%global bundle_argon2            1
+%global support_argon2           --without-system-argon2
 %else
-%bcond_with system_harfbuzz
+%global bundle_argon2            0
+%global support_argon2           --with-system-argon2
 %endif
-
-# Use system gpgme and curl on TW and SLE15-SP4 or newer
-%if 0%{?suse_version} > 1500
-%bcond_without system_gpgme
-%bcond_without system_curl
+# ---- beanshell
+%global enable_beanshell         1
+%global bundle_beanshell         0
+%global support_beanshell        --enable-scripting-beanshell 
--with-system-beanshell
+# ---- boost
+%global version_boost            1.89.0
+%global enable_boost             1
+%if 0%{?suse_version} < 1550
+%global bundle_boost             1
+%global support_boost            --without-system-boost
+%else
+%global bundle_boost             0
+%global support_boost            --with-system-boost
+%endif
+# ---- box2d
+%global enable_box2d             1
+%global bundle_box2d             0
+%global support_box2d            --with-system-box2d
+# ---- cairo
+%global enable_cairo             1
+%global bundle_cairo             0
+%global support_cairo            --with-system-cairo
+# ---- clucene
+%global enable_clucene           1
+%global bundle_clucene           0
+%global support_clucene          --with-system-clucene
+# ---- cppunit
+%global enable_cppunit           1
+%global bundle_cppunit           0
+%global support_cppunit          --with-system-cppunit
+# ---- curl
+%global version_curl             8.14.1
+%global enable_curl              1
+%if 0%{?suse_version} <= 1500
+%global bundle_curl              1
+%global support_curl             --without-system-curl
+%else
+%global bundle_curl              0
+%global support_curl             --with-system-curl
+%endif
+# ---- dragonbox
+%global enable_dragonbox         1
+%global bundle_dragonbox         0
+%global support_dragonbox        --with-system-dragonbox
+# ---- epoxy
+%global enable_epoxy             1
+%global bundle_epoxy             0
+%global support_epoxy            --with-system-epoxy
+# ---- expat
+%global enable_expat             1
+%global bundle_expat             0
+%global support_expat            --with-system-expat
+# ---- fast_float
+%global version_fast_float       8.2.10
+%global enable_fast_float        1
+%global bundle_fast_float        0
+%global support_fast_float       --with-system-fast-float
+# ---- fontconfig
+%global version_fontconfig       2.17.1
+%global enable_fontconfig        1
+%if 0%{?suse_version} < 1500
+%global bundle_fontconfig        1
+%global support_fontconfig       --without-system-fontconfig
+%else
+%global bundle_fontconfig        0
+%global support_fontconfig       --with-system-fontconfig
+%endif
+# ---- freetype
+%global version_freetype         2.13.3
+%global enable_freetype          1
+%if 0%{?suse_version} < 1500
+%global bundle_freetype          1
+%global support_freetype         --without-system-freetype
+%else
+%global bundle_freetype          0
+%global support_freetype         --with-system-freetype
+%endif
+# ---- frozen
+%global version_frozen           1.2.0
+%global enable_frozen            1
+%global bundle_frozen            0
+%global support_frozen           --with-system-frozen
+# ---- glm
+%global enable_glm               1
+%global bundle_glm               0
+%global support_glm              --with-system-glm
+# ---- gpgme
+%global version_gpgme            1.24.3
+%global enable_gpgme             1
+%if 0%{?suse_version} <= 1500
+%global bundle_gpgme             1
+%global support_gpgme            --enable-gpgmepp --without-system-gpgmepp
+%else
+%global bundle_gpgme             0
+%global support_gpgme            --enable-gpgmepp --with-system-gpgmepp
+%endif
+# ---- harfbuzz
+%global version_harfbuzz         11.4.3
+%global enable_harfbuzz          1
+%if 0%{?suse_version} < 1300
+%global bundle_harfbuzz          1
+%global support_harfbuzz         --without-system-harfbuzz
+%else
+%global bundle_harfbuzz          0
+%global support_harfbuzz         --with-system-harfbuzz
+%endif
+# ---- graphite (graphite2 is only consumed by harfbuzz; it follows it)
+%global version_graphite         1.3.14
+%global enable_graphite          1
+%if %{bundle_harfbuzz}
+%global bundle_graphite          1
+%global support_graphite         --without-system-graphite
+%else
+%global bundle_graphite          0
+%global support_graphite         --with-system-graphite
+%endif
+# ---- hsqldb (the system version does not work with LibreOffice)
+%global version_hsqldb           1.8.0
+%global enable_hsqldb            1
+%global bundle_hsqldb            1
+%global support_hsqldb           --without-system-hsqldb
+# ---- hunspell
+%global enable_hunspell          1
+%global bundle_hunspell          0
+%global support_hunspell         --with-system-hunspell
+# ---- icu
+%global version_icu              77.1
+%global enable_icu               1
+%if 0%{?suse_version} < 1500
+%global bundle_icu               1
+%global support_icu              --without-system-icu
+%else
+%global bundle_icu               0
+%global support_icu              --with-system-icu
+%endif
+# ---- java_websocket
+%global version_java_websocket   1.6.0
+%global enable_java_websocket    1
+%global bundle_java_websocket    1
+%global support_java_websocket   --without-system-java-websocket
+# ---- jfreereport (eleven separate zips, see the derived Source block; 
bsc#1195634)
+%global enable_jfreereport       1
+%global bundle_jfreereport       1
+%global support_jfreereport      --enable-report-builder 
--without-system-jfreereport
+# ---- lcms2
+%global enable_lcms2             1
+%global bundle_lcms2             0
+%global support_lcms2            --with-system-lcms2
+# ---- libabw
+%global enable_libabw            1
+%global bundle_libabw            0
+%global support_libabw           --with-system-libabw
+# ---- libcdr
+%global enable_libcdr            1
+%global bundle_libcdr            0
+%global support_libcdr           --with-system-libcdr
+# ---- libcmis
+%global version_libcmis          0.6.2
+%global enable_libcmis           1
+%if 0%{?suse_version} < 1550
+%global bundle_libcmis           1
+%global support_libcmis          --without-system-libcmis
 %else
+%global bundle_libcmis           0
+%global support_libcmis          --with-system-libcmis
+%endif
+# ---- libebook
+%global enable_libebook          1
+%global bundle_libebook          0
+%global support_libebook         --with-system-libebook
+# ---- libeot
+%global enable_libeot            1
+%global bundle_libeot            0
+%global support_libeot           --enable-eot --with-system-libeot
+# ---- libepubgen
+%global enable_libepubgen        1
+%global bundle_libepubgen        0
+%global support_libepubgen       --with-system-libepubgen
+# ---- libetonyek
+%global enable_libetonyek        1
+%global bundle_libetonyek        0
+%global support_libetonyek       --with-system-libetonyek
+# ---- libexttextcat
+%global enable_libexttextcat     1
+%global bundle_libexttextcat     0
+%global support_libexttextcat    --with-system-libexttextcat
+# ---- libfixmath (no tarball in download.lst)
+%global enable_libfixmath        1
+%global bundle_libfixmath        0
+%global support_libfixmath       --with-system-libfixmath
+# ---- libfreehand
+%global enable_libfreehand       1
+%global bundle_libfreehand       0
+%global support_libfreehand      --with-system-libfreehand
+# ---- libjpeg (libjpeg-turbo)
+%global enable_libjpeg           1
+%global bundle_libjpeg           0
+%global support_libjpeg          --with-system-jpeg
+# ---- liblangtag
+%global enable_liblangtag        1
+%global bundle_liblangtag        0
+%global support_liblangtag       --with-system-liblangtag
+# ---- libnumbertext
+%global enable_libnumbertext     1
+%global bundle_libnumbertext     0
+%global support_libnumbertext    --with-system-libnumbertext
+# ---- libpng
+%global enable_libpng            1
+%global bundle_libpng            0
+%global support_libpng           --with-system-libpng
+# ---- libtiff
+%global version_libtiff          4.7.0
+%global enable_libtiff           1
+%if 0%{?suse_version} < 1550
+%global bundle_libtiff           1
+%global support_libtiff          --without-system-libtiff
+%else
+%global bundle_libtiff           0
+%global support_libtiff          --with-system-libtiff
+%endif
+# ---- libwebp
+%global enable_libwebp           1
+%global bundle_libwebp           0
+%global support_libwebp          --with-system-libwebp
+# ---- libxml (covers libxml2 and libxslt)
+%global enable_libxml            1
+%global bundle_libxml            0
+%global support_libxml           --with-system-libxml
+# ---- libzmf
+%global enable_libzmf            1
+%global bundle_libzmf            0
+%global support_libzmf           --with-system-libzmf
+# ---- lpsolve
+%global enable_lpsolve           1
+%global bundle_lpsolve           0
+%global support_lpsolve          --enable-lpsolve --with-system-lpsolve
+# ---- lzma (xz)
+%global version_lzma             5.8.3
+%global enable_lzma              1
+%global bundle_lzma              0
+%global support_lzma             --with-system-lzma
+# ---- mariadb
+%global enable_mariadb           1
+%global bundle_mariadb           0
+%global support_mariadb          --enable-mariadb-sdbc --with-system-mariadb
+# ---- md4c
+%global version_md4c             0.5.3
+%global enable_md4c              1
+%global bundle_md4c              0
+%global support_md4c             --with-system-md4c
+# ---- mdds
+%global version_mdds             3.2.1
+%global enable_mdds              1
+%global bundle_mdds              0
+%global support_mdds             --with-system-mdds
+# ---- mspub
+%global enable_mspub             1
+%global bundle_mspub             0
+%global support_mspub            --with-system-libmspub
+# ---- mwaw
+%global enable_mwaw              1
+%global bundle_mwaw              0
+%global support_mwaw             --with-system-libmwaw
+# ---- mythes
+%global enable_mythes            1
+%global bundle_mythes            0
+%global support_mythes           --with-system-mythes
+# ---- nss
+%global enable_nss               1
+%global bundle_nss               0
+%global support_nss              --enable-nss --with-system-nss
+# ---- odfgen
+%global enable_odfgen            1
+%global bundle_odfgen            0
+%global support_odfgen           --with-system-libodfgen
+# ---- openjpeg (no tarball in download.lst; --without-system-openjpeg means 
no openjpeg at all)
+%global enable_openjpeg          1
+%if 0%{?suse_version} < 1500
+%global bundle_openjpeg          1
+%global support_openjpeg         --without-system-openjpeg
+%else
+%global bundle_openjpeg          0
+%global support_openjpeg         --with-system-openjpeg
+%endif
+# ---- openldap
+%global enable_openldap          1
+%global bundle_openldap          0
+%global support_openldap         --enable-ldap --with-system-openldap
+# ---- openssl (curl >= 8.20 needs OpenSSL >= 3.0, which SLE-15 does not ship 
by default)
+%global version_openssl          3.5.7
+%global enable_openssl           1
+%global bundle_openssl           0
+%global support_openssl          --enable-openssl --with-system-openssl
+# ---- orcus
+%global version_orcus            0.21.0
+%global enable_orcus             1
+%global bundle_orcus             0
+%global support_orcus            --with-system-orcus
+# ---- pagemaker
+%global enable_pagemaker         1
+%global bundle_pagemaker         0
+%global support_pagemaker        --with-system-libpagemaker
+# ---- poppler
+%global version_poppler          25.09.0
+%global enable_poppler           1
+%if 0%{?suse_version} < 1550
+%global bundle_poppler           1
+%global support_poppler          --enable-poppler --without-system-poppler
+%else
+%global bundle_poppler           0
+%global support_poppler          --enable-poppler --with-system-poppler
+%endif
+# ---- postgresql
+%global enable_postgresql        1
+%global bundle_postgresql        0
+%global support_postgresql       --enable-postgresql-sdbc 
--with-system-postgresql
+# ---- qxp
+%global enable_qxp               1
+%global bundle_qxp               0
+%global support_qxp              --with-system-libqxp
+# ---- redland (covers raptor2 and rasqal)
+%global enable_redland           1
+%global bundle_redland           0
+%global support_redland          --with-system-redland
+# ---- revenge
+%global enable_revenge           1
+%global bundle_revenge           0
+%global support_revenge          --with-system-librevenge
+# ---- rhino
+%global enable_rhino             1
+%global bundle_rhino             0
+%global support_rhino            --enable-scripting-javascript 
--with-system-rhino
+# ---- sqlite3
+%global version_sqlite3          3.53.4
+%global enable_sqlite3           1
+%global bundle_sqlite3           0
+%global support_sqlite3          --with-system-sqlite3
+# ---- staroffice
+%global enable_staroffice        1
+%global bundle_staroffice        0
+%global support_staroffice       --with-system-libstaroffice
+# ---- visio
+%global enable_visio             1
+%global bundle_visio             0
+%global support_visio            --with-system-libvisio
+# ---- wpd
+%global enable_wpd               1
+%global bundle_wpd               0
+%global support_wpd              --with-system-libwpd
+# ---- wpg
+%global enable_wpg               1
+%global bundle_wpg               0
+%global support_wpg              --with-system-libwpg
+# ---- wps
+%global enable_wps               1
+%global bundle_wps               0
+%global support_wps              --with-system-libwps
+# ---- xmlsec (SLE stages xmlsec1-1.3.12.tar.gz but builds against system 
xmlsec1-nss)
+%global version_xmlsec           1.3.12
+%global enable_xmlsec            1
+%global bundle_xmlsec            0
+%global support_xmlsec           --with-system-xmlsec
+# ---- zlib
+%global enable_zlib              1
+%global bundle_zlib              0
+%global support_zlib             --with-system-zlib
+# ---- zstd
+%global enable_zstd              1
+%global bundle_zstd              0
+%global support_zstd             --with-system-zstd
+# ---- zxcvbn
+%global enable_zxcvbn            1
+%global bundle_zxcvbn            0
+%global support_zxcvbn           --with-system-zxcvbn
+# ---- zxing
+%global enable_zxing             1
+%global bundle_zxing             0
+%global support_zxing            --enable-zxing --with-system-zxing
+
+# --- python: the switch is --enable-python, not --with-system-python --------
+
+# ---- python
+%global version_python           3.13.15
+%global enable_python            1
+%global bundle_python            0
+%global support_python           --enable-python=system
+
+# --- always bundled: no --with-system-* option exists ------------------------
+
+# ---- antlr4 (build dependency of afdko)
+%global version_antlr4           4.13.2
+%global enable_antlr4            1
+%if %{bundle_afdko}
+%global bundle_antlr4            1
+%global support_antlr4           %{nil}
+%else
+%global bundle_antlr4            0
+%global support_antlr4           %{nil}
+%endif
+# ---- icu_data
+%global version_icu_data         77.1
+%global enable_icu_data          1
+%if %{bundle_icu}
+%global bundle_icu_data          1
+%global support_icu_data         %{nil}
+%else
+%global bundle_icu_data          0
+%global support_icu_data         %{nil}
+%endif
+# ---- libassuan
+%global version_libassuan        3.0.2
+%global enable_libassuan         1
+%if %{bundle_gpgme}
+%global bundle_libassuan         1
+%global support_libassuan        %{nil}
+%else
+%global bundle_libassuan         0
+%global support_libassuan        %{nil}
+%endif
+# ---- libgpgerror
+%global version_libgpgerror      1.55
+%global enable_libgpgerror       1
+%if %{bundle_gpgme}
+%global bundle_libgpgerror       1
+%global support_libgpgerror      %{nil}
+%else
+%global bundle_libgpgerror       0
+%global support_libgpgerror      %{nil}
+%endif
+# ---- libffi (only needed by the internal Python)
+%global version_libffi           3.5.2
+%global enable_libffi            1
+%if %{bundle_python}
+%global bundle_libffi            1
+%global support_libffi           %{nil}
+%else
+%global bundle_libffi            0
+%global support_libffi           %{nil}
+%endif
+# ---- lxml (only needed by the internal Python)
+%global version_lxml             6.1.1
+%global enable_lxml              1
+%if %{bundle_python}
+%global bundle_lxml              1
+%global support_lxml             %{nil}
+%else
+%global bundle_lxml              0
+%global support_lxml             %{nil}
+%endif
+# ---- meson (build tool for the bundled harfbuzz / fontconfig / freetype)
+%global version_meson            1.8.0
+%global enable_meson             1
+%if %{bundle_harfbuzz} || %{bundle_fontconfig} || %{bundle_freetype}
+%global bundle_meson             1
+%global support_meson            %{nil}
+%else
+%global bundle_meson             0
+%global support_meson            %{nil}
+%endif
+# ---- odfvalidator (integration tests; inert while 
--without-export-validation is passed)
+%global version_odfvalidator     0.9.0
+%global enable_odfvalidator      1
+%global bundle_odfvalidator      1
+%global support_odfvalidator     %{nil}
+# ---- officeotron (integration tests; inert while --without-export-validation 
is passed)
+%global version_officeotron      0.7.4
+%global enable_officeotron       1
+%global bundle_officeotron       1
+%global support_officeotron      %{nil}
+# ---- pdfium (bundled everywhere)
+%global version_pdfium           7681
+%ifarch %{aarch64}
+%if 0%{?suse_version} < 1550
+%global enable_pdfium            0
+%global support_pdfium           --disable-pdfium
+%else
+%global enable_pdfium            1
+%global support_pdfium           --enable-pdfium
+%endif
+%else
+%global enable_pdfium            1
+%global support_pdfium           --enable-pdfium
+%endif
+%global bundle_pdfium            1
+# ---- poppler_data
+%global version_poppler_data     0.4.12
+%global enable_poppler_data      1
+%if %{bundle_poppler}
+%global bundle_poppler_data      1
+%global support_poppler_data     %{nil}
+%else
+%global bundle_poppler_data      0
+%global support_poppler_data     %{nil}
+%endif
+# ---- skia (part of chromium; upstream ships it monorepo-style only)
+%global version_skia             m147
+%ifnarch s390x ppc64 ppc %{ix86}
+%global enable_skia              1
+%global support_skia             --enable-skia
+%else
+%global enable_skia              0
+%global support_skia             --disable-skia
+%endif
+%global bundle_skia              1
+# ---- xsltml (needed by wiki-publisher)
+%global version_xsltml           2.1.2
+%global enable_xsltml            1
+%global bundle_xsltml            1
+%global support_xsltml           %{nil}
+
+# --- in download.lst but not reachable in this build -------------------------
+
+# ---- breakpad: crash reporting is not enabled
+%global enable_breakpad          0
+%global bundle_breakpad          0
+%global support_breakpad         --disable-breakpad
+# ---- bzip2: only used by --enable-online-update-mar or the internal Python, 
and both take the system copy via --with-system-libs
+%global enable_bzip2             0
+%global bundle_bzip2             0
+%global support_bzip2            %{nil}
+# ---- coinmp: no coinmp packages to build against
+%global enable_coinmp            0
+%global bundle_coinmp            0
+%global support_coinmp           --disable-coinmp
+# ---- epm: LibreOffice's own packaging code, superfluous under rpmbuild
+%global enable_epm               0
+%global bundle_epm               0
+%global support_epm              --disable-epm
+# ---- firebird: follows the firebird bcond at the top of this file
+%if %{with firebird}
+%global enable_firebird          1
+%global support_firebird         --enable-firebird-sdbc
+%else
+%global enable_firebird          0
+%global support_firebird         --disable-firebird-sdbc
+%endif
+%global bundle_firebird          0
+# ---- hyphen: --with-system-dicts plus --with-external-hyph-dir
+%global enable_hyphen            0
+%global bundle_hyphen            0
+%global support_hyphen           %{nil}
+# ---- iaccessible2: Windows only
+%global enable_iaccessible2      0
+%global bundle_iaccessible2      0
+%global support_iaccessible2     %{nil}
+# ---- langtagreg: only used with a bundled liblangtag
+%global enable_langtagreg        0
+%global bundle_langtagreg        0
+%global support_langtagreg       %{nil}
+# ---- libatomic_ops: only used by the internal firebird on non-Intel
+%global enable_libatomic_ops     0
+%global bundle_libatomic_ops     0
+%global support_libatomic_ops    %{nil}
+# ---- libtommath: only used by the internal firebird
+%global enable_libtommath        0
+%global bundle_libtommath        0
+%global support_libtommath       %{nil}
+# ---- mdnsresponder: Windows only
+%global enable_mdnsresponder     0
+%global bundle_mdnsresponder     0
+%global support_mdnsresponder    %{nil}
+# ---- onlineupdate: the distribution updates LibreOffice, not LibreOffice 
itself
+%global enable_onlineupdate      0
+%global bundle_onlineupdate      0
+%global support_onlineupdate     --disable-online-update
+# ---- pixman: only used with a bundled cairo
+%global enable_pixman            0
+%global bundle_pixman            0
+%global support_pixman           %{nil}
+# ---- python_bootstrap: Windows only
+%global enable_python_bootstrap  0
+%global bundle_python_bootstrap  0
+%global support_python_bootstrap %{nil}
+# ---- quickjs: experimental QuickJS scripting (LO 26.8 download.lst only)
+%global enable_quickjs           0
+%global bundle_quickjs           0
+%global support_quickjs          --disable-quickjs
+# ---- raptor: only used with a bundled redland
+%global enable_raptor            0
+%global bundle_raptor            0
+%global support_raptor           %{nil}
+# ---- rasqal: only used with a bundled redland
+%global enable_rasqal            0
+%global bundle_rasqal            0
+%global support_rasqal           %{nil}
+# ---- twain_dsm: Windows only
+%global enable_twain_dsm         0
+%global bundle_twain_dsm         0
+%global support_twain_dsm        %{nil}
+# ---- verapdf: --without-export-validation (LO 26.8 download.lst only)
+%global enable_verapdf           0
+%global bundle_verapdf           0
+%global support_verapdf          %{nil}
+# ---- yrs: --with-yrs is not passed
+%global enable_yrs               0
+%global bundle_yrs               0
+%global support_yrs              %{nil}
+
+# ---- fonts: --without-fonts, we use the distribution font packages
+%global enable_font_agdasima     0
+%global bundle_font_agdasima     0
+%global support_font_agdasima    %{nil}
+%global enable_font_alef         0
+%global bundle_font_alef         0
+%global support_font_alef        %{nil}
+%global enable_font_amiri        0
+%global bundle_font_amiri        0
+%global support_font_amiri       %{nil}
+%global enable_font_bacasime_antique 0
+%global bundle_font_bacasime_antique 0
+%global support_font_bacasime_antique %{nil}
+%global enable_font_belanosima   0
+%global bundle_font_belanosima   0
+%global support_font_belanosima  %{nil}
+%global enable_font_caladea      0
+%global bundle_font_caladea      0
+%global support_font_caladea     %{nil}
+%global enable_font_caprasimo    0
+%global bundle_font_caprasimo    0
+%global support_font_caprasimo   %{nil}
+%global enable_font_carlito      0
+%global bundle_font_carlito      0
+%global support_font_carlito     %{nil}
+%global enable_font_culmus       0
+%global bundle_font_culmus       0
+%global support_font_culmus      %{nil}
+%global enable_font_dejavu       0
+%global bundle_font_dejavu       0
+%global support_font_dejavu      %{nil}
+%global enable_font_gentium      0
+%global bundle_font_gentium      0
+%global support_font_gentium     %{nil}
+%global enable_font_liberation   0
+%global bundle_font_liberation   0
+%global support_font_liberation  %{nil}
+%global enable_font_liberation_narrow 0
+%global bundle_font_liberation_narrow 0
+%global support_font_liberation_narrow %{nil}
+%global enable_font_libre_hebrew 0
+%global bundle_font_libre_hebrew 0
+%global support_font_libre_hebrew %{nil}
+%global enable_font_linlibertineg 0
+%global bundle_font_linlibertineg 0
+%global support_font_linlibertineg %{nil}
+%global enable_font_lugrasimo    0
+%global bundle_font_lugrasimo    0
+%global support_font_lugrasimo   %{nil}
+%global enable_font_lumanosimo   0
+%global bundle_font_lumanosimo   0
+%global support_font_lumanosimo  %{nil}
+%global enable_font_lunasima     0
+%global bundle_font_lunasima     0
+%global support_font_lunasima    %{nil}
+%global enable_font_noto_kufi_arabic 0
+%global bundle_font_noto_kufi_arabic 0
+%global support_font_noto_kufi_arabic %{nil}
+%global enable_font_noto_naskh_arabic 0
+%global bundle_font_noto_naskh_arabic 0
+%global support_font_noto_naskh_arabic %{nil}
+%global enable_font_noto_sans    0
+%global bundle_font_noto_sans    0
+%global support_font_noto_sans   %{nil}
+%global enable_font_noto_sans_arabic 0
+%global bundle_font_noto_sans_arabic 0
+%global support_font_noto_sans_arabic %{nil}
+%global enable_font_noto_sans_armenian 0
+%global bundle_font_noto_sans_armenian 0
+%global support_font_noto_sans_armenian %{nil}
+%global enable_font_noto_sans_georgian 0
+%global bundle_font_noto_sans_georgian 0
+%global support_font_noto_sans_georgian %{nil}
+%global enable_font_noto_sans_hebrew 0
+%global bundle_font_noto_sans_hebrew 0
+%global support_font_noto_sans_hebrew %{nil}
+%global enable_font_noto_sans_lao 0
+%global bundle_font_noto_sans_lao 0
+%global support_font_noto_sans_lao %{nil}
+%global enable_font_noto_sans_lisu 0
+%global bundle_font_noto_sans_lisu 0
+%global support_font_noto_sans_lisu %{nil}
+%global enable_font_noto_serif   0
+%global bundle_font_noto_serif   0
+%global support_font_noto_serif  %{nil}
+%global enable_font_noto_serif_armenian 0
+%global bundle_font_noto_serif_armenian 0
+%global support_font_noto_serif_armenian %{nil}
+%global enable_font_noto_serif_georgian 0
+%global bundle_font_noto_serif_georgian 0
+%global support_font_noto_serif_georgian %{nil}
+%global enable_font_noto_serif_hebrew 0
+%global bundle_font_noto_serif_hebrew 0
+%global support_font_noto_serif_hebrew %{nil}
+%global enable_font_noto_serif_lao 0
+%global bundle_font_noto_serif_lao 0
+%global support_font_noto_serif_lao %{nil}
+%global enable_font_reem         0
+%global bundle_font_reem         0
+%global support_font_reem        %{nil}
+%global enable_font_scheherazade 0
+%global bundle_font_scheherazade 0
+%global support_font_scheherazade %{nil}
+
+%if %{bundle_gpgme}
 # Hack in the bundled libs to not pop up on requires/provides to avoid
 # faking libreoffice provide some system packages
 %global __provides_exclude_from 
^%{_libdir}/libreoffice/program/lib(gpg|assuan).*\\.so.*$
 %global __requires_exclude_from 
^%{_libdir}/libreoffice/program/lib(gpg|assuan).*\\.so.*$
 %global __requires_exclude ^libgpgmepp\\.so.*$
-%bcond_with system_gpgme
-%bcond_with system_curl
 %endif
 Name:           libreoffice
 Version:        26.8.0.3
@@ -110,37 +849,6 @@
 Source98:       %{name}.keyring
 Source99:       %{name}-rpmlintrc
 Source100:      %{name}.changes
-# prebuilt extensions
-Source402:      
%{external_url}/b7cae45ad2c23551fd6ccb8ae2c1f59e-numbertext_0.9.5.oxt
-# external sources we always need
-Source403:      %{external_url}/afdko-4.0.3.tar.gz
-Source404:      %{external_url}/antlr4-cpp-runtime-4.13.2-source.zip
-# hsqldb simply does not work with new system version, but luckily we migrate 
to firebird
-Source2002:     
%{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-Provides:       bundled(hsqldb) = 1.8.0
-# Needed for wiki-published and always taken as bundled
-Source2005:     
%{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
-# Needed for integration tests
-Source2006:     
https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
-Source2007:     
https://dev-www.libreoffice.org/extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar
-# PDFium is bundled everywhere
-Source2008:     %{external_url}/pdfium-7681.tar.bz2
-# Single C file with patches from LO
-Source2009:     %{external_url}/dtoa-20180411.tgz
-# Skia is part of chromium and bundled everywhere as by google only way is 
monorepo way
-Source2010:     
%{external_url}/skia-m147-ad8ecedbfdef9f4ae4b1e73347b6dd56e6637d38.tar.xz
-# The following dependencies are for building JFreeReport, this fixes 
bsc#1195634
-Source2011:     
%{external_url}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
-Source2012:     
%{external_url}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
-Source2013:     
%{external_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
-Source2014:     
%{external_url}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
-Source2015:     
%{external_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
-Source2016:     
%{external_url}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
-Source2017:     
%{external_url}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
-Source2018:     
%{external_url}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
-Source2019:     
%{external_url}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
-Source2101:     
%{external_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
-Source2102:     
%{external_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
 # change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse
 # to avoid BerkleyDB incompatibility with the plain build
 Patch1:         scp2-user-config-suse.diff
@@ -158,6 +866,8 @@
 Patch15:        fix-sdk-idl.patch
 # PATCH-FIX-UPSTREAM detect system box2d without a pkg-config file
 Patch16:        box2d-detection.patch
+# PATCH-FIX-UPSTREAM do not crash in the Base wizard when Firebird is not built
+Patch17:        dbaccess-no-firebird-default-crash.patch
 # try to save space by using hardlinks
 Patch990:       install-with-hardlinks.diff
 # save time by relying on rpm check rather than doing stupid find+grep
@@ -168,6 +878,169 @@
 Patch995:       reproducible-clucene.patch
 # Add .key (Apple Keynote) files to Bash completion (tdf#167995)
 Patch996:       bash-completion-key.patch
+# ============================================================================
+# Derived from the external library configuration
+#
+# Every block here is guarded by a single %bundle_* macro from that region.
+# Nothing here may test %suse_version to decide bundled-vs-system; the only
+# distro tests left are about how a system package happens to be split up.
+#
+# Source numbers are historical and carry no meaning beyond uniqueness.
+# ============================================================================
+%if %{bundle_afdko}
+Source403:      %{external_url}/afdko-%{version_afdko}.tar.gz
+%endif
+%if %{bundle_antlr4}
+Source404:      %{external_url}/antlr4-cpp-runtime-%{version_antlr4}-source.zip
+%endif
+%if %{bundle_hsqldb}
+Source2002:     
%{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
+Provides:       bundled(hsqldb) = %{version_hsqldb}
+%endif
+%if %{bundle_xsltml}
+Source2005:     
%{external_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
+%endif
+%if %{bundle_officeotron}
+Source2006:     
https://dev-www.libreoffice.org/extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar
+%endif
+%if %{bundle_odfvalidator}
+Source2007:     
https://dev-www.libreoffice.org/extern/odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar
+%endif
+%if %{bundle_pdfium}
+Source2008:     %{external_url}/pdfium-%{version_pdfium}.tar.bz2
+%endif
+%if %{bundle_skia}
+Source2010:     
%{external_url}/skia-m147-ad8ecedbfdef9f4ae4b1e73347b6dd56e6637d38.tar.xz
+%endif
+%if %{bundle_jfreereport}
+Source2101:     
%{external_url}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
+Source2102:     
%{external_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
+Source2103:     
%{external_url}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
+Source2104:     
%{external_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
+Source2105:     
%{external_url}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
+Source2106:     
%{external_url}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
+Source2107:     
%{external_url}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
+Source2108:     
%{external_url}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
+Source2109:     
%{external_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
+Source2110:     
%{external_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
+Source2111:     
%{external_url}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
+%endif
+%if %{bundle_curl}
+Source2013:     %{external_url}/curl-%{version_curl}.tar.xz
+Provides:       bundled(curl) = %{version_curl}
+%else
+BuildRequires:  curl-devel >= 7.68.0
+%endif
+# curl >= 8.20 requires OpenSSL >= 3.0 and SLE-15 only offers 1.1.1 by
+# default, so build the bundled curl against a bundled OpenSSL too
+%if %{bundle_boost}
+Source2020:     %{external_url}/boost_1_89_0.tar.xz
+Provides:       bundled(boost) = %{version_boost}
+%else
+BuildRequires:  libboost_date_time-devel
+BuildRequires:  libboost_filesystem-devel
+BuildRequires:  libboost_iostreams-devel
+BuildRequires:  libboost_locale-devel
+# boost_system stopped being a separate library after 1.69
+%if 0%{?suse_version} <= 1550
+BuildRequires:  libboost_system-devel
+%endif
+%endif
+%if %{bundle_icu}
+Source2021:     %{external_url}/icu4c-77_1-src.tgz
+Provides:       bundled(icu) = %{version_icu}
+%else
+# the genbrk binary is required
+BuildRequires:  icu
+BuildRequires:  pkgconfig(icu-i18n)
+%endif
+%if %{bundle_icu_data}
+Source2022:     %{external_url}/icu4c-77_1-data.zip
+%endif
+%if %{bundle_poppler}
+Source2023:     %{external_url}/poppler-%{version_poppler}.tar.xz
+Provides:       bundled(poppler) = %{version_poppler}
+%else
+BuildRequires:  pkgconfig(poppler) >= 21.01.0
+BuildRequires:  pkgconfig(poppler-cpp)
+%endif
+%if %{bundle_poppler_data}
+Source2024:     %{external_url}/poppler-data-%{version_poppler_data}.tar.gz
+Provides:       bundled(poppler-data) = %{version_poppler_data}
+%endif
+%if %{bundle_harfbuzz}
+Source2025:     %{external_url}/harfbuzz-%{version_harfbuzz}.tar.xz
+Provides:       bundled(harfbuzz) = %{version_harfbuzz}
+%else
+BuildRequires:  pkgconfig(harfbuzz) >= 5.1.0
+BuildRequires:  pkgconfig(harfbuzz-icu) >= 5.1.0
+%endif
+%if %{bundle_graphite}
+Source2026:     %{external_url}/graphite2-minimal-%{version_graphite}.tgz
+Provides:       bundled(graphite2) = %{version_graphite}
+%else
+BuildRequires:  pkgconfig(graphite2) >= 0.9.3
+%endif
+%if %{bundle_argon2}
+Source2027:     %{external_url}/phc-winner-argon2-%{version_argon2}.tar.gz
+%else
+BuildRequires:  argon2-devel
+%endif
+%if %{bundle_fontconfig}
+Source2028:     %{external_url}/fontconfig-%{version_fontconfig}.tar.xz
+%endif
+%if %{bundle_freetype}
+Source2029:     %{external_url}/freetype-%{version_freetype}.tar.xz
+%endif
+%if %{bundle_libtiff}
+Source2030:     %{external_url}/tiff-%{version_libtiff}.tar.xz
+Provides:       bundled(tiff) = %{version_libtiff}
+%else
+BuildRequires:  pkgconfig(libtiff-4) >= 4.0.10
+%endif
+%if %{bundle_libcmis}
+Source2031:     %{external_url}/libcmis-%{version_libcmis}.tar.xz
+Provides:       bundled(libcmis) = %{version_libcmis}
+%else
+BuildRequires:  libcmis-devel
+%endif
+%if %{bundle_meson}
+Source2032:     %{external_url}/meson-%{version_meson}.tar.gz
+BuildRequires:  meson >= 0.55
+BuildRequires:  ninja
+%endif
+%if %{bundle_gpgme}
+Source1000:     %{external_url}/gpgme-%{version_gpgme}.tar.bz2
+Provides:       bundled(gpgme) = %{version_gpgme}
+%else
+BuildRequires:  libgpgmepp-devel >= 1.14
+%endif
+%if %{bundle_libgpgerror}
+Source1001:     %{external_url}/libgpg-error-%{version_libgpgerror}.tar.bz2
+Provides:       bundled(libgpg-error) = %{version_libgpgerror}
+%endif
+%if %{bundle_libassuan}
+Source1002:     %{external_url}/libassuan-%{version_libassuan}.tar.bz2
+Provides:       bundled(libassuan) = %{version_libassuan}
+%endif
+%if %{bundle_java_websocket}
+Source3000:     %{external_url}/Java-WebSocket-%{version_java_websocket}.tar.gz
+%endif
+BuildRequires:  fast_float-devel
+BuildRequires:  md4c-devel
+BuildRequires:  python3-lxml
+BuildRequires:  python3-xml
+BuildRequires:  pkgconfig(liborcus-0.21) >= 0.21.0
+BuildRequires:  pkgconfig(mdds-3.0)
+BuildRequires:  pkgconfig(python3)
+BuildRequires:  pkgconfig(xmlsec1-nss) >= 1.2.35
+%if !%{bundle_openjpeg}
+BuildRequires:  pkgconfig(libopenjp2)
+%endif
+%if !%{bundle_abseil}
+BuildRequires:  abseil-cpp-devel
+%endif
+# ============================================================================
 BuildRequires:  %{name}-share-linker
 BuildRequires:  ant
 BuildRequires:  autoconf
@@ -175,35 +1048,23 @@
 BuildRequires:  bison
 BuildRequires:  bsh2
 BuildRequires:  cups-devel
-BuildRequires:  fast_float-devel
 BuildRequires:  fixmath-devel
 BuildRequires:  libwebp-devel
-BuildRequires:  md4c-devel
 %if 0%{?suse_version} > 1500
 BuildRequires:  strip-nondeterminism
 %endif
 BuildRequires:  zlib-devel
 BuildRequires:  zxcvbn-devel
-%if %{with system_curl}
-BuildRequires:  curl-devel >= 7.68.0
-%else
-Source2100:     %{external_url}/curl-8.14.1.tar.xz
-Provides:       bundled(curl) = 8.14.1
-%endif
 # Needed for tests
 BuildRequires:  dejavu-fonts
 BuildRequires:  doxygen >= 1.8.4
+BuildRequires:  dragonbox-devel
 BuildRequires:  fdupes
 BuildRequires:  flex >= 2.6.0
 BuildRequires:  flute
 BuildRequires:  fontforge
 BuildRequires:  frozen-devel
 BuildRequires:  glm-devel
-# Needed for tests
-%if %{with system_abseil_cpp}
-BuildRequires:  abseil-cpp-devel
-%endif
-BuildRequires:  dragonbox-devel
 BuildRequires:  google-carlito-fonts
 BuildRequires:  gperf >= 3.1
 BuildRequires:  graphviz
@@ -226,8 +1087,6 @@
 BuildRequires:  make
 BuildRequires:  openldap2-devel
 BuildRequires:  pkgconfig
-BuildRequires:  python3-lxml
-BuildRequires:  python3-xml
 BuildRequires:  rhino
 BuildRequires:  sac
 BuildRequires:  ucpp
@@ -253,20 +1112,6 @@
 BuildRequires:  pkgconfig(gssrpc)
 BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
 BuildRequires:  pkgconfig(gtk+-3.0) >= 3.20
-%if %{with system_harfbuzz}
-BuildRequires:  pkgconfig(graphite2) >= 0.9.3
-BuildRequires:  pkgconfig(harfbuzz) >= 5.1.0
-BuildRequires:  pkgconfig(harfbuzz-icu) >= 5.1.0
-%else
-Source2025:     %{external_url}/harfbuzz-11.4.3.tar.xz
-Source2026:     %{external_url}/graphite2-minimal-1.3.14.tgz
-Source2032:     %{external_url}/meson-1.8.0.tar.gz
-Provides:       bundled(graphite2) = 1.3.14
-Provides:       bundled(harfbuzz) = 8.5.0
-BuildRequires:  ninja
-%endif
-# Java-WebSocket
-Source3000:     %{external_url}/Java-WebSocket-1.6.0.tar.gz
 BuildRequires:  pkgconfig(hunspell)
 BuildRequires:  pkgconfig(krb5)
 BuildRequires:  pkgconfig(lcms2)
@@ -284,7 +1129,6 @@
 BuildRequires:  pkgconfig(libmwaw-0.3) >= 0.3.21
 BuildRequires:  pkgconfig(libnumbertext) >= 1.0.6
 BuildRequires:  pkgconfig(libodfgen-0.1) >= 0.1.4
-BuildRequires:  pkgconfig(liborcus-0.21) >= 0.21.0
 BuildRequires:  pkgconfig(libpagemaker-0.0)
 BuildRequires:  pkgconfig(libpng)
 BuildRequires:  pkgconfig(libpq)
@@ -299,14 +1143,11 @@
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(libxslt)
 BuildRequires:  pkgconfig(libzmf-0.0)
-BuildRequires:  pkgconfig(mdds-3.0)
 BuildRequires:  pkgconfig(mythes)
 BuildRequires:  pkgconfig(nspr) >= 4.8
 BuildRequires:  pkgconfig(nss) >= 3.9.3
-BuildRequires:  pkgconfig(python3)
 BuildRequires:  pkgconfig(redland)
 BuildRequires:  pkgconfig(sane-backends)
-BuildRequires:  pkgconfig(xmlsec1-nss) >= 1.2.35
 BuildRequires:  pkgconfig(xrandr)
 BuildRequires:  pkgconfig(xt)
 BuildRequires:  pkgconfig(zxing)
@@ -336,51 +1177,15 @@
 Obsoletes:      %{name}-icon-theme-crystal < %{version}
 Provides:       %{name}-icon-theme-oxygen = %{version}
 Obsoletes:      %{name}-icon-theme-oxygen < %{version}
-%if 0%{?suse_version} < 1550
-# Too old boost on the system
-Source2020:     %{external_url}/boost_1_89_0.tar.xz
-Source2023:     %{external_url}/poppler-25.09.0.tar.xz
-Source2024:     %{external_url}/poppler-data-0.4.12.tar.gz
-Source2030:     %{external_url}/tiff-4.7.0.tar.xz
-Source2031:     %{external_url}/libcmis-0.6.2.tar.xz
-Provides:       bundled(boost) = 1.89.0
-Provides:       bundled(libcmis) = 0.6.2
-Provides:       bundled(poppler) = 25.09.0
-Provides:       bundled(poppler-data) = 0.4.12
-Provides:       bundled(tiff) = 4.7.0
-%else
-BuildRequires:  libboost_date_time-devel
-BuildRequires:  libboost_filesystem-devel
-BuildRequires:  libboost_iostreams-devel
-BuildRequires:  libboost_locale-devel
-%if 0%{?suse_version} <= 1550
-BuildRequires:  libboost_system-devel
-%endif
-BuildRequires:  libcmis-devel
-BuildRequires:  pkgconfig(libtiff-4) >= 4.0.10
-BuildRequires:  pkgconfig(poppler) >= 21.01.0
-BuildRequires:  pkgconfig(poppler-cpp)
-%endif
+# Not a bundling decision: these system packages were simply renamed/split.
 %if 0%{?suse_version} < 1500
-# Too old icu on the system
-Source2021:     %{external_url}/icu4c-77_1-src.tgz
-Source2022:     %{external_url}/icu4c-77_1-data.zip
-Source2027:     %{external_url}/phc-winner-argon2-20190702.tar.gz
-Source2028:     %{external_url}/fontconfig-2.17.1.tar.xz
-Source2029:     %{external_url}/freetype-2.13.3.tar.xz
-Provides:       bundled(icu) = 77.1
 BuildRequires:  libBox2D-devel
 BuildRequires:  libmysqlclient-devel
 Requires(post): update-desktop-files
 Requires(postun): update-desktop-files
 %else
-# genbrk binary is required
-BuildRequires:  icu
-BuildRequires:  argon2-devel
 BuildRequires:  libbox2d-devel
 BuildRequires:  libmariadb-devel
-BuildRequires:  pkgconfig(icu-i18n)
-BuildRequires:  pkgconfig(libopenjp2)
 %endif
 BuildRequires:  gcc
 BuildRequires:  gcc-c++
@@ -389,16 +1194,6 @@
 # needed by python3_sitelib
 BuildRequires:  python-rpm-macros
 %endif
-%if %{with system_gpgme}
-BuildRequires:  libgpgmepp-devel >= 1.14
-%else
-Source1000:     %{external_url}/gpgme-1.24.3.tar.bz2
-Source1001:     %{external_url}/libgpg-error-1.55.tar.bz2
-Source1002:     %{external_url}/libassuan-3.0.2.tar.bz2
-Provides:       bundled(gpgme) = 1.24.3
-Provides:       bundled(libassuan) = 3.0.2
-Provides:       bundled(libgpg-error) = 1.55
-%endif
 %if %{with firebird}
 BuildRequires:  pkgconfig(fbclient)
 %endif
@@ -1132,6 +1927,7 @@
 %endif
 %patch -P 15 -p1
 %patch -P 16 -p1
+%patch -P 17 -p1
 %patch -P 990 -p1
 %patch -P 991 -p1
 %if 0%{?suse_version} < 1550
@@ -1218,7 +2014,6 @@
 ./autogen.sh
 %configure \
         $(echo %{?_smp_mflags} | sed 's/-j/--with-parallelism=/') \
-        --enable-eot \
         --enable-ld=bfd \
 %if %{with lto}
         --enable-lto \
@@ -1230,15 +2025,10 @@
         --with-system-libs \
         --with-system-jars \
         --with-system-dicts \
-        --with-system-libpng \
-        --with-system-dragonbox \
-        --with-system-libfixmath \
         --with-vendor=SUSE \
         --with-lang=ALL \
         --disable-fetch-external \
         --with-external-tar="$RPM_SOURCE_DIR" \
-        --disable-epm \
-        --disable-online-update \
         --enable-gstreamer-1-0 \
         --enable-gtk3 \
 %if %{with qt6}
@@ -1267,13 +2057,10 @@
         --enable-split-opt-features \
         --enable-cairo-canvas \
         --enable-largefile \
-        --enable-python=system \
         --enable-randr \
         --without-fonts \
         --without-myspell-dicts \
         --with-jdk-home=$JAVA_HOME \
-        --without-system-java-websocket \
-        --without-system-afdko \
         --with-webdav=curl \
         --with-beanshell-jar=%{_datadir}/java/bsh2/bsh.jar \
         --with-ant-home=%{_datadir}/ant \
@@ -1283,70 +2070,15 @@
         --with-help=html \
         --without-export-validation \
         --enable-odk \
-%if %{with system_gpgme}
-        --with-system-gpgmepp \
-%else
-        --without-system-gpgmepp \
-%endif
-%if %{with firebird}
-        --enable-firebird-sdbc \
-%else
-        --disable-firebird-sdbc \
-%endif
-%if %{with system_abseil_cpp}
-        --with-system-abseil \
-%else
-        --without-system-abseil \
-%endif
-%if 0%{?suse_version} < 1550
-        --without-system-boost \
-        --without-system-poppler \
-        --without-system-libtiff \
-        --without-system-libcmis \
-%endif
-%if 0%{?suse_version} < 1500
-        --without-system-argon2 \
-        --without-system-icu \
-        --without-system-openjpeg \
-%else
-        --with-system-openjpeg \
-%endif
-%if %{with system_curl}
-        --with-system-curl \
-%else
-        --without-system-curl \
-%endif
-%if %{with system_harfbuzz}
-        --with-system-harfbuzz \
-        --with-system-graphite \
-%else
-        --without-system-harfbuzz \
-        --without-system-graphite \
-%endif
         --enable-evolution2 \
         --enable-dbus \
         --enable-ext-nlpsolver \
-        --enable-ext-numbertext \
         --enable-ext-wiki-publisher \
-        --enable-scripting-beanshell \
-        --enable-scripting-javascript \
         --enable-build-opensymbol \
         --disable-ccache \
-        --disable-coinmp \
         --enable-symbols \
         --with-gdrive-client-secret="${google_default_client_secret}" \
         --with-gdrive-client-id="${google_default_client_id}" \
-%ifnarch s390x ppc64 ppc %{ix86}
-        --enable-skia \
-%else
-        --disable-skia \
-%endif
-%ifarch %{aarch64}
-%if 0%{?suse_version} < 1550
-        --disable-pdfium \
-%endif
-%endif
-        --without-system-jfreereport \
         --with-libbase-jar=/usr/share/java/libbase.jar \
         --with-libxml-jar=/usr/share/java/libxml.jar \
         --with-flute-jar=/usr/share/java/flute.jar \
@@ -1355,7 +2087,93 @@
         --with-libformula-jar=/usr/share/java/libformula.jar \
         --with-librepository-jar=/usr/share/java/librepository.jar \
         --with-libfonts-jar=/usr/share/java/libfonts.jar \
-        --with-libserializer-jar=/usr/share/java/libserializer.jar
+        --with-libserializer-jar=/usr/share/java/libserializer.jar \
+        %{support_abseil} \
+        %{support_afdko} \
+        %{support_argon2} \
+        %{support_beanshell} \
+        %{support_boost} \
+        %{support_box2d} \
+        %{support_breakpad} \
+        %{support_cairo} \
+        %{support_clucene} \
+        %{support_coinmp} \
+        %{support_cppunit} \
+        %{support_curl} \
+        %{support_dragonbox} \
+        %{support_epm} \
+        %{support_epoxy} \
+        %{support_expat} \
+        %{support_fast_float} \
+        %{support_firebird} \
+        %{support_fontconfig} \
+        %{support_freetype} \
+        %{support_frozen} \
+        %{support_glm} \
+        %{support_gpgme} \
+        %{support_graphite} \
+        %{support_harfbuzz} \
+        %{support_hsqldb} \
+        %{support_hunspell} \
+        %{support_icu} \
+        %{support_java_websocket} \
+        %{support_jfreereport} \
+        %{support_lcms2} \
+        %{support_libabw} \
+        %{support_libcdr} \
+        %{support_libcmis} \
+        %{support_libebook} \
+        %{support_libeot} \
+        %{support_libepubgen} \
+        %{support_libetonyek} \
+        %{support_libexttextcat} \
+        %{support_libfixmath} \
+        %{support_libfreehand} \
+        %{support_libjpeg} \
+        %{support_liblangtag} \
+        %{support_libnumbertext} \
+        %{support_libpng} \
+        %{support_libtiff} \
+        %{support_libwebp} \
+        %{support_libxml} \
+        %{support_libzmf} \
+        %{support_lpsolve} \
+        %{support_lzma} \
+        %{support_mariadb} \
+        %{support_md4c} \
+        %{support_mdds} \
+        %{support_mspub} \
+        %{support_mwaw} \
+        %{support_mythes} \
+        %{support_nss} \
+        %{support_odfgen} \
+        %{support_onlineupdate} \
+        %{support_openjpeg} \
+        %{support_openldap} \
+        %{support_openssl} \
+        %{support_orcus} \
+        %{support_pagemaker} \
+        %{support_pdfium} \
+        %{support_poppler} \
+        %{support_postgresql} \
+        %{support_python} \
+        %{support_quickjs} \
+        %{support_qxp} \
+        %{support_redland} \
+        %{support_revenge} \
+        %{support_rhino} \
+        %{support_skia} \
+        %{support_sqlite3} \
+        %{support_staroffice} \
+        %{support_visio} \
+        %{support_wpd} \
+        %{support_wpg} \
+        %{support_wps} \
+        %{support_xmlsec} \
+        %{support_zlib} \
+        %{support_zstd} \
+        %{support_zxcvbn} \
+        %{support_zxing}
 # no coinormp packages for coinmp
 
 # just call make here as we added the jobs in configure


++++++ dbaccess-no-firebird-default-crash.patch ++++++
Fix SIGSEGV in the Base "Create Database" wizard when Firebird is not built.

OGeneralPageWizard::getDatasourceName() hardcodes the Firebird driver as the
default selection of the data source type list:

    return m_pCollection->getTypeDisplayName( u"sdbc:firebird:"_ustr );

openSUSE Tumbleweed has no firebird package any more (boo#1179203 - the
package was dropped from Factory), so we build with --disable-firebird-sdbc
and there is no "sdbc:firebird:" entry in the driver registry.
getTypeDisplayName() returns an empty string, set_active_text("") matches
nothing, and the combo box is left with no selection at all.

Picking "Connect to an existing database" and pressing Next then runs into
OGeneralPageWizard::FillItemSet(), which indexes m_aURLPrefixes with the
unchecked result of get_active() - that is, with -1:

    #0  rtl_uString_acquire (pThis=0x91) at sal/rtl/ustring.cxx:1114
    #1  rtl::OUString::OUString at include/rtl/ustring.hxx:210
    #2  dbaui::OGeneralPageWizard::FillItemSet at 
dbaccess/source/ui/dlg/generalpage.cxx:599
    #3  dbaui::OGenericAdministrationPage::DeactivatePage at 
dbaccess/source/ui/dlg/adminpages.cxx:66
    #5  dbaui::ODbTypeWizDialogSetup::leaveState at 
dbaccess/source/ui/dlg/dbwizsetup.cxx:647
    #6  vcl::WizardMachine::ShowPage(short)

Fall back to the first available type when the preferred default is not part
of the build, and bounds-check nEntry in both FillItemSet() implementations,
the same way OnDatasourceTypeSelected() already does.

Index: dbaccess/source/ui/dlg/generalpage.cxx
===================================================================
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -211,6 +211,16 @@
 
         m_xDatasourceType->set_active_text(getDatasourceName(_rSet));
 
+        // The preferred default type is not necessarily part of every build:
+        // openSUSE Tumbleweed has no firebird package (boo#1179203), so
+        // LibreOffice is built with --disable-firebird-sdbc and the Firebird
+        // entry that OGeneralPageWizard::getDatasourceName() asks for simply
+        // does not exist.  set_active_text() then leaves the list box without
+        // any selection at all, and FillItemSet() goes on to index
+        // m_aURLPrefixes with -1.  Fall back to the first available type.
+        if (m_xDatasourceType->get_active() == -1 && 
m_xDatasourceType->get_count() > 0)
+            m_xDatasourceType->set_active(0);
+
         // notify our listener that our type selection has changed (if so)
         // FIXME: how to detect that it did not changed? (fdo#62937)
         setParentTitle( m_eCurrentSelection );
@@ -430,6 +440,11 @@
         bool bChangedSomething = false;
 
         const sal_Int32 nEntry = m_xDatasourceType->get_active();
+        if (nEntry == -1 || o3tl::make_unsigned(nEntry) >= 
m_aURLPrefixes.size())
+        {
+            SAL_WARN("dbaccess.ui.generalpage", 
"OGeneralPageDialog::FillItemSet: no data source type selected, nothing to 
commit");
+            return bChangedSomething;
+        }
         OUString sURLPrefix = m_aURLPrefixes[ nEntry ];
 
         if (m_xDatasourceType->get_value_changed_from_saved())
@@ -596,6 +611,11 @@
         if ( bCommitTypeSelection )
         {
             const sal_Int32 nEntry = m_xDatasourceType->get_active();
+            if (nEntry == -1 || o3tl::make_unsigned(nEntry) >= 
m_aURLPrefixes.size())
+            {
+                SAL_WARN("dbaccess.ui.generalpage", 
"OGeneralPageWizard::FillItemSet: no data source type selected, nothing to 
commit");
+                return bChangedSomething;
+            }
             OUString sURLPrefix = m_aURLPrefixes[nEntry];
 
             if  (  m_xDatasourceType->get_value_changed_from_saved()

Reply via email to