[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Nitpicking: you are doing it wrong



On Sat, Jul 09, 2011 at 04:23:05AM +0800, Thomas Goirand wrote:
> On 07/08/2011 08:47 PM, Scott Howard wrote:
> > Right now, the general consensus is the dh and cdbs produce
> > debian packages that are easier to maintain in the long run (if the
> > sponsor has to take over maintenance of the package or if NMUs are
> > required in the future.)
> With all the due respect...
> 
> I really would like you to explain WHERE you saw such a consensus.
> When it goes down to myself, I would *not* sponsor a package that
> is using either dh or CDBS, because I like to be in the control and see
> what's going on. I believe that CDBS/dh is hiding what's necessary to
> do a good packaging, and is calling too many unnecessary helpers,
> which slows down the build process. Also, with dh_override_*, if you
> have a lot of them, it soon becomes unreadable. That's only my opinion
> though, but I suspect that I might not be the only one to think this way.
> In anyways, I don't see at all a consensus here!!!

I'd like to give a concrete example of why I have changed my opinion
from perferring "control" to preferring dh/cdbs.

Consider the recent discussion on -policy and -ctte about changing
dpkg-buildpackage (and policy) to use the "build-arch" and
"build-indep" targets in debian/rules.  These are currently optional,
so many packages don't provide them.

If you use cdbs, you get full support for these rules "for free", in
that cdbs will provide them for you.  If you use a recent debhelper,
dh also provides them for you.  This means that as and when
dpkg-buildpackage and policy change to requiring these targets, over
half the archive can switch to using them with *zero changes
required*.

Conversely, the packages which chose to do things by hand require
*manual changes* to add support.  That's over 8000 packages, and a
lot of essentially pointless make-work, since it could quite easily
be automated.

This is just one example.  By not hard-coding the list of dh_ helpers
being called, it means that your package will automatically use any
new helpers without any manual source changes.  And as the helpers
are updated to match policy, your package stays compliant with current
policy.

I think that due to the massive size of Debian, we do need to consider
that making even a small change is often difficult, not because it's
intrinsically complex, but because of the huge amount of manual work
required to complete it.  By using helpers such as dh, many things
become trivial to change, archive wide, with nothing more than a
binNMU.  So from the POV of the distribution as a whole, helpers do
provide a tangible and significant benefit.  I would argue that not
using a helper unnecessarily increases the maintenance burden we all
shoulder, and that we should actively encourage further adoption of dh
and cdbs.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

Attachment: signature.asc
Description: Digital signature


Reply to: