Opened 2 years ago

Last modified 8 months ago

#66133 assigned defect

openjdk11-graalvm doesn't allow mirroring distfiles

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: breun (Nils Breunese)
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc: cooljeanius (Eric Gallager)
Port: openjdk11-graalvm

Description

openjdk11-graalvm deliberately does not allow distfiles to be mirrored:

# This port uses prebuilt binaries; 'NoMirror' makes sure MacPorts doesn't mirror/distribute these third-party binaries
license          GPL-2 NoMirror

I don't understand the comment. Just because a port installs a binary doesn't mean we want to prohibit mirroring distfiles.

If the developers of this software prohibit redistribution, then yes we should prevent mirroring, but we should also prevent distribution of binaries.

Prohibiting mirroring distfiles causes fetch failure on older macOS versions:

https://build.macports.org/builders/ports-10.9_x86_64-builder/builds/204750/steps/install-port/logs/stdio

--->  graalvm-ce-java11-darwin-amd64-22.3.0.tar.gz does not exist in /opt/local/var/macports/distfiles/openjdk11-graalvm
--->  Attempting to fetch graalvm-ce-java11-darwin-amd64-22.3.0.tar.gz from https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.0/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
DEBUG: Fetching distfile failed: SSL certificate problem: Invalid certificate chain
Error: Failed to fetch openjdk11-graalvm: SSL certificate problem: Invalid certificate chain

Please check your other ports if similar changes are needed there.

Change History (3)

comment:1 Changed 2 years ago by breun (Nils Breunese)

I set this port to NoMirror because the binary archives used to be like 400+ MB per release and would be cached for each Darwin version. They have since been reduced to ~250 MB and the new platforms {darwin any} syntax could be used to only store the binary once for all Darwin versions.

/Library/Java/JavaVirtualMachines/openjdk11-graalvm/Contents/Home/LICENSE.txt says:

GraalVM Community Edition consists of multiple modules. The software as a whole, is released under version 2 of the GNU General Public License with the “Classpath” Exception. Certain modules of GraalVM Community Edition are released under separate and/or additional licenses, as follows: Graal.js is released under the Universal Permissive License (UPL) Version 1.0; Sulong – LLVM is released under a 3-clause BSD license.

Graal.js and LLVM modules are not included in this port at this time. I believe redistribution of these binaries should be allowed, but I'm no expert on this.

By the way, I'm also not sure if these binaries would work on Mac OS 10.9 if they could be downloaded. I can't find any info on which versions of macOS are supported in the installation documentation. Most OpenJDK-based distributions only support newer versions, but I don't know if that's because they don't verify correct operation on those legacy OS versions or if it actually doesn't work.

If you think NoMirror should be removed, I'm fine with doing that.

comment:2 Changed 10 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:3 in reply to:  1 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to breun:

I set this port to NoMirror because the binary archives used to be like 400+ MB per release and would be cached for each Darwin version. They have since been reduced to ~250 MB and the new platforms {darwin any} syntax could be used to only store the binary once for all Darwin versions.

license NoMirror has nothing to do with whether we can distribute binary archives. It only relates to whether we can mirror distfiles.

Note: See TracTickets for help on using tickets.