adoptium / adoptium/installer

Remove symbolic links from provided archives

Open
#1,197 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Jinja
Stars
168
Forks
77
Avg merge
1d 22h
Merged PRs (30d)
11

Description

**Is your feature request related to a problem? Please describe.**

Various archives provided for download contain symbolic links.

E.g. the linux archives contain symlinks like
```bash
ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
LICENSE -> ../java.base/LICENSE
```

in the subdirectories of the `legal` directory.

Many tools, especially tools that run on the Java Platform, cannot handle such symlinks.
E.g. Gradle and Ant's built-in TAR support create empty files intead of symlinks when
extracting Adoptium JDK from the provided TAR archives.

Currently we work around the problem by
* downloading the archives manually,
* extracting the files using the native `tar` command,
* replacing links with regular files,
* creating a new archive,
* signing it with our own signing key,
* and deploying it for download by the build system (Gradle).

This process is cumbersome and could be avoided if the archives would not contain symlinks.

**Describe the solution you'd like**

Replace the symlinks with files that contain a textual reference to the files in
`../java.base/`, exactly as it is done with the Adoptium JDK Windows ZIP archives.

Contributor guide

Open the contributing guide

Research direction

Start by locating the archive packaging entry points for the Linux downloads and the existing Windows ZIP handling. Compare how files under the legal directories are produced, then verify that extracted Linux archives contain regular files with textual references rather than symbolic links.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.