Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add browserpass extension #99519

Closed
stweil opened this issue Feb 8, 2021 · 12 comments
Closed

Add browserpass extension #99519

stweil opened this issue Feb 8, 2021 · 12 comments
Labels

Comments

@stweil
Copy link
Contributor

stweil commented Feb 8, 2021

Description of feature/enhancement

The browserpass extension for the Firefox web browser allows easy access to a password store based on the command line program pass (for which there exists already a formula).

Justification

It looks like browserpass is used my many people. While the installation of the browser part of browserpass can be easily managed within Firefox, an additional external component browserpass-native is required, too. Building that is difficult, and here Homebrew would help.

Some time ago there was already a pull request Homebrew/homebrew-core#21039 which would have added the external component browserpass-native to homebrew-core.

Example use case

Any website requiring a password in the web browser.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

As far as I have understood the old discussion it suggested adding a cask for the browserpass add-on and the browserpass-native component instead of just a formula for the browserpass-native component.

That requires more work, but might be done. I just had a look on existing casks for Firefox add-ons and only found an outdated one for Adobe Flash (which is no longer supported), so that one should be removed. Are there better examples? Or should we reconsider adding simply a formula for browserpass-native?

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

CC'ing @Amar1729 who wrote the old formula.

@vitorgalvao
Copy link
Member

Or should we reconsider adding simply a formula for browserpass-native?

Is it CLI-only open-source software? If yes, it should be a formula. If not, it should be a cask, but we don’t take cask requests (only PRs).

If I’ve missed something about your query, please let me know.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

It's a CLI-only open-source software:

% ls -l /opt/homebrew/bin/browserpass*
-rwxr-xr-x  1 stefan  wheel  3932242  8 Feb 15:58 /opt/homebrew/bin/browserpass
lrwxr-xr-x  1 stefan  wheel       52  8 Feb 15:46 /opt/homebrew/bin/browserpass-darwin64 -> ../Cellar/browserpass/3.0.7/bin/browserpass-darwin64
% browserpass --version
Browserpass host app version: 3.0.7
% browserpass --help   
Usage of browserpass:
  -v	print verbose output
  -version
    	print version and exit

Usually it is running as a background process which offers the services required by the Firefox add-on.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

How can we solve the deadlock situation that browserpass was not accepted as a formula because it should be a cask, and now it is not accepted as a cask because it is a command line application which should be a formula?

Would it get a second chance of being added as a formula?

@vitorgalvao
Copy link
Member

Missed that part. It can be submitted as a cask, yes.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

Hm. Casks cannot use bottle. So how can I get pre-built binaries for Intel and Arm macOS if nobody else offers them somewhere on the web?

@vitorgalvao
Copy link
Member

So how can I get pre-built binaries for Intel and Arm macOS if nobody else offers them somewhere on the web?

That is a problem. Casks can only use pre-compiled software and we only accept it from the official sources. So if they don’t offer it, we also can’t.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

It would be much easier if Homebrew would accept a pull request for a formula.

@Amar1729
Copy link
Contributor

Amar1729 commented Feb 8, 2021

@stweil - actually, the browserpass releases do include prebuilt binaries for darwin64 (link), but not ARM yet.

Another limitation that may prevent this from becoming a Cask is the fact that browserpass needs to generate a JSON file that defines allowed native messaging hosts (required by browser extensions that communication with native binaries) based on what browser the user uses. The JSON file must include the full path of the browserpass binary, and my tap's formula currently only does this by having a caveats section that asks the user to run a command after installation. Not sure how this would work as a Cask.

@stweil
Copy link
Contributor Author

stweil commented Feb 8, 2021

The limitation could be fixed for a formula which could check which browsers are available and create the required system-wide symbolic links using sudo.

I don't know whether that would be possible for a Cask, too.

@vitorgalvao
Copy link
Member

It would be much easier if Homebrew would accept a pull request for a formula.

I believe you but can’t help you with that. I deal with casks and don’t interfere in the decisions of the maintainers who deal with formulae.

I don't know whether that would be possible for a Cask, too.

Technically you can do anything in a postflight block. In practice if it’s too complex (hard to maintain), we may reject it, particularly because I wouldn’t anticipate this being a popular cask.

@Homebrew Homebrew locked as resolved and limited conversation to collaborators Mar 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants