[Debian-med-packaging] Bug#992725: gbp:error: More than one archive specified. Try --help.
Andreas Tille
andreas at fam-tille.de
Mon Aug 23 05:03:21 BST 2021
Hi Étienne,
thanks a lot for your detailed analysis. You stumbled upon a pretty
weak part of routine-update. For instance it is also not able to cope
with watch files featuring the valid but in principle superfluous
"uupdate debian". I'm currently busy with real life + DebConf
preparation (and the fact that some UDD queries are not getting up to
date results - Nilesh in CC). So if one of you could take over this
probably not very hard shell scripting exercise I'd be really happy.
... and feel free to simply push a new version of routine-update if
you solved it. ;-)
Kind regards
Andreas.
On Sun, Aug 22, 2021 at 08:29:55PM +0200, Étienne Mollier wrote:
> Package: routine-update
> Version: 0.0.6
> Severity: important
>
> Hi Andreas,
>
> when working on making sure the python-biopython watch file was
> appropriately fixed, I saw routine-update choke with the
> following error:
>
> $ routine-update
> gbp:info: Fetching from default remote for each branch
> gbp:info: Branch 'master' is already up to date.
> gbp:info: Branch 'pristine-tar' is already up to date.
> gbp:info: Branch 'upstream' is already up to date.
> e1b391ac4e33945379bc8eb4a878fee38c797ca1
> uupdate: PACKAGE = "python-biopython" is in the top of debian/changelog
> uupdate: VERSION = "1.78+dfsg-5" is in the top of debian/changelog
> uupdate: EPOCH = "" is epoch part of $VERSION
> uupdate: SVERSION = "1.78+dfsg-5" is w/o-epoch part of $VERSION
> uupdate: UVERSION = "1.78+dfsg" the upstream portion w/o-epoch of $VERSION
> uupdate: ../python-biopython-1.79+dfsg directory exists.
> uupdate: remove ../python-biopython-1.79+dfsg directory.
> uupdate: -> Overwrite to python-biopython_1.79+dfsg-1.debian.tar.xz
> [master dcb2e9f] routine-update: New upstream version
> 1 file changed, 3 insertions(+), 2 deletions(-)
> gbp:error: More than one archive specified. Try --help.
>
> Adding `set -x` at the top of the routine-update script, I see
> that uscan_out catches an additionall line dpkg-source which
> matches with subsequent filtering:
>
> + uscan_out='uscan info: Last orig.tar.* tarball version (from debian/changelog): 1.78+dfsg
> uscan info: Last orig.tar.* tarball version (dversionmangled): 1.78
> uscan info: New orig.tar.* tarball version (oversionmangled): 1.79
> Successfully repacked ../python-biopython-179.tar.gz as ../python-biopython_1.79+dfsg.orig.tar.xz, deleting 2 files from it.
> uscan info: New orig.tar.* tarball version (after mk-origtargz): 1.79+dfsg
> dpkg-source: info: unpacking python-biopython_1.79+dfsg.orig.tar.xz'
>
> ++ echo 'uscan info: Last orig.tar.* tarball version (from debian/changelog): 1.78+dfsg
> uscan info: Last orig.tar.* tarball version (dversionmangled): 1.78
> uscan info: New orig.tar.* tarball version (oversionmangled): 1.79
> Successfully repacked ../python-biopython-179.tar.gz as ../python-biopython_1.79+dfsg.orig.tar.xz, deleting 2 files from it.
> uscan info: New orig.tar.* tarball version (after mk-origtargz): 1.79+dfsg
> dpkg-source: info: unpacking python-biopython_1.79+dfsg.orig.tar.xz'
>
> ++ grep '.orig.tar.[bgx]z2*'
>
> ++ sed 's#^.* \(\.\./[^ ]*\.orig\.tar\.[bgx]z2*\).*#\1#'
>
> Ultimately leading to a faulty tarball name which is passed as
> such to `gbp import-orig`, hence the "More than one archive
> specified" error:
>
> + tarball='../python-biopython_1.79+dfsg.orig.tar.xz
> dpkg-source: info: unpacking python-biopython_1.79+dfsg.orig.tar.xz'
>
> routine-update 0.0.6 is around for quite some time, so I believe
> it is a specific combination of watch option which might trigger
> this, or simply a recent update somewhere else in the tooling.
> Just in case, the corresponding watch file is:
>
> version=4
>
> opts="\
> filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE at -$1.tar.gz%,\
> uversionmangle=s/b/~b/;s/(\d)(\d+)/$1.$2/,\
> repacksuffix=+dfsg,\
> dversionmangle=s/\+dfsg//,\
> repack,\
> compression=xz" \
> https://github.com/biopython/biopython/tags \
> (?:.*?/)?biopython[v-]?(\d[\d.]*)\.tar\.gz debian uupdate
>
> Complementing the `grep` command here over with the following
> pattern might help:
>
> grep '\.\./.*.orig.tar.[bgx]z2*'
>
> For information,
> Have a nice day, :)
> Étienne.
>
> -- System Information:
> Debian Release: 11.0
> APT prefers unstable
> APT policy: (500, 'unstable'), (500, 'stable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 5.10.0-8-amd64 (SMP w/12 CPU threads)
> 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 routine-update depends on:
> ii cme 1.032-1
> ii devscripts 2.21.4
> ii dpkg-dev 1.20.9
> ii fakeroot 1.25.3-1.1
> ii git 1:2.33.0-1
> ii git-buildpackage 0.9.22
> ii libconfig-model-dpkg-perl 2.148
> ii lintian-brush 0.107
> ii pristine-tar 1.49
> ii quilt 0.66-2.1
>
> routine-update recommends no packages.
>
> routine-update suggests no packages.
>
> -- no debconf information
>
> -- debsums errors found:
> debsums: changed file /usr/bin/routine-update (from routine-update package)
>
> PS: Note the debsums error is caused by the `set -x` added on
> top of the script.
>
> Cheers, :)
> --
> Étienne Mollier <emollier at emlwks999.eu>
> Fingerprint: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da
> Sent from /dev/pts/3, please excuse my verbosity.
> _______________________________________________
> Debian-med-packaging mailing list
> Debian-med-packaging at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging
--
http://fam-tille.de
More information about the Debian-med-packaging
mailing list