Skip to content

estimate: do not print children of mismatched major mods #272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

n-peugnet
Copy link
Contributor

Simply log a message once about mismatched major versions in the log output, and do not print all of their children.

For packages with a lot of dependencies, the previous behaviour was producing a lot of noise. If a module is already packaged, even with a different major version, it will probably not miss a lot of dependencies.

Simply log a message once about mismatched major versions in the log
output, and do not print all of their children.

For packages with a lot of dependencies, the previous behaviour was
producing a lot of noise. If a module is already packaged, even with
a different major version, it will probably not miss a lot of
dependencies.
@n-peugnet
Copy link
Contributor Author

Here is a diff of the output before and after for a quite big module (the time of the log messages is edited for a better looking diff):

--- /tmp/before	2025-04-17 10:42:28.094158540 +0200
+++ /tmp/after	2025-04-17 10:42:16.654140511 +0200
@@ -1,41 +1,35 @@
 $ dh-make-golang estimate -git_revision v1.8.4 github.com/livekit/livekit-server
+2025/04/17 10:xx:xx github.com/d5/tengo/v2 has no version string in Debian
+2025/04/17 10:xx:xx github.com/jellydator/ttlcache/v3 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/ice/v4 is v2 in Debian
+2025/04/17 10:xx:xx github.com/pion/stun/v3 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/transport/v3 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/webrtc/v4 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/dtls/v3 is v2 in Debian
+2025/04/17 10:xx:xx github.com/pion/mdns/v2 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/sdp/v3 has no version string in Debian
+2025/04/17 10:xx:xx github.com/pion/srtp/v3 is v2 in Debian
+2025/04/17 10:xx:xx github.com/pion/turn/v4 is v2 in Debian
 2025/04/17 10:xx:xx Could not determine repo path for import path "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go": unrecognized import path "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go"
 2025/04/17 10:xx:xx google.golang.org/genproto/googleapis/api is packaged as google.golang.org/genproto in Debian
 2025/04/17 10:xx:xx google.golang.org/genproto/googleapis/rpc is packaged as google.golang.org/genproto in Debian
+2025/04/17 10:xx:xx github.com/cenkalti/backoff/v4 has no version string in Debian
+2025/04/17 10:xx:xx github.com/cespare/xxhash/v2 has no version string in Debian
+2025/04/17 10:xx:xx github.com/puzpuzpuz/xsync/v3 has no version string in Debian
 2025/04/17 10:xx:xx go.uber.org/zap/exp is packaged as go.uber.org/zap in Debian
+2025/04/17 10:xx:xx github.com/urfave/negroni/v3 has no version string in Debian
 2025/04/17 10:xx:xx Bringing github.com/livekit/livekit-server to Debian requires packaging the following Go modules:
 github.com/livekit/livekit-server
-  github.com/d5/tengo/v2	(github.com/d5/tengo in Debian)
   github.com/dennwc/iters
     github.com/shoenig/test
   github.com/elliotchance/orderedmap/v2
   github.com/florianl/go-tc
   github.com/frostbyte73/core
   github.com/gammazero/workerpool
-  github.com/jellydator/ttlcache/v3	(github.com/jellydator/ttlcache in Debian)
   github.com/jxskiss/base62
   github.com/livekit/mageutil
   github.com/livekit/mediatransportutil
     github.com/livekit/protocol
-    github.com/pion/ice/v4	(github.com/pion/ice/v2 in Debian)
-    github.com/pion/stun/v3	(github.com/pion/stun in Debian)
-      github.com/pion/dtls/v3	(github.com/pion/dtls/v2 in Debian)
-      github.com/pion/transport/v3	(github.com/pion/transport in Debian)
-    github.com/pion/transport/v3 (2)
-    github.com/pion/webrtc/v4	(github.com/pion/webrtc in Debian)
-    github.com/pion/dtls/v3 (2)
-      github.com/pion/transport/v3 (3)
-    github.com/pion/mdns/v2	(github.com/pion/mdns in Debian)
-      github.com/pion/transport/v3 (4)
-    github.com/pion/sdp/v3	(github.com/pion/sdp in Debian)
-    github.com/pion/srtp/v3	(github.com/pion/srtp/v2 in Debian)
-      github.com/pion/transport/v3 (5)
-    github.com/pion/turn/v4	(github.com/pion/turn/v2 in Debian)
-      github.com/pion/stun/v3 (2)
-        github.com/pion/dtls/v3 (3)
-        github.com/pion/transport/v3 (6)
-      github.com/pion/transport/v3 (7)
-      github.com/pion/dtls/v3 (4)
   github.com/livekit/protocol (2)
     buf.build/go/protoyaml
       buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go
@@ -60,17 +54,11 @@
       github.com/twitchtv/twirp
       github.com/Microsoft/go-winio
       github.com/Nvveen/Gotty
-      github.com/cenkalti/backoff/v4	(github.com/cenkalti/backoff in Debian)
-      github.com/cespare/xxhash/v2	(github.com/cespare/xxhash in Debian)
     github.com/mackerelio/go-osstat
     github.com/maxbrunsfeld/counterfeiter/v6
-    github.com/pion/sdp/v3 (2)
-    github.com/pion/webrtc/v4 (2)
-    github.com/puzpuzpuz/xsync/v3	(github.com/puzpuzpuz/xsync in Debian)
     github.com/redis/go-redis/v9 (2)
       github.com/bsm/ginkgo/v2
       github.com/bsm/gomega
-      github.com/cespare/xxhash/v2 (2)
     github.com/twitchtv/twirp (2)
     buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go (3)
     cel.dev/expr (3)
@@ -80,24 +68,6 @@
       github.com/envoyproxy/protoc-gen-validate (2)
       cel.dev/expr (4)
       github.com/antlr4-go/antlr/v4 (4)
