kee-org / KeeFox

Legacy browser and XUL application integration with KeePass Password Safe. See https://github.com/kee-org/browser-addon for the new version for Firefox 57+
https://forum.kee.pm
418 stars 48 forks source link

Provide an Ubuntu package #172

Closed mechanical-snail closed 11 years ago

mechanical-snail commented 11 years ago

Currently, installing on Linux works, but requires several steps (detailed at chrome://keefox/content/install_mono.xul in the extension) that might confuse less-technical users. See issue #155.

Using KeeFox with the keepass2 package in the Ubuntu repositories requires manually writing to /usr/lib outside the package manager—a bad idea—in order to install the required KeePass plugin. It would make it much more user-friendly if there were a pre-built Ubuntu package.

While it's somewhat unusual to install Mozilla extensions through the package manager rather than per-user through Firefox itself, it makes sense here since KeeFox is used to make packaged software (firefox and keepass2) interoperate. Installing through the package manager would prevent compatibility errors if required versions get out of sync (I think the KeeFox extension and the RPC keepass2 plugin have to be the same version so you'll have to manually update the plugin whenever a new version of KeeFox is released); the package manager will ensure that the dependencies are installed/updated (rather than the user having to manually install sufficiently recent versions of mono-complete and keepass2). It also avoids a security issue by preventing unprivileged users from overwriting KeeFox or KeePass code.

Stuff that would be required

dlech commented 11 years ago

We've been discussing this a bit in issue #149. I've been playing around with packaging a few plugins I have developed. http://launchpad.net/~dlech/+archive/keepass2-plugins

It is certainly doable.

dlech commented 11 years ago

I have posted my first attempt at packaging KeeFox on Launchpad

It seems a little buggy, but mostly works.

It consists of 3 packages, xul-ext-keefox (for Firefox addon), xul-ext-keebird (for Thunderbird addon) and keepass2-plugin-rpc (for KeePass plugin).

To install, first uninstall or disable KeeFox in Firefox/Thunderbird if it is already installed. Also remove KeePassRpc.plgx from /usr/lib/keepass2 or /usr/lib/keepass2/plugins. Then...

sudo add-apt-repository ppa:dlech/keepass2-plugins
sudo apt-get update
sudo apt-get install xul-ext-keefox

This will install the addon for Firefox. If you want to install for Thunderbird too then sudo apt-get install xul-ext-keybird. The dependencies are setup so that you don't have to manually install keepass2-plugin-rpc.

Right now, I have if for just Raring and Quantal. If anyone wants to try another version let me know.

Enjoy!

Electrocat commented 11 years ago

I would certainly find a version for Precise of these KeeFox/KeePass2 addons/plugin in the PPA very useful. Any possibility of this?

dlech commented 11 years ago

Guess I missed that one. Just copied the package. Give it a few minutes for the server to do its thing and then try it again.

Electrocat commented 11 years ago

Many thanks

mechanical-snail commented 11 years ago

Does it make sense to include the packaging files/metadata in the main KeeFox repository here? Then if KeeFox makes architectural or dependency changes, the required packaging changes could be maintained in one place.

dlech commented 11 years ago

Does it make sense to include the packaging files/metadata in the main KeeFox repository here?

That is up to Chris if he wants to support it :smile:

Then if KeeFox makes architectural or dependency changes, the required packaging changes could be maintained in one place.

Another thing to consider is that I have been using the Ubuntu packaging tools, which are integrated with bzr rather than git. As a result, I have the packaging repo on launchpad instead of on github.

In short, no, it doesn't really make sense to do that.

krbvroc1 commented 11 years ago

On 5/30/2013 7:11 PM, Mechanical snail wrote:

Does it make sense to include the packaging files/metadata in the main KeeFox repository here? Then if KeeFox makes architectural or dependency changes, the required packaging changes could be maintained in one place.

That would put the responsibility on the KeeFox maintainers to support/update packages they do not / cannot test. For that reason, I don't think it would be a good idea.

luckyrat commented 11 years ago

Nice to see this issue reaching a good conclusion.

I agree that including the packaging files in the main github repo is not the best idea given the standalone nature of the Ubuntu packaging tools and given that I'm not going to understand or be able to test the packaging procedure myself.

If there are any low-maintenance changes to the repo that you think might help @dlech or others build new package files more easily or automatically please open a new issue or pull-request and we can discuss what the implications and benefits of those changes would be.

Likewise, requests for updated packages or support for new distributions should be raised as new tickets so that we don't have to hold this issue open forever.