Closed mechanical-snail closed 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.
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!
I would certainly find a version for Precise of these KeeFox/KeePass2 addons/plugin in the PPA very useful. Any possibility of this?
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.
Many thanks
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.
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.
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.
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.
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
andkeepass2
). It also avoids a security issue by preventing unprivileged users from overwriting KeeFox or KeePass code.Stuff that would be required
xul-ext-ubufox
andxul-ext-lightning
, which will show how it's done.Change the default location to look for Keepass (KeeFox Options > KeePass) to the location the package installs to (Not needed; already works/usr/lib/keepass2
). Or it might be simpler to leave them blank, and default to thekeepass2
/mono
executables that are found on the system path when the fields are blank.KeePassRPC.plgx
file in the package. Alternatively, make a separatekeepass2-plugin-rpc
package if the plugin is expected to be used by other connectors.