(In reply to Andreas Tolfsen 「:ato」 from comment #19)
(In reply to Aki Sasaki [:aki] (he/him) (UTC-7) from comment #15)
Aiui, the link says you need to staple everything inside the
zipfile. We can't staple a bare geckodriver, so putting it in a
zipfile doesn't help our stapling situation. Is there someone who
can create a geckodriver.app for mac? We can notarize an app.
Thank you, Aki, for investigating this!
What I have trouble understanding is how Apple is expecting
non-interactive, “terminal-based” programs to be distributed under
the new notarisation regime. geckodriver is not a program it is
suitable to distribute as an application bundle (.app) because it
is not an interactive program like Firefox.
I'm not sure. But we're able to launch executables under an .app via commandline, e.g.
mkdir /tmp/foo && /Applications/Firefox.app/Contents/MacOS/firefox --profile /tmp/foo
I have a few perhaps stupid questions:
- If we could distribute a .dmg instead of a .zip, would we be
able to notarise the .dmg?
We notarize Firefox.app that's in a .dmg currently, but it's an .app , and we extract it from the dmg before signing and notarizing. I think a bare geckodriver in a .dmg would hit the same problems.
- If we can’t notarise .dmg’s, it is more suitable for us to
distribute geckodriver in a .pkg installer. Do you have any experience
crafting one? Presumably we can do this in automation too.
We do create a .pkg using
pkgbuild, but it's from the existing .app structure. We may be able to create a .pkg with just geckodriver and the appropriate directory structure, but I'm not 100% sure if that will notarize by itself or not. If we're able to create that pkg, we'd need to install it, and then run geckodriver from the installed location.
It looks like our options are:
- use xattr and run geckodriver from commandline
- create an .app and notarize it; install the .app and run geckodriver from commandline
- create a .pkg and notarize it; install the .pkg and run geckodriver from commandline
- this may or may not require creating an .app first