Re: Nitpicking: you are doing it wrong

2011-07-11 Thread Thomas Goirand
On 07/09/2011 10:30 PM, Leo costela Antunes wrote:

 [ lots of valid arguments ]

   

I think you got me (at least partly) convince on the short dh style.
However, I reamain convince that Jakub's point to not nitpicking
new comers on the dh versus dh_* style is very valid.

Thanks for the interesting thread.

Thomas


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e1b23ab.6050...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Bernhard R. Link
* Leo costela Antunes cost...@debian.org [110708 23:41]:
 Please use dh/cdbs/whatever other means necessary to make your packaging
 work easy to read and understand. Don't make the packaging more complex
 for other people just because you want to know what's going on.

But please also do not use anything you do not understand.
I my eyes the normal dh_* scripts are a good middle ground in being
high level enough to not hide the big picture in details while still
being transparent enough to know what's going on. Especially having
the calls to upstream's build system in such files explicitly listed
makes it easy to check they are called the proper way.
Using dh or cdbs means it needs quite some knowledge to be sure it
is done right.

 You never know who might have to NMU it, make QA uploads, etc and even
 you yourself might find it pretty hard to remember why you did something
 in this particular fashion, when it actually could just as well be done
 in a more common way.

In my experience with modifying packages locally cdbs and dh are quite
a pain, as too many things are done automatically so that small changes
can require quite a big diff.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20110709110910.ga2...@pcpool00.mathematik.uni-freiburg.de



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Thomas Goirand
On 07/09/2011 05:41 AM, Leo costela Antunes wrote:
 On 08/07/11 22:23, 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.)
   
 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!!!
 
 Seeing what's going on is important for learning and for debugging.
 Thankfully debugging with dh is pretty mature, should you happen to need
 it (don't really know about cdbs), but having to read a non-dh-using
 rules file to understand exactly what happens when and why can be a lot
 of work and shouldn't be imposed on your fellow DDs if you don't have a
 good reason for it (curiosity and a micro-management tendency are not
 good reasons; funky non-standard build-systems are)

 Please use dh/cdbs/whatever other means necessary to make your packaging
 work easy to read and understand. Don't make the packaging more complex
 for other people just because you want to know what's going on. That
 sounds awfully like NIH[0].
 You never know who might have to NMU it, make QA uploads, etc and even
 you yourself might find it pretty hard to remember why you did something
 in this particular fashion, when it actually could just as well be done
 in a more common way.
 Not using these tools goes against your own advice here[1]: you're
 making the life of other developers who have to look at your code harder
 for no reason.
 Or to put it more succinctly in your own words: otherwise, you have no
 rules at all and it's a mess.

 And your performance argument seems like a dud unless you can provide
 some evidence that you actually save a significant amount of time by not
 using dh/cdbs/whatever during package builds (and by significant I mean
 more than just a couple of seconds per build).

 Cheers
   
If you are writing that using dh is more easy than using normal debhelper,
then I don't agree, it's not always the case. I've seen many overly
complicated
packages with tons of dh_overwrite_* stuff, which makes the work flow very
complicated and barely readable.

I'm not bying into the legend that a dh using package is more easy to
maintain.

As for the performance, it's quite obvious that dh is doing so many useless
debhelper calls. Just read what you see on screen.

I hope you didn't miss-read me. I do push for using debhelper, but not dh,
which I have reasons to dislike. One of the most obvious reason is that
people
are going to just rely on things they don't understand. It's hiding a
complexity
that people HAVE to understand. CDBS is even worth than dh in this regard.

On 07/09/2011 07:09 PM, Bernhard R. Link wrote:

 But please also do not use anything you do not understand.
 I my eyes the normal dh_* scripts are a good middle ground in being
 high level enough to not hide the big picture in details while still
 being transparent enough to know what's going on. Especially having
 the calls to upstream's build system in such files explicitly listed
 makes it easy to check they are called the proper way.
 Using dh or cdbs means it needs quite some knowledge to be sure it
 is done right.

Exactly!!! And while I'm not pushing you to like or use this type of
packaging,
I don't see why you should push me for another one.

Thomas


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e18414d.70...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Thomas Goirand
On 07/09/2011 05:14 AM, Gergely Nagy wrote:
 I believe that when someone knows the underlying system, using helpers
 is the way to go, because it makes not only your task easier, it also
 makes it easier for others to understand the packaging.
   
We were talking about mentoring, and you are talking about someone who
knows the underlying system, and we should generalize and push them to
use dh because of that. Isn't there is something wrong here?
 NMUing something with a complex, home-built debian/rules is a pain in
 the backside at best.
   
Come on! It's not. Most debian/rules using debhelper (and not CDBS or dh)
looks nearly the same, with very little tweaks.
 And yes, one does sacrifice a lot of control on the altar of
 convenience. But I don't see that as a problem, there's nothing wrong
 with convenience. And while useless helper scripts add to the build
 time, that load is negligible.

 Even on the slowest machine I could get my hands on (emulated armel,
 with ~256Mb memory, running on an dual-core amd64 host, along with 4
 other VMs), the difference between using dh $@ and explicit dh_*
 commands on an average package was about 3 seconds. Completely getting
 rid of debhelper and doing everything by hand made it 2 more seconds
 faster.

 I don't know about you, but for 5 seconds, I'm not going to give up
 convenience.
   
It really depends. If the package is really small, and if it takes 6
seconds in total
to build, then skipping 5 seconds is a win. If it takes anyway 2
minutes, then
yes, I don't care about 5 seconds.

 Then again, the beauty of Debian is that people are allowed to tailor
 their packaging to their own liking (as long as it conforms to
 policy... sadly a debian/rules written in SHOOP does not). There's
 arguments for and against both helper-using and helper-less packaging,
 neither is a silver bullet.
   
My point to give arguments about not using dh was *not* to start a troll
thread about what is best practices. It was simply to tell that there
are some
arguments for and against using dh, and as a consequence, I found very bad
to write in this list that not using dh was a bad idea. People like
different
things, and using a helper like dh or CDBS should *not* be a requirement
written in this list. For this, Jakub is 100% right. At best, this would
be a
sponsor requirement (and for sure, it wont be mine, which is only to not
use CDBS which I don't understand).

So don't take me wrong. I'm not vouching *against* dh, in some cases I agree
it might be convenient, but just not always, and at the end, it's more a
mater
of preferences.

Thomas Goirand (zigo)


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e1843d4.7000...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Gergely Nagy
Thomas Goirand z...@debian.org writes:

 On 07/09/2011 05:14 AM, Gergely Nagy wrote:
 I believe that when someone knows the underlying system, using helpers
 is the way to go, because it makes not only your task easier, it also
 makes it easier for others to understand the packaging.
   
 We were talking about mentoring, and you are talking about someone who
 knows the underlying system, and we should generalize and push them to
 use dh because of that. Isn't there is something wrong here?

I thought we were talking about sponsoring. Which is not the same as
mentoring. There are people who have good knowledge of debian package
building, yet, are sponsored.

But even if it's one's first package, I'd rather push them towards dh as
a starting point, becuase that's _simple_. Getting to know the
underlying system takes time, and when you expose a new contributor to
that, he might very well run away.

In short, one needs to find out on a case by case basis which would be
better. I see no point pushing someone who already has 10+ packages in
Debian towards dh7, when he'd much rather just be done with it and use
dh8.

On the other hand, when someone's obviously inexperienced, and makes
silly mistakes, explaining that mistake, and suggesting to play with dh7
(or even helper less) to understand the system better might be a good
approach.

But neither fits all cases.

 NMUing something with a complex, home-built debian/rules is a pain in
 the backside at best.
   
 Come on! It's not. Most debian/rules using debhelper (and not CDBS or dh)
 looks nearly the same, with very little tweaks.

Most dh7 packages look similar enough, yes. Those are the least of one's
worries, though.

Nor do these fall under the 'complex, home-built debian/rules' category.

 I don't know about you, but for 5 seconds, I'm not going to give up
 convenience.
   
 It really depends. If the package is really small, and if it takes 6
 seconds in total
 to build, then skipping 5 seconds is a win. If it takes anyway 2
 minutes, then
 yes, I don't care about 5 seconds.

5 seconds never matters. Ever. Not even if that 5 seconds is 90% of the
build time. It won't stall the buildds, it won't make any difference at
all.

 Then again, the beauty of Debian is that people are allowed to tailor
 their packaging to their own liking (as long as it conforms to
 policy... sadly a debian/rules written in SHOOP does not). There's
 arguments for and against both helper-using and helper-less packaging,
 neither is a silver bullet.
   
 My point to give arguments about not using dh was *not* to start a troll
 thread about what is best practices. It was simply to tell that there
 are some
 arguments for and against using dh,

Agreed, there are arguments for and against dh. There's more for it than
against it, though, and if one chooses to use dh, in the vast majority
of cases, he shouldn't be discouraged, in my opinion.

 For this, Jakub is 100% right. At best, this would be a sponsor
 requirement (and for sure, it wont be mine, which is only to not use
 CDBS which I don't understand).

 So don't take me wrong. I'm not vouching *against* dh, in some cases I
 agree it might be convenient, but just not always, and at the end,
 it's more a mater of preferences.

We seem to agree then, it's just our preferences lying on other sides of
the fence ;)

-- 
|8]


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87tyavboau@luthien.mhp



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Scott Howard
On Fri, Jul 8, 2011 at 6:55 AM, Jakub Wilk jw...@debian.org wrote:
 Don't get me wrong, in my opinion (some of) these things are good. But
 making a big fuss about them is not helping anybody. It only distracts
 attention from things that are important, and creates false impression that
 they are somehow crucial for high quality packages. I can assure, they are
 not.

Getting back to the original point for a second, I think that it has
been shown that there are no right or wrong nitpicks (at least in
the list that you posted.) I originally wasn't trying to post a
reference implementation for sponsorship but just give examples and
reasons as to why those nitpicks might not be wrong. Sponsors/DDs
are well aware that there are multiple ways of handling a package for
sponsorship. People asking for sponsorship are allowed to disagree
with comments during a review, and being able to communicate the
disagreement and work with a sponsor is a sign of maturity (someone
that might be good to start the NM process.)

One of the great things about sponsorship is that it is a case by case
basis: each sponsor, sponsoree, and package has different levels of
comfort, skill sets, and requirements. In some cases, the listed
nitpicks are crucial for a high quality package, and in some cases
they are, at best, an exercise in packaging (which, for many new
contributors, may be quite useful.) At worst, to an experienced
contributor, those nitpicks are a waste of time, but an experienced
contributor should already have a good working relationship with a
sponsor that wouldn't require all of that for an upload. A cold call
request for sponsorship on -mentors will most likely have many
nitpicks (some may even be contradictory: one sponsor may say no
dh/cdbs while another may ask you to use dh/cdbs.) The requester's job
is to take those reviews and work with their sponsor to do what's
right for that package (and that sponsor.)

Regards,
Scott


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CANg8-dBi2G=FzpW3UVnLSNOXwZLEqAGb5NCuHMVDJ0u=jm0...@mail.gmail.com



Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Leo costela Antunes
On 09/07/11 13:53, Thomas Goirand wrote:
 If you are writing that using dh is more easy than using normal debhelper,
 then I don't agree, it's not always the case. I've seen many overly
 complicated
 packages with tons of dh_overwrite_* stuff, which makes the work flow very
 complicated and barely readable.

You're missing the point again: of course you can make dh rules
unreadable. The point is that it's easier to write *more* readable rules
*most* of the time. Mind you: nobody ever said *always*.
It's like Joey Hess mentioned in another mail in the thread: when used
correctly, the override targets make it clearer where the package
actually needed special treatment, which means I don't have to look for
the proverbial needle in the haystack when reading a potentially big
rules file; it's already explicitly there for me to see.


 I'm not bying into the legend that a dh using package is more easy to
 maintain.

Legend? Maybe I'm reading too much into it, but it really sounds like
you have an emotional grudge against dh.
But we seem to be discussing two different and unrelated things here:
1) maintainability
2) understanding of the underlying system

I say they're unrelated because it's irrelevant to the first point if
the maintainer knows how a tool works as long as he knows how to use it
to overcome possible problems and the end-package quality remains the same.

I'll address the first point here and the second as a response a bit
further down.
What makes a package easier to maintain must be judged by the ease with
which a different DD can make contributions to it, because the
maintainer him/herself is way too used to the code to make objective
observations (you probably remember why you used this or that, so it
shouldn't seem complex to you). I also assume that starting from
scratch, without any prejudice, it's *at least* as easy to learn to use
dh_* helpers as dh short style (again: we're discussing just the first
point here; no understanding necessary at this point).
Now, all things being equal you want to do an NMU. If it's your average
package with just one important but small detail, you might very well
open the rules file, parse its ~100 lines, not see the detail, try to
make whatever change you wanted to make, have it blow up in your face
and finally go back to the rules file and read it more carefully.
Why did you miss the detail? Because it's easier to miss something in
~100 lines of almost-always-identical code (where you skim more then
read), than in 10 lines of code where the only thing is an override
target telling you *exactly* what you should pay attention to.
To make matters a bit worse, dh_* style encourages a bit of cruft: since
the lines have to be there anyway, you have less incentive to clean up
after yourself and remove arguments which aren't needed anymore (like
old -X arguments for files that aren't installed anymore). This may not
have any impact on the final package, but it adds up to the things
people unfamiliar with the code will try to keep in mind, even if it's
unimportant, making the job of understanding the rules file a bit harder.

Of course these arguments highlight a *small* difference in
maintainability and are in no way reason for me to go out screaming for
people to re-upload everything with dh short style, but it's reason
enough for a so inclined sponsor to ask potential sponsorees please use
a shorter rules file where possible because I don't want to have to
parse ~100 lines of almost-standard dh_* example code to make sure I'm
not doing something stupid whenever I want to change something


 As for the performance, it's quite obvious that dh is doing so many useless
 debhelper calls. Just read what you see on screen.

Yes, that's obvious, but does it cost you more than a couple of seconds
per build? No.
In that case, these mere seconds are more then worth it making a more
readable package for your average DD. (again, I can't stress it enough:
I'm not saying it's a one size fits all solution, but use it where it
works).
You make it sound like these extra dh_ calls have some impact besides
irritating you on a pure quest for theoretical elegance level, which
they don't.


 I hope you didn't miss-read me. I do push for using debhelper, but not dh,
 which I have reasons to dislike. One of the most obvious reason is that
 people
 are going to just rely on things they don't understand. It's hiding a
 complexity
 that people HAVE to understand. CDBS is even worth than dh in this regard.

And here I address the second point mentioned earlier.
This argument is also a dud. It's equally easy for a maintainer to use
dh_* or dh short style without knowing what's going on underneath. I
know I did this with dh_* almost 10 years ago. You can simply copy one
of the example dh-make rules files and semi-blindly hack away at it
until it compiles and generates a lintian-clean package. You don't
automatically gain more knowledge about the system simply because you
copied a template with 

Re: Nitpicking: you are doing it wrong

2011-07-09 Thread Raphael Hertzog
On Sat, 09 Jul 2011, Thomas Goirand wrote:
 My point to give arguments about not using dh was *not* to start a troll
 thread about what is best practices. It was simply to tell that there
 are some arguments for and against using dh, and as a consequence, I
 found very bad to write in this list that not using dh was a bad idea.

Not using dh for a new package is a bad idea IMO.

Sure enough, you can do the packaging once without dh to force you to
learn the commands and what's going on. That's fine.

But then when you're doing the packaging that you want to submit to
Debian, it's best to use dh because the package will be more maintainable
on the long run (for all the good reasons that have already been given).

I don't share at all the 2 arguments that you listed against dh:
- performance is not a real problem, the few seconds of build time are
  neglible even for small package, 5 seconds more in a build doesn't
  change much compared to the time you have invested in creating the
  package
- readability, I find the override very good to point out what's special
  in the package (you would not notice in a normal debhelper package
  that a dh_foo call has been moved in the list)

Of course, it's not a requirement at the debian level. But that's not a
good reason to not recommend it to newcomers. They don't have the required
experience to know what's best for them. Thus we should point them towards
something largely accepted and recommended.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Follow my Debian News ▶ http://RaphaelHertzog.com (English)
  ▶ http://RaphaelHertzog.fr (Français)


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110709190517.gd30...@rivendell.home.ouaza.com



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Thomas Preud'homme
Le vendredi 8 juillet 2011 12:55:52, Jakub Wilk a écrit :
[SNIP]
 
 
 Don't get me wrong, in my opinion (some of) these things are good. But
 making a big fuss about them is not helping anybody. It only distracts
 attention from things that are important, and creates false impression
 that they are somehow crucial for high quality packages. I can assure,
 they are not.

Maybe these comments could be done in a seperate part of the mail. For 
example:

* Below are nit-picking comments, feel free to ignore them, they are 
suggestions and may not even be suited to you **

// nit picking comments


signature.asc
Description: This is a digitally signed message part.


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Scott Howard
On Fri, Jul 8, 2011 at 6:55 AM, Jakub Wilk jw...@debian.org wrote:
 Dear reviewers, next time if you are going to complain about:
 - debian/compat being too low;

There are cases where it should be bumped [1], support for old
versions gets removed. Many sponsors take the approach What should be
done eventually must be done immediately. From the debhelper manpage
[2]

Unless otherwise indicated, all debhelper documentation assumes that
you are using the most recent compatibility level, and in most cases
does not indicate if the behavior is different in an earlier
compatibility level, so if you are not using the most recent
compatibility level, you're advised to read below for notes about what
is different in earlier compatibility levels.

and
v8  This is the recommended mode of operation.

You're right, it says recommended - not required, but sponsors will
ask you to do every recommended, should, or --pedantic -I.

 - debian/rules not using dh (or not using cdbs);

Some sponsors are only comfortable sponsoring dh or cdbs. You are free
to do what ever you'd like (you can even write the rules file with no
debhelper commands at all) but the sponsors are also free to ask you
to change it to what they are comfortable with. You can always find a
sponsor that is more comfortable with your style and work with them as
well. 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.)

 - debian/copyright not in DEP-5 format;

This is accepted and will be policy soon [3]. What should be done
eventually must be done immediately.

 - source format not 3.0 (quilt) when there are no patches whatsoever;

3.0 (quilt) doesn't just handle patches, it has other features as well
[4]. Even if you aren't interested in those features, and even if you
don't have patches, that doesn't mean the person who will NMU your
package two years from now won't want to add a patch, and NMU's should
be changing source formats.
What should be done eventually must be done immediately.

 please think twice. Most likely, you are doing it wrong.

You're right that none of these are serious problems in a package that
would prevent it from being useful or in the archive, but neither are
the lintian --pedantic or -I warnings that sponsors ask to have fixed.
The sponsors are picky for a reason (namely to have complete, robust,
and somewhat standardized packaging to make QA, NMUs, and long term
maintenance easier,) if you don't like their approaches you are free
to work closely with another sponsor.


[1] 
http://lintian.debian.org/tags/package-uses-deprecated-debhelper-compat-version.html
[2] http://manpages.debian.net/cgi-bin/man.cgi?query=debhelpersektion=7
[3] http://dep.debian.net/deps/dep5/
[4] http://wiki.debian.org/Projects/DebSrc3.0#Advantages_of_new_formats


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cang8-dabm3kfocgmbrtjnomq2ken1hpjhtj5ubmxjgyo3u2...@mail.gmail.com



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Scott Howard
On Fri, Jul 8, 2011 at 6:55 AM, Jakub Wilk jw...@debian.org wrote:
 Don't get me wrong, in my opinion (some of) these things are good. But
 making a big fuss about them is not helping anybody. It only distracts
 attention from things that are important, and creates false impression that
 they are somehow crucial for high quality packages. I can assure, they are
 not.

