#940286 golang-github-anacrolix-missinggo-dev has circular Depends on golang-github-anacrolix-tagflag-dev

#940286#5
Date:
2019-09-15 10:12:31 UTC
From:
To:
Package: golang-github-anacrolix-missinggo-dev
Version: 2.1.0-4
Severity: important

Hello Debian Go Packaging Team,

There is a circular dependency between golang-github-anacrolix-missinggo-dev and golang-github-anacrolix-tagflag-dev:

golang-github-anacrolix-missinggo-dev 	:Depends: golang-github-anacrolix-tagflag-dev
golang-github-anacrolix-tagflag-dev 	:Depends: golang-github-anacrolix-missinggo-dev

Circular dependencies are known to cause problems during upgrade between
stable releases, so we should strive to avoid them.

Cheers,

#940286#10
Date:
2019-09-15 11:53:46 UTC
From:
To:
That's correct, the circular dependency is in fact present in the two
packages.

In missinggo,  cmd/filecache/main.go and cmd/http-file-server/main.go
use tagflag.Parse.

In tagflag, parser.go and usage.go use missinggo/slices.

The situation is uncomfortable, but I do not anticipate it will cause
problems in practice.  tagflag is source-only, missinggo only needs it
to be present in the GOPATH, and vice versa.

There is no operational circular dependency in the actual files
involved, i.e. missinggo/slices (required by tagflags) is not the part
of missinggo that depends on tagflags.

missinggo is a collection of various miscellaneous functions, not a
library with a specific capability.  Not all functions are related to
one other.

The alternative is to patch missinggo/slices into tagflag.  This is
easy to do with Go using vendor directories.  This is how I bootstrapped
tagflag.  But now that missinggo itself is available, it doesn't seem
constructive to continue the vendor bootstrap.  It's a worse option
than tolerating the circular dependency, I think.

#940286#15
Date:
2019-10-09 05:38:11 UTC
From:
To:
As discussed above, the circular dependency is an actual part of the
missinggo and tagflag Go modules, but is not expected to cause
problems in practice.

I'll leave this bug open to document the issue, but will tag the bug
"wontfix" (and "confirmed") to indicate that no further action is
required at this point.

#940286#22
Date:
2026-09-28 07:57:12 UTC
From:
To:
The Debian NEW review of golang-github-anacrolix-missinggo 2.1.0-8 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,


I hope the following quality issues are worthwhile...

1. Suspicious install entry

debian/golang-github-anacrolix-missinggo-bin-static.install:1 installs usr/bin usr/lib/missinggo. dh-golang only emits /usr/bin binaries; there is no build artifact or upstream install target that produces usr/lib/missinggo. This looks like a stale/incorrect glob that will silently match nothing (or install the wrong thing).

2. Inconsistent test-skip story

