Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PolyMC: Update Java runtime dependencies #38648

Closed
wants to merge 1 commit into from

Conversation

BlindRepublic
Copy link
Contributor

@BlindRepublic BlindRepublic commented Aug 13, 2022

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture, x86_64_glibc

Fixes #38645

qt5-qmake scdoc"
makedepends="qt5-devel"
depends="virtual?java-runtime qt5-svg qt5-imageformats xrandr"
depends="openjdk17-jre qt5-svg qt5-imageformats xrandr"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? virtual?java-runtime will accept any package that provides java-runtime virtual dependency, this includes both openjdk17-jre and the current distro-wide default of openjdk8-jre.

If you install openjdk17-jre you should be able to remove openjdk8-jre, or why not keep both. You could also install openjdk17-jre before PolyMC and then openjdk8-jre won't be pulled in.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah nvm attempting to install PolyMC pulls in openjdk11-jre by default for me on x86_64-musl, wonder what exactly makes that the case... Either way this is a bit of a nuanced issue, perhaps @classabbyamp can comment better.

I previously suggested mentioning the existance of PolyMC's README.voidlinux but it seems that was completely lost in the comments, but the file should already exist as /usr/share/doc/PolyMC/README.voidlinux on your system.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah nvm attempting to install PolyMC pulls in openjdk11-jre by default for me on x86_64-musl, wonder what exactly makes that the case... Either way this is a bit of a nuanced issue, perhaps @classabbyamp can comment better.

I previously suggested mentioning the existance of PolyMC's README.voidlinux but it seems that was completely lost in the comments, but the file should already exist as /usr/share/doc/PolyMC/README.voidlinux on your system.

Fair, but README or not, this still means that the package wouldn't have accurate dependencies which puts into question the point of deps in the first place. Not to mention the extra work for new users who'll have to switch one version out for another.

@paper42
Copy link
Member

paper42 commented Aug 13, 2022

Different versions of minecraft require different versions of java. We don't want to require all of them, so I think we should keep using the virtual dependency that can be satisfied by jre 8, 11 or 17.

@BlindRepublic
Copy link
Contributor Author

Different versions of minecraft require different versions of java. We don't want to require all of them, so I think we should keep using the virtual dependency that can be satisfied by jre 8, 11 or 17.

Fair, but having specifically the up-to-date version of the game that most people want to play be the one that doesn't work. If it's a later version of Java by default, less players have to go out of their way to change it manually.

@classabbyamp
Copy link
Member

Void policy is to only include the absolutely required software in dependencies, not optional software. PolyMC can work with any of the three openjdk runtimes we currently package, so that requirement is put in the depends.

PolyMC provides a nice, clear error message if it doesn't have the correct jdk and README.voidlinux (which is the standard way to let users know about void-specific documentation with a package) says the same thing.

Forcing the dependency to openjdk17-jre would cause errors if a user only wanted to have other versions of openjdk on their system:

xbps-install PolyMC
...
xbps-remove openjdk17-jre
openjdk17-jre-17.0.3+7_1 in transaction breaks installed pkg `PolyMC-1.4.1_2'

This is not good.

virtual?openjdk-runtime is the correct dependency for PolyMC.

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.

PolyMC Depends On Old Version of Java
4 participants