Skip to content

Allow other JDK implementations#2404

Open
eppesuig wants to merge 3 commits intojitsi:masterfrom
eppesuig:master
Open

Allow other JDK implementations#2404
eppesuig wants to merge 3 commits intojitsi:masterfrom
eppesuig:master

Conversation

@eppesuig
Copy link
Copy Markdown

The requirement on openjdk-* is quite strict and don't allow usage of other Java implementations. I've just added the generic dependencies that would allow other Java. As an example, in Debian bullseye there is not openjdk 17 nor 21, but you may download amazon corretto debian package. This change allow to use any java implementation that provides a well crafted debian package

The requirement on openjdk-* is quite strict and don't allow usage of other Java implementations. I've just added the generic dependencies that would allow other Java. As an example, in Debian bullseye there is not openjdk 17 nor 21, but you may download amazon corretto debian package. This change allow to use any java implementation that provides a well crafted debian package
Added missing dependency
@jitsi-jenkins
Copy link
Copy Markdown

Hi, thanks for your contribution!
If you haven't already done so, could you please make sure you sign our CLA (https://jitsi.org/icla for individuals and https://jitsi.org/ccla for corporations)? We would unfortunately be unable to merge your patch unless we have that piece :(.

@damencho
Copy link
Copy Markdown
Member

Debian bullseye is end of life already. The dependencies we have support all latest stable release of Ubuntu and Debian, we just changed them to match them.

@eppesuig
Copy link
Copy Markdown
Author

Well, debian bullseye is currently supported by LTS team and I don't know when that support will end. By the way, this patch would allow more freedom to Jitsi users, and will not add a single restriction or problem. So, why not allowing it?

@damencho
Copy link
Copy Markdown
Member

Cause it changes default behavior, change the order so it uses those packages as fallback.

@eppesuig
Copy link
Copy Markdown
Author

I did not add a specific package, I added the virtual package names. In fact openjdk-* packages provide that virtual package. If you have openjdk-* packages nothing changes. If you have any other package that provide that virtual names, then it works as well.

$ apt show openjdk-17-jdk-headless | grep ^Provides
Provides: java-compiler, java-sdk-headless (= 17), java10-sdk-headless, java11-sdk-headless, java12-sdk-headless, java13-sdk-headless, java14-sdk-headless, java15-sdk-headless, java16-sdk-headless, java17-sdk-headless, java2-sdk-headless, java5-sdk-headless, java6-sdk-headless, java7-sdk-headless, java8-sdk-headless, java9-sdk-headless

I added the virtual package in front of the other package names since I seem to remember this is the debian way, but I may be wrong. I am going to check it.

@eppesuig
Copy link
Copy Markdown
Author

I just found the documentation. If you suggest one specific implementation, than its package name should be listed prior to the virtual package name, otherwise there is no preference over the implementation packages.

The documentation states

To specify which of a set of real packages should be the default to satisfy a particular dependency on a virtual package, list the real package as an alternative before the virtual one.

source: https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides

So, you may update my patch changing the package order as you prefer, albeit I hope any JDK implementation will gives the same result.

@damencho
Copy link
Copy Markdown
Member

We prefer to put there what we have tested. And no, we cannot guarantee same results if you use some other GC as for realtime it depends how the GC is behaving, so we have tested and adjusted the GC for openjdk that gives best results for high load usage.

if [ -z "$VIDEOBRIDGE_GC_TYPE" ]; then VIDEOBRIDGE_GC_TYPE=G1GC; fi

@eppesuig
Copy link
Copy Markdown
Author

Well, thank you very much for this explanation. I cannot use OpenJDK, so I'll carefully test the system with Corretto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants