On Fri, 25 Oct 2024 01:49:01 GMT, Alexander Matveev <almat...@openjdk.org> wrote:
> - It is not clear on which macOS versions codesign fails if application > bundle contains additional content. > - As a result test was modified to generate only application image, since PKG > or DMG cannot be generated if signing fails. Exit code of jpackage is > ignored, but generated application image will be checked for additional > content. > - This change is for macOS only. > - Previous implementation of test (forcing expected exist code to 1) was not > doing anything useful, since we never checked if additional content was > copied or not. The workaround at [workflows/deployment.yml](https://github.com/JabRef/jabref/blob/97aaab58e3ab543a0f50097ee59e52504d99c786/.github/workflows/deployment.yml#L167-L178) doesn't look right, I'm surprised "codesign" works in the script. Maybe it runs on older macos with a permissive codesign version? If you want to build app image and create pkg and dmg packages from it in separate steps, you can leverage jpackage's `--app-image` option for this. 1. Build unsigned app image: jpackage --type app-image ... --dest build/distribution 2. Copy additional content to the app image: cp buildres/mac/jabrefHost.py build/distribution/JabRef.app/Contents/Resources cp -R buildres/mac/native-messaging-host build/distribution/JabRef.app/Contents/Resources 3. Create a signed PKG package: jpackage --type pkg --mac-sign --app-image build/distribution/JabRef.app ... 4. Create a signed DMG package: jpackage --type dmg --mac-sign --app-image build/distribution/JabRef.app ... No explicit codesign, hdiutil, and productbuild invocations. You can have "the dmg background images and install instructions etc". ------------- PR Comment: https://git.openjdk.org/jdk/pull/21698#issuecomment-2839954808