This is just the DebGem staging website for testing purposes.
Please go to http://www.debgem.com/ for the real website.

Usage

Step 1: Add DebGem to your Apt sources list

Debian 4.0 (Etch)

  1. Add the following line to your /etc/apt/sources.list. (If the file doesn't exist, create it.)
    deb http://debgem.phusion.nl/apt debian-4.0 rubyforge
  2. Increase the Apt cache limit by adding the following line to your /etc/apt/apt.conf. (If the file doesn't exist, create it.)
    APT::Cache-Limit 33554432;
    This is neccesary because with the default settings, Apt can't handle the number of packages that DebGem provides. There are about 20000 gems on RubyForge, and we generate about 25000 package files from that.
  3. Add the DebGem public key to your keyring with:
    wget -q http://debgem.phusion.nl/apt/debgem.gpg -O- | sudo apt-key add -
  4. Run the command:
    apt-get update
  5. (Optional) If you not only want gems from RubyForge, but want gems from Github as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt debian-4.0 github
  6. (Optional) If you want gems from Webget.com as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt debian-4.0 webget
Note: These URLs will likely change after DebGem has gone out of beta, so please check this web page again if apt-get update doesn't work anymore.

Ubuntu 8.04 LTS (Hardy)

  1. Add the following line to your /etc/apt/sources.list. (If the file doesn't exist, create it.)
    deb http://debgem.phusion.nl/apt ubuntu-8.04 rubyforge
  2. Increase the Apt cache limit by adding the following line to your /etc/apt/apt.conf. (If the file doesn't exist, create it.)
    APT::Cache-Limit 33554432;
    This is neccesary because with the default settings, Apt can't handle the number of packages that DebGem provides. There are about 20000 gems on RubyForge, and we generate about 25000 package files from that.
  3. Add the DebGem public key to your keyring with:
    wget -q http://debgem.phusion.nl/apt/debgem.gpg -O- | sudo apt-key add -
  4. Run the command:
    apt-get update
  5. (Optional) If you not only want gems from RubyForge, but want gems from Github as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt ubuntu-8.04 github
  6. (Optional) If you want gems from Webget.com as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt ubuntu-8.04 webget
Note: These URLs will likely change after DebGem has gone out of beta, so please check this web page again if apt-get update doesn't work anymore.

Ubuntu 8.10 (Intrepid)

  1. Add the following line to your /etc/apt/sources.list. (If the file doesn't exist, create it.)
    deb http://debgem.phusion.nl/apt ubuntu-8.10 rubyforge
  2. Increase the Apt cache limit by adding the following line to your /etc/apt/apt.conf. (If the file doesn't exist, create it.)
    APT::Cache-Limit 33554432;
    This is neccesary because with the default settings, Apt can't handle the number of packages that DebGem provides. There are about 20000 gems on RubyForge, and we generate about 25000 package files from that.
  3. Add the DebGem public key to your keyring with:
    wget -q http://debgem.phusion.nl/apt/debgem.gpg -O- | sudo apt-key add -
  4. Run the command:
    apt-get update
  5. (Optional) If you not only want gems from RubyForge, but want gems from Github as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt ubuntu-8.10 github
  6. (Optional) If you want gems from Webget.com as well, then add the following to your sources.list:
    deb http://debgem.phusion.nl/apt ubuntu-8.10 webget
Note: These URLs will likely change after DebGem has gone out of beta, so please check this web page again if apt-get update doesn't work anymore.

Step 2: Install software

DebGem follows Debian naming conventions for Ruby software. Libraries are prefixed with "lib" and end with "-ruby", while applications are named after the gem.

For example, the mysql Gem can be installed with
apt-get install libmysql-ruby
while the rails gem can be installed with
apt-get install rails

When in doubt, use our search facility:

Frequently Asked Questions

Why is this service going to cost money after the public beta?

Because we need to eat. We need to make a living. The problem of (recent versions of) Ruby software not being available as Debian packages has been around for years. This seemed to us like an interesting problem to solve.

Creating a gem-to-apt gateway such as DebGem is by no means trivial: DebGem provides Debian packages for over 20000 Ruby gems, each package fine-tuned for multiple distribution versions and platforms. This requires a lot of hard work and constant maintenance. Futhermore, the required servers are not free, and neither is the required bandwidth. It is for these reasons why we cannot offer this service for free.

With DebGem, you will no longer have to deal with 2 seperate package managers, remember 2 sets of commands or worry about 2 possible points of failures. You can continue to use Apt to maintain your servers, just like you usually would. This should save you a lot of time and frustration. We offer the DebGem service at a reasonable, affordable price. If you're a system administrator, then even the most expensive monthly DebGem subscription probably only costs about 1-2 hours of your time per month.

Why does it install all versions of a gem when you type apt-get install libsomething-ruby?

This is because RubyGems supports parallel version installs. For example, RubyGems allows having both Rails 2.1.2 and 2.2.2 installed at the same time. Applications and libraries can depend on a specific version of a gem.

Dpkg does not have a direct equivalent of this feature. So as a compromise, and in order to ensure that everything works out-of-the-box, we install latest versions of the minor versions. That is, if the "something" gem has versions 1.0.0, 1.0.1 and 1.2.0, then DebGem provides packages for versions 1.0.1 and 1.2.0 but not 1.0.0.

It is possible to only install a specific version of a gem. libsomething-ruby1.8's Depends header looks a bit like this:

Depends: libsomething-all-ruby1.8 | libsomething1.0.1-ruby1.8 | libsomething1.2.0-ruby1.8

This means that the system administrator can choose to install all versions of libsomething, or just a specific version. But installing everything is the default.

To install just version 1.2.0 of "something", type:

apt-get install libsomething1.2.0-ruby1.8 libsomething-ruby1.8

Note that the package for a specific version of "something" must be specified before the general dependency package.

The same rules must be applied to all dependencies. For example, to install Rails version 2.2.2 and only 2.2.2, use the following exact command:

apt-get install libactivesupport2.2.2-ruby1.8 libactiverecord2.2.2-ruby1.8 libactionpack2.2.2-ruby1.8 libactionmailer2.2.2-ruby1.8 libactiveresource2.2.2-ruby1.8 rails2.2.2-ruby1.8

The order of the command arguments is important.

We know that installing just a single version like this is a hassle. If there's enough demand then we may release a tool which eases installation of a single version.

Do you provide source packages?

We do not provide any sources packages at this time, for the following reasons:

  • Ruby is an interpreted language, so the packages already contain the source code.
  • The Debian packages are created from the RubyGem files, i.e. not from source tarballs. One can refer to the original RubyGem file as "source" package.

I am a gem publisher. How much does it cost to have my gem converted to a Debian package?

Nothing. If you publish your gem to RubyForge or Github then it will be automatically converted by us. Only people who want to install our Debian packages are being charged.

I have a problem, where can I find help?

Please visit our support forum.