Skip to content

A collection of dummy Debian packages providing packages installed with SDKMAN!

License

Notifications You must be signed in to change notification settings

reitzig/sdkman-equivs

Repository files navigation

SDKs installed by SDKMAN! do not fulfill dependencies of any packages installed through dpkg/apt. This can be resolved by installing dummy packages that provide the corresponding Debian packages.

Usage

equivs-build java-11-open
sudo dpkg -i sdkman-java-11-open_1.0_all.deb

Caveats

  1. Binaries installed with SDKMAN! are not in PATH per se; only after its initialization has run. Therefore, programs relying on the provided packages may fail if not run from a (compatible) shell.

    Possible workaround: add symlinks to actual binaries to the package.

  2. The provided Debian packages, e.g. openjdk-11-jre-headless, provide a whole slew of packages. Since provides are not recursive, these have all to be listed again -- despite not being really correct! (A Java 11 JRE can't properly double as a Java 7 JRE.)

  3. SDKMAN! may not provide exactly the same things as the corresponding packages. Compare ls .sdkman/candidates/java/11.0.1-open/bin/ with the lists of files in openjdk-11-jdk-headless and openjdk-11-jre-headless, for instance.

  4. The dummy packages have no dependencies; the assumption is that developers know what they are doing and ensure a working installation beforehand.

  5. The binary versions in the SDKMAN! candidate and the replaced repository package may be (wildly) different. Software that depends on the provided package but requires a specific version may fail.

  6. The pre-install script is a very crude check. As long as any user on the current machine has installed a matching candidate, the script will succeed (despite the SDK not being available for all users).

About

A collection of dummy Debian packages providing packages installed with SDKMAN!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages