Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1070274 > unrolled thread

Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way

Started byFelix Lechner <felix.lechner@lease-up.com>
First post2021-09-08 02:50 +0200
Last post2021-09-08 20:50 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.debian.bugs.dist

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way Felix Lechner <felix.lechner@lease-up.com> - 2021-09-08 02:50 +0200
    Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way gregor herrmann <gregoa@debian.org> - 2021-09-08 18:00 +0200
      Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way Felix Lechner <felix.lechner@lease-up.com> - 2021-09-08 18:40 +0200
      Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way Dominique Dumont <dod@debian.org> - 2021-09-08 19:00 +0200
        Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way gregor herrmann <gregoa@debian.org> - 2021-09-08 20:50 +0200

#1070274 — Bug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way

FromFelix Lechner <felix.lechner@lease-up.com>
Date2021-09-08 02:50 +0200
SubjectBug#968000: libconfig-model-dpkg-perl: Get policy release dates in another way
Message-ID<CUTWN-2Qd-1@gated-at.bofh.it>
Hi,

On Fri, Dec 4, 2020 at 7:24 PM gregor herrmann <gregoa@debian.org> wrote:
>
> Could we maybe wait for a fix for #968154 in debian-policy?

I'm not sure what the policy team's intentions are, but Lintian's Data
module no longer provides the policy information. [1] We now keep the
data in a JSON file that is more reliably exchanged and updated. [2]
As a courtesy to this package (and to the policy team) Lintian now
ships an executable "/usr/share/lintian/private/latest-policy-version"
that provides the latest policy information. [3] Please use that
executable to obtain the information you require.

As a side note, Lintian no longer ships its private modules in the
public Perl path. [4] Please do not use our modules directly anymore.
We would be happy to give you access to additional data via
executables, if needed.

Marking this bug "important" because Debian CI is failing (but
separately, since I copied the policy bug). Thanks!

Kind regards
Felix Lechner

[1] https://salsa.debian.org/lintian/lintian/-/commit/d2f692f564ac725a0eb58a7d62abe57f66cdc753
[2] https://salsa.debian.org/lintian/lintian/-/commit/21fd3c7d1ae24bf3bb00ffbab6a0dd99acd3503c
[3] https://salsa.debian.org/lintian/lintian/-/commit/d43799ae30f55e8a211281295d4508b11d022147
[4] https://bugs.debian.org/968011

[toc] | [next] | [standalone]


#1070385

Fromgregor herrmann <gregoa@debian.org>
Date2021-09-08 18:00 +0200
Message-ID<CV89r-3TE-3@gated-at.bofh.it>
In reply to#1070274

[Multipart message — attachments visible in raw view] — view raw

On Tue, 07 Sep 2021 17:40:03 -0700, Felix Lechner wrote:

> As a courtesy to this package (and to the policy team) Lintian now
> ships an executable "/usr/share/lintian/private/latest-policy-version"
> that provides the latest policy information. [3] Please use that
> executable to obtain the information you require.

Implemented in git, but not uploaded because

- I'd appreciate review from dod
- and I discovered a wrinkle:

The old /usr/share/lintian/data/standards-version/release-dates had

| 4.5.1  1605571543
| 4.5.0  1579549029
| 4.4.1  1569780709
| …

i.e. only the 3-digit "main" policy releases which are relevant for
Standards-Version.

The new /usr/share/lintian/data/debian-policy/releases.json has
sections for all releases, including minor ones, in 4-digit notation:

|       {  
|          "author" : "Sean Whitton <spwhitton@spwhitton.name>",
|          "changes" : [
|             "",
|             "debian-policy (4.6.0.1) unstable; urgency=medium",
|             "",
|             "  * Fix header of upgrading checklist entry for last release (Closes: #992414).",
|             "    Thanks to Scott Talbert and Drew Parsons for reporting the problem."
|          ],
|          "closes" : [
|             992414.0
|          ],
|          "epoch" : 1629318110,
|          "timestamp" : "2021-08-18T20:21:50Z",
|          "version" : "4.6.0.1"
|       },

and /usr/share/lintian/private/latest-policy-version also outputs
4.6.0.1.


This leads to 

| Config::Model::Value::show_warnings Warning in 'source Standards-Version': Current standards version is '4.6.0.1'. Please read https://www.debian.org/doc/debian-policy/upgrading-checklist.html for the changes that may be needed on your package to upgrade it from standard version '4.6.0' to '4.6.0.1'.
| 
| Offending value: '4.6.0' (line 1263)
| 
| Changes applied to dpkg-control configuration:
| - source Standards-Version: '4.6.0' -> '4.6.0.1' # applied fix for :Current standards version is '4.6.0.1'. Please read https://www.debian.org/doc/debian-policy/upgrading-checklist.html for the changes that may be needed on your package to upgrade it from standard version '4.6.0' to '4.6.0.1'.

which is not we want …


Now of course we can strip off the fourth level ourselves but I'm wondering
- if /usr/share/lintian/data/debian-policy/releases.json needs to be
  more precise than /usr/share/lintian/data/standards-version/release-dates
  (I guess having more information there is a feature)
  or
- if /usr/share/lintian/private/latest-policy-version should do the
  stripping (i.e. output "4.6.0" currently) as this is the actual
  relevant Standards-Version.


Alright, for now I've added the stripping as that's probably faster
than waiting for a new lintian release …


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   

[toc] | [prev] | [next] | [standalone]


#1070390

FromFelix Lechner <felix.lechner@lease-up.com>
Date2021-09-08 18:40 +0200
Message-ID<CV8M9-4lF-1@gated-at.bofh.it>
In reply to#1070385
Hi,

On Wed, Sep 8, 2021 at 8:49 AM gregor herrmann <gregoa@debian.org> wrote:
>
> Implemented in git, but not uploaded because

Thanks for looking at it so promptly, and sorry I did not also submit
an MR like you had asked.

> Now of course we can strip off the fourth level ourselves

If Lintian becomes a data provider (which the policy team seemed to
prefer) it's probably better—as a general matter—for consuming
packages to apply the changes they require.

You are welcome to borrow the code from here:

    https://salsa.debian.org/lintian/lintian/-/blob/master/lib/Lintian/Check/Fields/StandardsVersion.pm#L76-81

Kind regards
Felix Lechner

[toc] | [prev] | [next] | [standalone]


#1070394

FromDominique Dumont <dod@debian.org>
Date2021-09-08 19:00 +0200
Message-ID<CV95v-4sS-3@gated-at.bofh.it>
In reply to#1070385
Hi

Re-reading the thread of this bug, there's still the solution based on debian-policy. Even though there's still no file that provide the policy version, this one can be extracted from debian-policy changelog with something like:

$ zcat /usr/share/doc/debian-policy/changelog.gz | head -1 | perl -n -E '/\((\d+\.\d+\.\d+)/; say $1;'
4.6.0

On the other hand, people might not like yet another dependency on cme. And it may be hard to explain a dependency on a pure doc package.

And this will break in debian-slim container images because docs are not installed... oh well... :-/

Back to gregoa's proposal...

On Wednesday, 8 September 2021 17:49:04 CEST gregor herrmann wrote:
> Implemented in git, but not uploaded because
> 
> - I'd appreciate review from dod

This regexp may be too strict:
$std_ver =~ s|^(\d+\.\d+\.\d+)\.\d+$|$1|;

I don't know if policy people are committed to used 4 digits version. 

It may be better to extract the first 3 digits and call it a day.
(i.e. $std_ver =~ s|^(\d+\.\d+\.\d+)|$1|; )

In any case, the program should croak if $std_ver is undef because the regexp does not match


> - and I discovered a wrinkle:

Which you fixed...

All the best

[toc] | [prev] | [next] | [standalone]


#1070411

Fromgregor herrmann <gregoa@debian.org>
Date2021-09-08 20:50 +0200
Message-ID<CVaNX-5Cb-5@gated-at.bofh.it>
In reply to#1070394

[Multipart message — attachments visible in raw view] — view raw

On Wed, 08 Sep 2021 18:46:19 +0200, Dominique Dumont wrote:

> Back to gregoa's proposal...

:)
 
> > - I'd appreciate review from dod
> This regexp may be too strict:
> $std_ver =~ s|^(\d+\.\d+\.\d+)\.\d+$|$1|;
> 
> I don't know if policy people are committed to used 4 digits version. 

Good catch!
 
> It may be better to extract the first 3 digits and call it a day.
> (i.e. $std_ver =~ s|^(\d+\.\d+\.\d+)|$1|; )

Ack.
 
> In any case, the program should croak if $std_ver is undef because the regexp does not match

Right.
 

Thanks for checking; changes pushed.


Feel free to upload if you are happy and have the time, or I can do
it tomorrow.


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web