Bug 1588081 Comment 20 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(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:
> 
> 1. 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.

> 2. 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
(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:
> 
> 1. 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.

> 2. 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](https://matthew-brett.github.io/docosx/flat_packages.html), 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

Back to Bug 1588081 Comment 20