On Sat, 03 Feb 2024 08:52:07 +0100 Fab Stz <fabstz...@yahoo.fr> wrote:
Package: lintian
Version: 2.116.3
Severity: normal
Tags: patch

Dear Maintainer,

Consider this watchfile:

version=3
# Search the version number on this page
https://download.qt.io/development_releases/qt/6.7/
# Then use downloadurlmangle to transform it to the URL to the archive.
#
# We don't use repacksuffix=+ds because in salsa-ci we want to have the +ds
suffix, even if we use --no-exclusion (ie even if we ignore Files-Excluded)
#
opts="uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/, \
 dversionmangle=s/@DEB_EXT@//, \
 oversionmangle=s/$/\+ds.1/, \
downloadurlmangle=s/\/([\d\.]*(-((RC|rc|pre|dev|beta|alpha)\d*))?)\/$/\/$1\/
single\/qt-
everywhere-src-$1\.tar\.xz/, \
 filenamemangle=s/.*\/([\d\.]*(-((RC|rc|pre|dev|beta|alpha)\d*))?)\/$/qt-
everywhere-src-$1\.tar\.xz/" \
 https://download.qt.io/development_releases/qt/6\.(?:[\d\.]*)/ ([\d\.]*-.*)/
debian bash debian/scripts/repack.sh



Lintian will output:

debian-watch-not-mangling-version
opts="uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,
dversionmangle=s/@DEB_EXT@//, oversionmangle=s/$/\+ds.1/,
downloadurlmangle=s/\/([\d\.]*(-((RC|rc|pre|dev|beta|alpha)\d*))?)\/$/\/$1\/
single\/qt-
everywhere-src-$1\.tar\.xz/,
filenamemangle=s/.*\/([\d\.]*(-((RC|rc|pre|dev|beta|alpha)\d*))?)\/$/qt-
everywhere-src-$1\.tar\.xz/"
https://download.qt.io/development_releases/qt/6\.(?:[\d\.]*)/ ([\d\.]*-.*)/
debian bash debian/scripts/repack.sh [debian/watch:12]


I suspect this is because lintian considers that @DEB_EXT@ is only valid for a
watchfile version >= 4 (see $DMANGLES_AUTOMATICALLY variable), but according to
source code in uscan, it seems it requires version >= 2.


BTW, I noticed that:
- if I use version=4 with @DEB_EXT@, the lintian warning is gone
- if I use version=3 + dversionmangle=auto, the lintian warning is gone as
well.

But version=3 with @DEB_EXT@ triggers the warning.

I'm attaching a patch without being sure that it is the correct way to fix the issue, but when it is applied lintian doesn't report a warning.

Hi,

Looking into this bug, this all seems to make sense and the patch does not break the current testsuite.

Before I put some work into writing an additional test to merge this properly, can you tell me where in the uscan source code you see that the dmangling is done automaticall in watch files => 2?

Cheers,

--
  ⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁  Louis-Philippe Véronneau
  ⢿⡄⠘⠷⠚⠋   po...@debian.org / veronneau.org
  ⠈⠳⣄

Reply via email to