debian/rules:6-7 skips only TestTimerDrain, yet debian/changelog:16-17 claims to "skip specific tests" closing two bugs (#1146181, #1017544). The skip list and the referenced bugs don't obviously correspond, and it also coexists awkwardly with the retained increase_delayed_test_time.patch (a timing workaround from -7). Worth reconciling.

3. Unnecessary shlibs dependency

debian/control:67 puts ${shlibs:Depends} on the bin-static package, but these are statically linked Go binaries (with Built-Using for the toolchain). The libc dependency it injects is generally unwanted.

4. Fragile, large import-path patch

debian/patches/fix-import-path.patch (~9 KB) rewrites dozens of internal imports to /v2 because upstream's go.mod declares module github.com/anacrolix/missinggo/v2 while the source still uses unversioned imports. This works (verified the working tree is fully consistent; the pre-patch copies remain only under .pc/), but it's a substantial Debian-side fork of the source that should really be fixed upstream. Also note the patch only touches cmd/filecache; the other cmd/* binaries don't import missinggo, so that's correct.

5. Minor

debian/control:28 uses the legacy XS-Go-Import-Path: prefix (modern dh-golang accepts X-Go-Import-Path). The debian/copyright Source:/Upstream-Name fields are fine.


Thanks!

Full review details: https://dfsg-new-queue.debian.org/reviews/golang-github-anacrolix-missinggo

#940286#27
Date:
2026-09-28 08:10:12 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
golang-github-anacrolix-missinggo, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 940286@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andrew Lee (李健秋) <ajqlee@debian.org> (supplier of updated golang-github-anacrolix-missinggo package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 27 Sep 2026 21:13:14 +0200
Source: golang-github-anacrolix-missinggo
Binary: golang-github-anacrolix-missinggo-bin-static golang-github-anacrolix-missinggo-bin-static-dbgsym golang-github-anacrolix-missinggo-dev golang-github-anacrolix-missinggo-v2-dev
Architecture: source amd64 all
Version: 2.1.0-8
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Andrew Lee (李健秋) <ajqlee@debian.org>
Description:
 golang-github-anacrolix-missinggo-bin-static - Stuff that's missing in Go stdlib, or hasn't made it into its own
 golang-github-anacrolix-missinggo-dev - transitional dummy package for golang-github-anacrolix-missinggo-
 golang-github-anacrolix-missinggo-v2-dev - Stuff that's missing in Go stdlib, or hasn't made it into its own
Closes: 940286 1017544 1146181
Changes:
 golang-github-anacrolix-missinggo (2.1.0-8) unstable; urgency=medium
 .
   * Team Upload.
 .
   [ Marcos Talau ]
   * debian/salsa-ci.yml: Add to provide CI tests for Salsa
 .
   [ Andrew Lee (李健秋) ]
   * debian/control: align XS-Go-Import-Path.
   * debian/control: drop Priority: optional (now the default).
   * debian/control: Drop Rules-Requires-Root: no (now the default).
   * debian/control: bump to Standards-version to 4.7.4.
   * Remove legacy patch. May disable tests in debian/rules with go test
     -skip command.
   * fix-import-path.patch: align upstream /v2 import path. (Closes: #940286)
   * debian/rules: skip specific tests that doesn't work in debian's build
     environment. (Closes: #1146181, #1017544)
   * debian/control: align -dev binary package and create transitional
     dummy package.
Checksums-Sha1:
 e45ee8e3c47c519390cd55b6e189fe4868aa2304 3014 golang-github-anacrolix-missinggo_2.1.0-8.dsc
 adf00ef15e862cd135f41c49f8bd1d6315b761ab 5540 golang-github-anacrolix-missinggo_2.1.0-8.debian.tar.xz
 7e9658a70c30f0c16dd32a9041a94ac3253a460b 9001300 golang-github-anacrolix-missinggo-bin-static-dbgsym_2.1.0-8_amd64.deb
 5f1b42668f62c39eb9918a3017aadca86463040e 5479696 golang-github-anacrolix-missinggo-bin-static_2.1.0-8_amd64.deb
 b105902bb4f51a469bdd710ae0bc822f33b15d10 3052 golang-github-anacrolix-missinggo-dev_2.1.0-8_all.deb
 39fc3746a7f6e94884312d004097656e65d9afa3 64236 golang-github-anacrolix-missinggo-v2-dev_2.1.0-8_all.deb
 54a9d25569c9e92a042108446959060d00a42526 16264 golang-github-anacrolix-missinggo_2.1.0-8_amd64.buildinfo
Checksums-Sha256:
 24e01f9610b887ad13d745d4b186b1e2aef01d20912d3eab058befd44a6d32a3 3014 golang-github-anacrolix-missinggo_2.1.0-8.dsc
 c4b0aa10bcc79a73045b6a4645837b712cc829b953746ef4038419e9cb73626c 5540 golang-github-anacrolix-missinggo_2.1.0-8.debian.tar.xz
 b49d74f8778a5376d94e336334377d3cf1acf8a0ef6efa6313dc6534db83830a 9001300 golang-github-anacrolix-missinggo-bin-static-dbgsym_2.1.0-8_amd64.deb
 f035589273bffe8642435ce6e284934e9775f176ee3627a6eb4f18d866dd47bb 5479696 golang-github-anacrolix-missinggo-bin-static_2.1.0-8_amd64.deb
 9ed1867049cca5623f9eba1988a02228d7312877c188c48ad1fc982263b36a8f 3052 golang-github-anacrolix-missinggo-dev_2.1.0-8_all.deb
 7af470955e731fc87801c13e1fdd38a62216bcb20b2d54eb2bf7e0eced0e1eda 64236 golang-github-anacrolix-missinggo-v2-dev_2.1.0-8_all.deb
 7f30e9776a0892e6daa0d5d15c0dc909449bbe7257980556c88a19655e7c4095 16264 golang-github-anacrolix-missinggo_2.1.0-8_amd64.buildinfo
Files:
 53af6d458d718ad49edf3c7dfe5eb69e 3014 devel optional golang-github-anacrolix-missinggo_2.1.0-8.dsc
 999c6e6707eb099ec97e06819c9f8add 5540 devel optional golang-github-anacrolix-missinggo_2.1.0-8.debian.tar.xz
 1af82e523ce891cb2867901ab8ef6fd1 9001300 debug optional golang-github-anacrolix-missinggo-bin-static-dbgsym_2.1.0-8_amd64.deb
 7ba88ce16ca11ddb2fee0ec2fe2c6c7a 5479696 devel optional golang-github-anacrolix-missinggo-bin-static_2.1.0-8_amd64.deb
 6d267f1315619b92ab9bd0ac4fd17f9a 3052 oldlibs optional golang-github-anacrolix-missinggo-dev_2.1.0-8_all.deb
 bde273fb618d524497c701ff92e03d68 64236 devel optional golang-github-anacrolix-missinggo-v2-dev_2.1.0-8_all.deb
 4cffa987a51535ca13a3724865173283 16264 devel optional golang-github-anacrolix-missinggo_2.1.0-8_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE703UlH90QYpfEyJV58vhUqwX+XMFAmq5bD0ACgkQ58vhUqwX
+XPfHQ/8CaUjDN2RkHef7a0EZHQ9hH6PlcmhiNPAvWnK4hEI3wrC0os+dve05+7S
a5ERklFbK6hXk9yY7I/KI93zAmJNlGLgUxUXq28ONYgP1zQwpptLVRrYZCjr8IoM
su2SIDtpITpqsmXCUEtti4rsSlHbHyNuD2sxQP5wTuC7zVwSIRY9VZmDds2fZ9rH
Gt9N/NlSc21yJrELbX5lenRiOS/7bk6PE1r+wpW5PvB/Uj1iGD/BpTUipjiao9UD
X/nkDaxXGmB2269RgIurIc1CKtYzlLYfFdwHE2lOnfklC50voHsL4MOQk7isgtcQ
0sHzUPBs0lwbeZgvjCbcNfL3ly+kWsSfO+Hp/eO3tdh7LITdTTheG06kcBvszWcd
8H6c9TryYnmxBKNkG7gri6TGR5fOTIqdTEmTNHGCnqB9zb0zKY4qUyg/Le9TZZPK
1Eunh7Lw8A/W8+IiAFlOTKN1Dzsx89+VYch6yGSOGB3doIXj/rqWp1F3THk5NipZ
duee+qCb6eozfPbEV9+yRDAp4KVNLWdMHTFKVAJDhFzD3xx8H73uNKwBUU6qaY5C
P0SNC4UDyfQSO1ONuy44kWJb0uAVu7M2TMQWjIJGXLEL4tEo+hrPB51jSVdHgS+r
lI7nSSQUREnzg0KnzfT5n1wmpCaNw5aGnIJUwUtgkCU+auapFU8=
=uy2U
-----END PGP SIGNATURE-----