Bug#973637: flag debian/watch files that use older versions of the format

2020-11-05 Thread Felix Lechner
Control: tags -1 + pending

Hi yadd,

On Tue, Nov 3, 2020 at 6:29 AM Mattia Rizzolo  wrote:
>
> 1. We could have a "info" lintian tag for version 3, deprecated but
> compatible with version 4. But version 2 is really deprecated and it's
> not easy to maintain uscan with 4 versions (It took me a lot of hours to
> rewrite old uscan to modern Perl-OO).
> That's why I'd like to see a "error" tag for version ≤ 2.

For some reason, there was no autocommit message from our web hook.
Lintian errors are really for matters that warrant rejection from FTP
Master. This matter is not quite so serious, so it's a warning (for
now):

https://salsa.debian.org/lintian/lintian/-/commit/05ea5176216d2f05704481f8d3467bcd86d8d0e9

Kind regards
Felix Lechner



Bug#973637: flag debian/watch files that use older versions of the format

2020-11-03 Thread Mattia Rizzolo
On Mon, Nov 02, 2020 at 10:54:11PM +0100, Xavier wrote:
> But version 2 is really deprecated and it's
> not easy to maintain uscan with 4 versions (It took me a lot of hours to
> rewrite old uscan to modern Perl-OO).
> That's why I'd like to see a "error" tag for version ≤ 2.

Right, but currently version=2 is not explicitly marked as "deprecated"
anywhere.

Could you please send a MR updating the docs doing so?
I also think ds_warn() its usage would be good (then tracker.d.o and
others would rely the warning, etc).

> 3. After bullseye release, I'd like to propose to remove version=2
> support from uscan.

+1


For context of d-devel@, version=2 is currently used by a total of 350
packages in the whole archive, I reckon dropping support for it is
totally doable.

I think we can easily:
 1) mark the thing as deprecated in the manpage and warning at runtime
 2) add a note for the next DevNews
 3) wait a few months after the bullseye release
 4) MBF the remaining version=2 packages
 5) wait a few more months
 6) drop the support ~1/~1.5 years from now

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
More about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Bug#973637: flag debian/watch files that use older versions of the format

2020-11-02 Thread Xavier
> Hi Jelmer
>
> On Mon, Nov 2, 2020 at 9:57 AM Jelmer Vernooij 
> wrote:
> >
> > It would be great if lintian could flag debian/watch files that
> > didn't use a watch file format version or use an older version
> > (< 4).
>
> Can you just use the existing classification tag
> debian-watch-file-standard [1] [2]? It will give you the version.
>
> Please feel free to close if that tag works for you. Thanks!

Hi all,

1. We could have a "info" lintian tag for version 3, deprecated but
compatible with version 4. But version 2 is really deprecated and it's
not easy to maintain uscan with 4 versions (It took me a lot of hours to
rewrite old uscan to modern Perl-OO).
That's why I'd like to see a "error" tag for version ≤ 2.

2. Since version 3 is compatible with version 4, debian-janitor could
automatically update debian/watch from version 3 to version 4 [1], but
without changing debian/watch when version is ≤ 2 [1] (I think only a
few packages still use version 2 and version < 2 [= no-version] already
generates an error).

3. After bullseye release, I'd like to propose to remove version=2
support from uscan.

Cc to debian-devel for advices if I'm wrong;

NB:
 * Version 2:  4 Feb 2002
 * Version 3: 15 Mar 2005
 * Version 4: 30 Dec 2015

[1]: https://salsa.debian.org/jelmer/debian-janitor/-/issues/144

 8<  end of uscan(1) manpage  8< 
HISTORY AND UPGRADING

This section briefly describes the backwards-incompatible watch file
features which have been added in each watch file version, and the first
version of the devscripts package which understood them.

  Pre-version 2
The watch file syntax was significantly different in those days.
Don't use it.  If you are upgrading from a pre-version 2 watch file,
you are advised to read this manpage and to start from scratch.

  Version 2
devscripts version 2.6.90: The first incarnation of the current
style of watch files.

  Version 3
devscripts version 2.8.12: Introduced the following: correct
handling of regex special characters in the path part,
directory/path pattern matching, version number in several parts,
version number mangling. Later versions have also introduced URL
mangling.

If you are upgrading from version 2, the key incompatibility is if
you have multiple groups in the pattern part; whereas only the first
one would be used in version 2, they will all be used in version 3.
To avoid this behavior, change the non-version-number groups to be
(?:  ... ) instead of a plain (  ...  ) group.

• uscan invokes the custom script as "script --upstream-version
  version ../spkg_version.orig.tar.gz".

• uscan invokes the standard uupdate as "uupdate --no-symlink
  --upstream-version version ../spkg_version.orig.tar.gz".

  Version 4
devscripts version 2.15.10: The first incarnation of watch files
supporting multiple upstream tarballs.

The syntax of the watch file is relaxed to allow more spaces for
readability.

If you have a custom script in place of uupdate, you may also
encounter problems updating from Version 3.

• uscan invokes the custom script as "script --upstream-version
  version".

• uscan invokes the standard uupdate as "uupdate --find
  --upstream-version version".

Restriction for --dehs is lifted by redirecting other output to
STDERR when it is activated.
 >8 



Bug#973637: flag debian/watch files that use older versions of the format

2020-11-02 Thread Felix Lechner
Hi Jelmer

On Mon, Nov 2, 2020 at 9:57 AM Jelmer Vernooij  wrote:
>
> It would be great if lintian could flag debian/watch files that didn't use a
> watch file format version or use an older version (< 4).

Can you just use the existing classification tag
debian-watch-file-standard [1] [2]? It will give you the version.

Please feel free to close if that tag works for you. Thanks!

Kind regards
Felix Lechner

[1] 
https://salsa.debian.org/lechner/lintian/-/blob/master/checks/debian/watch.pm#L134
[2] 
https://salsa.debian.org/lechner/lintian/-/blob/master/tags/d/debian-watch-file-standard.desc



Bug#973637: flag debian/watch files that use older versions of the format

2020-11-02 Thread Jelmer Vernooij
Package: lintian
Version: 2.100.0
Severity: wishlist

It would be great if lintian could flag debian/watch files that didn't use a
watch file format version or use an older version (< 4).

See also https://salsa.debian.org/jelmer/debian-janitor/-/issues/144


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.7.0-1-amd64 (SMP w/2 CPU threads)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lintian depends on:
ii  binutils2.35.1-2
ii  bzip2   1.0.8-4
ii  diffstat1.63-1
ii  dpkg1.20.5
ii  dpkg-dev1.20.5
ii  file1:5.38-5
ii  gettext 0.19.8.1-10
ii  gpg 2.2.20-1
ii  intltool-debian 0.35.0+20060710.5
ii  libapt-pkg-perl 0.1.36+b3
ii  libarchive-zip-perl 1.68-1
ii  libcapture-tiny-perl0.48-1
ii  libclass-xsaccessor-perl1.19-3+b5
ii  libclone-perl   0.45-1
ii  libconfig-tiny-perl 2.24-1
ii  libcpanel-json-xs-perl  4.25-1
ii  libdata-dpath-perl  0.58-1
ii  libdata-validate-domain-perl0.10-1
ii  libdevel-size-perl  0.83-1+b1
ii  libdpkg-perl1.20.5
ii  libemail-address-xs-perl1.04-1+b2
ii  libfile-basedir-perl0.08-1
ii  libfile-find-rule-perl  0.34-1
ii  libfont-ttf-perl1.06-1
ii  libhtml-html5-entities-perl 0.004-1
ii  libipc-run3-perl0.048-2
ii  libjson-maybexs-perl1.004002-1
ii  liblist-compare-perl0.55-1
ii  liblist-moreutils-perl  0.416-1+b5
ii  liblist-utilsby-perl0.11-1
ii  libmoo-perl 2.004000-1
ii  libmoox-aliases-perl0.001006-1
ii  libnamespace-clean-perl 0.27-1
ii  libpath-tiny-perl   0.114-1
ii  libperlio-gzip-perl 0.19-1+b6
ii  libproc-processtable-perl   0.59-2
ii  libsereal-decoder-perl  4.018+ds-1
ii  libsereal-encoder-perl  4.018+ds-1
ii  libtext-glob-perl   0.11-1
ii  libtext-levenshteinxs-perl  0.03-4+b7
ii  libtext-markdown-discount-perl  0.12-1
ii  libtext-xslate-perl 3.5.8-1
ii  libtime-duration-perl   1.21-1
ii  libtime-moment-perl 0.44-1+b2
ii  libtimedate-perl2.3300-1
ii  libtry-tiny-perl0.30-1
ii  libtype-tiny-perl   1.010006-1
ii  libunicode-utf8-perl0.62-1+b1
ii  liburi-perl 5.05-1
ii  libxml-libxml-perl  2.0134+dfsg-2
ii  libyaml-libyaml-perl0.82+repack-1
ii  lzip1.21-8
ii  lzop1.04-1
ii  man-db  2.9.3-2
ii  patchutils  0.4.2-1
ii  perl [libdigest-sha-perl]   5.30.3-4
ii  t1utils 1.41-4
ii  unzip   6.0-25
ii  xz-utils5.2.4-1+b1

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch 
ii  libtext-template-perl  1.59-1

-- no debconf information