Package: devscripts
Version: 2.25.19
Severity: normal
Dear Maintainer,
-- Package-specific info:
--- /etc/devscripts.conf ---
Empty.
--- ~/.devscripts ---
Not present
> *** Reporter, please consider answering these questions, where appropriate ***
> * What led up to the situation?
Using debian/watch version 5.
> * What exactly did you do (or not do) that was effective (or
ineffective)?
Use the gitlab template. Code snippet below:
,----
| Version: 5
|
| Template: Gitlab
| Dist: https://gitlab.com/manphiz/oauth2
`----
> * What was the outcome of this action?
This repository has tags with a "v" prefix before the version,
e.g. v0.18. The uscan result kept the "v" prefix, and breaks the
version comparison. Full "uscan --report-status" output below:
,----
| $ uscan --report-status
| uscan info: Scan watch files in .
| uscan info: Check debian/watch and debian/changelog in .
| uscan info: package="emacs-oauth2" version="0.18-1" (as seen in
debian/changelog)
| uscan info: package="emacs-oauth2" version="0.18" (no epoch/revision)
| uscan info: ./debian/changelog sets package="emacs-oauth2" version="0.18"
| uscan info: Process watch file at: debian/watch
| package = emacs-oauth2
| version = 0.18
| pkg_dir = .
| uscan warn: The following paragraph isn't well formatted, skipping it: <<
==EOF==
| # # Used to watch for upstream releases only. To test use "uscan --dehs".
| # version=4
| # https://elpa.gnu.org/packages/oauth2.html \
| # oauth2@ANY_VERSION@\.tar.* debian
| ==EOF==
| uscan info: Parsing filenamemangle:
s%.*?(?:[-_]?[Vv]?(\d[\-+\.:\~\da-zA-Z]*))$%emacs-oauth2-$1.tar.gz%
| uscan info: Parsing mode: gitlab
| uscan info: Parsing pgpmode: none
| uscan info: Parsing uversionmangle:
s/(\d)[_\.\-\+]?((?:RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/
| uscan info: Last orig.tar.* tarball version (from debian/changelog): 0.18
| uscan info: Last orig.tar.* tarball version (dversionmangled): 0.18
| uscan info: Searching versions of https://gitlab.com/manphiz/oauth2
| uscan info: Gitlab project_id is 74069638
| uscan info: Found the following matching files on the web page (newest first):
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
(v0.18) index=v0.18-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.17
(v0.17) index=v0.17-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.16
(v0.16) index=v0.16-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.15
(v0.15) index=v0.15-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.14
(v0.14) index=v0.14-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.13
(v0.13) index=v0.13-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.12
(v0.12) index=v0.12-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.11
(v0.11) index=v0.11-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.10
(v0.10) index=v0.10-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.9
(v0.9) index=v0.9-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.8
(v0.8) index=v0.8-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.7
(v0.7) index=v0.7-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.6
(v0.6) index=v0.6-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.5
(v0.5) index=v0.5-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.4
(v0.4) index=v0.4-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.3
(v0.3) index=v0.3-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.2
(v0.2) index=v0.2-1
|
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.1
(v0.1) index=v0.1-1
| uscan info: Looking at $base = https://gitlab.com/manphiz/oauth2 with
| $filepattern = (?:[-_]?[Vv]?(\d[\-+\.:\~\da-zA-Z]*)) found
| $newfile =
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
| $mangled_newversion = v0.18
| $newversion = v0.18
| $lastversion = 0.18
| uscan info: Matching target for downloadurlmangle:
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
| uscan info: Upstream URL(+tag) to download is identified as
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
| uscan info: Matching target for filenamemangle:
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
| uscan info: Filename (filenamemangled) for downloaded file:
emacs-oauth2-0.18.tar.gz
| Newest version of emacs-oauth2 on remote site is v0.18, local version is 0.18
| => Newer package available from:
| =>
https://gitlab.com/api/v4/projects/74069638/repository/archive.tar.gz?sha=v0.18
| uscan info: Scan finished
`----
I notice that the `@ANY_VERSION@' regexp tries to detect the "v" prefix,
but it seems to be ineffective for the Gitlab API URL.
> * What outcome did you expect instead?
The detected version should drop the "v" prefix so that uscan can
correctly identify that the local version matches the latest remote version.
(Meanwhile, I'm using `Mode: git' with the `(?:.*?/)?@ANY_VERSION@'
regexp which seems to work fine.)
-- System Information:
Debian Release: forky/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (200, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 6.16.3+deb14-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages devscripts depends on:
ii dpkg-dev 1.22.21
ii file 1:5.46-5
ii gpg 2.4.8-3
ii gpg-agent 2.4.8-3
ii gpgv 2.4.8-3
ii libdpkg-perl 1.22.21
ii libfile-dirlist-perl 0.05-3
ii libfile-homedir-perl 1.006-2
ii libfile-touch-perl 0.12-2
ii libio-string-perl 1.08-4
ii libmoo-perl 2.005005-1
ii libwww-perl 6.78-1
ii patchutils 0.4.2-1
ii perl 5.40.1-6
ii python3 3.13.7-1
ii sensible-utils 0.0.26
ii wdiff 1.2.2-9
Versions of packages devscripts recommends:
ii apt 3.1.5
ii curl 8.16.0~rc2-2
ii dctrl-tools 2.24-3+b1
ii debian-keyring 2025.07.26
ii debian-tag2upload-keyring 1.1
ii dput 1.2.4
ii equivs 2.3.2
ii git-debpush 13.13
ii libdistro-info-perl 1.14
ii libencode-locale-perl 1.05-3
ii libgitlab-api-v4-perl 0.27-1
ii libjson-perl 4.10000-1
ii liblwp-protocol-https-perl 6.14-1
ii libmetacpan-client-perl 2.033000-1
ii libsoap-lite-perl 1.27-3
ii libstring-shellquote-perl 1.04-3
ii liburi-perl 5.30-1
ii licensecheck 3.3.9-1
ii lintian 2.123.0
ii lzip 1.25-3
ii man-db 2.13.1-1
ii patch 2.8-2
ii pristine-tar 1.50+nmu2
ii python3-apt 3.0.0
ii python3-debian 1.0.1
ii python3-magic 2:0.4.27-3
ii python3-requests 2.32.5+dfsg-1
ii python3-unidiff 0.7.5-2
ii python3-xdg 0.28-2
ii strace 6.16+ds-2
ii unzip 6.0-29
ii wget 1.25.0-2
ii xz-utils 5.8.1-1
Versions of packages devscripts suggests:
ii adequate 0.17.6+b1
pn at <none>
ii autopkgtest 5.50
pn bls-standalone <none>
ii build-essential 12.12
pn check-all-the-things <none>
ii debhelper 13.26
pn diffoscope <none>
pn disorderfs <none>
pn docker.io <none>
ii dose-extra 7.0.0-6+b3
pn duck <none>
ii elpa-devscripts 40.7
pn faketime <none>
ii gnuplot-nox [gnuplot] 6.0.3+dfsg1-1
pn how-can-i-help <none>
ii libauthen-sasl-perl 2.1900-1
pn libdbd-pg-perl <none>
ii libgitlab-api-v4-perl 0.27-1
pn libterm-size-perl <none>
ii libtimedate-perl 2.3300-2
ii libyaml-libyaml-perl 0.903.0+ds-1
ii mailutils [mailx] 1:3.20-1
ii mmdebstrap 1.5.7-3
ii mutt 2.2.13-1
ii openssh-client [ssh-client] 1:10.0p1-8
ii piuparts 1.6.0
ii postgresql-client-17 [postgresql-client] 17.6-1
pn pristine-lfs <none>
ii python3-debianbts 4.1.1
pn python3-pycurl <none>
ii quilt 0.68-1
ii ratt 0.0~git20250829.39528ce-1
ii reprotest 0.7.30
pn svn-buildpackage <none>
ii w3m 0.5.3+git20230121-2.1
-- no debconf information