RFR: 8352480: Don't follow symlinks in additional content for app images [v3]

Alexey Semenyuk asemenyuk at openjdk.org
Fri May 9 01:56:52 UTC 2025


On Fri, 9 May 2025 00:10:34 GMT, Alexander Matveev <almatvee at openjdk.org> wrote:

>> test/jdk/tools/jpackage/share/AppContentTest.java line 116:
>> 
>>> 114:     private static Path getAppContentPath(JPackageCommand cmd, Path name) {
>>> 115:         Path contentDir = cmd.appLayout().contentDirectory();
>>> 116:         // Links are always created in "Resources"
>> 
>>> Links are always created in "Resources"
>> 
>> All additional content on macOS is created in the "Resources" directory. On Linux there is no such requirement.
>> 
>> The return value of `getAppContentPath()` is not supposed to depend on the additional content type; the new "name" parameter doesn't make sense to me.
>
> For links we creating link and corresponding text file, so for it we should put both files into folder and add it to `--app-content app-content-0/Resources`. Note `app-content-0` is temp folder with random name and if we using it directly we end up copying `app-content-0` into application bundle. In such case it will not be possible to figure out location of link without putting it under known folder name such as "Resources".
> 
> "name" is to figure out if it link and if link it should be under "Resources".

I can see you reverted the `getAppContentPath()` back. I guess it happened after your comment :)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24974#discussion_r2080753720


More information about the core-libs-dev mailing list