> Please review this enhancement which adds a hidden `jlink` option 
> `--sha-overrides` that can be used to provide alternative hash sums for files 
> in an image. Please see the bug for use-cases as to why this is needed. This 
> patch allows for the `--sha-overrides` option to be either specified multiple 
> times or separated by a comma to list multiple hash sum overrides. 
> Alternatively when starting with the `@` character the override options come 
> from a file. The format is the same: `<module>|<file-path>|<sha>` triplets, 
> either on the command line or in a file (one per line).
> 
> The added, linux only, test uses `objcopy` to fully strip `libjvm.so` of its 
> symbols with the assumption that this would change the hash sum of the 
> resulting file. Then, a link from the run-time image is being attempted with 
> the added option 
> `--sha-overrides=java.base|lib/server/libjvm.so|<new-sha-sum>` and verifies 
> the link succeeds.
> 
> Having something like that is useful when it gets combined with e.g. 
> `--save-jlink-arg-files` to produce a `jlink` which works out of the box on 
> say JDK builds that modify binaries due to some debug symbols handling 
> outside the JDK builds' control. 
> 
> While using `--ignore-modified-runtime` is an option that is sub-optimal as 
> that would spit out many warnings in the RPM build case, where the user 
> wouldn't control that RPM build to begin with.
> 
> Testing:
> - [x] GHA
> - [x] Some manual tests together with 
> [JDK-8352692](https://bugs.openjdk.org/browse/JDK-8352692) on some JEP 493 
> enabled builds.
> - [x] `jlink` jtreg tests.
> 
> Thoughts?

Severin Gehwolf has updated the pull request incrementally with two additional 
commits since the last revision:

 - Copyright updates
 - Allow for ${java.home} substitution when \@file is being passed
   
   Also refactor the tests. One using the CLI, the other using
   the @file-base version of the option.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/24190/files
  - new: https://git.openjdk.org/jdk/pull/24190/files/a1dbb6d9..e387bd64

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24190&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24190&range=00-01

  Stats: 280 lines in 8 files changed: 199 ins; 69 del; 12 mod
  Patch: https://git.openjdk.org/jdk/pull/24190.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24190/head:pull/24190

PR: https://git.openjdk.org/jdk/pull/24190

Reply via email to