LWN.net Logo

On properly packaging perl

On properly packaging perl

Posted Aug 22, 2009 0:59 UTC (Sat) by dwheeler (guest, #1216)
Parent article: On properly packaging perl

Although it wouldn't have helped this case, one thing that would help would be if FLOSS packages followed the usual conventions for source releases. Stuff like, support ./configure --prefix=/usr ; make ; make install, and support the DESTDIR convention (which both RPM and deb essentially require). So many source packages fail to support the DESTDIR convention that I ended up having to create Auto-DESTDIR, a program to automatically add DESTDIR support to programs that don't support it natively.

When creating the package takes a thousand lines, it's easy to justify five more, and it's easy to miss a "bad" change later. In contrast, when the packaging work is only a few lines long, local patches are a lot more glaring - and in my experience, less likely.


(Log in to post comments)

On properly packaging perl

Posted Aug 22, 2009 6:24 UTC (Sat) by pabs (subscriber, #43278) [Link]

There are more such tips about distro-friendly projects here:

http://wiki.debian.org/GettingPackaged

On properly packaging perl

Posted Aug 22, 2009 22:30 UTC (Sat) by RobWilco (guest, #40828) [Link]

It took me some time to identify the prerequisites for an upstream tarball to be easily packaged. It is good to insist, thanks for the link.

On a related thought, I see no good page for helping python projects to be friendly toward distributions. I can see the python buildout system getting momentum among developers but no standard way to transform a buildout into a debian package.

On properly packaging python

Posted Aug 23, 2009 5:39 UTC (Sun) by zooko (subscriber, #2589) [Link]

There's http://github.com/astraw/stdeb/tree/master . It is a nice tool to automate some of the "manual labor" of generating a Debian package from your Python package. It can't do everything, but it is a start. There's also http://pypi.python.org/pypi/van.pydeb and bdist_deb. I haven't tried them.

On properly packaging perl

Posted Aug 23, 2009 8:28 UTC (Sun) by Cato (subscriber, #7643) [Link]

Thanks for the link. I now understand why checkinstall has problems with some packages and requires fstrans to be turned off. It would be really nice if you could get checkinstall patched to include your Auto-DESTDIR model, as that would cover most cases, it seems.

Auto-DESTDIR

Posted Aug 23, 2009 12:18 UTC (Sun) by dwheeler (guest, #1216) [Link]

I think so, too. I've sent some emails to people who people I thought would be interested in integrating it into their systems. I've started the process of trying to get auto-destdir packaged into Fedora; that doesn't integrate it into checkinstall, but it makes it more accessible to a few. If others would like to package it for other distros, or help patch it into other programs, that'd be great.

On properly packaging perl - Auto-DESTDIR now in Fedora repository

Posted Sep 14, 2009 15:28 UTC (Mon) by dwheeler (guest, #1216) [Link]

Auto-DESTDIR is now in the standard (yum) repository of Fedora 10, Fedora 11, and the upcoming Fedora 12 (aka rawhide). Barring catastrophe, it'll even be on the Fedora 12 DVDs/CDs. I intend to create EPEL packages, too, so Red Hat Enterprise Linux and CentOS users can easily use them too. I'd love to see packaging for Debian, Ubuntu, SuSE, etc - volunteers welcome! Hopefully this will help package and install programs.

On properly packaging perl

Posted Aug 27, 2009 23:27 UTC (Thu) by branden (subscriber, #7029) [Link]

There you go, ruining a perfectly good festival of hatred for distributors
with a slab of advice counseling original developers to avoid cultivating
ignorance and idiosyncrasy.

An essential aspect of software engineering is learning how to retain
one's healthy ego without behaving like an arrogant cowboy. In my limited
experience, people working for distributions learn that faster, because
it's easier to learn humility when you're beholden to three groups of
people at once: your upstream, your peers, and your users. Too often,
especially with one-man software projects, a developer simply does not
grow beyond the Raymondesque "scratching one's own itch" phase of
development.

Some upstream developers actively monitor the bug-tracking lists of major
distributors relevant to their code. (I'd like to single out Thomas
Dickey for praise in this department--he's a one-man operation who seems
to do everything right.) Again, in my experience, this tightens the bond
between distributor and upstream and makes for a happier experience. When
both sides lift a finger, it's easier for them to shake hands.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds