Closed MrAlex94 closed 10 months ago
Symptoms seem to be pointing to a difference between the build performed on macOS vs Linux. I suspect that codesign -v
will catch issues as well - so you could remove notarization from your debugging loop to make things faster.
We'll need to compare the Linux and macOS builds - both before and after [r]codesign signing - to isolate where they disagree. Once we do that, we can find the source of the bug in rcodesign.
The rcodesign diff-signatures
command should be useful.
We should also try signing just the updater.app
bundle and just the updater.app/Contents/MacOS/com.waterfox.updater
binary inside to attempt to isolate if the failure is:
Apple's validation code sometimes attributes the source of an error to a distant component, not the actual component with the error. So you need to sign things independently to attempt to isolate the real failure.
Okay! So I've made a build on macOS, and signed one version with codesign
and the other with rcodesign
.
I couldn't use rcodesign diff-signatures
, because it was spitting out Error: YAML serialization error: serializing nested enums in YAML is not supported yet
.
Attached are:
codesign
.codesign.bash
codesign print-signature-info Waterfox-codesign.app
rcodesign
rcodesign.bash
, just signing the plugin-container.app
bundle. (No updater in this build).rcodesign.bash
, just signing the plugin-container
binary.rcodesign print-signature-info Waterfox-rcodesign.app
, with the bundle signed.rcodesign print-signature-info Waterfox-rcodesign.app
, with the binary signed.codesign.bash.txt rcodesign.bash.txt
rcodesign-1.log rcodesign-1.yml.txt rcodesign-2.log rcodesign-2.yml.txt
@indygreg - just checking, is the above okay or is there any more info I can provide for you?
Dumb question .. to notorise I still need to buy a 99 euro developer very from Apple ?
Dumb question .. to notorise I still need to buy a 99 euro developer very from Apple ?
Yes, notarization requires an Apple Developer membership.
thanks @roblabla things have not changed for the better :)
I suspect - but haven't verified - that this issue was due to a bug in how we recursively traverse nested bundles. I just pushed a bunch of changes to the main
branch in the past few hours to hopefully fix all the remaining issues. So I'm going to close this issue.
Please reopen if there are still problems with signing Waterfox.
Hi @indygreg, great work you've done on this.
I seem to have hit an odd issue when building gecko-dev and trying to notarize on Linux. It may hold clues to issues experienced in #28 and #35.
The toolchain used for building Gecko on both macOS and Linux is LLVM 14 directly from Mozilla (XCode is NOT used on macOS).
rcodesign 0.22.0 is used on both platforms, and identical commands are run.
You would expect the macOS built
.app
that signs and notarizes okay on macOS to also sign and notarize without issue on Linux, but it doesn't.You would also expect the Linux built
.app
to notarize without issue on macOS, but it doesn't.The script for signing and notarizing:
Linux host, Linux built (FAIL).
Linux host, macOS built (FAIL).
macOS host, macOS built (SUCCESS):