I am developing a Debian package for Ubuntu which uses Java 17. We have historically had a runtime dependency on openjdk-17-jre
. We have a part of our software that has used JavaFX on Windows and macOS for the web browser component. We have disabled this page on Linux since OpenJDK doesn't include JavaFX. I finally figured out how to include openjfx
and libopenjfx-jni
and then modify our startup script to pass the correct parameters to Java. Here are the dependencies in my debian/control
file:
Depends: openjdk-17-jre, xdg-utils, openjfx, libopenjfx-jni
This has worked fine for most users. However, we have users that also have bellsoft-java17-full installed for other software. When the source for bellsoft is configured (doesn't matter whether the bellsoft JDK is installed) then openjfx is not installed. When I run apt depend <my-program-name>
, I get this output:
$ apt depends scripture-app-builder
scripture-app-builder
Depends: openjdk-17-jre
Depends: xdg-utils
Depends: openjfx
bellsoft-java11-full
bellsoft-java11-runtime-full
bellsoft-java14-full
bellsoft-java14-runtime-full
bellsoft-java15-full
bellsoft-java15-runtime-full
bellsoft-java16-full
bellsoft-java16-runtime-full
bellsoft-java17-full
bellsoft-java17-runtime-full
bellsoft-java18-full
bellsoft-java18-runtime-full
bellsoft-java19-full
bellsoft-java19-runtime-full
bellsoft-java20-full
bellsoft-java20-runtime-full
bellsoft-java8-full
bellsoft-java8-runtime-full
Depends: libopenjfx-jni
Is there a way from my debian/control
file to require openjfx instead of the bellsoft distribution (which none of them get installed)?