[Mongrel] The Debian Plan - reloaded

Gunnar Wolf gwolf at gwolf.org
Thu Jan 18 20:00:07 EST 2007

Zed A. Shaw dijo [Fri, Jan 12, 2007 at 10:07:16AM -0800]:
> I finally have time to answer this...

I don't  ;-) I'm in the middle of a high workload cycle - Anyway,
thanks to Filipe for finally posting this. He has been pestering me
over and over to  upload my work to the Debian SVN repository so more
people can work on the packaging until I get time to take it again :)

> > So, we have some favors to ask from you (the mongrel developers), as
> > those favors are not big things:
> > 
> > * Could you please upload tar.gz files together with your gems files?
> As an open source contributor, I know you feel like donating some
> time to make this happen.  If you write the rake file task and patch
> that creates the tar.gz with the proper version number and puts it
> into pkg/ then I'll run that task for you and upload the file.  That
> way you get control over how you like it packaged rather than me
> doing it 20 times until you say it's nice. 

It's quite easy: The Gem file, as you surely know, is just an
uncompressed tar containing the metadata and a data.tar.gz, which
contains your work. What I do is to rename your .gem to .tar and
compress it, so I work with the closest I can get to the ideal
"pristine sources" .orig.tar.gz - Our build process then becomes: (of
course, this is an automated process, but still)

- Extract Mongrel tarball (and discardable metadata) from the
  .orig.tar.gz (your renamed Gem), and add a debian/ directory where
  the packaging information is stored
- Extract data.tar.gz, creating your whole structure
- Patch your files with whatever modifiations we have to apply (which
  are stored in debian/patches and applied via the dpatch framework)
- Build the package

So... Well, it works correctly, but implies a couple extra steps -
This is fine by itself, but if somebody outside our team needs to work
on the package (say, to do some urgent QA work), I expect him to have
a "WTF" look for some minutes ;-)

> Otherwise, I tag each release in svn.  Maybe you cold convince the
> debian build system to use that.  Should be easier as well since you
> don't have to troll a download page. 

Umh... I prefer working against something as close as possible to the
"pristine sources" ideal. Taking one file from you, and having that as
our reference. The Gem file works, although suboptimally  Another of
our tools tracks upstream new versions by looking at URLs with some
regex magic on them. AFAICT, we cannot automate this step as it is

> > * In this tar, could the files be with the current date, not in year 
> > 1969? :D tar complains a lot about this...
> I believe only rubygems does this because it uses a ruby version of tar.

Ok, so we should ask them for a bugfix - I'm relatively new to Ruby
culture. What's this Ruby tar's name?

> > * When release candidates are released, can you append something like
> > "~rc1" to the tar file? This help debian auto tools to check new
> > releases.
> There's also a problem with how Rake and/or rubygems likes its
> version numbers.  It won't accept ~rc1 style endings for various
> design reasons. 

Nah, I agree here with Zed - We can accomodate your version number
changes. We cannot expect everybody on the Free Software world to
agree on a versioning standard! The ~rc1 notation is _very_
Debian-centric - and very seldom used, IMHO.

> > The Debian ruby-extras team has a page[1] dedicated to upstream
> > developers, where those and other things that help *nix distributions
> > are described.
> I'll give you guys a slight clue though.  Mongrel is packaged on
> lots of other operating systems.  So far OSX, SuSE, FreeBSD, Win32,
> Fedora and probably more I don't know anything about.  Not a single
> one of them asked me to change the project setup to accommodate
> their build systems.  OSX asked me to change the license but that's
> it. 
> If Debian has to ask people to change their projects, then maybe
> there's something wrong with Debian's build system.  I know Debian
> folks can *never* admit there might be something wrong, but just
> consider it.  There might just be some improvement you could make to
> be as capable as the other OS out there. 

Yes, I understand your point here. Only that we know how to do things
better ;-)

No, really - I guess that every Linux distribution you quoted would
prefer you shipping an orig.tar.gz (call it whatever you want), as the
"pristine sources" religion was _started_ by the RedHat people and
all... We can all accomodate. Debian does, however, have one uniqueness
factor: Being a completely distributed and volunteer project, we put a
lot of emphasis on things being as standard and automatic as possible,
for the sake of our colleagues :)

Thanks a lot, anyway!

Gunnar Wolf - gwolf at gwolf.org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF

More information about the Mongrel-users mailing list