[Bug] App is not signed successfully when building and packaging on MAC OS using ‘create_macos_build_ava.sh’ script #210

Open
opened 2024-11-09 14:41:23 +00:00 by amurgshere · 0 comments
amurgshere commented 2024-11-09 14:41:23 +00:00 (Migrated from github.com)

Description of the issue

Since PR https://github.com/GreemDev/Ryujinx/pull/188 has been checked in I can no longer create and sign the app bundle locally on MacOS 14.6.1

I am using the following to build, create, and sign the app bundle:

./distribution/macos/create_macos_build_ava.sh ./ ./distribution/macos/temp ./distribution/macos/output ./distribution/macos/entitlements.xml 1.0.0 0 Release

See log file for details of output from terminal.

if I reinstate the "--deep" parameter it starts working again, I assume this is because the "/libglfw.3.dylib" file and other library files need to be re-signed and it is no longer being signed because of the missing "--deep" parameter, do I need to do something differently now to get the app bundle to be signed successfully?

Note that if I add an extra line before this line in the "create_app_bundle.sh" script:

codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f -s - "$APP_BUNDLE_DIRECTORY"

Of:

find "$APP_BUNDLE_DIRECTORY" -name "*.dylib" -exec codesign -f -s - {} ;

Forcing these libraries to be code re-signed, the issue also goes away. I have created Pull Request https://github.com/GreemDev/Ryujinx/pull/208 to fix this.

Thank You.

Reproduction steps

  1. Clone the repository to an M1 MAC
  2. Run this command from the cloned directory:
    ./distribution/macos/create_macos_build_ava.sh ./ ./distribution/macos/temp ./distribution/macos/output ./distribution/macos/entitlements.xml 1.0.0 0 Release

x64 version is not signed properly and Universal bundle is not created at all as the x64 signing failed which stops the script.

Log file

These are the last few lines of the terminal which indicate that the issue is a signing issue, the signing stops here and the scripts does not attempt to package the universal app at all:

/Volumes/MACBOOK/ROMS/NSW/Ryujinx/GitHub/Ryujinx/distribution/macos/temp/output_x64/Ryujinx.app: code object is not signed at all
In subcomponent: /Volumes/MACBOOK/ROMS/NSW/Ryujinx/GitHub/Ryujinx/distribution/macos/temp/output_x64/Ryujinx.app/Contents/Frameworks/libglfw.3.dylib

OS

MAC OS 14.6.1

Ryujinx version

Building Master as @ 9th November 2024

Game version

No response

CPU

Apple M1

GPU

Apple M1 8 Core

RAM

16GB

List of applied mods

No response

Additional context?

No response

### Description of the issue Since PR https://github.com/GreemDev/Ryujinx/pull/188 has been checked in I can no longer create and sign the app bundle locally on MacOS 14.6.1 I am using the following to build, create, and sign the app bundle: ./distribution/macos/create_macos_build_ava.sh ./ ./distribution/macos/temp ./distribution/macos/output ./distribution/macos/entitlements.xml 1.0.0 0 Release See log file for details of output from terminal. if I reinstate the "--deep" parameter it starts working again, I assume this is because the "/libglfw.3.dylib" file and other library files need to be re-signed and it is no longer being signed because of the missing "--deep" parameter, do I need to do something differently now to get the app bundle to be signed successfully? Note that if I add an extra line before this line in the "create_app_bundle.sh" script: codesign --entitlements "$ENTITLEMENTS_FILE_PATH" -f -s - "$APP_BUNDLE_DIRECTORY" Of: find "$APP_BUNDLE_DIRECTORY" -name "*.dylib" -exec codesign -f -s - {} ; Forcing these libraries to be code re-signed, the issue also goes away. I have created Pull Request https://github.com/GreemDev/Ryujinx/pull/208 to fix this. Thank You. ### Reproduction steps 1) Clone the repository to an M1 MAC 2) Run this command from the cloned directory: ./distribution/macos/create_macos_build_ava.sh ./ ./distribution/macos/temp ./distribution/macos/output ./distribution/macos/entitlements.xml 1.0.0 0 Release x64 version is not signed properly and Universal bundle is not created at all as the x64 signing failed which stops the script. ### Log file These are the last few lines of the terminal which indicate that the issue is a signing issue, the signing stops here and the scripts does not attempt to package the universal app at all: /Volumes/MACBOOK/ROMS/NSW/Ryujinx/GitHub/Ryujinx/distribution/macos/temp/output_x64/Ryujinx.app: code object is not signed at all In subcomponent: /Volumes/MACBOOK/ROMS/NSW/Ryujinx/GitHub/Ryujinx/distribution/macos/temp/output_x64/Ryujinx.app/Contents/Frameworks/libglfw.3.dylib ### OS MAC OS 14.6.1 ### Ryujinx version Building Master as @ 9th November 2024 ### Game version _No response_ ### CPU Apple M1 ### GPU Apple M1 8 Core ### RAM 16GB ### List of applied mods _No response_ ### Additional context? _No response_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#210
No description provided.