[Debian-med-packaging] Bug#992725: gbp:error: More than one archive specified. Try --help.

Étienne Mollier emollier at emlwks999.eu
Sun Aug 22 19:29:55 BST 2021


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20210822/db35bcf9/attachment.sig>


More information about the Debian-med-packaging mailing list