-    github.com/cespare/xxhash/v2 (3)
-    github.com/pion/dtls/v3 (5)
-      github.com/pion/transport/v3 (8)
-    github.com/pion/ice/v4 (2)
-    github.com/pion/mdns/v2 (2)
-      github.com/pion/transport/v3 (9)
-    github.com/pion/srtp/v3 (2)
-      github.com/pion/transport/v3 (10)
-    github.com/pion/stun/v3 (3)
-      github.com/pion/dtls/v3 (6)
-      github.com/pion/transport/v3 (11)
-    github.com/pion/transport/v3 (12)
-    github.com/pion/turn/v4 (2)
-      github.com/pion/stun/v3 (4)
-        github.com/pion/dtls/v3 (7)
-        github.com/pion/transport/v3 (13)
-      github.com/pion/transport/v3 (14)
-      github.com/pion/dtls/v3 (8)
   github.com/livekit/psrpc (2)
     github.com/frostbyte73/core (4)
     github.com/livekit/mageutil (4)
@@ -106,77 +76,14 @@
     github.com/twitchtv/twirp (3)
     github.com/Microsoft/go-winio (2)
     github.com/Nvveen/Gotty (2)
-    github.com/cenkalti/backoff/v4 (2)
-    github.com/cespare/xxhash/v2 (4)
   github.com/mackerelio/go-osstat (2)
   github.com/maxbrunsfeld/counterfeiter/v6 (2)
     github.com/sclevine/spec
   github.com/ory/dockertest/v3 (3)
-  github.com/pion/dtls/v3 (9)
-    github.com/pion/transport/v3 (15)
-  github.com/pion/ice/v4 (3)
-    github.com/pion/dtls/v3 (10)
-      github.com/pion/transport/v3 (16)
-    github.com/pion/mdns/v2 (3)
-      github.com/pion/transport/v3 (17)
-    github.com/pion/stun/v3 (5)
-      github.com/pion/dtls/v3 (11)
-      github.com/pion/transport/v3 (18)
-    github.com/pion/transport/v3 (19)
-    github.com/pion/turn/v4 (3)
-      github.com/pion/stun/v3 (6)
-        github.com/pion/dtls/v3 (12)
-        github.com/pion/transport/v3 (20)
-      github.com/pion/transport/v3 (21)
-      github.com/pion/dtls/v3 (13)
-  github.com/pion/sdp/v3 (3)
-  github.com/pion/transport/v3 (22)
-  github.com/pion/turn/v4 (4)
-    github.com/pion/stun/v3 (7)
-      github.com/pion/dtls/v3 (14)
-      github.com/pion/transport/v3 (23)
-    github.com/pion/transport/v3 (24)
-    github.com/pion/dtls/v3 (15)
-  github.com/pion/webrtc/v4 (3)
-    github.com/pion/dtls/v3 (16)
-      github.com/pion/transport/v3 (25)
-    github.com/pion/ice/v4 (4)
-      github.com/pion/dtls/v3 (17)
-        github.com/pion/transport/v3 (26)
-      github.com/pion/mdns/v2 (4)
-        github.com/pion/transport/v3 (27)
-      github.com/pion/stun/v3 (8)
-        github.com/pion/dtls/v3 (18)
-        github.com/pion/transport/v3 (28)
-      github.com/pion/transport/v3 (29)
-      github.com/pion/turn/v4 (5)
-        github.com/pion/stun/v3 (9)
-          github.com/pion/dtls/v3 (19)
-          github.com/pion/transport/v3 (30)
-        github.com/pion/transport/v3 (31)
-        github.com/pion/dtls/v3 (20)
-    github.com/pion/sdp/v3 (4)
-    github.com/pion/srtp/v3 (3)
-      github.com/pion/transport/v3 (32)
-    github.com/pion/stun/v3 (10)
-      github.com/pion/dtls/v3 (21)
-      github.com/pion/transport/v3 (33)
-    github.com/pion/transport/v3 (34)
-    github.com/sclevine/agouti
-    github.com/pion/mdns/v2 (5)
-      github.com/pion/transport/v3 (35)
-    github.com/pion/turn/v4 (6)
-      github.com/pion/stun/v3 (11)
-        github.com/pion/dtls/v3 (22)
-        github.com/pion/transport/v3 (36)
-      github.com/pion/transport/v3 (37)
-      github.com/pion/dtls/v3 (23)
   github.com/redis/go-redis/v9 (4)
     github.com/bsm/ginkgo/v2 (2)
     github.com/bsm/gomega (2)
-    github.com/cespare/xxhash/v2 (5)
   github.com/twitchtv/twirp (4)
-  github.com/urfave/negroni/v3	(github.com/urfave/negroni in Debian)
   buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go (5)
   buf.build/go/protoyaml (2)
     buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go (6)
@@ -196,15 +103,5 @@
     github.com/envoyproxy/protoc-gen-validate (4)
     cel.dev/expr (8)
     github.com/antlr4-go/antlr/v4 (8)
-  github.com/cenkalti/backoff/v4 (3)
-  github.com/cespare/xxhash/v2 (6)
   github.com/lithammer/shortuuid/v4 (2)
-  github.com/pion/mdns/v2 (6)
-    github.com/pion/transport/v3 (38)
-  github.com/pion/srtp/v3 (4)
-    github.com/pion/transport/v3 (39)
-  github.com/pion/stun/v3 (12)
-    github.com/pion/dtls/v3 (24)
-    github.com/pion/transport/v3 (40)
-  github.com/puzpuzpuz/xsync/v3 (2)

Copy link
Contributor

@ottok ottok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this change makes sense, and is well implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants