Bug#953629: Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-07-01 Thread Felix Lechner
[This is the policy bug.]

Hi,

On Mon, Jun 15, 2020 at 5:18 PM Sean Whitton  wrote:
>
> the relevant sentence of Policy ...  was intended to be
> informative, not normative.

Just a brief post scriptum: I had to disable a test in Lintian due to
new restrictions on version strings in Dpkg. The commit message has
more documentation:


https://salsa.debian.org/lintian/lintian/-/commit/5f0333ebc6e3ba144717eca1ef0bddfd39413df0

Kind regards
Felix Lechner



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-07-01 Thread Felix Lechner
Hi,

On Mon, Jun 15, 2020 at 5:18 PM Sean Whitton  wrote:
>
> the relevant sentence of Policy ...  was intended to be
> informative, not normative.

Just a brief post scriptum: I had to disable a test in Lintian due to
new restrictions on version strings in Dpkg. The commit message has
more documentation:


https://salsa.debian.org/lintian/lintian/-/commit/5f0333ebc6e3ba144717eca1ef0bddfd39413df0

Kind regards

Felix Lechner



Bug#953629: Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-06-16 Thread Sean Whitton
control: tag -1 +pending

Hello Ian,

On Tue 16 Jun 2020 at 12:11PM +01, Ian Jackson wrote:

> I think "native package versions" refers to "versionn numbers which
> are supposed to be Debian-native", not "the version numbers of
> native-format packages".
>
> Can I suggest that this sentence might be clarified as follows
>
>   remember that hyphen (-) cannot be used in
>   native {-package versions-}{+version numbers+}
>
> ?

Thanks, applied this change.

-- 
Sean Whitton



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-06-16 Thread Ian Jackson
Sean Whitton writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages [and 1 more messages]"):
> I believe that the relevant sentence of Policy, added in policy.git
> commit eee39aecef3a6a5f9927211b5c847e645e927cbd, was intended to be
> informative, not normative.  It does not use one of the Policy normative
> magic words, is not in the subsection in which it would be natural to
> place such a restriction, and occurs in a "hey, don't forget that ..."
> clause.

Oh yes.  I hadn't read this sentence from 3.2.1 in context.

I think "native package versions" refers to "versionn numbers which
are supposed to be Debian-native", not "the version numbers of
native-format packages".

Can I suggest that this sentence might be clarified as follows

  remember that hyphen (-) cannot be used in
  native {-package versions-}{+version numbers+}

?

> Thus the only Policy issue here could be the addition of an explicit
> permission to use Debian revisions with 1.0 native packages.  As
> discussion is ongoing in the context of Lintian, that seems premature,
> however.

Ideally I would like to see such an explicit permission.  It ought to
go into the section on source packages.  But it ought to have some
caveats (eg about size, perhaps, and about tracking changes to
upstream parts some other way eg via git).  I suspect that discussion
would be dispropornately long and fractious and inconclusive, compared
to the value to be gained.

> So I think we can close the clone of this bug against Policy for now.

The bugs seem very confusing to me.  A sprawling mass of
partially-duplicated stuff.  See my comment above for a suggested
wording clarification.

Ian.

-- 
Ian JacksonThese opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-06-16 Thread Ian Jackson
Felix Lechner writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages [and 1 more messages]"):
> Hi Sean,
...
> Based on your note, however, Lintian will stop warning about such
> version mismatches. Perhaps it will gradually pave the way for a
> constructive policy debate. Thanks!

This may seem strange and like I'm changing sides, but:

I was convinced by the argument that people might do this by mistake,
especially with format 1.0 source packages, where you can get a native
package by accident simply by failing to have the orig tarball in the
right place.

So I think it would be best if lintian would warn about 1.0 format
native source packages with non-native versions, with a suitable
explantion which will encourage the maintainer to override the
warning if they did this on purpose.

Ian.

-- 
Ian JacksonThese opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.



Bug#953629: Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-06-15 Thread Felix Lechner
Hi Sean,

On Mon, Jun 15, 2020 at 5:18 PM Sean Whitton  wrote:
>
> As
> discussion is ongoing in the context of Lintian, that seems premature,
> however.

The Lintian discussion was merged into a bug Guillem had filed to
further enshrine the division between native and non-native packages
Bug#944155 was about reminding maintainers to use a hyphen, or not.

Based on your note, however, Lintian will stop warning about such
version mismatches. Perhaps it will gradually pave the way for a
constructive policy debate. Thanks!

> So I think we can close the clone of this bug against Policy for now.

Totally agree, for now.

Kind regards
Felix Lechner



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-06-15 Thread Sean Whitton
Hello,

On Wed 11 Mar 2020 at 12:30PM GMT, Ian Jackson wrote:

> Felix Lechner writes ("Re: Bug#953554: Please permit Debian revisions with 
> 1.0 native packages [and 1 more messages]"):
>> On Wed, Mar 11, 2020 at 4:58 AM Ian Jackson
>>  wrote:
>> >
>> > It works today.  The only problem is the lintian warning.
>>
>> Doesn't policy stand in the way too?
> ...
>> Is it permitted now? Policy 3.2.1 states "hyphen (-) cannot be used in
>> native package versions."

I believe that the relevant sentence of Policy, added in policy.git
commit eee39aecef3a6a5f9927211b5c847e645e927cbd, was intended to be
informative, not normative.  It does not use one of the Policy normative
magic words, is not in the subsection in which it would be natural to
place such a restriction, and occurs in a "hey, don't forget that ..."
clause.

Thus the only Policy issue here could be the addition of an explicit
permission to use Debian revisions with 1.0 native packages.  As
discussion is ongoing in the context of Lintian, that seems premature,
however.

So I think we can close the clone of this bug against Policy for now.

-- 
Sean Whitton



Bug#953554: Re: Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Felix Lechner
Hi Ian,

On Wed, Mar 11, 2020 at 5:37 AM Ian Jackson
 wrote:
>
> I hope that whatever occurs more widely, this particular message can
> be downgraded appropriately so that by default it is an warning rather
> than an error.  That's all I'm asking for in this bug.

Unless someone objects, I will downgrade your situation to a warning
when I rework the version parsing. It was already on my list.

> Can we perhaps go back to
>hyphen-in-native-debian-changelog-version

Yes, that is #944155. I was merely busy with something else in
Lintian. Please note it is Guillem's bug, so whatever your differences
may have been in the past, both of you are on common ground for an
important part of the version string issues!

Kind regards

Felix Lechner



Bug#953554: Re: Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Ian Jackson
Chris Lamb writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages [and 1 more messages]"):
> Ian Jackson wrote:
> > I have no problem with this being a lintian warning.  In this bug I am
> > requesting this "error" to be returned to its previous status as a
> > warning.
> 
> It was not previously clear to me that this was the case.
> 
> > I have indeed used an override.  But I am worried.  I perceive this as
> > part of a campaign to abolish one of my workflows.
> 
> … from the Lintian maintainers' point of view I am absolutely
> confident that this is not the case.

Thanks very much for that clarification.  It is very reassuring.

>   If you believe there is such a
> campaign, I gently request that you continue this sub-conversation
> outside of this Lintian bug.

Of course.

> If it helps, IIRC the version parsing was refactored by Felix in
> recent past to fix or otherwise better support some other version
> parsing issues and I highly suspect this got flipped in the process.

I see.

> I would very much encourage you to not read too much into this, if
> anything. See #935706 for my wider thoughts on the social problems
> that appear to stem from our "certainty" field, and I suspect similar
> can be said between the often-inprecise relationship between errors/
> warnings and Debian bug severities.

Interesting.

I hope that whatever occurs more widely, this particular message can
be downgraded appropriately so that by default it is an warning rather
than an error.  That's all I'm asking for in this bug.

Also it would be good to separate it out from entirely the "version
number is mangled" tag.  Can we perhaps go back to
   hyphen-in-native-debian-changelog-version
which some of the affected packages presumably already have overrides
for ?

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Ian Jackson
Control: clone -1 -2
Control: reassign -2 debian-policy

Felix Lechner writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages [and 1 more messages]"):
> On Wed, Mar 11, 2020 at 4:58 AM Ian Jackson
>  wrote:
> >
> > It works today.  The only problem is the lintian warning.
> 
> Doesn't policy stand in the way too?
...
> Is it permitted now? Policy 3.2.1 states "hyphen (-) cannot be used in
> native package versions."

I wasn't aware of that.  I wonder when that was added.
As stated, it is false.

> > I think that Previously lintian reported this situation as
> > "hyphen-in-native-debian-changelog-version"
> > which was a warning.
> 
> Please don't be scared. I am happy to downgrade the tag to a warning
> if we can reach a consensus among Lintian and Dpkg maintainers.

Thank you.

ISTM that some people (like me) feel this packaging practice is vastly
underused and some people (like Guillem) feel it should be abolished.

Perhaps we can go back to the previous uneasy stalemate where we all
lived with it being (merely) warned about, and contested when it is
discussed on mailing lists.

Ian.

-- 
Ian JacksonThese opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Chris Lamb
Ian Jackson wrote:

> I have no problem with this being a lintian warning.  In this bug I am
> requesting this "error" to be returned to its previous status as a
> warning.

It was not previously clear to me that this was the case.

> I have indeed used an override.  But I am worried.  I perceive this as
> part of a campaign to abolish one of my workflows.

… from the Lintian maintainers' point of view I am absolutely
confident that this is not the case. If you believe there is such a
campaign, I gently request that you continue this sub-conversation
outside of this Lintian bug.

If it helps, IIRC the version parsing was refactored by Felix in
recent past to fix or otherwise better support some other version
parsing issues and I highly suspect this got flipped in the process.
But even if this is not strictly the case, there is no specific
vendetta against this workflow despite personally not recommending
it to others.

> Having to override a "certainty: certain, severity: serious" warning
> for this is very worrying to me.

I would very much encourage you to not read too much into this, if
anything. See #935706 for my wider thoughts on the social problems
that appear to stem from our "certainty" field, and I suspect similar
can be said between the often-inprecise relationship between errors/
warnings and Debian bug severities.


Regards,

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



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Felix Lechner
Hi Ian,

On Wed, Mar 11, 2020 at 4:58 AM Ian Jackson
 wrote:
>
> It works today.  The only problem is the lintian warning.

Doesn't policy stand in the way too?

> I perceive this as
> part of a campaign to abolish one of my workflows.  I am scared that
> in the future an attempt may be made to actually forbid this practice.

Is it permitted now? Policy 3.2.1 states "hyphen (-) cannot be used in
native package versions."

> I think that Previously lintian reported this situation as
> "hyphen-in-native-debian-changelog-version"
> which was a warning.

Please don't be scared. I am happy to downgrade the tag to a warning
if we can reach a consensus among Lintian and Dpkg maintainers.

Kind regards
Felix Lechner



Bug#953554: Please permit Debian revisions with 1.0 native packages [and 1 more messages]

2020-03-11 Thread Ian Jackson
Felix Lechner writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages"):
> On Tue, Mar 10, 2020 at 7:51 AM Ian Jackson
>  wrote:
> > I am packaging a small program for which I am the upstream.  It does
> > not make sense to use a complicated source format; 1.0 native is
> > perfect.
> 
> I too would like to see versions decoupled from the native/non-native
> question, but I think there are big technical hurdles.

There are no technical hurdles with using native formats with
non-native versions.  Everything works completely correctly.

The problems are entirely ideological/philosophical.  They result in
the following practical problems:

 * lintian complains (at one point it didn't care, then for
   a long time it was a warning, now it is an error)

 * dpkg-source refuses entirely to make a `3.0 (native)' package
   so you have to use `1.0'

 * Using a `1.0' source format causes further warnings from
   various tools telling you that 1.0 is deprecated.  IMO there
   is no good reason for this either.

The *only* effect of all of the above is having to suppress or ignore
warnings.  Then there is one other infelicity:

 * Using a 1.0 source format prevents you using better compression
   than gzip.  This is not an inherent technical limitation of
   the 1.0 format; it's just that support for better compression is
   not implemented.  My understanding is that patches to implement
   better compression for 1.0 would be rejected.

This infelicity results solely from the refusal of successive
dpkg-source maintainers to fix it.  But it is not typically of any
significance for the kinds of packages where (i) there is an upstream
but (ii) using a plain tarball is appropriate, since such packages are
typically small.

> Maybe one day all version strings will be legal, even when a native
> format was declared. It would not work with format 1.0, which contains
> no such declaration.

It works today.  The only problem is the lintian warning.

Mattia Rizzolo wrote:
> In my opinion your statements here doesn't make any sense: using a 
> Debian revision when you are not relying on a single upstream tarball 
> (i.e., non-native) really is going against the implied meaning of a 
> Debian revision: something that is not supposed to change the upstream 
> part.

Most packages are maintained in git nowadays.  It is usual to have a
separate git branch for Debian and upstream work.  In such a situation
it makes perfect sense to have an upstream version number which
corresponds to an upstream tag.  For packages with a very small (or
zero) Debian delta to the upstream files, it makes sense to maintain
these git branches using `git merge' rather than as a stack of
patches.

However, there are serious inherent problems with all of the
non-native source formats.  There are many that can occur in git
repositories which are not representable in non-native packages.  For
example, changes to symlinks.  Worse, one must either choose
`3.0 (quilt)' which involves patch files within the git tree
and a great deal of complexity to manage those; or 1.0-with-diff which
has an even more restricted set of things it can represent.

Using a single-tarball source package makes all of these problems go
away.  The only downsides are: (i) Debian-only changes involve
re-shipping all the upstream code via the archive - but for a small
package this is not a concern; (ii) it does not ship a pristine
upstream tarball - but upstreams often don't provide tarballs, and
even when they do reusing pristine upstream tarballs is not mandatory
in Debian, and can be bad idea depending what they contain compared to
upstream git.

So there are no real downsides.  Other than having to constantly whack
warnings.

Chris Lamb writes ("Re: Bug#953554: Please permit Debian revisions with 1.0 
native packages"):
> However, I would be minded to not adjust Lintian in this particular
> case regardless of the above: I suspect in the overwhelming majority
> of cases where this tag is emitted it is due to a temporary mistake
> such as a typo on behalf of the maintainer which is then immediately
> corrected locally. Indeed, I am often guilty of "dch -v 1.0-1" for
> packages where I definitely do not intend this suffix and I would very
> much like to see that prior to an upload.

I have no problem with this being a lintian warning.  In this bug I am
requesting this "error" to be returned to its previous status as a
warning.

Right now, I have a package where I have to suppress this:
  O: [package] source: malformed-debian-changelog-version 1.0-1 (for native)
(package name elided)

This corresponds to this:
  https://lintian.debian.org/tags/malformed-debian-changelog-version.html

What this says is that lintian is certain it has detected a
release-critical bug in my package.  That is clearly not true.

> Have you considered adding a (commented!) override for this particular
> package? I suspect your response may be to suggest we allow this for
> 1.0 version