Control: retitle -1 jabref: fails to build and start with openjdk-9 Control: severity -1 serious Control: tag -1 + patch
On Fri, 23 Feb 2018 14:38:04 +0100, gregor herrmann wrote: > Good. Now we at least know that the current jabref doesn't run with > openjdk9. Let's see if we earlier find the deeper problem or get a > newer jabref into debian :) Now that default-jdk and default-jre point to openjdk-9, the problem of the wrong default java runtime becomes more pressing, but jabref also doesn't build anymore. While the build failure looks like a gradle(-debian-helper) problem ... dh build --buildsystem=gradle dh_update_autotools_config -O--buildsystem=gradle dh_autoreconf -O--buildsystem=gradle dh_auto_configure -O--buildsystem=gradle dh_auto_build -O--buildsystem=gradle mkdir -p .gradle/init.d cp /usr/share/gradle-debian-helper/init.gradle .gradle/init.d/ gradle --info --console plain --offline --stacktrace --no-daemon --refresh-dependencies --gradle-user-home .gradle -Duser.home=. -Duser.name=debian -Ddebian.package=jabref -Dfile.encoding=UTF-8 --parallel --max-workers=4 jar Initialized native services in: /build/jabref-3.8.2+ds/.gradle/native FAILURE: Build failed with an exception. * What went wrong: Could not determine java version from '9.0.1'. * Try: Run with --debug option to get more log output. * Exception is: java.lang.IllegalArgumentException: Could not determine java version from '9.0.1'. at org.gradle.api.JavaVersion.toVersion(JavaVersion.java:70) at org.gradle.api.JavaVersion.current(JavaVersion.java:80) at org.gradle.internal.jvm.UnsupportedJavaRuntimeException.assertUsingVersion(UnsupportedJavaRuntimeException.java:29) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:32) at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33) at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:210) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:174) at org.gradle.launcher.Main.doAction(Main.java:33) at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60) at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37) at org.gradle.launcher.GradleMain.main(GradleMain.java:23) dh_auto_build: gradle --info --console plain --offline --stacktrace --no-daemon --refresh-dependencies --gradle-user-home .gradle -Duser.home=. -Duser.name=debian -Ddebian.package=jabref -Dfile.encoding=UTF-8 --parallel --max-workers=4 jar returned exit code 1 make: *** [debian/rules:6: build] Error 25 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 ... we know from upstream that the build would fail later anyway. I guess forcing openjdk-8 at buildtime and runtime would be ok for now? I've come up with the following patch, which seems to work. Any comments? #v+ diff --git a/debian/control b/debian/control index 2d5b97e05..2b2890755 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Build-Depends-Indep: ant, antlr, antlr3, antlr4, - default-jdk (>= 2:1.8), + openjdk-8-jdk, junit4, libandroid-json-java, libantlr3-runtime-java, @@ -45,7 +45,7 @@ Homepage: https://www.jabref.org/ Package: jabref Architecture: all Depends: ${misc:Depends}, - default-jre (>= 2:1.8) | java8-runtime, + openjdk-8-jre, java-wrappers, libandroid-json-java, libantlr3-runtime-java, diff --git a/debian/jabref-wrapper b/debian/jabref-wrapper index adbe78582..f13ec262d 100755 --- a/debian/jabref-wrapper +++ b/debian/jabref-wrapper @@ -4,7 +4,8 @@ . /usr/lib/java-wrappers/java-wrappers.sh # We need a java8 runtime -find_java_runtime java8 +# as this is also provided by openjdk9, we hardcode openjdk8 here +find_java_runtime openjdk8 find_jars \ jabref \ diff --git a/debian/rules b/debian/rules index d1809cdef..f71523da5 100755 --- a/debian/rules +++ b/debian/rules @@ -2,6 +2,10 @@ export DH_VERBOSE=1 +# force build with openjdk-8, even if -9 is installed +include /usr/share/dpkg/architecture.mk +export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(DEB_HOST_ARCH) + %: dh $@ --buildsystem=gradle #v- Cheers, gregor -- .''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06 `. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe `- NP: Pink Floyd: Sorrow
signature.asc
Description: Digital Signature