-
Notifications
You must be signed in to change notification settings - Fork 52
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
Updating OS packages for v3 #31
Comments
The Makefile currently assumes that browserpass is installed in /usr/lib. Can you make this configurable with a variable? The user won't be able to change the Makefile easily on Nix/NixOS, so we'd have to patch it. |
Yes we can do anything you need 👍 The |
@maximbaz Something like that yes, specifically in these places it assumes browserpass was installed /usr/lib: Line 100 in 8411954
In addition, I think it's common to allow configuration through both |
@infinisil may I ask you for a review in #32? |
I will release v3 to webstores on Saturday, April 13th; would be really awesome if you guys get ready for this date as browser extension is not backwards compatible and will not work after auto-update with the old native host. |
Is the new native host compatible with the old browser extension? |
No, the communication protocol has changed completely, and it was too much work to make them compatible, therefore the bump in major version. |
Huh, but that makes it nearly impossible to not break anything at some point. The only way it won't break is if the user gets the native host update exactly at the same time as when the browser extension auto-updates. And because the native host isn't in any way tied to the browser extension, but provided by the package managers/installed manually, this inevitably leads to a version mismatch. The only way I can see this working is if you rename the binary to |
The binary name is configurable with By the way, I believe it isn't required to restart browser to receive auto-update, at least not in Chromium. I'm also planning to push a new version of v2 to web stores a week before v3 release, which will show a notification about the upcoming breaking update, and that folks need to plan for a time to update native host app to make the extension work properly again. |
Ohh right, the browser extension uses |
See browserpass/browserpass-native#31 This is fully backwards compatible.
See browserpass/browserpass-native#31 Additionally browserpass was removed from systemPackages, because it doesn't need to be installed, browsers will get the path to the binary from the native messaging host JSON.
See browserpass/browserpass-native#31 This is fully backwards compatible. (cherry picked from commit 6104fba)
See browserpass/browserpass-native#31 Additionally browserpass was removed from systemPackages, because it doesn't need to be installed, browsers will get the path to the binary from the native messaging host JSON. (cherry picked from commit e98ee8d)
See browserpass/browserpass-native#31 This is fully backwards compatible. (cherry picked from commit 6104fba)
See browserpass/browserpass-native#31 Additionally browserpass was removed from systemPackages, because it doesn't need to be installed, browsers will get the path to the binary from the native messaging host JSON. (cherry picked from commit e98ee8d)
On Sun, 2019-03-31 at 03:24 -0700, Maxim Baz wrote:
I will release v3 to webstores on Saturday, April 13th; would be
really awesome if you guys get ready for this date as browser
extension is not backwards compatible and will not work after auto-
update with the old native host.
I have to admit that I completely missed the new development, thanks
for the heads up. I'm not sure yet, whether I really want to have two
packages or combine both to one. Is there a particular reason why you
did that Maxim?
Two more issues, Debian does not have a full browserify but only
browserify-lite which nicely compile all js files, but none actually
works. No idea why, maybe somebody else has one. It surely is a fact
that might be worth keeping in mind, just in case.
Second, in my test runs I found that browserpass does *not* fill in the
login information in our company OpenXchange server anymore, but only
in chromium, firefox works nicely. This is not related to version 3,
2.0.22 shows the same symptom. Any idea how to debug?
Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
|
Sorry I think I lost context, what are you asking about exactly? 🙂 Why is v3 incompatible with v2? It was rewritten from scratch, and it was a great opportunity to redesign the communication protocol and the native host in general. Or why we now have split repos for native app and browser extension? This is because in practice these are different projects, with different codebase, when it was a single project it didn't make sense for users for example to update their native host if only browser extension changed. I think distro packages should only provide native host app, and leave installing extension to the user. Or do you have some particular reasons to provide browser extension as well via a OS package, and if so, how do users install it in the browser? Assuming that you don't need to handle browser extension part in the distro package at all, you don't need to worry about browserify anymore 🙂 For the issues where Browserpass is not able to fill login form, please post the link here and I'll investigate: browserpass/browserpass-extension#62 |
On Tue, 2019-04-02 at 12:58 +0000, Maxim Baz wrote:
native host if only browser extension changed. I think distro
packages should only provide native host app, and leave installing
extension to the user. Or do you have some particular reasons to
provide browser extension as well via a OS package, and if so, how do
users install it in the browser?
That was actually the question. I see the reason for your splitting up
the two, but I don't really think having both as separate packages
makes sense. In Debian if you install the one browserpass package, you
have a working extension for chromium and firefox.
Users don't have to install it. As soon as the package is installed the
extension is enabled in each browser automatically.
Assuming that you don't need to handle browser extension part in the
distro package at all, you don't need to worry about browserify
anymore 🙂
Yeah, that would be an advantage, but unfortunately it is not. :)
For the issues where Browserpass is not able to fill login form,
please post the link here and I'll investigate:
browserpass/browserpass-extension#62
Will do as soon as I find the time.
Thanks.
Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
|
I'm really curious how you achieved that! For Chromium-based browsers there's something called "policy", which can force browser to install an extension from Web store (not from local file as far as I know), but I'm not aware of any such possibility for Firefox... |
I tracked this down to https://wiki.debian.org/onlyjob/WebExtensions%20packaging, astonishing! I will do the same for Arch Linux 🙂 Nevertheless, I think it's still reasonable to split the packages, let "browserpass" provide only native host and create two new packages "browserpass-chromium" and "browserpass-firefox", which would be based on "chromium.zip" and "firefox.zip" from @infinisil make sure to check this out as well, not only it is cool because you will provide users with an extension that is built from sources that are verified with PGP signature instead of trusting whatever is on webstore, but also you will be in complete control of when their extension upgrades. |
Nevertheless, I think it's still reasonable to split the packages,
let "browserpass" provide only native host and create two new
packages "browserpass-chromium" and "browserpass-firefox", which
would be based on "chromium.zip" and "firefox.zip" from browserpass-
extension releases respectfully. Not only we will have cleaner
separation, but also users aren't forced to e.g. install Chromium
extension if they only use Firefox.
But there is only one extension in the package. The new webextension
works with both browser without any issue. The same code works for both
browser, so there is no need to have this separation.
Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
|
Based on the docs I found I understood you will still create for example symlinks in I must also say you are lucky, I couldn't convince Chromium's maintainer on Arch to support loading unpacked extensions from |
By the way, when packaging remember that the extensions are not exactly identical: manifests are slightly different for Chromium and Firefox. |
My preliminary packages for Arch Linux, in case anyone needs for reference: browserpass, browserpass-chromium and browserpass-firefox |
As of now the firefox extension has been auto-updated in Debian (stable) and leaves the user with |
Building from sources (or using pre-built archives from Github releases) should work @stefanct, especially if you already have the extension and only need the native host part, give it a try and ping me if you need help 👍 (maybe create a new thread) |
@stefanct with auto-update you mean from the extension store right? There is no Debian package for browserpass in Debian stable. Did you use a precompiled native host binary or did you build that yourself? The issues I ran into were solely with the browserified javascript and were solved by the precompiled files. I still have some buildsystem issues, which is why there are no new packages for unstable yet. |
@meskes Yes, I was referring to the browser-part. I have apparently installed the |
On Tue, 2019-04-16 at 17:40 +0000, Stefan Tauner wrote:
@meskes Yes, I was referring to the browser-part. I have apparently
installed the webext-browserpass package version 2.0.22-1 from
testing/unstable (but FF is from stable security). Sorry for the
And it is with this version you have a problem? Or the v3 one this
issue is about?
Did you manually grab the webext-browserpass deb file and install it on
your stable system? I just tried that and it works flawlessly on my
system.
Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Meskes at (Debian|Postgresql) dot Org
Jabber: michael at xmpp dot meskes dot org
VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL
|
On Wed, 17 Apr 2019 03:21:14 -0700
meskes <notifications@github.com> wrote:
On Tue, 2019-04-16 at 17:40 +0000, Stefan Tauner wrote:
> @meskes Yes, I was referring to the browser-part. I have apparently
> installed the webext-browserpass package version 2.0.22-1 from
> testing/unstable (but FF is from stable security). Sorry for the
And it is with this version you have a problem? Or the v3 one this
issue is about?
I was under the impression that this issues is about the necessity to
update the native application when the browser extension is updated to
v3 (which happens/happened automatically). I did not try to upgrade the
native app yet.
Did you manually grab the webext-browserpass deb file and install it on
your stable system? I just tried that and it works flawlessly on my
system.
I can't remember for sure - it's been a while, but I guess I just
installed it normally via apt (I can force fetching from testing and
unstable due to apt-pinning). My initial post here was only meant to a)
document the error message for search engines to pick up, and b) to
ensure that trying to build the native app on debian as a workaround is
not futile.
|
Every distro has updated the package, except Ubuntu, but that should propagate automatically from Debian. Thanks everyone, closing this now! |
There will be a new major release of Browserpass soon, so I want to ping OS package maintainers to give you time to prepare for the release.
I've created a Makefile, so the build & packaging should be really simple now. For Arch Linux, all I do now is:
For reference: PKGBUILD
To configure browsers, Makefile is also being installed to
/usr/lib/browserpass/
, so if you guys implemented some wrappers (like I know @dustinwilson implementedbrowserpass-setup
), that shouldn't be necessary anymore - users can just do:For full reference, see Configure browsers
For Nix / NixOS, a special request if someone could review this section of the documentation, I ported it from the old Browserpass repo but I'm not entirely sure it's correct: https://github.com/browserpass/browserpass-native#install-on-nix--nixos
ping @meskes, @dustinwilson, @infinisil, @fpletz, @dermetfan, @pajowu
Completed distro packages:
The text was updated successfully, but these errors were encountered: