Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Chris Lamb
clone 884499 -1
retitle -1 lintian: Alter the semantics (etc.) of --pedantic?
severity -1 wishlist
tags -1 + moreinfo
thanks

Hi Russ 

> […]

At the very least lets not lose this conversation in a somewhat-
unrelated bug, hence cloning etc. Tagging as "moreinfo" for now.

> lintian --suggestions, maybe?

Well, I was trying to avoid the early bikeshedding on the name, more
trying to capture the different essence. :)


Best wishes,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Processed: Re: Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> clone 884499 -1
Bug #884499 {Done: Chris Lamb } [lintian] lintian: Pedantic 
check for packages not using debhelper or CDBS
Bug 884499 cloned as bug 898091
> retitle -1 lintian: Alter the semantics (etc.) of --pedantic?
Bug #898091 {Done: Chris Lamb } [lintian] lintian: Pedantic 
check for packages not using debhelper or CDBS
Changed Bug title to 'lintian: Alter the semantics (etc.) of --pedantic?' from 
'lintian: Pedantic check for packages not using debhelper or CDBS'.
> severity -1 wishlist
Bug #898091 {Done: Chris Lamb } [lintian] lintian: Alter the 
semantics (etc.) of --pedantic?
Ignoring request to change severity of Bug 898091 to the same value.
> tags -1 + moreinfo
Bug #898091 {Done: Chris Lamb } [lintian] lintian: Alter the 
semantics (etc.) of --pedantic?
Ignoring request to alter tags of bug #898091 to the same tags previously set
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
884499: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884499
898091: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=898091
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Russ Allbery
Chris Lamb  writes:

> Y'know, I think we could make it even more effective if we renamed --
> pedantic at the same time. This would have the benefits of a)
> highlighting the change of semantics and b) we could perhaps choose a
> name that does not imply it is "just" another level of pickiness…
> Almost to the point of "lintian --give-me-possible-things-to-consider"

Yeah, I was cringing over the break in backward-compatibility in my
original proposal, so I think something like this plus a deprecation
warning on --pedantic while making it do nothing would be friendlier.

lintian --suggestions, maybe?

-- 
Russ Allbery (r...@debian.org)   



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Chris Lamb
Hi Russ,

> My modest proposal, and this is going to sound nuts so bear with me for a
> moment, would be to make it impossible to get pedantic tags and regular
> tags at the same time.  If you use --pedantic, suppress all other tags.

Ooh, now that's an interesting concept. :) Let me run that over in my
mind for a few days..

Y'know, I think we could make it even more effective if we renamed --
pedantic at the same time. This would have the benefits of a)
highlighting the change of semantics and b) we could perhaps choose a
name that does not imply it is "just" another level of pickiness…
Almost to the point of "lintian --give-me-possible-things-to-consider"


Best wishes,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Scott Kitterman


On May 7, 2018 1:26:36 AM UTC, Russ Allbery  wrote:
>Chris Lamb  writes:
>
>> However, my experience with being an author of a handful of static
>> analysis tools is that people have a slight tendency to delegate
>> thinking to the computer's output. The addition of an objective
>target
>> (ie. zero output) only encourages our post-lapsarian brains to make
>> poor, err, compromises.
>
>> Do correct me if I'm wrong, but I believe this is the angle Scott was
>> pushing. :)
>
>> How could we make --pedantic more useful/obvious/something? 
>Ironically,
>> if it were less useful in a strict sense — for example, if we moved
>some
>> P: tags to I: — it would get less incorrect usage. :p
>
>My modest proposal, and this is going to sound nuts so bear with me for
>a
>moment, would be to make it impossible to get pedantic tags and regular
>tags at the same time.  If you use --pedantic, suppress all other tags.
>
>This problem stems from the fact that people are using Lintian as if
>pickier is better, and the deeper they go into Lintian's settings while
>keeping the package clear of any output, the better the package is. 
>And
>that's true, up to a point -- moving from error to warning is certainly
>significant, and moving from warning to info is probably significant.
>
>But pedantic was a collection of tags that were mostly designed for a
>far
>different purpose: you run them on a package to ask for a set of things
>that might be out of step with common best practices or that you may
>want
>to consider changing if you've not touched the package in years.  It's
>much more of a one-time thing.  You run it, you look at the tags and
>read
>the descriptions (I would argue that --pedantic is basically useless
>without --info, and perhaps --pedantic should force --info,
>particularly
>if one implements my modest proposal), you decide which ones make sense
>and which ones don't, and then you fix the ones you like and move on
>with
>your life.
>
>Lintian has emitted pedantic warnings about some of my packages for not
>having an upstream changelog for literally years.  This is never going
>to
>be fixed; upstream is not going to make a changelog, and I'm not going
>to
>make an artificial one.  The correct disposition of that tag is for me
>to
>ignore it completely, *but it's still useful* for new packages when I'm
>doing initial packaging and may have forgotten to include the right
>debhelper command to copy over upstream's unconventionally-named
>changelog.
>
>If we *force* people to not treat --pedantic the same as other severity
>levels and *force* it to be a separate pass that you only run in
>specific
>situations, maybe this will finally get through to people, since
>arguing
>with people in debian-mentors that they're using Lintian wrong doesn't
>seem to be working.

I think this is an excellent idea.

Thanks,

Scott K



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Russ Allbery
Chris Lamb  writes:

> However, my experience with being an author of a handful of static
> analysis tools is that people have a slight tendency to delegate
> thinking to the computer's output. The addition of an objective target
> (ie. zero output) only encourages our post-lapsarian brains to make
> poor, err, compromises.

> Do correct me if I'm wrong, but I believe this is the angle Scott was
> pushing. :)

> How could we make --pedantic more useful/obvious/something?  Ironically,
> if it were less useful in a strict sense — for example, if we moved some
> P: tags to I: — it would get less incorrect usage. :p

My modest proposal, and this is going to sound nuts so bear with me for a
moment, would be to make it impossible to get pedantic tags and regular
tags at the same time.  If you use --pedantic, suppress all other tags.

This problem stems from the fact that people are using Lintian as if
pickier is better, and the deeper they go into Lintian's settings while
keeping the package clear of any output, the better the package is.  And
that's true, up to a point -- moving from error to warning is certainly
significant, and moving from warning to info is probably significant.

But pedantic was a collection of tags that were mostly designed for a far
different purpose: you run them on a package to ask for a set of things
that might be out of step with common best practices or that you may want
to consider changing if you've not touched the package in years.  It's
much more of a one-time thing.  You run it, you look at the tags and read
the descriptions (I would argue that --pedantic is basically useless
without --info, and perhaps --pedantic should force --info, particularly
if one implements my modest proposal), you decide which ones make sense
and which ones don't, and then you fix the ones you like and move on with
your life.

Lintian has emitted pedantic warnings about some of my packages for not
having an upstream changelog for literally years.  This is never going to
be fixed; upstream is not going to make a changelog, and I'm not going to
make an artificial one.  The correct disposition of that tag is for me to
ignore it completely, *but it's still useful* for new packages when I'm
doing initial packaging and may have forgotten to include the right
debhelper command to copy over upstream's unconventionally-named
changelog.

If we *force* people to not treat --pedantic the same as other severity
levels and *force* it to be a separate pass that you only run in specific
situations, maybe this will finally get through to people, since arguing
with people in debian-mentors that they're using Lintian wrong doesn't
seem to be working.

-- 
Russ Allbery (r...@debian.org)   



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Chris Lamb
Hi Russ & Scott,

> I'm not sure how one could possibly be more clear.  If one's definition of
> lintian-clean includes --pedantic, one's definition of lintian-clean is,
> well, wrong.

There is no doubt that you are absolutely right in a technical sense
and maintainers should not be using --pedantic in this way.

However, my experience with being an author of a handful of static
analysis tools is that people have a slight tendency to delegate
thinking to the computer's output. The addition of an objective
target (ie. zero output) only encourages our post-lapsarian brains to
make poor, err, compromises.

Do correct me if I'm wrong, but I believe this is the angle Scott was
pushing. :)

How could we make --pedantic more useful/obvious/something?
Ironically, if it were less useful in a strict sense — for example,
if we moved some P: tags to I: — it would get less incorrect usage. :p


Best wishes,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Russ Allbery
Scott Kitterman  writes:

> Back in the debate about the python2 check (thanks for fixing), I made
> the point that not all lintian checks are created equal.  Some represent
> serious package defects that needs to be addressed and some merely
> reflect the lintian maintainer's opinion on what should be tracked and
> it's entirely up to the maintainer to decide if any action is needed.

> This is one of the latter.

Which is why it's pedantic, no?  Speaking as the person who merged
Raphael's patch to introduce pedantic, that's precisely what pedantic
*means*.

> I worry about this class of tag because some people view a lintian
> 'clean' package as an important goal when it's not universally.  One
> needs to look at what lintian is reporting and evaluate it.  Not
> everyone does a great job of that and so unintended consequences arise.

In the lintian man page:

Pedantic tags are Lintian at its most pickiest and include checks for
particular Debian packaging styles and checks that many people
disagree with.  Expect false positives and Lintian tags that you don't
consider useful if you use this option.

I'm not sure how one could possibly be more clear.  If one's definition of
lintian-clean includes --pedantic, one's definition of lintian-clean is,
well, wrong.

-- 
Russ Allbery (r...@debian.org)   



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Scott Kitterman


On May 7, 2018 12:20:04 AM UTC, Chris Lamb  wrote:
>Hi Scott,
>
>> For what it's worth, this is an example of the kind of check that
>isn't 
>> supported by policy.
>
>I'm not quite following your chain of logic wrt to Lintian and Debian
>Policy. I mean, there are countless checks in Lintian that have no
>basis in Policy? :)
>
>(100% agree that there is no requirement whatsoever to use debhelper
>or CDBS and I have a great deal of sympatahy with you position on
>this tag. Indeed, I can quite possibly see myself removing this tag
>at a later date.)

Back in the debate about the python2 check (thanks for fixing), I made the 
point that not all lintian checks are created equal.  Some represent serious 
package defects that needs to be addressed and some merely reflect the lintian 
maintainer's opinion on what should be tracked and it's entirely up to the 
maintainer to decide if any action is needed.

This is one of the latter.  I worry about this class of tag because some people 
view a lintian 'clean' package as an important goal when it's not universally.  
One needs to look at what lintian is reporting and evaluate it.  Not everyone 
does a great job of that and so unintended consequences arise.

Scott K



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-06 Thread Chris Lamb
Hi Scott,

> For what it's worth, this is an example of the kind of check that isn't 
> supported by policy.

I'm not quite following your chain of logic wrt to Lintian and Debian
Policy. I mean, there are countless checks in Lintian that have no
basis in Policy? :)

(100% agree that there is no requirement whatsoever to use debhelper
or CDBS and I have a great deal of sympatahy with you position on
this tag. Indeed, I can quite possibly see myself removing this tag
at a later date.)


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-05 Thread Scott Kitterman
On Sat, 05 May 2018 19:42:05 +0100 Chris Lamb  wrote:
> tags 884499 + pending
> thanks
> 
> Actually, let's give this a whirl. Implemented in Git,
> pending upload:
> 
>   
> https://salsa.debian.org/lintian/lintian/commit/1ecc761fea7b22f85faf400ac134d24438454e4d
> 
>   checks/debhelper.desc  | 12 +++
>   checks/debhelper.pm|  5 -
>   debian/changelog   |  4 +++-
>   .../debian/debian/control.in   | 14 +
>   .../debian/debian/rules| 23 
> ++
>   .../desc   |  6 ++
>   .../tags   |  2 ++
>   7 files changed, 64 insertions(+), 2 deletions(-)

For what it's worth, this is an example of the kind of check that isn't 
supported by policy.  There's absolutely no requirement to use debhelper or 
CDBS, so it's not clear why lintian should have care.

There is nothing to fix based on this tag.  I know most won't see it since it's 
pedantic, but it isn't clear why it should exist at all.

Scott K



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-05 Thread Chris Lamb
tags 884499 + pending
thanks

Actually, let's give this a whirl. Implemented in Git,
pending upload:

  
https://salsa.debian.org/lintian/lintian/commit/1ecc761fea7b22f85faf400ac134d24438454e4d

  checks/debhelper.desc  | 12 +++
  checks/debhelper.pm|  5 -
  debian/changelog   |  4 +++-
  .../debian/debian/control.in   | 14 +
  .../debian/debian/rules| 23 ++
  .../desc   |  6 ++
  .../tags   |  2 ++
  7 files changed, 64 insertions(+), 2 deletions(-)


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-05 Thread Chris Lamb
Chris Lamb wrote:

> > lintian: Pedantic check for packages not using debhelper or CDBS

We actually already have this as a classification tag of sorts in
checks/debhelper.pm:

if (%build_systems) {
my @systems = sort(keys(%build_systems));
tag 'debian-build-system', join(', ', @systems);
} else {
tag 'debian-build-system', 'other';
}


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-



Bug#884499: lintian: Pedantic check for packages not using debhelper or CDBS

2018-05-05 Thread Chris Lamb
tags 884499 + moreinfo
thanks

Hi,

> lintian: Pedantic check for packages not using debhelper or CDBS

I'm in two minds about this. Whilst I would like everyone to use such
things, as it was pointed out recently Lintian tags should always be
actionable.

If one's personal style was not to use debhelper or CDBS then this
would simply be overly-didactic or annoying, leading to folks
ignoring Lintian in the future.

Any thoughts?


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org / chris-lamb.co.uk
   `-