I seem not to have written here for two weeks, where did the time go? Well, study projects probably… I have been working on GOAT! a lot and other misc stuff.

Today, I’ve looked into the first implementations of the RPA and Debian coupling. Now RPA base is maturing and the development 0.3 branch had some Debian source/binary specific generating code in it by bitserf, I decided to try it and and maybe help.

It is going to look something like this (or then again, maybe not at all):

  % rpa source iowa
  % rpa-build -t debian -b ./iowa source
  % ls
  iowa/
  iowa-0.9.1/
  iowa_0.9.1-2.diff.gz
  iowa_0.9.1-2.dsc
  iowa_0.9.1.orig.tar.gz
  % cd iowa-0.9.1
  % dpkg-buildpackage -rfakeroot …
  
When the source port is downloaded, Debian source can be generated from the meta-data in the RPA installer file/class in iowa/install.rb.

A Debian specific install script is put in iowa-0.9.1/debian/rules which could inherit the installer and be modified at will by the maintainer. An example of generated debian/rules template doing the standard stuff:

  #!/usr/bin/env ruby

require ‘install’ class Debianize_iowa < Install_iowa end

I’m not sure how to handle the Debian Changelog yet. debian/rules specific targets should be handled by the class in some way as well.

If we get this working, both RPA (and thus users of other operating systems working with Ruby) and Debian will benefit from this. I intend to commit non-Debian specific changes back to RPA (also QA stuff) and create a tight coupling so that Debian packages are very up-to-date and easy to maintain (read: no work at all to maintain). I’m currently trying to find my way in the code. You will hear more of this…



Published

Category

Tags