[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