I appreciate your comments, and I believe the above sentence is the
take away message Jakub wanted to get across. While nit-pickiness is
not crucial for high quality packages, Debian has a culture of high
technical quality to the point where we acheive near 100% bug free
releases. This culture goes all the way to nit-picky packaging details
at package creation. By the time you ask for sponsorship, the package
is probably already in good shape. The mentors list is about have a
couple extra pairs of eyeballs to go through and find those small
things. It's like buying a house: yes there is a difference between a
cracked foundation and a drippy faucet, but a home inspector wouldn't
be doing their job if they didn't report the leaky faucet. (I, and
many other sponsors, would consider the nitpicks you mentioned to be
akin to a leaky faucet and not just a bad coat of paint since fixing
them would make a more technically complete package.)

Cheers,
Scott


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/cang8-darcvvuvrn5gr7fgs5tr5kcqyqh-18wbscvsjwqgw0...@mail.gmail.com



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread David Bremner
On Fri, 8 Jul 2011 08:47:31 -0400, Scott Howard showard...@gmail.com wrote:
 
  - debian/copyright not in DEP-5 format;
 
 This is accepted and will be policy soon [3]. What should be done
 eventually must be done immediately.
 

I think you might misunderstand the DEP process, which is easy to
do. The following is my understanding. Accepted DEPs must still go
through a policy revision process. The point is to converge on a
process/implementation, and once that process/implementation becomes
widely used and successful, then it can become policy. In particular, I
would find it pretty surprising if DEP-5 became a policy must, and
suspect that it will most likely be a policy may [1]. That would mean
that not having a DEP-5 copyright file might, at some point in the
future be grounds for a wishlist bug.

David


[1]: see http://www.debian.org/doc/debian-policy/ch-scope.html#s1.1 for
 definitions.


pgpdyhadsIq1r.pgp
Description: PGP signature


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Wolodja Wentland
On Fri, Jul 08, 2011 at 12:55 +0200, Jakub Wilk wrote:
 (I'm creating a new thread rather than replying to a particular
 message, because my mail is not at all personal. It's a general
 tendency amongst many debian-mentors reviewers that I'm going to
 rant about.)
 
 A sponsor on 2011-07-08, 11:22 wrote:

 1. You're using debhelper compat 7 and also only debhelper =
 7.0.50~ as Build-Depends. Please bump that to 8
 
 Seriously? Is the sponsor suggesting that one should be
 build-depending on a newer version, even though one does not use any
 features of the newer one?

 Also, the sponsor failed to explain that normally upgrading
 debhelper compat is not a matter of bumping a number here and there.


I can understand how this applies to older packages that have been created in
the past and just don't use some of the new functionality, but I guess that
the points are valid for completely new packages.

I had the impression that it is desirable to create those in such a way
that they use the latest compat, debhelper features and soon-to-be policy
additions such as DEP5. 

 That's a potentially time consuming and error-prone process.
Creating a package for the first time is a time consuming process, but
should one not target the current state of the art?

 Dear reviewers, next time if you are going to complain about:
 - debian/compat being too low;

Are there specific reasons to choose a version lower than the recommended
one for *new* packages?

 - debian/rules not using dh (or not using cdbs);

If I were to sponsor packages I would at least like to see a justification why
these have not been used. The decision not to use these helpers might be
well-justified, but should be made explicit as the reasons not to use dh, for
example, might mean that the helper is lacking functionality or behaves buggy
in certain situations.

 - debian/copyright not in DEP-5 format;

You have to create that file anyway for a new package, why not use DEP5?

 Don't get me wrong, in my opinion (some of) these things are good.
 But making a big fuss about them is not helping anybody. It only
 distracts attention from things that are important, and creates
 false impression that they are somehow crucial for high quality
 packages. I can assure, they are not.

+1

