Review: golang-github-aquasecurity-trivy-java-db 0.0~git20240109.184bd74-1
Package Information
| Description | parses all indexes from maven repository (library) trivy-java-db parses all indexes from maven repository and stores ArtifactID, GroupID, Version and sha1 for jar files to SQlite DB. The DB is used in Trivy to discover information about jars without GAV inside them. |
|---|---|
| Maintainer | Debian Go Packaging Team <team+pkg-go@tracker.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/go-team/packages/golang-github-aquasecurity-trivy-java-db.git (browse) |
| Closes | #1152497 |
| Tracker | https://tracker.debian.org/pkg/golang-github-aquasecurity-trivy-java-db |
| Uploaded | 2 days ago |
New Package Report
.changes
| Date | Fri, 30 Oct 2026 05:13:03 +0100 |
|---|---|
| Source | golang-github-aquasecurity-trivy-java-db |
| Version | 0.0~git20240109.184bd74-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
Changelog
golang-github-aquasecurity-trivy-java-db (0.0~git20240109.184bd74-1) unstable; urgency=medium . * Initial release (Closes: #1152497)
.dsc
| Section | golang |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | golang-github-aquasecurity-trivy-java-db-dev deb golang optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/aquasecurity/trivy-java-db
Upstream-Name: trivy-java-db
Upstream-Contact: https://github.com/aquasecurity/trivy-java-db/issues
Files: *
Copyright: 2023 Teppei Fukuda <knqyf263@gmail.com>
2023-2024 DmitriyLewen <https://github.com/DmitriyLewen>
2023 rdjones517 <rdjones517@gmail.com>
License: Apache-2.0
Comment: Upstream has no copyright notice (LICENSE carries the unfilled
Apache-2.0 appendix and no file has a header). The holders are the authors
of the commits in the upstream history. pkg/crawler/testdata/ holds saved
Maven Central directory listings and .sha1 files.
Files: debian/*
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Apache-2.0
Comment: Debian packaging is licensed under the same terms as upstream
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comment:
On Debian systems, the complete text of the Apache version 2.0 license
can be found in "/usr/share/common-licenses/Apache-2.0".
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 2 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 day ago.
Report
DFSG NEW review for golang-github-aquasecurity-trivy-java-db version 0.0~git20240109.184bd74-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The whole upstream tree is Apache-2.0: LICENSE carries the complete Apache-2.0 text with the unfilled appendix, and no source file, README, Makefile, workflow or test fixture carries a separate notice, so nothing in the tree has terms differing from that licence. debian/copyright is DEP-5 and accurate: Files: * names the three authors and Apache-2.0, debian/* is covered separately, and the stand-alone licence paragraph reproduces the Apache boilerplate and points at /usr/share/common-licenses/Apache-2.0. There is no vendored third-party code, no non-free wording, and no built artifact or documentation without its source; the only data files are saved Maven Central directory listings and checksums in pkg/crawler/testdata/, which contain no copyrightable content.
Packaging
The packaging follows current Go-team practice: compat 14 with dh-go, dpkg-build-api (= 1), DEP-5 copyright, a single -dev package with complete runtime Depends, and cmd/ kept out of both build and install so the cobra-only program needs no build dependency. Two small defects remain: debian/rules uses a non-default build directory that makes the autopkgtest-pkg-go test fail instead of running the suite, and debian/gbp.conf sets dist to something that is not a Debian distribution.
Issues
minor packaging 1. autopkgtest will fail: dh_golang_autopkgtest fills _build while debian/rules builds in debian/_build ◂
- Files:
debian/rules:7,/usr/bin/dh_golang_autopkgtest - Basis: inferred from what was read, not seen directly
- Evidence: debian/rules:7
dh $@ --builddirectory=debian/_build --buildsystem=golang --with=golang; the autopkgtest helper appended to debian/rules by /usr/bin/dh_golang_autopkgtest computesAPT_BDIR := $(shell ... load_buildsystem("golang")->get_builddir())(the buildsystem's default,_buildat compat 14) and runscp -a /usr/share/gocode/src "${APT_BDIR}"inoverride_dh_auto_configure. - Problem:
Testsuite: autopkgtest-pkg-gomakes autodep8 run /usr/bin/dh_golang_autopkgtest, which — once/usr/share/gocode/src/github.com/aquasecurity/trivy-java-dbis installed by the -dev package — replaces dh_auto_configure with a copy of the installed source into the buildsystem's default build directory. The one-liner parses no debhelper options, so it always yields_build, whereas dh in this package usesdebian/_build; the override therefore populates the wrong directory and the golang configure step, which is what normally fills$builddir/src/$DH_GOPKG, never runs. dh_auto_build then callsgo install(and dh_auto_testgo test) withGOPATH=$PWD/debian/_buildin a directory that was never created, so the autopkgtest on ci.debian.net fails rather than testing the installed source. - Fix: Drop
--builddirectory=debian/_build(at compat 14 the golang buildsystem already defaults to_build, which is what the helper expects), or pass--builddirectory=_buildexplicitly.
minor
packaging
2. debian/gbp.conf sets dist = DEP14, which is not a Debian distribution
◂
- Files:
debian/gbp.conf:3 - Basis: checked, in the package or with a reference tool
- Evidence: gbp.conf:3
dist = DEP14under[DEFAULT]; gbp-buildpackage(1):--git-dist=DIST Build for distribution DIST when using git-pbuilder (either via --git-pbuilder, --git-qemubuilder or the corresponding config file options), with the default being to take it from the changelog. - Problem: Per gbp.conf(5), keys in the configuration file are the command-line options with
--git-stripped off, sodistin[DEFAULT]isgbp buildpackage --git-dist. DEP14 is the name of the branch-layout standard, not a suite, so agbp buildpackage --git-pbuilderrun made from this repository would be asked to build for a non-existentDEP14distribution (no effect when pbuilder is not used, which is why it went unnoticed). - Fix: Remove the line, or set it to the suite actually built for (for example
dist = unstable).
Verified ◂
- All 29 upstream files inventoried directory by directory:
.gitignore,LICENSE,Makefile,README.md,go.mod,go.sum,.github/workflows/{cron.yml,test.yaml},cmd/trivy-java-db/main.go,pkg/{builder,crawler,db,dbtest,fileutil,types}/*.go,pkg/crawler/testdata/*andpkg/crawler/testdata/golden/abbot.json;debian/read in full. - Grep of the whole tree (excluding
.pc/anddebian/) forCopyright,(C),©,SPDX-License-Identifier,Licensed under,Permission is hereby granted,All rights reserved,public domain,non-commercial,no modificationfinds only the Apache-2.0 body and its unfilled appendix inLICENSE, matching theCommentindebian/copyright; no file carries terms of its own, so no furtherFiles:stanza is needed. pkg/crawler/testdata/index.html,abbot*.htmlandmaven-metadata.xmlare saved repo.maven.apache.org directory-listing pages;*.jar.sha1andgolden/abbot.jsonare generated checksums/expected output. They are test fixtures with no copyrightable text and no built artifact, anddebian/copyrightnames them in theFiles: *comment.debian/copyrightis DEP-5 throughout (Format, Upstream-Name, Source, Upstream-Contact,Files: *,Files: debian/*, one stand-aloneLicense:paragraph); its/usr/share/common-licenses/Apache-2.0pointer resolves and the quoted text matches Apache-2.0. The pre-scan found no holder missing from the file and listed no files to account for.- No vendored third-party code:
go.modrequires only modules Debian ships separately (goquery, pb/v3, go-retryablehttp, cobra, testify, x/sync, x/xerrors, k8s.io/utils, modernc.org/sqlite), and each library import appears inDepends. - Import graph checked: the packaged packages import cheggaaa/pb/v3, retryablehttp, goquery,
golang.org/x/sync/semaphore, xerrors andk8s.io/utils/clock, all inDepends; testify is imported only bypkg/dbtestand the tests and is inDependsaccordingly;modernc.org/sqliteappears only as a blank import incmd/trivy-java-db/main.go(excluded from the build byDH_GOLANG_EXCLUDES) and inpkg/db/db_test.go, which is exactly what the<!nocheck>build dependency and the absence of a sqliteDependsreflect. - All dependency names exist in the archive (apt-cache): dh-go 1.69 (provides the
golangsequence, buildsystem,dh_golanganddh_golang_autopkgtest), dpkg-build-api provided by dpkg-dev 1.23.11 (= 1), golang-any, golang-github-cheggaaa-pb.v3-dev, golang-github-hashicorp-go-retryablehttp-dev, golang-github-puerkitobio-goquery-dev, golang-github-stretchr-testify-dev, golang-golang-x-sync-dev, golang-golang-x-xerrors-dev, golang-k8s-utils-dev, golang-modernc-sqlite-dev. - Standards-Version 4.7.4 against Policy 4.7.4.1 from the
policytool — current, not an issue. debian/changelog: singleunstableentry, version0.0~git20240109.184bd74-1, closes #1152497, date coherent with the version; Vcs-Git/Vcs-Browser/Homepage/XS-Go-Import-Path agree with the source name and module path.- At compat 14
DH_GOLANG_EXCLUDES := cmdapplies to both build targets and install (DH_GOLANG_EXCLUDES_ALLdefault), so the -dev package ships only the library and cobra is legitimately not a build dependency;golang-modernc-sqlite-dev <!nocheck>is the right place for a test-only driver. - No patches (
debian/patchesabsent,3.0 (quilt)), no maintainer scripts, no.install/.links/.docsfiles needing review;debian/salsa-ci.ymlis the standard include anddebian/upstream/metadatais consistent with Homepage. - uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream0.0~git20261009.537388b, packaged0.0~git20240109.184bd74), which is not a fault of the package. - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- The three holders in
Files: *are presented as the authors of the upstream commits; the tree itself contains no copyright notices, so the completeness of that list cannot be verified from the source alone. - The effect of
dist = DEP14in gbp.conf is taken from gbp.conf(5) and gbp-buildpackage(1); gbp was not run.
Proposed changes ◂
None.
Uploader's response to the LLM review
False positives, so no change.
-
The autopkgtest passes as uploaded. With dh-go 1.69 the helper honours --builddirectory. The log shows mkdir -p "debian/_build", cp -a /usr/share/gocode/src "debian/_build", then cd debian/_build && go install and go test, and ends with "dh-golang-autopkgtest PASS".
-
DEP14 is a special value of gbp's dist option. gbp-buildpackage(1) says: "The special value DEP-14 will set the distribution to build for from the branch name." dh-make-golang writes it by default.
— Juan Manuel Méndez Rey (mendezr), 1 day ago
Review Information
accepted — allocated to mechtilde 1 day ago, started 1 day ago, completed 1 day ago.