From ffdd282d23c582779ec67023c6e5afbd852bb296 Mon Sep 17 00:00:00 2001 From: tigro Date: Fri, 14 Feb 2025 13:43:28 +0300 Subject: [PATCH] Build w/o java --- SPECS/libreoffice.spec | 72 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/SPECS/libreoffice.spec b/SPECS/libreoffice.spec index d0bb226..de78063 100644 --- a/SPECS/libreoffice.spec +++ b/SPECS/libreoffice.spec @@ -1,3 +1,6 @@ +# Disable Java Build +%global with_java 0 + # download path contains version without the last (fourth) digit %global libo_version 7.1.8 # Should contain .alphaX / .betaX, if this is pre-release (actually @@ -57,7 +60,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.1 -Release: 14%{?libo_prerelease}%{?dist}.inferit +Release: 14%{?libo_prerelease}%{?dist}.inferit.1.fstec License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -233,6 +236,7 @@ BuildRequires: pkgconfig(liborcus-0.15) BuildRequires: pkgconfig(mdds-1.5) BuildRequires: libnumbertext-devel +%if %{with_java} # java stuff BuildRequires: ant %if 0%{?fedora} @@ -241,6 +245,7 @@ BuildRequires: bsh BuildRequires: java-devel BuildRequires: junit BuildRequires: pentaho-reporting-flow-engine +%endif # fonts needed for tests BuildRequires: dejavu-sans-fonts @@ -366,8 +371,15 @@ Requires: liberation-sans-fonts, liberation-serif-fonts, liberation-mono-fonts Requires: dejavu-sans-fonts, dejavu-serif-fonts, dejavu-sans-mono-fonts Requires: google-crosextra-caladea-fonts, google-crosextra-carlito-fonts Requires: %{name}-langpack-en = %{epoch}:%{version}-%{release} +%if %{with_java} # rhbz#949106 libreoffice-core drags in both openjdk 1.7.0 and 1.8.0 Requires: 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} @@ -427,6 +439,7 @@ Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} Support JavaScript scripts in LibreOffice. %endif +%if %{with_java} %package officebean Summary: JavaBean for LibreOffice Components Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} @@ -465,6 +478,7 @@ 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 @@ -587,9 +601,12 @@ creation and management of PostgreSQL databases through a GUI. %package ure Summary: UNO Runtime Environment -#rhbz#1164551 we want to ensure that a libjvm.so of this arch is available Requires: %{name}-ure-common = %{epoch}:%{version}-%{release} -Requires: unzip%{?_isa}, libjvm.so%{?mark64} +Requires: unzip%{?_isa} +%if %{with_java} +#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 @@ -610,7 +627,10 @@ Arch-independent part of %{name}-ure. Summary: Software Development Kit for LibreOffice Requires: %{name}-core%{?_isa} = %{epoch}:%{version}-%{release} Requires: %{name}-ure%{?_isa} = %{epoch}:%{version}-%{release} -Requires: unzip%{?_isa}, java-devel +Requires: unzip%{?_isa} +%if %{with_java} +java-devel +%endif %description sdk The LibreOffice SDK is an add-on for the LibreOffice office suite. It provides @@ -1119,6 +1139,12 @@ export CXXFLAGS=$ARCH_FLAGS %define distrooptions --enable-eot --enable-kf5 %endif +%ifarch %{with_java} +%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 @@ -1153,8 +1179,6 @@ touch autogen.lastrun --enable-gtk3 \ --enable-introspection \ --enable-release-build \ - --enable-scripting-beanshell \ - --enable-scripting-javascript \ --enable-symbols \ --with-build-version="%{version}-%{release}" \ --with-external-dict-dir=/usr/share/myspell \ @@ -1169,6 +1193,7 @@ touch autogen.lastrun --with-gdrive-client-id="457862564325.apps.googleusercontent.com" \ --enable-python=system \ --with-idlc-cpp=cpp \ + %{javaoptions} \ %{distrooptions} \ %{?bundling_options} \ %{?archoptions} \ @@ -1554,6 +1579,7 @@ solenv/bin/assemble-flatpak-appdata-step2.sh \ rm %{buildroot}%{_datadir}/metainfo/libreoffice-*.appdata.xml %endif +%if %{with_java} # 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 @@ -1565,6 +1591,12 @@ for jar in %{buildroot}%{baseinstdir}/program/classes/*.jar; do ;; 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 # Update desktop files install -m 644 %{SOURCE101} %{buildroot}%{_datadir}/applications/ @@ -1601,6 +1633,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/libbasprovlo.so %{baseinstdir}/program/libcairocanvaslo.so %{baseinstdir}/program/libcanvasfactorylo.so +%if %{with_java} %dir %{baseinstdir}/program/classes %{baseinstdir}/program/classes/commonwizards.jar %{baseinstdir}/program/classes/form.jar @@ -1612,6 +1645,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/classes/unoil.jar %{baseinstdir}/program/classes/XMergeBridge.jar %{baseinstdir}/program/classes/xmerge.jar +%endif %{baseinstdir}/program/libcmdmaillo.so %{baseinstdir}/program/libdeployment.so %{baseinstdir}/program/libdeploymentgui.so @@ -1665,7 +1699,9 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/libguesslanglo.so %{baseinstdir}/program/libhelplinkerlo.so %{baseinstdir}/program/libhyphenlo.so +%if %{with_java} %{baseinstdir}/program/libjdbclo.so +%endif %{baseinstdir}/program/liblnglo.so %{baseinstdir}/program/libloglo.so %{baseinstdir}/program/liblocaledata_en.so @@ -1768,7 +1804,9 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %dir %{baseinstdir}/share/fonts/truetype %{baseinstdir}/share/fonts/truetype/fc_local.conf %dir %{baseinstdir}/share/Scripts +%if %{with_java} %{baseinstdir}/share/Scripts/java +%endif %dir %{baseinstdir}/share/autotext %dir %{_datadir}/autocorr %{baseinstdir}/share/autocorr @@ -1912,10 +1950,12 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{_mandir}/man1/ooviewdoc.1* %files base +%if %{with_java} %{baseinstdir}/program/classes/hsqldb.jar %{baseinstdir}/program/classes/reportbuilder.jar %{baseinstdir}/program/classes/reportbuilderwizard.jar %{baseinstdir}/program/classes/sdbc_hsqldb.jar +%endif %{baseinstdir}/program/access2base.py %if 0%{?fedora} %{baseinstdir}/program/base.abignore @@ -1925,12 +1965,16 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %if 0%{?fedora} %{baseinstdir}/program/libfirebird_sdbclo.so %endif +%if %{with_java} %{baseinstdir}/program/libhsqldb.so %{baseinstdir}/program/librptlo.so %{baseinstdir}/program/librptuilo.so %{baseinstdir}/program/librptxmllo.so +%endif %{baseinstdir}/share/registry/base.xcd +%if %{with_java} %{baseinstdir}/share/registry/reportbuilder.xcd +%endif %{baseinstdir}/program/sbase %if 0%{?flatpak} %{_datadir}/applications/org.libreoffice.LibreOffice.base.desktop @@ -1954,6 +1998,8 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/share/Scripts/javascript %endif +%if %{with_java} + %files wiki-publisher %docdir %{baseinstdir}/share/extensions/wiki-publisher/license %{baseinstdir}/share/extensions/wiki-publisher @@ -1972,6 +2018,8 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %files officebean-common %{_javadir}/%{name}/officebean.jar +%endif + %files ogltrans %if 0%{?fedora} %{baseinstdir}/program/ogltrans.abignore @@ -2144,6 +2192,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/share/registry/postgresql.xcd %files ure +%if %{with_java} %{baseinstdir}/program/classes/java_uno.jar %{baseinstdir}/program/classes/juh.jar %{baseinstdir}/program/classes/jurt.jar @@ -2154,6 +2203,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/javavendors.xml %{baseinstdir}/program/jvmfwk3rc %{baseinstdir}/program/JREProperties.class +%endif %if 0%{?fedora} %{baseinstdir}/program/ure.abignore %endif @@ -2166,6 +2216,8 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/libinvocadaptlo.so %{baseinstdir}/program/libinvocationlo.so %{baseinstdir}/program/libiolo.so + +%if %{with_java} %{baseinstdir}/program/libjava_uno.so %{baseinstdir}/program/libjavaloaderlo.so %{baseinstdir}/program/libjavavmlo.so @@ -2174,6 +2226,7 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{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 @@ -2200,12 +2253,14 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %{baseinstdir}/program/unorc %files ure-common +%if %{with_java} %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 @@ -2258,8 +2313,10 @@ rm -f %{buildroot}%{baseinstdir}/program/classes/smoketest.jar %endif %{_datadir}/mime/packages/libreoffice.xml # TODO: rename -data to -core-common? +%if %{with_java} %dir %{_javadir}/%{name} %{_javadir}/%{name}/unoil.jar +%endif %dir %{datadir} %doc instdir/CREDITS.fodt %doc instdir/LICENSE.html @@ -2314,6 +2371,9 @@ gtk-update-icon-cache -q %{_datadir}/icons/hicolor &>/dev/null || : %{_includedir}/LibreOfficeKit %changelog +* Tue Feb 04 2025 Arkady L. Shane - 1:7.1.8.1-14.inferit.1.fstec +- Build without java + * Thu Aug 15 2024 Eike Rathke - 1:7.1.8.1-14 - Fix CVE-2024-6472 remove ability to trust not validated macro signatures in high security