Steinar H. Gunderson

even threatens kittens because of it, and Steve McIntyre ranted against using CDBS for packaging, claiming that it’s much harder to fix bugs in packages that use CDBS.

I have to disagree.

More than once I’ve given up on fixing a bug in a package because I couldn’t decrypt the huge makefiles used for building the package.

For private packages I often switch over packages to CDBS then, so I don’t have to fiddle around with a build system noone except the original maintainer understands. And every now and then I fix a bug in Debian, but don’t upload it because I replaced the “magic” build system with CDBS magic…

While CDBS does a lot of “black magic” to build packages, it usually does quite a good job. If it doesn’t, it maybe even is a bug in CDBS, that happens.

debian/rules files that use CDBS are usually quite easy to read, even easier than traditional debhelper template-based scripts. And that is why I think that CDBS is a good thing: it does a good job at separating package-specific and package-independendant build scripting.

Maybe all we need is more documentation on how to properly fix common issues in CDBS, starting with misplaced or misnamed files etc. CDBS has a lot of hooks, but it’s not obvious which hooks to use for which fixes.

(Note that sometimes the fix should maybe be done in the upstream makefile instead.)

On the long run, Debian could use a more unified way of packaging. Debhelper has already unified package building a lot, and CDBS maybe goes one step too far, but ideally we would all be able to understand each others debian/rules.