On Thu, 7 Jul 2022 17:07:51 GMT, Alexey Semenyuk <asemen...@openjdk.org> wrote:
>> Alexander Matveev has updated the pull request with a new target base due to >> a merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains three additional >> commits since the last revision: >> >> - Merge remote-tracking branch 'upstream/master' into JDK-8289030 >> - 8289030: [macos] app image signature invalid when creating DMG or PKG [v2] >> - 8289030: [macos] app image signature invalid when creating DMG or PKG > > src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacBaseInstallerBundler.java > line 171: > >> 169: Files.deleteIfExists(AppImageFile.getPathInAppImage(appDir)); >> 170: } >> 171: > > I think there is no need to modify AbstractAppImageBuilder.java, and > AppImageBundler.java. > It is sufficient to modify the condition controlling the creation of > `.package` file: > > if (predefinedImage == null || > (!StandardBundlerParam.isRuntimeInstaller(params) && > !AppImageFile.load(predefinedImage).isSigned())) { > new PackageFile(APP_NAME.fetchFrom(params)).save( > ApplicationLayout.macAppImage().resolveAt(appDir)); > Files.deleteIfExists(AppImageFile.getPathInAppImage(appDir)); > } > > Besides `.package` file logically doesn't belong to app image, it belongs to > the installed application, so it must not be referenced from the classes > creating app images. We need to add `.package` file during app image creation, since we need to sign it. With your proposed change we will add `.package` file to already signed app image. ------------- PR: https://git.openjdk.org/jdk19/pull/89