IMHO the package creation phase is a very important step in the lifetime of a
package and should target the state-of-the-art, as it lays the groundwork for
everything that comes afterwards. Are there reasons not to focus on being
up-to-date? Uploading a non-DEP5 package for example just means that the
copyright has to be changed later in order to be policy compliant, doesn't it?
-- 
  .''`. Wolodja Wentlandbabi...@gmail.com
 : :'  :
 `. `'` 4096R/CAF14EFC
   `-   081C B7CD FF04 2BA9 94EA  36B2 8B7F 7D30 CAF1 4EFC


signature.asc
Description: Digital signature


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08.07.2011 15:56, Wolodja Wentland wrote:
 1. You're using debhelper compat 7 and also only debhelper =
 7.0.50~ as Build-Depends. Please bump that to 8

 Seriously? Is the sponsor suggesting that one should be
 build-depending on a newer version, even though one does not use any
 features of the newer one?
 
 Also, the sponsor failed to explain that normally upgrading
 debhelper compat is not a matter of bumping a number here and there.
 
 
 I can understand how this applies to older packages that have been created in
 the past and just don't use some of the new functionality, but I guess that
 the points are valid for completely new packages.
 
 I had the impression that it is desirable to create those in such a way
 that they use the latest compat, debhelper features and soon-to-be policy
 additions such as DEP5. 

Jakub, I'm with Wolodja on this regard. While I totally agree with your
argumentation from a technical perspective, and I admit there are few
(no, even) reasons to /insist/ on such things, there are still good
reasons to suggest more state-of-the-art alternatives nonetheless.

Its about the wording, granted this. Maybe the reviewer should be
careful to say something like Consider upgrading ... or There is a
newer compat level which is the currently recommended mode of operation
but not literally Upgrade to compat 8, yours is wrong

This is because I still think its wrong to introduce _new_ packages with
older compatibility levels or older, but still policy compliant
practices. This is why I regularly point this out when I encounter such
packages and my sponsors did the very same with my packages.

We have a lot of older legacy stuff in Debian which would not pass any
RFS as of today, but this does not necessarily mean we should have this
level for new packages as well. This is why I don't consider a bit of
nitpicking wrong for new packages.

 Creating a package for the first time is a time consuming process, but
 should one not target the current state of the art?

Seconded.

- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOFxTVAAoJEMcrUe6dgPNtzuUP/3oJJMDmGYOX7xxKYT3tmfBZ
ZamjLau6mg2c1qxS08Xkfc/+ts077qXBH6ddb0oKuhq6Xk4ap9cE/1ynT09Qu/dY
5/Z5VBLyeKC3wN5gSiQw4sdd2ucUEG1bCxmmPse3IbGdhJG+w6qImRoDmj/N291J
EKd6qMRIZ7nCgKMXexloDW2MOiBmxE7vdpeTWiH6M4WnFLYvVO96l+QgL4rdezym
d+rgZRKUzNkU0l/foxqZkBSSI2AqOLEXYJLAzuTtPvZJgcWAT4V/M/SShTWZ6BMN
R5mYiUoCW2Pbj0V5KglyNaP/1k/Ew64b8FFePOXeZFqTo9xaXkT/+daqEWyfX3gz
mhDSb6ISJEuVdhOK9lFjv40b+fp5HuUkVQXLAlj57mb0DOLrZ2njJcmpVsTNonPX
aC+AZgL9lBVqO4b/W4YY+bc7+2SgbDDxHWDgT1OwyFtU1ctOjG5T31rSyIQaX8J4
mB6JXO+0Eg4yHVY3a/MPghXD14pddhIF+e2/eQeKm7CB980FA+Dne9rwFhw6TMCG
6T6u7rT8AHJULZADTYRuGECpv2lXuVJbejrbVhg0uMIwzmk8H0R5I0vwRyBdKPb1
MTqztO/0HD/Ax2Zq7a8+e1nJMVL7Pwl6Q7TkVv0b66ac8TJqmT0p3YrREwQ+k3MI
pZau905i54ydUbGXxsAc
=pr6u
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e1714d5.3010...@toell.net



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Russ Allbery
Scott Howard showard...@gmail.com writes:
 On Fri, Jul 8, 2011 at 6:55 AM, Jakub Wilk jw...@debian.org wrote:

 - debian/copyright not in DEP-5 format;

 This is accepted and will be policy soon [3]. What should be done
 eventually must be done immediately.

It will be in Policy and maintained via the Policy process, but it's an
*optional* policy.  No package will be required to use DEP-5.  It won't
even be at the should level.  That was part of the original DEP-5
discussion; it's there for people who want to use it, but it's not
something the project wants to standardize on.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/871uy0zr8v@windlord.stanford.edu



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Adam Borowski
On Fri, Jul 08, 2011 at 04:31:49PM +0200, Arno Töll wrote:
 On 08.07.2011 15:56, Wolodja Wentland wrote:
  I can understand how this applies to older packages that have been created 
  in
  the past and just don't use some of the new functionality, but I guess that
  the points are valid for completely new packages.
 
 This is because I still think its wrong to introduce _new_ packages with
 older compatibility levels or older, but still policy compliant
 practices. This is why I regularly point this out when I encounter such
 packages and my sponsors did the very same with my packages.

If you don't make use of newest shiniest features, higher debhelper levels
just make backporting harder for no gain.

-- 
1KB // Microsoft corollary to Hanlon's razor:
//  Never attribute to stupidity what can be
//  adequately explained by malice.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110708162430.ga26...@angband.pl



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Arno Töll
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Adam,

On 08.07.2011 18:24, Adam Borowski wrote:
 If you don't make use of newest shiniest features, higher debhelper levels
 just make backporting harder for no gain.

There is debhelper 8 in both, lenny-backports as well as in
squeeze-backports.

Moreover Debian packages target Sid, not (Old-) Stable, and this is
where efforts should be invested in. Moreover backports are something
optional, not a requirement for new packages, or something which should
even necessarily kept in mind when working on packages.



- -- 
with kind regards,
Arno Töll
IRC: daemonkeeper on Freenode/OFTC
GnuPG Key-ID: 0x9D80F36D
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJOFzBzAAoJEMcrUe6dgPNtw04QAK4StDmMDYWY3uagFLPRBUGL
fHvQp5GipJxKi4vEeOpahORncq1RicLhpgimBQrAK4u054qmogtppMvPhpDD7sei
k2cUEIUEImn94KD1Mwdm8fc1BOhul8Enl2f82NJOkZZVSlYsJM7W9AWJAjiEEBa2
6ioCdDEJZkuUHZL9iM9n8VIcM0dcbp/w+j0srmoQJPImkVLbsaI9VLojdtW9plPo
wrC+tvxzbuOcQMSL1nGaPSB+Y1nZ3hHcmvuvXtql8xLea2mZ4hoH5N0ZDYGzqfzX
H86rbRa5jwlr875n1C4cybUn/aMIqZQHZ7aZOFNBbd0vN4PraaCOv190bNSok7e0
EpfMi0DdQbvNxn+H9Jl+SoKpBXdkTchpBLqmKYOpbJ6w+8ecfK39R2X9HnVQDw54
7gVEB0alP7+pKfY758OQIxIwPOgjWXfFueZqbeRJ7DVg122ZkAMVEtA4zT5t/5fg
11ei6ZVGyjwQs95Ml8zlh/UkYz4LINuLKN/g2Uw0C1bfY3VWhUhF5OzZKNdMRlhQ
/QS7uwGrvsy2Wm7Owo2GBLf3SVyd4Luzpx2zZj8HDNIh+QGbsXG0Xdj9Wce9spMC
swFEedTE1DNjWrBAAwtXrZzv+QgenKMJK34XNY3NLdVQvDZlsudOppX1StFPWV9C
FqTcpgzWBNd2GM9qQqdz
=H3Ov
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e173073.9070...@toell.net



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Michael Tautschnig
Hi Jakub, hi all,

[...] (whether or not to request bumping debhelper compat; I do agree with the
technical arguments put forward by Jakub, but that's not the focus of my reply)

The obvious provocative answer is: Nitpicking is the way to go. As always,
however, there's more than black and white out there.

 
 Dear reviewers, next time if you are going to complain about:
 - debian/compat being too low;
 - debian/rules not using dh (or not using cdbs);
 - debian/copyright not in DEP-5 format;
 - source format not 3.0 (quilt) when there are no patches whatsoever;
 please think twice. Most likely, you are doing it wrong.
 
 
 Don't get me wrong, in my opinion (some of) these things are good.
 But making a big fuss about them is not helping anybody. It only
 distracts attention from things that are important, and creates
 false impression that they are somehow crucial for high quality
 packages. I can assure, they are not.
 

I tend to agree that mentioning such potential-but-not-required improvements may
distract from major problems. Yet, speaking for myself, I try to only put those
points forward whenever they could also help to fix more serious issues. I'm
trying to use these rules (in the order of the above list):

- If debian/rules is overly complicated, and thus either known to be broken or
  at least likely to contain errors, I'll suggest going for dh 7 simplified
  format.
- If debian/copyright is clearly missing information, or does not state
  sufficiently clearly the copyright holders and license information, I'll
  suggest DEP-5. This is almost always true whenever the code uses more than one
  license or copyright holder.
- Source format 3.0 if quilt is manually invoked.

All of the above points are about maintaining minimal packaging standards. If
that's called nitpicking then, well, so be it. To me, however, package
sponsorship and nitpicking do go well together:

1. Likely there won't be any review as detailed as the one before sponsoring a
package for the first time. Nitpicking: now or never.
2. Consistent nitpicking yields consistent minimal package quality (yes, it's
not necessarily good quality, but it's consistent).
3. Unwillingness to sponsor a package that only fails those non-essential tests
(nitpicking) does not mean a package would be rejected. It's just about finding
another sponsor. Especially the comments about debian/rules not using dh or
cdbs: if a sponsor feels uncomfortable with the packager's debian/rules it's
clearly preferable that the package not be sponsored by this particular
reviewer. 

In summary: there are technical arguments against increasing dh compat level -
agreed. debian/rules: to be left to the reviewer's discretion. debian/copyright:
I'm in favour of DEP-5 for added clarity, which is particularly important when
it comes to licensing and copyright issues. 

Best,
Michael



pgptmZWKJgAVB.pgp
Description: PGP signature


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Thomas Goirand
Hi,

Nice topic, thanks to Jakub for having the good idea to have started it.

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!!!

 - source format not 3.0 (quilt) when there are no patches whatsoever;
 
 3.0 (quilt) doesn't just handle patches, it has other features as well
 [4]. Even if you aren't interested in those features, and even if you
 don't have patches, that doesn't mean the person who will NMU your
 package two years from now won't want to add a patch, and NMU's should
 be changing source formats.
 What should be done eventually must be done immediately.
   
Again, this is a preference. I don't like format 3.0 (quilt), and these
days,
I'm sticking to 1.0 because I like it, and I don't think anyone has the
rights to tell me otherwise.

A debate about these is a waste of time, please don't start it and let
everyone
choose what he likes.

 You're right that none of these are serious problems in a package that
 would prevent it from being useful or in the archive, but neither are
 the lintian --pedantic or -I warnings that sponsors ask to have fixed.
 The sponsors are picky for a reason (namely to have complete, robust,
 and somewhat standardized packaging to make QA, NMUs, and long term
 maintenance easier,) if you don't like their approaches you are free
 to work closely with another sponsor.
   
That, I agree, and everyone should. So please do not state your own
preferences
as being the reference implementation.

Thomas Goirand (zigo)

P.S: Appart from above, I'm a strong supporter of DEP5, because
otherwise, you
have no rules at all and it's a mess.


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e176729.8070...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Thomas Goirand

 On Fri, Jul 08, 2011 at 12:55 +0200, Jakub Wilk wrote:
   
 [...] but should be made explicit as the reasons not to use dh, for
 example, might mean that the helper is lacking functionality or
 behaves buggy in certain situations.

I don't get it here...

Do you think that debian/rules calling the emacs debhelper
when it's not needed 99.% of the times is a superior way
to do packaging? Or is using something fully automated where
you don't have to think or understand what's going on a better
way to do things?

In what way not using dh has to be justified at all? I'd rather say
the opposite way! I really don't think that dh is state-of-the-art
(as Arno is saying later on in this thread).

Thomas


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e17691e.9070...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Thomas Goirand
 Hi Adam,

 On 08.07.2011 18:24, Adam Borowski wrote:
  If you don't make use of newest shiniest features, higher debhelper
 levels
  just make backporting harder for no gain.

 There is debhelper 8 in both, lenny-backports as well as in
 squeeze-backports.

 Moreover Debian packages target Sid, not (Old-) Stable, and this is
 where efforts should be invested in. Moreover backports are something
 optional, not a requirement for new packages, or something which should
 even necessarily kept in mind when working on packages.

While I agree with your argument of debhelper being present in
lenny and squeeze backport, I think it is the only one. I strongly
do not agree with the or something which should even necessarily
kept in mind part. Giving an advice here or there to have backporting
made more easy doesn't hurt. It's not a strong requirement, but it
for sure is a good thing.

If you (build)-depend with (= version) being unecessary too high,
you are unecessarily making the life of the eventual backporter
harder, and this should be avoided if possible. When I do a sponsoring,
it might not be very common to do so, but I always try the package in
both Stable and SID, to see if there are eventual issues that may raise.
Sometimes, a few minor tweaks here or there really helps to make the
backport being reduced to a diff in debian/changelog. That doesn't only
help an eventual backporter, but also anyone which is running Stable,
and wishes to rebuild a SID package for his own use (which I do often
for myself).

Thomas


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4e176b0d.8060...@debian.org



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Gergely Nagy
Thomas Goirand z...@debian.org writes:

 On Fri, Jul 08, 2011 at 12:55 +0200, Jakub Wilk wrote:
   
 [...] but should be made explicit as the reasons not to use dh, for
 example, might mean that the helper is lacking functionality or
 behaves buggy in certain situations.

 I don't get it here...

 Do you think that debian/rules calling the emacs debhelper
 when it's not needed 99.% of the times is a superior way
 to do packaging? Or is using something fully automated where
 you don't have to think or understand what's going on a better
 way to do things?

 In what way not using dh has to be justified at all? I'd rather say
 the opposite way! I really don't think that dh is state-of-the-art
 (as Arno is saying later on in this thread).

As someone who was very strongly against helpers in the past[0], please
allow me to chime in.

I do agree that whoever is packaging a piece of software needs to
understand how the system works underneath. However, once that is
understood, I now see no harm in using dh: I know what it will be doing,
and that extra ~5 seconds spent calling helpers that do nothing is
something I couldn't care less about.

I much more prefer a ~6 line debian/rules, that works now, and thanks to
the helpers, will very likely work a year from now, without me having to
change it, because the helpers will adapt the package to current policy.

One still needs to verify that the result is what one expects, but it's
much easier to verify, than to migrate AND verify aswell. We have tools
to serve us, let the tools do that! Or we can go out and build debs with
tar and ar. (I actually had an applicant in the past who suprised me
with a package that did just that. ;)

Personally, I find dh to be very neat, and useful, as it allows me to
keep my rules very short. Comparing my current packages to the ones I
made a decade ago, the new ones are much easier to understand and
update. I recently had a look at an old package of mine.. it was a
mess. Two pages of gory, uninteresting, perfectly common commands
instead of two lines of this:

%:
dh $@

I believe that when someone knows the underlying system, using helpers
is the way to go, because it makes not only your task easier, it also
makes it easier for others to understand the packaging.

NMUing something with a complex, home-built debian/rules is a pain in
the backside at best.

And yes, one does sacrifice a lot of control on the altar of
convenience. But I don't see that as a problem, there's nothing wrong
with convenience. And while useless helper scripts add to the build
time, that load is negligible.

Even on the slowest machine I could get my hands on (emulated armel,
with ~256Mb memory, running on an dual-core amd64 host, along with 4
other VMs), the difference between using dh $@ and explicit dh_*
commands on an average package was about 3 seconds. Completely getting
rid of debhelper and doing everything by hand made it 2 more seconds
faster.

I don't know about you, but for 5 seconds, I'm not going to give up
convenience.

There's also the case where the assumptions made by the helper tools
work against the packager's wishes, and at that point, when the tools
start to get in one's way, they should be either fixed, or
dropped. When the effort spent on workarounds start to approach the time
saved by the tools, it's time to reevaluate, and perhaps drop the
helpers.

But until then, why?

Then again, the beauty of Debian is that people are allowed to tailor
their packaging to their own liking (as long as it conforms to
policy... sadly a debian/rules written in SHOOP does not). There's
arguments for and against both helper-using and helper-less packaging,
neither is a silver bullet.

 0: http://lists.debian.org/debian-newmaint/2001/10/msg00021.html

-- 
|8]


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/8739iglbjm@luthien.mhp



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Leo costela Antunes
On 08/07/11 22:23, 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.)
 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!!!

Seeing what's going on is important for learning and for debugging.
Thankfully debugging with dh is pretty mature, should you happen to need
it (don't really know about cdbs), but having to read a non-dh-using
rules file to understand exactly what happens when and why can be a lot
of work and shouldn't be imposed on your fellow DDs if you don't have a
good reason for it (curiosity and a micro-management tendency are not
good reasons; funky non-standard build-systems are)

Please use dh/cdbs/whatever other means necessary to make your packaging
work easy to read and understand. Don't make the packaging more complex
for other people just because you want to know what's going on. That
sounds awfully like NIH[0].
You never know who might have to NMU it, make QA uploads, etc and even
you yourself might find it pretty hard to remember why you did something
in this particular fashion, when it actually could just as well be done
in a more common way.
Not using these tools goes against your own advice here[1]: you're
making the life of other developers who have to look at your code harder
for no reason.
Or to put it more succinctly in your own words: otherwise, you have no
rules at all and it's a mess.

And your performance argument seems like a dud unless you can provide
some evidence that you actually save a significant amount of time by not
using dh/cdbs/whatever during package builds (and by significant I mean
more than just a couple of seconds per build).



Cheers

[0] http://en.wikipedia.org/wiki/Not_Invented_Here
[1] http://lists.debian.org/msgid-search/4e176b0d.8060...@debian.org


-- 
Leo costela Antunes
[insert a witty retort here]


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/iv7thn$faq$1...@dough.gmane.org



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Christian Kastner
On 07/08/2011 12:29 PM, Arno Töll wrote:
 On 08.07.2011 18:24, Adam Borowski wrote:
 If you don't make use of newest shiniest features, higher debhelper
levels
 just make backporting harder for no gain.

 There is debhelper 8 in both, lenny-backports as well as in
 squeeze-backports.

There's no debhelper 8 in Ubuntu Lucid and earlier, though.

(FYI, debhelper 8 is already in Squeeze, you don't need bpo)

 Moreover Debian packages target Sid, not (Old-) Stable, and this is
 where efforts should be invested in. Moreover backports are something
 optional, not a requirement for new packages, or something which should
 even necessarily kept in mind when working on packages.

I disagree strongly on the latter. I try to be kind to backporters, even
to deriviatives (eg, regarding Lucid above: I don't even use Ubuntu), so
unless there is a compelling reason to use compat level 8, I'll stick to 7.

The above of course can be generalized to any package, and simplified to
unless there is a compelling reason to require version $BAR, I'll stick
to $FOO -- which I believe is only common sense.

Regards,
Christian



signature.asc
Description: OpenPGP digital signature


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread George Danchev
On Saturday, July 09, 2011 12:41:09 AM Leo costela Antunes wrote:
 On 08/07/11 22:23, 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.)
  
  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!!!
 
 Seeing what's going on is important for learning and for debugging.
 Thankfully debugging with dh is pretty mature, should you happen to need
 it (don't really know about cdbs), but having to read a non-dh-using
 rules file to understand exactly what happens when and why can be a lot
 of work and shouldn't be imposed on your fellow DDs if you don't have a
 good reason for it (curiosity and a micro-management tendency are not
 good reasons; funky non-standard build-systems are)
 
 Please use dh/cdbs/whatever other means necessary to make your packaging
 work easy to read and understand. Don't make the packaging more complex
 for other people just because you want to know what's going on. That
 sounds awfully like NIH[0].
 You never know who might have to NMU it, make QA uploads, etc and even
 you yourself might find it pretty hard to remember why you did something
 in this particular fashion, when it actually could just as well be done
 in a more common way.
 Not using these tools goes against your own advice here[1]: you're
 making the life of other developers who have to look at your code harder
 for no reason.
 Or to put it more succinctly in your own words: otherwise, you have no
 rules at all and it's a mess.
 
 And your performance argument seems like a dud unless you can provide
 some evidence that you actually save a significant amount of time by not
 using dh/cdbs/whatever during package builds (and by significant I mean
 more than just a couple of seconds per build).

+ a debhelperized use pattern, for performing common tasks, is very likely to 
be way more robust than a 200 lines of (self-tested) NIH thing, simply because 
thousand of people using/testing it. It is about re-use of well tested code, a 
lot of wisdom has been accumulated and implanted during the years.

+ If we were to live with the old concepts and old patterns, which might have 
been valid a decade ago, then there would be no progress and inventions at 
all. Debhelper is the perfect compromise (as design) and a giant step upward 
(as implementation).

 Cheers
 
 [0] http://en.wikipedia.org/wiki/Not_Invented_Here
 [1] http://lists.debian.org/msgid-search/4e176b0d.8060...@debian.org

-- 
pub 4096R/0E4BD0AB people.fccf.net/danchev/key pgp.mit.edu


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/201107090111.23445.danc...@spnet.net



Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Roger Leigh
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.


signature.asc
Description: Digital signature


Re: Nitpicking: you are doing it wrong

2011-07-08 Thread Joey Hess
Scott Howard wrote:
 From the debhelper manpage
 
 Unless otherwise indicated, all debhelper documentation assumes that
 you are using the most recent compatibility level, and in most cases
 does not indicate if the behavior is different in an earlier
 compatibility level, so if you are not using the most recent
 compatibility level, you're advised to read below for notes about what
 is different in earlier compatibility levels.

This is overstated; while it's quite likely the documentation for a
particular command will fail to mention some change made in a recent
compat level, the compat level is always mentioned when some
incompatible change or new feature is actually properly documented. :P

 and
 v8  This is the recommended mode of operation.

This qualification is there mostly to avoid people using v9 before it's
complete; the only non-recommended compat levels are v4 and below,
which are deprecated.

As a point of comparison, the compat histogram for packages I
co-maintain is:

124 7
  6 5
  3 8
  2 4
  1 9
  1 6

Thomas Goirand wrote:
 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.

Bear in mind that CPUs have doubled in speed something like 7 times
since debhelper was originally written -- and it was written from the
beginning to be not annoyingly slow when every command was put in the
rules file. There have also been some siginficant speed improvements
made for the dh case. A rules file for a multiarch packages using dh
is likely to be faster than one hand-written. I suspect this may come
down to phycology at this point; we see a lot of commands running and
feel the build took longer. Of course there is still room for
improvement -- it's been suggested that dh could run many commands
in parallel..

 Also, with dh_override_*, if you
 have a lot of them, it soon becomes unreadable. That's only my opinion

To the contrary, I find that it exposes the essence of what makes a package
different, and even an example such as the following does not seem hard to
read, because there are no complex interrelationships between the override
targets.

override_dh_auto_install:
$(MAKE) prefix=`pwd`/debian/debconf-utils install-utils
$(MAKE) prefix=`pwd`/debian/debconf-i18n install-i18n
$(MAKE) prefix=`pwd`/debian/debconf install-rest

# Run dh_link earlier so that it has an opportunity to link documentation
# directories.
override_dh_installdocs:
dh_link
dh_installdocs

override_dh_installdebconf:
# Don't modify postrm, I purge differently than normal packages
# using me
dh_installdebconf -n

override_dh_install:
dh_install
cp debian/apt.conf debian/debconf/etc/apt/apt.conf.d/70debconf
cp bash_completion debian/debconf/etc/bash_completion.d/debconf

override_dh_installchangelogs:
# Changelog reduction hack for debconf. Only include top 100 entries.
perl -ne '$$c++ if /^debconf /; last if $$c  100 ; print $$_' \
 debian/changelog  debian/debconf.changelog
dh_installchangelogs

override_dh_compress:
dh_compress -X demo.templates -X tutorial.templates

-- 
see shy jo


signature.asc
Description: Digital signature