Fridrich Strba 2024-03-01 07:17:05 +00:00 committed by Git OBS Bridge
parent 56c975d0b2
commit 3dc2292aa2
4 changed files with 267 additions and 466 deletions

View File

@ -0,0 +1,70 @@
From b8dd74fa811af7a1a8cf7f93b49ed63c828232a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Fri, 1 Mar 2024 07:31:27 +0100
Subject: [PATCH 1/2] Revert java 17 changes
---
README.md | 4 +++-
configure.ac | 10 +++++-----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index f529e48d4714..6afb8000b0e1 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,9 @@ Java is required for building many parts of LibreOffice. In TDF Wiki article
[Development/Java](https://wiki.documentfoundation.org/Development/Java), the
exact modules that depend on Java are listed.
-The baseline for Java is Java Development Kit (JDK) Version 17 or later.
+The baseline for Java is Java Development Kit (JDK) Version 17 or later. It is
+possible to build LibreOffice with JDK version 9, but it is no longer supported
+by the JDK vendors, thus it should be avoided.
If you want to use Clang with the LibreOffice compiler plugins, the minimal
version of Clang is 12.0.1. Since Xcode doesn't provide the compiler plugin
diff --git a/configure.ac b/configure.ac
index ae808e69c5b0..932abe65b353 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2570,7 +2570,7 @@ AC_ARG_WITH(linker-hash-style,
AC_ARG_WITH(jdk-home,
AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
- [If you have installed JDK 17 or later on your system please supply the
+ [If you have installed JDK 9 or later on your system please supply the
path here. Note that this is not the location of the java command but the
location of the entire distribution. In case of cross-compiling, this
is the JDK of the host os. Use --with-build-platform-configure-options
@@ -8647,7 +8647,7 @@ if test "$ENABLE_JAVA" != ""; then
fi
if ! test -f "$with_jdk_home/lib/jvm.lib" -a -f "$with_jdk_home/bin/java.exe"; then
- AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 17])
+ AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 9])
fi
fi
@@ -8732,8 +8732,8 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED '/^$/d' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
- if test "$_jdk_ver" -lt 170000; then
- AC_MSG_ERROR([JDK is too old, you need at least 17 ($_jdk_ver < 170000)])
+ if test "$_jdk_ver" -lt 90000; then
+ AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 90000)])
fi
dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be
dnl completely removed in some Java version > 18 (see
@@ -8754,7 +8754,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
JAVACFLAGS=-J-Xmx128M
fi
else
- AC_MSG_ERROR([Java not found. You need at least JDK 17])
+ AC_MSG_ERROR([Java not found. You need at least JDK 9])
fi
else
if test -z "$ENABLE_JAVA"; then
--
2.44.0

View File

@ -1,465 +0,0 @@
From 702c015e4127de65a4d8ab8a665bf6af6518ef4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Tue, 30 Mar 2021 16:43:17 +0200
Subject: [PATCH 1/2] Revert java 9 changes
Change-Id: I09f046f54b107b53c86f76a39553bd11ef03d9f6
---
configure.ac | 45 +++++--
jvmfwk/CustomTarget_jreproperties.mk | 2 +-
ridljar/Jar_libreoffice.mk | 8 +-
ridljar/Jar_unoloader.mk | 11 +-
ridljar/source/libreoffice/module-info.java | 142 --------------------
ridljar/source/unoloader/module-info.java | 12 --
solenv/gbuild/Jar.mk | 14 +-
solenv/gbuild/JavaClassSet.mk | 39 +-----
solenv/gbuild/gbuild.mk | 2 -
9 files changed, 43 insertions(+), 232 deletions(-)
delete mode 100644 ridljar/source/libreoffice/module-info.java
delete mode 100644 ridljar/source/unoloader/module-info.java
Index: libreoffice-7.5.1.2/configure.ac
===================================================================
--- libreoffice-7.5.1.2.orig/configure.ac
+++ libreoffice-7.5.1.2/configure.ac
@@ -2518,7 +2518,7 @@ AC_ARG_WITH(linker-hash-style,
AC_ARG_WITH(jdk-home,
AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
- [If you have installed JDK 9 or later on your system please supply the
+ [If you have installed JDK 8 or later on your system please supply the
path here. Note that this is not the location of the java command but the
location of the entire distribution. In case of cross-compiling, this
is the JDK of the host os. Use --with-build-platform-configure-options
@@ -8613,7 +8613,24 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "BEA"` -gt 0; then
AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "IBM"` -gt 0; then
- AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
+ JDK=ibm
+
+ dnl IBM JDK specific tests
+ _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
+ _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
+
+ if test "$_jdk_ver" -lt 10800; then
+ AC_MSG_ERROR([IBM JDK is too old, you need at least 8])
+ fi
+
+ AC_MSG_RESULT([found (IBM JDK $_jdk)])
+
+ if test "$with_jdk_home" = ""; then
+ AC_MSG_ERROR([In order to successfully build LibreOffice using the IBM JDK,
+you must use the "--with-jdk-home" configure option explicitly])
+ fi
+
+ JAVA_HOME=$with_jdk_home
else
JDK=sun
@@ -8621,10 +8638,10 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED '/^$/d' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
- if test "$_jdk_ver" -lt 10900; then
- AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 10900)])
+ if test "$_jdk_ver" -lt 10800; then
+ AC_MSG_ERROR([JDK is too old, you need at least 8])
fi
- if test "$_jdk_ver" -gt 10900; then
+ if test "$_jdk_ver" -gt 10800; then
JAVA_CLASSPATH_NOT_SET=TRUE
fi
dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be
@@ -8646,7 +8663,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
JAVACFLAGS=-J-Xmx128M
fi
else
- AC_MSG_ERROR([Java not found. You need at least JDK 9])
+ AC_MSG_ERROR([Java not found. You need at least JDK 8])
fi
else
if test -z "$ENABLE_JAVA"; then
Index: libreoffice-7.5.1.2/jvmfwk/CustomTarget_jreproperties.mk
===================================================================
--- libreoffice-7.5.1.2.orig/jvmfwk/CustomTarget_jreproperties.mk
+++ libreoffice-7.5.1.2/jvmfwk/CustomTarget_jreproperties.mk
@@ -17,7 +17,7 @@ $(call gb_CustomTarget_get_workdir,jvmfw
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),JCS,1)
$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),JCS)
$(call gb_Helper_abbreviate_dirs, \
- cd $(dir $@) && $(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) $(gb_JavaClassSet_JAVACDEBUG) -d $(dir $@) $^)
+ cd $(dir $@) && $(gb_JavaClassSet_JAVACCOMMAND) $(gb_JavaClassSet_JAVACDEBUG) -d $(dir $@) $^)
$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),JCS)
# vim:set shiftwidth=4 tabstop=4 noexpandtab:
Index: libreoffice-7.5.1.2/ridljar/Jar_libreoffice.mk
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/Jar_libreoffice.mk
+++ libreoffice-7.5.1.2/ridljar/Jar_libreoffice.mk
@@ -7,7 +7,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-$(eval $(call gb_Jar_Jar,libreoffice,org.libreoffice.uno))
+$(eval $(call gb_Jar_Jar,libreoffice))
$(eval $(call gb_Jar_use_customtargets,libreoffice,\
ridljar/javamaker \
@@ -27,15 +27,9 @@ $(eval $(call gb_Jar_add_manifest_classp
$(if $(filter MACOSX,$(OS)),../../Frameworks/,../) \
))
-# ugly: the module-info.class is manually added here since it's not in "com" dir
$(eval $(call gb_Jar_add_packagedirs,libreoffice,\
$(call gb_CustomTarget_get_workdir,ridljar/javamaker)/com \
$(call gb_CustomTarget_get_workdir,unoil/javamaker)/com \
- $(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,libreoffice))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,libreoffice,\
- ridljar/source/libreoffice/module-info \
))
$(eval $(call gb_Jar_add_sourcefiles,libreoffice,\
Index: libreoffice-7.5.1.2/ridljar/Jar_unoloader.mk
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/Jar_unoloader.mk
+++ libreoffice-7.5.1.2/ridljar/Jar_unoloader.mk
@@ -7,21 +7,12 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-$(eval $(call gb_Jar_Jar,unoloader,org.libreoffice.unoloader))
+$(eval $(call gb_Jar_Jar,unoloader))
$(eval $(call gb_Jar_set_packageroot,unoloader,com))
$(eval $(call gb_Jar_set_manifest,unoloader,$(SRCDIR)/ridljar/source/unoloader/com/sun/star/lib/unoloader/manifest))
-# the module-info.class is manually added here since it's not in "com" dir
-$(eval $(call gb_Jar_add_packagedirs,unoloader,\
- $(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,unoloader))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,unoloader,\
- ridljar/source/unoloader/module-info \
-))
-
$(eval $(call gb_Jar_add_sourcefiles,unoloader,\
ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoClassLoader \
ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoLoader \
Index: libreoffice-7.5.1.2/ridljar/source/libreoffice/module-info.java
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/source/libreoffice/module-info.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-module org.libreoffice.uno
-{
- requires org.libreoffice.unoloader;
-
- exports com.sun.star.accessibility;
- exports com.sun.star.animations;
- exports com.sun.star.auth;
- exports com.sun.star.awt;
- exports com.sun.star.awt.grid;
- exports com.sun.star.awt.tab;
- exports com.sun.star.awt.tree;
- exports com.sun.star.beans;
- exports com.sun.star.bridge;
- exports com.sun.star.bridge.oleautomation;
- exports com.sun.star.chart;
- exports com.sun.star.chart2;
- exports com.sun.star.chart2.data;
- exports com.sun.star.comp.bridgefactory;
- exports com.sun.star.comp.connections;
- exports com.sun.star.comp.helper;
- exports com.sun.star.comp.loader;
- exports com.sun.star.comp.servicemanager;
- exports com.sun.star.comp.urlresolver;
- exports com.sun.star.configuration;
- exports com.sun.star.configuration.backend;
- exports com.sun.star.connection;
- exports com.sun.star.container;
- exports com.sun.star.cui;
- exports com.sun.star.datatransfer;
- exports com.sun.star.datatransfer.clipboard;
- exports com.sun.star.datatransfer.dnd;
- exports com.sun.star.deployment;
- exports com.sun.star.deployment.test;
- exports com.sun.star.deployment.ui;
- exports com.sun.star.document;
- exports com.sun.star.drawing;
- exports com.sun.star.drawing.framework;
- exports com.sun.star.embed;
- exports com.sun.star.form;
- exports com.sun.star.form.binding;
- exports com.sun.star.form.control;
- exports com.sun.star.form.runtime;
- exports com.sun.star.form.submission;
- exports com.sun.star.form.validation;
- exports com.sun.star.formula;
- exports com.sun.star.frame;
- exports com.sun.star.frame.status;
- exports com.sun.star.gallery;
- exports com.sun.star.geometry;
- exports com.sun.star.graphic;
- exports com.sun.star.i18n;
- exports com.sun.star.inspection;
- exports com.sun.star.io;
- exports com.sun.star.java;
- exports com.sun.star.lang;
- exports com.sun.star.ldap;
- exports com.sun.star.lib.connections.pipe;
- exports com.sun.star.lib.connections.socket;
- exports com.sun.star.lib.uno;
- exports com.sun.star.lib.uno.adapter;
- exports com.sun.star.lib.uno.bridges.java_remote;
- exports com.sun.star.lib.uno.environments.java;
- exports com.sun.star.lib.uno.environments.remote;
- exports com.sun.star.lib.uno.helper;
- exports com.sun.star.lib.uno.protocols.urp;
- exports com.sun.star.lib.uno.typedesc;
- exports com.sun.star.lib.uno.typeinfo;
- exports com.sun.star.lib.util;
- exports com.sun.star.linguistic2;
- exports com.sun.star.loader;
- exports com.sun.star.logging;
- exports com.sun.star.mail;
- exports com.sun.star.media;
- exports com.sun.star.mozilla;
- exports com.sun.star.office;
- exports com.sun.star.packages;
- exports com.sun.star.packages.manifest;
- exports com.sun.star.packages.zip;
- exports com.sun.star.presentation;
- exports com.sun.star.qa;
- exports com.sun.star.rdf;
- exports com.sun.star.reflection;
- exports com.sun.star.registry;
- exports com.sun.star.rendering;
- exports com.sun.star.report;
- exports com.sun.star.report.inspection;
- exports com.sun.star.report.meta;
- exports com.sun.star.resource;
- exports com.sun.star.scanner;
- exports com.sun.star.script;
- exports com.sun.star.script.browse;
- exports com.sun.star.script.provider;
- exports com.sun.star.script.vba;
- exports com.sun.star.sdb;
- exports com.sun.star.sdb.application;
- exports com.sun.star.sdb.tools;
- exports com.sun.star.sdbc;
- exports com.sun.star.sdbcx;
- exports com.sun.star.security;
- exports com.sun.star.setup;
- exports com.sun.star.sheet;
- exports com.sun.star.sheet.opencl;
- exports com.sun.star.smarttags;
- exports com.sun.star.style;
- exports com.sun.star.svg;
- exports com.sun.star.system;
- exports com.sun.star.table;
- exports com.sun.star.task;
- exports com.sun.star.text;
- exports com.sun.star.text.textfield;
- exports com.sun.star.tiledrendering;
- exports com.sun.star.ucb;
- exports com.sun.star.ui;
- exports com.sun.star.ui.dialogs;
- exports com.sun.star.ui.test;
- exports com.sun.star.uno;
- exports com.sun.star.uri;
- exports com.sun.star.util;
- exports com.sun.star.view;
- exports com.sun.star.xforms;
- exports com.sun.star.xml;
- exports com.sun.star.xml.crypto;
- exports com.sun.star.xml.crypto.sax;
- exports com.sun.star.xml.csax;
- exports com.sun.star.xml.dom;
- exports com.sun.star.xml.dom.events;
- exports com.sun.star.xml.dom.views;
- exports com.sun.star.xml.input;
- exports com.sun.star.xml.sax;
- exports com.sun.star.xml.wrapper;
- exports com.sun.star.xml.xpath;
- exports com.sun.star.xml.xslt;
- exports com.sun.star.xsd;
-}
Index: libreoffice-7.5.1.2/ridljar/source/unoloader/module-info.java
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/source/unoloader/module-info.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-module org.libreoffice.unoloader
-{
- exports com.sun.star.lib.unoloader;
-}
Index: libreoffice-7.5.1.2/solenv/gbuild/Jar.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/Jar.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/Jar.mk
@@ -94,7 +94,6 @@ endef
# creates a class set and a dependency to it
# registers target and clean target
# adds jar files to DeliverLogTarget
-# call gb_Jar_Jar,jarname,java9modulename
define gb_Jar_Jar
ifeq (,$$(findstring $(1),$$(gb_Jar_KNOWN)))
$$(eval $$(call gb_Output_info,Currently known jars are: $(sort $(gb_Jar_KNOWN)),ALL))
@@ -107,7 +106,7 @@ $(call gb_Jar_get_target,$(1)) : PACKAGE
$(call gb_Jar_get_target,$(1)) : PACKAGEFILES :=
$(call gb_Jar_get_target,$(1)) : \
$(call gb_JavaClassSet_get_target,$(call gb_Jar_get_classsetname,$(1)))
-$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)),$(2))
+$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)))
$(eval $(call gb_Module_register_target,$(call gb_Jar_get_target,$(1)),$(call gb_Jar_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Jar,$(call gb_Jar_get_target,$(1)))
@@ -122,12 +121,6 @@ $(call gb_JavaClassSet_add_sourcefile,$(
endef
-define gb_Jar_add_sourcefile_java9
-$(call gb_JavaClassSet_add_sourcefile_java9,$(call gb_Jar_get_classsetname,$(1)),$(2))
-
-endef
-
-
# PACKAGEROOTS is the list of all root folders created by the JavaClassSet to pack into the jar (without META-INF as this is added automatically)
define gb_Jar_set_packageroot
$(call gb_Jar_get_target,$(1)) : PACKAGEROOTS := $(2)
@@ -166,11 +159,6 @@ $(foreach sourcefile,$(2),$(call gb_Jar_
endef
-define gb_Jar_add_sourcefiles_java9
-$(foreach sourcefile,$(2),$(call gb_Jar_add_sourcefile_java9,$(1),$(sourcefile)))
-
-endef
-
define gb_Jar_add_generated_sourcefile
$(call gb_JavaClassSet_add_generated_sourcefile,$(call gb_Jar_get_classsetname,$(1)),$(2))
Index: libreoffice-7.5.1.2/solenv/gbuild/JavaClassSet.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/JavaClassSet.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/JavaClassSet.mk
@@ -17,11 +17,10 @@
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
-gb_JavaClassSet_JAVACCOMMAND = $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVACFLAGS) \
+gb_JavaClassSet_JAVACCOMMAND := $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVAFLAGS) \
-encoding utf8 \
- --release $(1) \
+ -source $(JAVA_SOURCE_VER) -target $(JAVA_TARGET_VER) \
$(if $(JAVA_CLASSPATH_NOT_SET),-Xlint:-options)
-
gb_JavaClassSet_JAVACDEBUG :=
# Enforces correct dependency order for possibly generated stuff:
@@ -32,35 +31,19 @@ ifneq ($(gb_DEBUGLEVEL),0)
gb_JavaClassSet_JAVACDEBUG := -g
endif
-# $(PACKAGEDIRS) inherited from Jar -- assumption is the last part of the path
-# is top-level java package directory
-# for Java 9 modules, invoke javac another time, with --patch-module so that
-# it finds all the class files for whose packages the module-info contains a
-# declaration
define gb_JavaClassSet__command
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
$(if $(filter-out $(JARDEPS),$(4)), \
rm -rf $(call gb_JavaClassSet_get_classdir,$(2))/* && \
RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
- $(filter-out $(JARDEPS) $(T_JAVA9FILES),$(4))) && \
- $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) \
+ $(filter-out $(JARDEPS),$(4))) && \
+ $(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) \
$(gb_JavaClassSet_JAVACDEBUG) \
-classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
-d $(call gb_JavaClassSet_get_classdir,$(2)) \
@$$RESPONSEFILE &&) \
rm -f $$RESPONSEFILE &&) \
- $(if $(T_MODULENAME),\
- RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
- $(T_JAVA9FILES)) && \
- $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,9) \
- $(gb_JavaClassSet_JAVACDEBUG) \
- -classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
- --module-path "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
- $(if $(T_MODULENAME),--patch-module $(T_MODULENAME)="$(subst $(WHITESPACE),$(gb_CLASSPATHSEP),$(strip $(dir $(PACKAGEDIRS))))") \
- -d $(call gb_JavaClassSet_get_classdir,$(2)) \
- @$$RESPONSEFILE &&) \
- rm -f $$RESPONSEFILE &&) \
touch $(1))
endef
@@ -81,7 +64,6 @@ $(call gb_JavaClassSet_get_preparation_t
mkdir -p $(dir $@) && touch $@
# depend on makefile to enforce a rebuild if files are removed from the classset
-# call gb_JavaClassSet_JavaClassSet,csname,java9modulename
define gb_JavaClassSet_JavaClassSet
$(call gb_JavaClassSet_get_target,$(1)) : \
$(gb_Module_CURRENTMAKEFILE) \
@@ -89,8 +71,6 @@ $(call gb_JavaClassSet_get_target,$(1))
$(call gb_JavaClassSet_get_target,$(1)) : JARDEPS := \
$(gb_Module_CURRENTMAKEFILE) \
$(call gb_JavaClassSet_get_preparation_target,$(1))
-$(call gb_JavaClassSet_get_target,$(1)) : T_MODULENAME := $(2)
-$(call gb_JavaClassSet_get_target,$(1)) : T_JAVA9FILES :=
endef
@@ -112,17 +92,6 @@ $(foreach sourcefile,$(2),$(call gb_Java
endef
-define gb_JavaClassSet_add_sourcefile_java9
-$(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet__get_sourcefile,$(2))
-$(call gb_JavaClassSet_get_target,$(1)) : T_JAVA9FILES += $(call gb_JavaClassSet__get_sourcefile,$(2))
-
-endef
-
-define gb_JavaClassSet_add_sourcefiles_java9
-$(foreach sourcefile,$(2),$(call gb_JavaClassSet_add_sourcefile_java9,$(1),$(sourcefile)))
-
-endef
-
define gb_JavaClassSet_add_generated_sourcefile
$(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet__get_generated_sourcefile,$(2))
$(call gb_JavaClassSet__get_generated_sourcefile,$(2)) :| $(call gb_JavaClassSet_get_preparation_target,$(1))
Index: libreoffice-7.5.1.2/solenv/gbuild/gbuild.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/gbuild.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/gbuild.mk
@@ -62,8 +62,6 @@ COMMA :=,
OPEN_PAREN :=(
CLOSE_PAREN :=)
-gb_SPACE:=$(gb_SPACE) $(gb_SPACE)
-
gb_VERBOSE := $(verbose)
include $(GBUILDDIR)/Helper.mk

View File

@ -0,0 +1,193 @@
From afb38683e746c475e68b0883566b5593fc5babff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Fri, 1 Mar 2024 08:02:56 +0100
Subject: [PATCH 2/2] Revert java 9 changes
---
configure.ac | 8 ++++----
ridljar/Jar_libreoffice.mk | 8 +-------
ridljar/Jar_unoloader.mk | 11 +----------
solenv/gbuild/Jar.mk | 3 +--
solenv/gbuild/JavaClassSet.mk | 23 ++---------------------
5 files changed, 9 insertions(+), 44 deletions(-)
diff --git a/configure.ac b/configure.ac
index 932abe65b353..153137c7ff7c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2570,7 +2570,7 @@ AC_ARG_WITH(linker-hash-style,
AC_ARG_WITH(jdk-home,
AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
- [If you have installed JDK 9 or later on your system please supply the
+ [If you have installed JDK 8 or later on your system please supply the
path here. Note that this is not the location of the java command but the
location of the entire distribution. In case of cross-compiling, this
is the JDK of the host os. Use --with-build-platform-configure-options
@@ -8732,8 +8732,8 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
_jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED '/^$/d' | $SED s/[[-A-Za-z]]*//`
_jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
- if test "$_jdk_ver" -lt 90000; then
- AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 90000)])
+ if test "$_jdk_ver" -lt 10800; then
+ AC_MSG_ERROR([JDK is too old, you need at least 8 ($_jdk_ver < 10800)])
fi
dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be
dnl completely removed in some Java version > 18 (see
@@ -8754,7 +8754,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
JAVACFLAGS=-J-Xmx128M
fi
else
- AC_MSG_ERROR([Java not found. You need at least JDK 9])
+ AC_MSG_ERROR([Java not found. You need at least JDK 8])
fi
else
if test -z "$ENABLE_JAVA"; then
diff --git a/ridljar/Jar_libreoffice.mk b/ridljar/Jar_libreoffice.mk
index 76a56eedc078..133d664e9459 100644
--- a/ridljar/Jar_libreoffice.mk
+++ b/ridljar/Jar_libreoffice.mk
@@ -7,7 +7,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-$(eval $(call gb_Jar_Jar,libreoffice,org.libreoffice.uno))
+$(eval $(call gb_Jar_Jar,libreoffice))
$(eval $(call gb_Jar_use_customtargets,libreoffice,\
ridljar/javamaker \
@@ -32,15 +32,9 @@ $(eval $(call gb_Jar_add_manifest_classpath,libreoffice, \
$(if $(filter MACOSX,$(OS)),../../Frameworks/,../) \
))
-# ugly: the module-info.class is manually added here since it's not in "com" dir
$(eval $(call gb_Jar_add_packagedirs,libreoffice,\
$(call gb_CustomTarget_get_workdir,ridljar/javamaker)/com \
$(call gb_CustomTarget_get_workdir,unoil/javamaker)/com \
- $(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,libreoffice))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,libreoffice,\
- ridljar/source/libreoffice/module-info \
))
$(eval $(call gb_Jar_add_sourcefiles,libreoffice,\
diff --git a/ridljar/Jar_unoloader.mk b/ridljar/Jar_unoloader.mk
index 2acf20b5b289..50b32e8f0f88 100644
--- a/ridljar/Jar_unoloader.mk
+++ b/ridljar/Jar_unoloader.mk
@@ -7,21 +7,12 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-$(eval $(call gb_Jar_Jar,unoloader,org.libreoffice.unoloader))
+$(eval $(call gb_Jar_Jar,unoloader))
$(eval $(call gb_Jar_set_packageroot,unoloader,com))
$(eval $(call gb_Jar_set_manifest,unoloader,$(SRCDIR)/ridljar/source/unoloader/com/sun/star/lib/unoloader/manifest))
-# the module-info.class is manually added here since it's not in "com" dir
-$(eval $(call gb_Jar_add_packagedirs,unoloader,\
- $(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,unoloader))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,unoloader,\
- ridljar/source/unoloader/module-info \
-))
-
$(eval $(call gb_Jar_add_sourcefiles,unoloader,\
ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoClassLoader \
ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoLoader \
diff --git a/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk
index d1a84cebaabe..a6abe2996446 100644
--- a/solenv/gbuild/Jar.mk
+++ b/solenv/gbuild/Jar.mk
@@ -94,7 +94,6 @@ endef
# creates a class set and a dependency to it
# registers target and clean target
# adds jar files to DeliverLogTarget
-# call gb_Jar_Jar,jarname,java9modulename
define gb_Jar_Jar
ifeq (,$$(findstring $(1),$$(gb_Jar_KNOWN)))
$$(eval $$(call gb_Output_info,Currently known jars are: $(sort $(gb_Jar_KNOWN)),ALL))
@@ -107,7 +106,7 @@ $(call gb_Jar_get_target,$(1)) : PACKAGEDIRS :=
$(call gb_Jar_get_target,$(1)) : PACKAGEFILES :=
$(call gb_Jar_get_target,$(1)) : \
$(call gb_JavaClassSet_get_target,$(call gb_Jar_get_classsetname,$(1)))
-$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)),$(2))
+$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)))
$(eval $(call gb_Module_register_target,$(call gb_Jar_get_target,$(1)),$(call gb_Jar_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Jar,$(call gb_Jar_get_target,$(1)))
diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk
index 84fbcc13c32d..3b8e48414c73 100644
--- a/solenv/gbuild/JavaClassSet.mk
+++ b/solenv/gbuild/JavaClassSet.mk
@@ -19,7 +19,7 @@
gb_JavaClassSet_JAVACCOMMAND = $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVACFLAGS) \
-encoding utf8 \
- --release $(1) \
+ -source $(1) -target $(1) \
-Xlint:-options \
-Xlint:unchecked
@@ -33,35 +33,19 @@ ifneq ($(gb_DEBUGLEVEL),0)
gb_JavaClassSet_JAVACDEBUG := -g
endif
-# $(PACKAGEDIRS) inherited from Jar -- assumption is the last part of the path
-# is top-level java package directory
-# for Java 9 modules, invoke javac another time, with --patch-module so that
-# it finds all the class files for whose packages the module-info contains a
-# declaration
define gb_JavaClassSet__command
$(call gb_Helper_abbreviate_dirs,\
mkdir -p $(dir $(1)) && \
$(if $(filter-out $(JARDEPS),$(4)), \
rm -rf $(call gb_JavaClassSet_get_classdir,$(2))/* && \
RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
- $(filter-out $(JARDEPS) $(T_JAVA9FILES),$(4))) && \
+ $(filter-out $(JARDEPS),$(4))) && \
$(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) \
$(gb_JavaClassSet_JAVACDEBUG) \
-classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
-d $(call gb_JavaClassSet_get_classdir,$(2)) \
@$$RESPONSEFILE &&) \
rm -f $$RESPONSEFILE &&) \
- $(if $(T_MODULENAME),\
- RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
- $(T_JAVA9FILES)) && \
- $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,9) \
- $(gb_JavaClassSet_JAVACDEBUG) \
- -classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
- --module-path "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
- $(if $(T_MODULENAME),--patch-module $(T_MODULENAME)="$(subst $(WHITESPACE),$(gb_CLASSPATHSEP),$(strip $(dir $(PACKAGEDIRS))))") \
- -d $(call gb_JavaClassSet_get_classdir,$(2)) \
- @$$RESPONSEFILE &&) \
- rm -f $$RESPONSEFILE &&) \
touch $(1))
endef
@@ -82,7 +66,6 @@ $(call gb_JavaClassSet_get_preparation_target,%) :
mkdir -p $(dir $@) && touch $@
# depend on makefile to enforce a rebuild if files are removed from the classset
-# call gb_JavaClassSet_JavaClassSet,csname,java9modulename
define gb_JavaClassSet_JavaClassSet
$(call gb_JavaClassSet_get_target,$(1)) : \
$(gb_Module_CURRENTMAKEFILE) \
@@ -90,8 +73,6 @@ $(call gb_JavaClassSet_get_target,$(1)) : \
$(call gb_JavaClassSet_get_target,$(1)) : JARDEPS := \
$(gb_Module_CURRENTMAKEFILE) \
$(call gb_JavaClassSet_get_preparation_target,$(1))
-$(call gb_JavaClassSet_get_target,$(1)) : T_MODULENAME := $(2)
-$(call gb_JavaClassSet_get_target,$(1)) : T_JAVA9FILES :=
endef
--
2.44.0

View File

@ -114,8 +114,10 @@ Patch11: fix_webp_on_sle12_sp5.patch
Patch14: use-fixmath-shared-library.patch
# PATCH-FIX-SUSE Fix make distro-pack-install
Patch15: fix-sdk-idl.patch
# Useless upstream bump for java 17
Patch100: 0001-Revert-java-17-changes.patch
# Build with java 8
Patch101: 0001-Revert-java-9-changes.patch
Patch101: 0002-Revert-java-9-changes.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
@ -1031,6 +1033,7 @@ Provides %{langname} translations and additional resources (help files, etc.) fo
%patch -P 3
%patch -P 6 -p1
%patch -P 9 -p1
%patch -P 100 -p1
%if 0%{?suse_version} < 1500
%patch -P 10 -p1
%patch -P 11 -p1