You are not logged in.

#1 2014-06-12 04:16:20

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Rubygems binary repository a.k.a Quarry

Hi everyone

I would like to present my project I've been working for a while. I am a huge fan of Ruby language and Linux Arch distro and I try to make its experience as better as possible. One large area for improvement is integration of rubygems package manager with system package manager (i.e. pacman). The are a lot of ruby packages in AUR (e.g. I maintain 300+ packages) and it allows to install large set of useful ruby tools. But using rubygems from AUR still has a few problems:

  • AUR packages are source based, you need to download and build them by yourself.

  • Rubygems dependency mechanism is more advanced than for Arch packages and many AUR maintainer fail to support correct dependencies between packages.

  • AUR packages maintained by different people and it is hard to update to the new versions coherently. Some ruby packages stay out-of-date for months.

  • both AUR and 'gem install' install a lot of garbage, such as tests, extension source code, Makefiles. Packages with native extensions install 3 (three) copies of the same *.so files.

I've decided to implement a tool that automatically converts rubygems into proper minimalistic binary Arch packages. Meet Quarry https://github.com/anatol/quarry It makes the repository maintenance simple and easy.

To use the binary rubygems repository you need to add custom repository to /etc/pacman.conf file

[quarry]
Server = http://pkgbuild.com/~anatolik/quarry/x86_64/

The packages are signed by Anatol Pomozov's developer key, so no need to add third-party gpg keys.


Currently the project is under active development and has a few restrictions:

  • the repo is 64 bit only, I might add 32 bit repo if there will be enough demand.

  • the repo is updated manually once in a few days. In the future it will be updated automatically every few hours.

The repository contains 150+ rubygems already. The packages are named ruby-$gemname, no exceptions. If you want to see your favourite gem there send me a pull request for this file https://github.com/anatol/quarry/blob/m … t_packages  The binary packages contain only minimal amount of required files, report here https://github.com/anatol/quarry/issues if these restrictions too tight and the binary package does not work.

This project is experimental, does not have any promises and provides no responsibility for rubygems packages content. Use rubygems binary packages at your own risk.


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#2 2014-06-12 10:18:43

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Rubygems binary repository a.k.a Quarry

Offline

#3 2014-06-12 14:27:12

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Re: Rubygems binary repository a.k.a Quarry


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#4 2014-06-13 20:22:08

jjacky
Member
Registered: 2011-11-09
Posts: 347
Website

Re: Rubygems binary repository a.k.a Quarry

Ok, this is awesome!

I don't actually know any ruby, but I happen to use jekyll  and it was, quite honestly, always a bit of a PITA to "manage" as every update needed new/updated dependencies, not all of them updated/available in the AUR (or compatible w/ jekyll), etc

Just switched to quarry, a simple `pacman -S ruby-jekyll` and it's done (and needs less space)! How nice.

Thanks a lot for doing this.

Offline

#5 2016-01-10 16:02:48

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Re: Rubygems binary repository a.k.a Quarry

Happy new year everyone. Over the holidays we've got new Ruby version (2.3.0) and all ruby packages from AUR should be reinstalled.

Good news that Quarry users don't need to go though this recompilation hassle. Quarry has been migrated to Ruby 2.3.0 already. All you need is just update your system with 'pacman -Suy' as usual.


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#6 2016-01-11 20:53:54

zerophase
Member
Registered: 2015-09-03
Posts: 231

Re: Rubygems binary repository a.k.a Quarry

First off love the project makes management of Ruby gems so much nicer.  I noticed a few older versions of packages required as dependencies for gems typically used with rails aren't included in the repo. Would a pull request for all of them be too much?

Offline

#7 2016-01-11 21:45:21

anatolik
Developer
Registered: 2012-09-27
Posts: 458

Re: Rubygems binary repository a.k.a Quarry

No problem with such gems. Quarry handles gems automatically and there is little efforts from my side here.

Send a pull request with commit message explaining why the old versions are needed.

Last edited by anatolik (2016-01-11 21:45:41)


Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster

Offline

#8 2016-04-05 02:07:33

zerophase
Member
Registered: 2015-09-03
Posts: 231

Re: Rubygems binary repository a.k.a Quarry

Alright, so I was having some issues with installing ruby-debug-ide. it needs access to rake to do the install. Though rake-11.1.2 doesn't add rake to the bin folder at

/usr/lib/ruby/gems/2.3.0/gems/rake-11.1.2/bin/rake

I ended up having to remove the rake installed by quarry, and install it through gem, and then ruby-debug-ide would install without issue. Is /bin/rake not getting installed intentional?

Offline

#9 2016-07-10 21:58:26

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: Rubygems binary repository a.k.a Quarry

Hi anatolik,

For the last few months I have been working on an extensible pacman wrapper named Pacboy that I have now uploaded for testing and development here. It should be possible to add transparent support for RubyGems.  If you are still actively developing/maintaining Quarry, I hope that you will take a look at the Pacboy RepoWrapper extension interface. The testing archive in that thread contains information and documented code for developing an extension.

Regards,
Xyne


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB