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


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

Bug#1122181: uscan: Failure to download current version of libpwm

Started byUwe Kleine-König <ukleinek@debian.org>
First post2025-12-08 12:50 +0100
Last post2026-03-18 00:20 +0100
Articles 7 — 4 participants

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


Contents

  Bug#1122181: uscan: Failure to download current version of libpwm Uwe Kleine-König <ukleinek@debian.org> - 2025-12-08 12:50 +0100
    Bug#1122181: #1122181 uscan: Failure to --download-current-version Dmitry Smirnov <onlyjob@debian.org> - 2026-02-01 03:00 +0100
    Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle) Thomas Dickey <dickey@invisible-island.net> - 2026-03-12 15:20 +0100
    Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle) Agustin Martin <agmartin@debian.org> - 2026-03-14 20:10 +0100
      Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle) Thomas Dickey <dickey@invisible-island.net> - 2026-03-15 00:30 +0100
        Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle) Agustin Martin <agmartin@debian.org> - 2026-03-15 12:00 +0100
          Bug#1112388: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle) Agustin Martin <agmartin@debian.org> - 2026-03-18 00:20 +0100

#1273208 — Bug#1122181: uscan: Failure to download current version of libpwm

FromUwe Kleine-König <ukleinek@debian.org>
Date2025-12-08 12:50 +0100
SubjectBug#1122181: uscan: Failure to download current version of libpwm
Message-ID<LZHUB-1hXn-1@gated-at.bofh.it>
Package: devscripts
Version: 2.25.29
Severity: normal
X-Debbugs-Cc: ukleinek@debian.org

Hello,

I found
https://orig-check.debian.net/result/6454de20469f6d24446cbfaca07dbaf99f16c5686e44960c48ba9bb6d909b0c9#collapse-uscan-watch_file.
on my maintainer dashboard.

Reproduces on sid as follows:

	debcheckout libpwm
	cd libpwm
	uscan -vv --download-current-version

I don't get "matched with the download version" in
lib/Devscripts/Uscan/Modes/Http.pm because $version = "1.0-rc2" and
$self->shared->{download_version} = "1.0~rc2", which hints that version
mangling is an issue

With the following patch it works fine for me:

diff --git a/lib/Devscripts/Uscan/Modes/Http.pm b/lib/Devscripts/Uscan/Modes/Http.pm
index 517c195a050d..46606dea04b8 100644
--- a/lib/Devscripts/Uscan/Modes/Http.pm
+++ b/lib/Devscripts/Uscan/Modes/Http.pm
@@ -452,7 +452,6 @@ sub parse_href {
                 map { $_ if defined($_) }
                   ref $match eq 'ARRAY' ? @$match : $href =~ m&^$_pattern$&);
         }
-        $version = $mangled_version;
 
         if (
             mangle(
@@ -462,6 +461,7 @@ sub parse_href {
         ) {
             return ();
         }
+        $version = $mangled_version;
     }
     $match = '';
     if (defined $self->shared->{download_version}) {

but I'm not confident enough in my Perl foo and my understanding of
uscan to claim this to be the correct change.

Best regards
Uwe

-- Package-specific info:

--- /etc/devscripts.conf ---
Empty.

--- ~/.devscripts ---
BTS_CACHE=no
DEBCHANGE_RELEASE_HEURISTIC=changelog
DEBSIGN_KEYID=0D2511F322BFAB1C1580266BE2DCDD9132669BD6
DEBCHANGE_MULTIMAINT_MERGE=yes
BTS_SENDMAIL_COMMAND="$HOME/bin/sendmail -t"
BTS_MAIL_READER='mutt-baylibre -f %s'

-- System Information:
Debian Release: 13.1
  APT prefers stable-updates
  APT policy: (750, 'stable-updates'), (750, 'stable-security'), (750, 'stable-debug'), (750, 'stable'), (700, 'oldstable-security'), (700, 'oldstable-debug'), (700, 'oldstable'), (600, 'unstable'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'proposed-updates'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64

Kernel: Linux 6.17.6+unreleased-amd64 (SMP w/22 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
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.7-21+b3
ii  gpg-agent             2.4.7-21+b3
ii  gpgv                  2.4.7-21+b3
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.5-1
ii  sensible-utils        0.0.25
ii  wdiff                 1.2.2-9

Versions of packages devscripts recommends:
ii  apt                         3.0.3
ii  curl                        8.14.1-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.17
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.122.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.3+dfsg-5
ii  python3-unidiff             0.7.5-2
ii  python3-xdg                 0.28-2
ii  strace                      6.13+ds-1
ii  unzip                       6.0-29
ii  wget                        1.25.0-2
ii  xz-utils                    5.8.1-2

Versions of packages devscripts suggests:
pn  adequate                     <none>
pn  at                           <none>
ii  autopkgtest                  5.49
pn  bls-standalone               <none>
pn  bsd-mailx | mailx            <none>
ii  build-essential              12.12
pn  check-all-the-things         <none>
ii  debhelper                    13.24.2
pn  diffoscope                   <none>
pn  disorderfs                   <none>
pn  docker.io                    <none>
pn  dose-extra                   <none>
pn  duck                         <none>
pn  elpa-devscripts              <none>
ii  faketime                     0.9.10+2024-06-05+gba9ed5b2-0.6
pn  gnuplot                      <none>
pn  how-can-i-help               <none>
ii  libauthen-sasl-perl          2.1700-1
pn  libdbd-pg-perl               <none>
pn  libterm-size-perl            <none>
ii  libtimedate-perl             2.3300-2
ii  libyaml-libyaml-perl         0.903.0+ds-1
ii  mmdebstrap                   1.5.7-3
pn  mutt                         <none>
ii  openssh-client [ssh-client]  1:10.0p1-7
pn  piuparts                     <none>
pn  postgresql-client            <none>
pn  pristine-lfs                 <none>
ii  python3-debianbts            4.1.1
pn  python3-pycurl               <none>
ii  quilt                        0.68-1
pn  ratt                         <none>
pn  reprotest                    <none>
pn  svn-buildpackage             <none>
pn  w3m                          <none>

-- no debconf information

[toc] | [next] | [standalone]


#1280354 — Bug#1122181: #1122181 uscan: Failure to --download-current-version

FromDmitry Smirnov <onlyjob@debian.org>
Date2026-02-01 03:00 +0100
SubjectBug#1122181: #1122181 uscan: Failure to --download-current-version
Message-ID<MjuUN-ePAP-1@gated-at.bofh.it>
In reply to#1273208

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

I have encountered this issue in "wasix-libc" package, where
"uscan --download-current-version" failed to match upstream
version "2025.12.24.1" despite having that very release listed
among Github tags:

```
$ uscan --destdir=.. --repack   --download-current-version -v
uscan info: Scan watch files in .
uscan info: Check debian/watch and debian/changelog in .
uscan info: package="wasix-libc" version="2025.12.24.1+ds-1" (as seen in 
debian/changelog)
uscan info: package="wasix-libc" version="2025.12.24.1+ds" (no epoch/
revision)
uscan info: ./debian/changelog sets package="wasix-libc" 
version="2025.12.24.1+ds"
uscan info: Process watch file at: debian/watch
    package = wasix-libc
    version = 2025.12.24.1+ds
    pkg_dir = .
uscan info: debian/watch isn't formatted in version 5, trying version 4
uscan info: File debian/watch converted into << ==EOF==
Version: 5

# https://salsa.debian.org/snippets/95
# https://wiki.debian.org/debian/watch
# uscan(1) configuration file.
Source: https://api.github.com/repos/wasix-org/wasix-libc/releases?
per_page=99
Matching-Pattern: https://api.github.com/repos/[^/]+/[^/]+/tarball/v?
([\d.\-]+)
Compression: xz
Dversionmangle: s{[+~](dfsg|ds)\d*}{}
Filenamemangle: s%v?@ANY_VERSION@%@PACKAGE@-$1.tar.xz%
Pgpmode: none
Repack: yes
Repacksuffix: +ds
Searchmode: plain
Update-Script: uupdate
Uversionmangle: s{[\-]}{.}g

==EOF==
uscan info: Reset watch_version to 4 because default value may change in 
version 5
uscan info: Parsing compression: xz
uscan info: Parsing dversionmangle: s{[+~](dfsg|ds)\d*}{}
uscan info: Parsing filenamemangle: s%v?(?:[-_]?[Vv]?(\d[\-+\.:\~\da-zA-
Z]*))%wasix-libc-$1.tar.xz%
uscan info: Parsing pgpmode: none
uscan info: Parsing repack: yes
uscan info: Parsing repacksuffix: +ds
uscan info: Parsing searchmode: plain
uscan info: Parsing uversionmangle: s{[\-]}{.}g
uscan info: Last orig.tar.* tarball version (from debian/changelog): 
2025.12.24.1+ds
uscan info: Download the --download-current-version specified version: 
2025.12.24.1
uscan info: Requesting URL:
   https://api.github.com/repos/wasix-org/wasix-libc/releases?
per_page=99
uscan info: Found the following matching files on the web page (newest 
first):
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-12-24.1 (2025.12.24.1) index=2025.12.24.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-12-22.1 (2025.12.22.1) index=2025.12.22.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-12-10.1 (2025.12.10.1) index=2025.12.10.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-11-06.1 (2025.11.06.1) index=2025.11.06.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-09-02.1 (2025.09.02.1) index=2025.09.02.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-08-14.1 (2025.08.14.1) index=2025.08.14.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-07-15.2 (2025.07.15.2) index=2025.07.15.2-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-07-07.1 (2025.07.07.1) index=2025.07.07.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-06-12.1 (2025.06.12.1) index=2025.06.12.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2025-06-11.1 (2025.06.11.1) index=2025.06.11.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2024-07-08.1 (2024.07.08.1) index=2024.07.08.1-0
   https://api.github.com/repos/wasix-org/wasix-libc/tarball/
v2024-06-20.1 (2024.06.20.1) index=2024.06.20.1-0
uscan warn: In debian/watch no matching files for version 2025.12.24.1 
in watch line
uscan info: Scan finished
```

It is a regression, because when I downgraded "devscripts" from
(2.25.22~bpo13+1) to (2.25.15+deb13u1), "uscan" was able to obtain
upstream source without any issues.

I have tried proposed patch (by Uwe Kleine-König) and I confirm
that it fixes the problem, however I did not attempt any regression
testing with other packages.

-- 
Cheers,
 Dmitry Smirnov
 GPG key : 4096R/52B6BBD953968D1B

---

Where justice is denied, where poverty is enforced, where ignorance
prevails, and where any one class is made to feel that society is an
organized conspiracy to oppress, rob and degrade them, neither persons 
nor property will be safe.
 -- Frederick Douglass

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


#1285707 — Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)

FromThomas Dickey <dickey@invisible-island.net>
Date2026-03-12 15:20 +0100
SubjectBug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)
Message-ID<MxP3j-6UGW-5@gated-at.bofh.it>
In reply to#1273208

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

Revisiting #1122181, I see that its proposed patch fixes the issue which
I reported in #1130447.  But some analysis may help.

The proposed patch in #1122181 moves an assignment to the $version variable.

Just past the moved assignment, the Http.pm script has this chunk:

    $match = '';                                                                
    if (defined $self->shared->{download_version}) {                            
        if ($version eq $self->shared->{download_version}) {                    
            $match = "matched with the download version";                       
        }                                                                       
    }                                                                           
    my $priority = $mangled_version . '-' . get_priority($href);                
    return [$priority, $mangled_version, $href, $match, $version];              

That is, $version becomes $_[4], and $match becomes $_[3]

But xtp.pm has this:

    if (defined $watchSource->shared->{download_version}                        
        and not $watchSource->versionmode eq 'ignore') {                        
                                                                                
        # extract ones which has $match in the above loop defined               
        my @vfiles = grep { $$_[3] } @files;                                    
        if (@vfiles) {                                                          

That $$_[3] was carried over from 2015, when it replaced $$_[2].

The return statement with $version assigned to position 4 last changed
in August 2025, for commit 628a3507a8d278f55e4a5991f9de8b14c687a4f1,
which says

	uscan: match unmangled versions against --download-version

with this chunk

@@ -497,12 +500,12 @@ sub parse_href {
     }
     $match = '';
     if (defined $self->shared->{download_version}) {
-        if ($mangled_version eq $self->shared->{download_version}) { 
+        if ($version eq $self->shared->{download_version}) {
             $match = "matched with the download version";
         }
     }
     my $priority = $mangled_version . '-' . get_priority($href);
-    return [$priority, $mangled_version, $href, $match];
+    return [$priority, $mangled_version, $href, $match, $version];
 }
 
 1;

Looking through the diffs (I may have missed one), the $match variable
has for a long time mapped to that $_[3] used in the grep command.

If that $$_[3] were changed to $$_[4], then the grep would use $version.
That (like my initial suggestion) would make the uscan succeed for my
configuration.

However, the $match variable itself will match @files because of these
chunks in Http.pm:

        $match = '';                                                            
        if (defined $download_version                                           
            and $mangled_version eq $download_version) {                        
            $match = "matched with the download version";                       
        }                                                                       

and

        push @hrefs, [$mangled_version, $href, $match];                         

which show up in a verbose log ($match becomes $$file[3]):

    if (@files) {                                                               
        @files = Devscripts::Versort::versort(@files);                          
        my $msg                                                                 
          = "Found the following matching files on the web page (newest first):>
        foreach my $file (@files) {                                             
            $msg .= "   $$file[2] ($$file[1]) index=$$file[0] $$file[3]\n";     
        }                                                                       
        uscan_verbose $msg;                                                     
    }                                                                           

Given all of that, I'll close #1130447

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net

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


#1285994 — Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)

FromAgustin Martin <agmartin@debian.org>
Date2026-03-14 20:10 +0100
SubjectBug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)
Message-ID<MyCx4-7vUb-9@gated-at.bofh.it>
In reply to#1273208
On Thu, 12 Mar 2026 10:04:45 -0400 Thomas Dickey
<dickey@invisible-island.net> wrote:
> Revisiting #1122181, I see that its proposed patch fixes the issue which
> I reported in #1130447.

Hi Thomas,

I am not one of uscan maintainers nor know about its internals, but
thanks a lot for all the detailed analysis. By the way, this seems to
be the same problem as #1112388. Cc'ing.

The problem with the patch proposed by Uwe is that on package build it
breaks one test (with 6 ASSERT error messages)
...
testWatch4NonNativeDlUversion_uversionmangle
uscan warn: In debian/watch no matching files for version 1.0-rc-1 in watch line
ASSERT:uscan: exit_code!=0 but exit_code=0 expected:<1> but was:<0>
ASSERT:foo-1.0-rc-1.tar.gz missing:
opts="uversionmangle=s/-([a-z]+-)/~$1/"
@@@url@@@/([\d][\d\.a-z-]+)/@PACKAGE@/ooo/
@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate
ASSERT:foo_1.0~rc-1.orig.tar.gz missing:
opts="uversionmangle=s/-([a-z]+-)/~$1/"
@@@url@@@/([\d][\d\.a-z-]+)/@PACKAGE@/ooo/
@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate
./test_uscan_mangle: line 327: cd:
/tmp/shunit.mjso1e/tmp/uscan_mangle.24LyCq/foo-1.0~rc-1: No such file
or directory
ASSERT:pristine tarball is not extracted
dpkg-parsechangelog: error: cannot open file debian/changelog: No such
file or directory
ASSERT:uscan: Version should be 1.0~rc-1-1 but  found expected:<> but
was:<1.0~rc-1-1>
ASSERT:file that must be present is excluded in the tarball
...
Ran 75 tests.

FAILED (failures=6)

Change you propose causes even more ASSERT lines (34).

Regards,

-- 
Agustin

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


#1286022 — Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)

FromThomas Dickey <dickey@invisible-island.net>
Date2026-03-15 00:30 +0100
SubjectBug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)
Message-ID<MyGAF-7yug-1@gated-at.bofh.it>
In reply to#1285994

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

On Sat, Mar 14, 2026 at 08:07:52PM +0100, Agustin Martin wrote:
> On Thu, 12 Mar 2026 10:04:45 -0400 Thomas Dickey
> <dickey@invisible-island.net> wrote:
> > Revisiting #1122181, I see that its proposed patch fixes the issue which
> > I reported in #1130447.
> 
> Hi Thomas,
> 
> I am not one of uscan maintainers nor know about its internals, but
> thanks a lot for all the detailed analysis. By the way, this seems to
> be the same problem as #1112388. Cc'ing.
> 
> The problem with the patch proposed by Uwe is that on package build it
> breaks one test (with 6 ASSERT error messages)
> ...
> testWatch4NonNativeDlUversion_uversionmangle
> uscan warn: In debian/watch no matching files for version 1.0-rc-1 in watch line
> ASSERT:uscan: exit_code!=0 but exit_code=0 expected:<1> but was:<0>
> ASSERT:foo-1.0-rc-1.tar.gz missing:
> opts="uversionmangle=s/-([a-z]+-)/~$1/"
> @@@url@@@/([\d][\d\.a-z-]+)/@PACKAGE@/ooo/
> @PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate
> ASSERT:foo_1.0~rc-1.orig.tar.gz missing:
> opts="uversionmangle=s/-([a-z]+-)/~$1/"
> @@@url@@@/([\d][\d\.a-z-]+)/@PACKAGE@/ooo/
> @PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate
> ./test_uscan_mangle: line 327: cd:
> /tmp/shunit.mjso1e/tmp/uscan_mangle.24LyCq/foo-1.0~rc-1: No such file
> or directory
> ASSERT:pristine tarball is not extracted
> dpkg-parsechangelog: error: cannot open file debian/changelog: No such
> file or directory
> ASSERT:uscan: Version should be 1.0~rc-1-1 but  found expected:<> but
> was:<1.0~rc-1-1>
> ASSERT:file that must be present is excluded in the tarball
> ...
> Ran 75 tests.
> 
> FAILED (failures=6)
> 
> Change you propose causes even more ASSERT lines (34).

I realized that Uwe's patch was an improvement
(which is why I said I'd close #1130447 -- actually on
that, I saw the progress on #1122181 made it too late for
me to suggest merging).

-- 
Thomas E. Dickey <dickey@invisible-island.net>
https://invisible-island.net

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


#1286069 — Bug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)

FromAgustin Martin <agmartin@debian.org>
Date2026-03-15 12:00 +0100
SubjectBug#1122181: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)
Message-ID<MyRmq-7Gbs-5@gated-at.bofh.it>
In reply to#1286022
El dom, 15 mar 2026 a las 0:26, Thomas Dickey
(<dickey@invisible-island.net>) escribió:
>
> On Sat, Mar 14, 2026 at 08:07:52PM +0100, Agustin Martin wrote:
> > On Thu, 12 Mar 2026 10:04:45 -0400 Thomas Dickey
> > <dickey@invisible-island.net> wrote:
> > > Revisiting #1122181, I see that its proposed patch fixes the issue which
> > > I reported in #1130447.
> >
> >
> > I am not one of uscan maintainers nor know about its internals, but
> > thanks a lot for all the detailed analysis. By the way, this seems to
> > be the same problem as #1112388. Cc'ing.
> >
> > The problem with the patch proposed by Uwe is that on package build it
> > breaks one test (with 6 ASSERT error messages)
> > Change you propose causes even more ASSERT lines (34).
>
> I realized that Uwe's patch was an improvement
> (which is why I said I'd close #1130447 -- actually on
> that, I saw the progress on #1122181 made it too late for
> me to suggest merging).

HI,

I would call them different approaches. Something may trigger more
error messages on build but be closer to the actual problem, and all
reasonable info is good (and your mails contain a lot of good info).

One minor addition. Tried with

--- a/lib/Devscripts/Uscan/Modes/Http.pm
+++ b/lib/Devscripts/Uscan/Modes/Http.pm
@@ -465,7 +465,7 @@ sub parse_href {
     }
     $match = '';
     if (defined $self->shared->{download_version}) {
-        if ($version eq $self->shared->{download_version}) {
+        if ($mangled_version eq $self->shared->{download_version}) {
             $match = "matched with the download version";
         }
     }

On build I get the same errors as with Uwe's patch.

Regarding the three bug reports I would merge all them.

-- 
Agustin

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


#1286412 — Bug#1112388: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)

FromAgustin Martin <agmartin@debian.org>
Date2026-03-18 00:20 +0100
SubjectBug#1112388: Bug#1130447: Acknowledgement (devscripts: uscan - upgrade to devscripts to 2.26.x breaks versionmangle)
Message-ID<MzLRD-8jte-1@gated-at.bofh.it>
In reply to#1286069

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

Control: tags -1 + patch

El dom, 15 mar 2026 a las 11:53, Agustin Martin
(<agmartin@debian.org>) escribió:
>
> El dom, 15 mar 2026 a las 0:26, Thomas Dickey
> (<dickey@invisible-island.net>) escribió:
> >
> > On Sat, Mar 14, 2026 at 08:07:52PM +0100, Agustin Martin wrote:
> > > On Thu, 12 Mar 2026 10:04:45 -0400 Thomas Dickey
> > > <dickey@invisible-island.net> wrote:
> > > > Revisiting #1122181, I see that its proposed patch fixes the issue which
> > > > I reported in #1130447.
> > >
> > I realized that Uwe's patch was an improvement
> > (which is why I said I'd close #1130447 -- actually on
> > that, I saw the progress on #1122181 made it too late for
> > me to suggest merging).

Hi,

I have been putting some print STDERR here and there and seems I
finally understood the problem and why Uwe's patch makes
testWatch4NonNativeDlUversion_uversionmangle fail. I also prepared a
possible workaround (attached).

Now the explanations. In Http.pm,  $version and $mangled_version are
initially set to unmangled version. $mangled_version is processed
afterwards in mangle function call and gets mangled.

With --download-current-version $self->shared->{download_version} is
set to mangled version, but with --download-version=s it is set to the
passed upstream unmangled version.

This makes --download-current-version fail when compared with original
unmangled version and testWatch4NonNativeDlUversion_uversionmangle
fail when comparison uses mangled version as in Uwe's patch and in my
previous attempt (that test uses --download-version with a non-mangled
upstream version).

 My workaround uses mangled version in comparison if
--download-current-version is used. Should result in no other changes.

Not sure if this is the best fix, but with this change package builds
and passes tests, and things seem to work.

Find attached the patch with my changes.

Hope this helps,

-- 
Agustin

[toc] | [prev] | [standalone]


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


csiph-web