Skip to content
NeilW edited this page Sep 12, 2010 · 5 revisions

Rubygems packaging

This repository contains Rubygems and some development Debian Packaging that ensures that installed gems are available on the path in a standard Debian/Ubuntu install and don’t stand on the toes of either ruby apt packages or other versions of gems. It does this by using the ‘update-alternatives’ system in /usr/local/bin.

Using the respository.

We use a standard git debian packaging workflow. The ‘upstream’ branch contains the current working version of the code. The ‘master’ branch contains the debian packaging and ‘upstream’ is merged on top of it. You can build the package with ‘git-buildpackage’.

Updating ‘upstream’ from releases.

Simply run


uscan

which will download a new tar file and then user git-import-orig to update the ‘upstream’ and ‘master’ branches.

Updating ‘upstream’ from the svn repository

Rubygems is stored in an svn repository at Rubyforge. I don’t really want to mirror the entire thing here, so this is the shorthand to get the latest version into the upstream branch. This is a little more involved but works effectively.

First export the trunk, tag or branch you want to work with into a directory outside the git archive.


svn export http://rubygems.rubyforge.org/svn/trunk rubygems-1.2.0+2008071501

Now go into the git archive and import the checked out code. Note that the version number should be in debian format. We use the current revision number plus the date and a serial number starting at 01.


git-import-orig -u 1.2.0+2008071501 /path/to/export/rubygems-1.2.0+2008071501

You can then edit the debian/changelog file to set the version and release details to the correct value.


dch -e