[aur-general] Packaging a Ruby application (veewee) with embedded gems (no dependency on Arch ruby-* packages)
Hello, veewee [1] is a great tool for building vagrant boxes. Unfortunately, it depends on many other gems. I've already built a package ruby-veewee [2] using Arch packages as dependencies and there is a git version, veewee-git [3], but I find them unsatisfactory because of how difficult they are to package with the right version for each gem. vagrant has recently been accepted in community and has a PKGBUILD that I find peculiar. It seems like it uses some embedded directory to store gems it depends on. Sorry, I'm not very familiar with Ruby and gems. What I would like to achieve is similar. How can I package veewee-git so that required gems are built to and loaded from /opt/veewee/gems ? I have tried several combinations with "gem install" and bundler but without success. Thanks, [1] https://github.com/jedi4ever/veewee [2] https://aur.archlinux.org/packages/ruby-veewee/ [3] https://aur.archlinux.org/packages/veewee-git/ -- Bertrand
Hi On Thu, Apr 10, 2014 at 11:42 AM, Bertrand Bonnefoy-Claudet <bertrandbc@gmail.com> wrote:
Hello,
veewee [1] is a great tool for building vagrant boxes. Unfortunately, it depends on many other gems. I've already built a package ruby-veewee [2] using Arch packages as dependencies and there is a git version, veewee-git [3], but I find them unsatisfactory because of how difficult they are to package with the right version for each gem.
Managing the ruby dependencies manually is difficult indeed. Use tools (e.g. gem2arch) to generate and update packages. $ gem2arch veewee and it will generate the PKGBUILD.
vagrant has recently been accepted in community and has a PKGBUILD that I find peculiar. It seems like it uses some embedded directory to store gems it depends on. Sorry, I'm not very familiar with Ruby and gems.
What I would like to achieve is similar. How can I package veewee-git so that required gems are built to and loaded from /opt/veewee/gems ? I have tried several combinations with "gem install" and bundler but without success.
Using bundle like this is wrong IMHO. It goes against idea of package management and library reuse. An application should not bundle its dependencies - it should use system libraries as much as possible.
On Thu 10 Apr 2014 at 20:42, Bertrand Bonnefoy-Claudet wrote:
[...]
vagrant has recently been accepted in community and has a PKGBUILD that I find peculiar. It seems like it uses some embedded directory to store gems it depends on. [...]
There wasn't really a choice; I intended to install it "properly" (not in /opt) and bring the ruby dependencies over to [community] with it, but while testing the package in the AUR I found this was the only way to package Vagrant so that it would work with plugins like vagrant-{login,share} and the vmware plugin. So it's more of an upstream decision to package it this way. iirc the deb and rpm packages install the same way. -- Jonathan Steel
participants (3)
-
Anatol Pomozov
-
Bertrand Bonnefoy-Claudet
-
Jonathan Steel