use SOURCE_DATE_EPOCH for jars created by gbuild
the date option requires OpenJDK 17.0.3 or Oracle JDK 17.0.6 or newer (see https://bugs.openjdk.org/browse/JDK-8276766 ) furthermore using long switches don't work with the shorthand notation of the options, so use dedicated/separate -c -f & other options Change-Id: I37e458f0e250be24a035cd72abf9a201ced0c46f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207245 Tested-by: Jenkins Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
This commit is contained in:
+7
-1
@@ -9287,7 +9287,13 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then
|
||||
if test "$_jdk_ver" -ge 180000 && test "$_jdk_ver" -lt 240000; then
|
||||
JDK_SECURITYMANAGER_DISALLOWED=TRUE
|
||||
fi
|
||||
|
||||
# reproducible builds make use of jar --date and that was introduced in jdk19
|
||||
# and backported to openJDK 17.0.3/oracle JDK 17.0.6 respectively
|
||||
if test "$_jdk_ver" -lt 170006 || test "$_jdk_ver" -ge 180000 && test "$_jdk_ver" -lt 190000; then
|
||||
AC_MSG_WARN([JDK too old for reproducible builds, needs jar --date support (see https://bugs.openjdk.org/browse/JDK-8276766 )])
|
||||
add_warning "JDK too old for reproducible builds, needs jar --date support (see https://bugs.openjdk.org/browse/JDK-8276766 )"
|
||||
SOURCE_DATE_EPOCH=""
|
||||
fi
|
||||
JAVA_HOME=`echo $JAVAINTERPRETER | $SED -n "s,//*bin//*java,,p"`
|
||||
if test "$_os" = "WINNT"; then
|
||||
JAVA_HOME=`echo $JAVA_HOME | $SED "s,\.[[eE]][[xX]][[eE]]$,,"`
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ $(call gb_ExternalProject_get_state_target,rhino,build) :
|
||||
$(gb_UnpackedTarball_workdir)/rhino/NOTICE-tools.txt \
|
||||
$(gb_UnpackedTarball_workdir)/rhino/NOTICE.txt \
|
||||
$(gb_UnpackedTarball_workdir)/rhino/build/content/META-INF/ \
|
||||
&& $(gb_Jar_JARCOMMAND) -cf $(gb_UnpackedTarball_workdir)/rhino/build/js.jar \
|
||||
&& $(gb_Jar_JARCOMMAND) -c -f $(gb_UnpackedTarball_workdir)/rhino/build/js.jar \
|
||||
-C $(gb_UnpackedTarball_workdir)/rhino/build/content . \
|
||||
-C $(gb_UnpackedTarball_workdir)/rhino/src \
|
||||
org/mozilla/javascript/commonjs/module/package.html \
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
# Jar class
|
||||
|
||||
gb_Jar_JARCOMMAND := jar
|
||||
gb_Jar_JARCOMMAND := jar $(if $(SOURCE_DATE_EPOCH),--date="$(shell date $(if $(filter $(OS),MACOSX),-r ,-d @)$(SOURCE_DATE_EPOCH) -u +'%FT%T+00:00')")
|
||||
|
||||
gb_Jar_LAYER_DIRS := \
|
||||
URE:$(INSTROOT)/$(LIBO_URE_SHARE_JAVA_FOLDER) \
|
||||
@@ -61,9 +61,9 @@ define gb_Jar__command
|
||||
echo "Solar-Version: $(LIBO_VERSION_MAJOR).$(LIBO_VERSION_MINOR).$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)" >> $(call gb_Jar_get_manifest_target,$(1)) && \
|
||||
$(if $(MANIFEST),cat $(MANIFEST) >> $(call gb_Jar_get_manifest_target,$(1)) &&) \
|
||||
mkdir -p $(dir $(2)) && cd $(call gb_Jar_get_workdir,$(1)) && \
|
||||
$(gb_Jar_JARCOMMAND) cfm $(2) $(call gb_Jar_get_manifest_target,$(1)) \
|
||||
$(gb_Jar_JARCOMMAND) -c -f $(2) -m $(call gb_Jar_get_manifest_target,$(1)) \
|
||||
META-INF $(PACKAGEROOTS) $(PACKAGEFILES) \
|
||||
$(foreach root,$(PACKAGEDIRS),&& cd $(dir $(root)) && $(gb_Jar_JARCOMMAND) uf $(2) $(notdir $(root))) \
|
||||
$(foreach root,$(PACKAGEDIRS),&& cd $(dir $(root)) && $(gb_Jar_JARCOMMAND) -u -f $(2) $(notdir $(root))) \
|
||||
|| (rm -f $(2); false) )
|
||||
endef
|
||||
|
||||
|
||||
Reference in New Issue
Block a user