Review: golang-github-anchore-go-rpmdb 0.2.0+ds-1
Package Information
| Description | enumerate packages in an RPM DB (library) Library for enumerating packages in an RPM DB Packages file (without bindings). |
|---|---|
| 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-anchore-go-rpmdb.git (browse) |
| Closes | #1135321 |
| Tracker | https://tracker.debian.org/pkg/golang-github-anchore-go-rpmdb |
| Uploaded | 13 days ago |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Sat, 26 Sep 2026 02:55:00 +0200 |
| Source | golang-github-anchore-go-rpmdb |
| Version | 0.2.0+ds-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
Changelog
golang-github-anchore-go-rpmdb (0.2.0+ds-1) unstable; urgency=medium . * Initial release (Closes: #1135321)
.dsc
| Section | golang |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | golang-github-anchore-go-rpmdb-dev deb golang optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/anchore/go-rpmdb
Upstream-Name: go-rpmdb
Upstream-Contact: https://github.com/anchore/go-rpmdb/issues
Files-Excluded:
pkg/testdata/*/Packages
pkg/testdata/*/Packages.db
pkg/testdata/*/rpmdb.sqlite
pkg/testdata/.gitignore
Comment:
The excluded files are RPM databases copied out of CentOS, Oracle Linux, Rocky
Linux, SUSE and CBL-Mariner images: 259 MB of Berkeley DB and SQLite binaries
against 1.4 MB for the rest of the source. They are build output rather than
source, and they carry those distributions' package metadata, including
summaries, descriptions and licence strings, which is third-party text with no
licence of its own. debian/rules skips the two tests that read them.
.
pkg/testdata/blob.bin is kept: 5 KB, a single RPM header blob that TestNevra
parses. pkg/testdata/.gitignore only lists what the databases were unpacked
from, and installing it would ship a VCS control file.
Files: *
Copyright:
2019 Teppei Fukuda
2025-2026 Anchore, Inc.
License: Expat
Comment:
Anchore, Inc. is not listed in LICENSE but the forked repo is owned by them
(https://github.com/anchore) and contains significant changes from them.
Files: pkg/rpmdb_test.go
pkg/rpmdb_testcase_test.go
Copyright:
2019 Teppei Fukuda
2025-2026 Anchore, Inc.
License: Expat
Comment:
These two hold the expected values of the database tests, so they quote the
licence field of packages from CentOS and other distributions ("GPLv2+",
"LGPLv2+ with exceptions", "Public domain (uncopyrighted)"), 2290 times in the
second file. Those strings are test data and do not put the files under the
licences they name; licensecheck reads them as GPL-2, hence this stanza and
debian/lrc.config.
Files: pkg/ndb/ndb.go
Copyright: 2021 SUSE LLC
License: Expat
Files: debian/*
Copyright: 2026 Maytham Alsudany <maytham@debian.org>
License: Expat
Comment: Debian packaging is licensed under the same terms as upstream
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 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 13 days ago.
Report
DFSG NEW review for golang-github-anchore-go-rpmdb version 0.2.0+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 1 found
Licensing
The tree holds one licence only: MIT ('Expat'). LICENSE is MIT with Copyright (c) 2019 Teppei Fukuda, and pkg/ndb/ndb.go carries the same MIT text as an in-file header with Copyright (c) 2021 SUSE LLC. Both are freely usable, modifiable and distributable, and the two combine without conflict. debian/copyright is DEP-5 (correct Format:), its Files-Excluded matches what the +ds tarball actually omits (the 17 pkg/testdata/*/ directories are empty, pkg/testdata/.gitignore is gone, and the .orig.tar.xz beside the package is 168 KB rather than 259 MB), and its four Files: stanzas cover every file in the tree with the right holders and licence. Expat is not in /usr/share/common-licenses, and its full text is reproduced as a stand-alone License: Expat paragraph. Nothing in the tree is non-free, and the only binary file kept, pkg/testdata/blob.bin, is documented test data.
Packaging
This is a careful, conventional Go-team package. debian/control is complete (Section: golang, Architecture: all, Multi-Arch: foreign, XS-Go-Import-Path, Testsuite: autopkgtest-pkg-go, Vcs-* on salsa, Standards-Version: 4.7.4 against Policy 4.7.4.1), and its Build-Depends — debhelper-compat (= 13), dh-go, golang-any, golang-modernc-sqlite-dev, golang-github-stretchr-testify-dev <!nocheck> — are all satisfiable in the archive and sufficient for what the buildsystem compiles. debian/rules uses dh with the golang buildsystem, installs source only (--no-binaries, right for a library-only -dev package) and skips exactly the two tests that read the databases the +ds repack removes, with the reason recorded in debian/rules and debian/copyright; the autopkgtest runs through make -f debian/rules build, so it uses the same override. The single patch has DEP-3 headers, a stated reason for not being forwarded, and is needed (upstream's sqlite driver has no Debian package). The debian/source/lintian-overrides entry is justified: dh-go 1.69 in the archive Conflicts: dh-golang and does not Provide: dh-sequence-golang. Changelog, gbp.conf, upstream/metadata and salsa-ci.yml are all in order; there are no maintainer scripts to get wrong.
Issues
None.
Verified ◂
- Read all of
debian/in full: changelog, control, copyright, rules, gbp.conf, lrc.config, salsa-ci.yml, source/format, source/lintian-overrides, upstream/metadata, patches/series and the patch.debian/watchleft alone as instructed. - Covered the whole upstream tree (45-odd files: Go sources, test fixtures, YAML configs, README, LICENSE) by grepping every file for Licence/Copyright/(C)/©/SPDX/GNU/Apache/MPL/BSD/MIT/ISC/zlib/Artistic/CC-BY/'All rights reserved'. Besides
LICENSEandpkg/ndb/ndb.go, no file carries licence wording; all of it is MIT/Expat, which matchesdebian/copyright. pkg/testdata/blob.bin(5.1 KB, binary; not opened, judged from its use): a single RPM header blob.pkg/rpmdb_test.go:1028(TestNevra) reads it withos.ReadFileand parses it throughheaderImport/getNEVRA. Test data, deliberately kept and named indebian/copyright's headerComment, covered byFiles: *; it is not a built file whose source is missing, and it carries no licence of its own to declare.- The three holders the pre-scan flagged are not copyright holders:
pkg/rpmdb_testcase_test.go:257,:566and:1260are rows of a table of expected RPM fields, where the strings are theLicense/Packages/PGP values of CentOS packages, e.g."Copyright 1999-2010 the CentOS Project. All rights reserved."and"RSA/SHA1, Thu Aug 16 13:08:48 2012, Key ID 0946fca2c105b9de".debian/copyright's second stanza and itsCommentstate exactly this, anddebian/lrc.configtells licensecheck the same. - Same for
pkg/rpmdb_test.go: the only licence-like words are further table values of the same kind (:749"MIT and ASL 2.0 and ISC and BSD",:849,:944). Files-Excludedis accurate: the 17pkg/testdata/*/directories exist but are empty,pkg/testdata/.gitignoreis absent, and no excluded path is still present. The shippedgolang-github-anchore-go-rpmdb_0.2.0+ds.orig.tar.xzis 172544 bytes, consistent with the excluded databases being gone; nothing undeclared was found in the tree.Files: *(Teppei Fukuda, Anchore, Inc.),Files: pkg/rpmdb_test.go pkg/rpmdb_testcase_test.go,Files: pkg/ndb/ndb.go(SUSE LLC) andFiles: debian/*(Maytham Alsudany) are ordered so the later stanzas override the catch-all, and each matches the evidence in the file it names; the stand-aloneLicense: Expattext is the same MIT text asLICENSEandpkg/ndb/ndb.go.debian/lrc.configis a real file with a real effect: thelrcmanual page, underEXCLUSIONS, says 'False positives may suppressed by creating a file debian/lrc.config'.- The licence names in
.bouncer.yamlare an allow-list for dependencies, not code in this tree;.binny.yaml,.chronicle.yaml,.golangci.yaml,.make/*and.github/*are Anchore's own tool configuration, all covered byFiles: *. - Dependencies resolve:
dh-go1.69,golang-modernc-sqlite-dev1.40.0+dfsg-2 andgolang-github-stretchr-testify-dev1.11.1-2 are all in the archive; grep of every import in the tree shows the only external imports aregithub.com/stretchr/testify/*(tests) andmodernc.org/sqlite(cmd/rpmdb,pkg/rpmdb_test.go), and.make/main.go's import ofgithub.com/anchore/go-makeis never built because Go's./...skips dot-directories. Depends: ${misc:Depends}alone is fine at compat 13: the substvar is named, and dpkg strips the field's trailing comma after substitution (Dpkg/Control/HashCore.pmapply_substvars).Uploadersindebian/controlends with a stray comma; dpkg accepts a trailing comma in an address list (Dpkg/Email/AddressList.pm's regex ends 'Required address followed by an optional trailing comma'), and the signed.dscbeside the package carries the field without it.- The skipped tests are the only ones needing the removed data:
TestPackageListiteratespackageTests(testdata/*/Packages) andTestRpmDB_Packageopenstestdata/libuuid/Packages; the other seven tests build index entries in memory or readblob.bin. dh-golang's test step passes the extra arguments before the targets, sogo test -vet=off -v -p N -skip 'TestPackageList|TestRpmDB_Package' <targets>is well formed, and-skipis supported by the Go in the archive. - autopkgtest-pkg-go is workable:
/usr/bin/dh_golang_autopkgtestcopies the source and callsmake -f debian/rules build, so the sameoverride_dh_auto_test(and its skip) applies and the missing databases cannot fail the test run. - The patch's headers (From, Date, Subject,
Forwarded: not-needed) and its reasoning check out: onlycmd/rpmdbandpkg/rpmdb_test.goblank-import the driver, both drivers register the name 'sqlite', and the build runs in GOPATH mode (GO111MODULE=offin the golang buildsystem), sogo.sumis not consulted. - Changelog:
golang-github-anchore-go-rpmdb (0.2.0+ds-1) unstable; urgency=medium, closing #1135321, correctly dated (2026-09-26 was a Saturday). Standards-Version 4.7.4 against Policy 4.7.4.1 is current enough. - No build, test or command was run (read-only review); no maintainer scripts, install files or autopkgtest control files exist to check.
- uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream0.2.2, packaged0.2.0+ds), which is not a fault of the package.
Not confirmed ◂
pkg/ndb/syscall.goandpkg/ndb/syscall_linux.gocarry no copyright header, soFiles: *attributes them to 2019 Teppei Fukuda / 2025-2026 Anchore, Inc. Whether they came with the SUSE LLC contribution thatpkg/ndb/ndb.godeclares could not be determined from the package (no VCS history available); if they did, the SUSEFiles:stanza should cover the wholepkg/ndb/directory.- The contents of
pkg/testdata/blob.binwere not inspected byte by byte (binary file); it is described, and used, as a single RPM header blob. - Whether #1135321 is the correct ITP number could not be checked (no network access).
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 13 days ago.
Review Information
accepted — allocated to awm 13 days ago, started 13 days ago, completed 13 days ago.
Final Comment
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 0.1.0-1 | 949adae3… | 2026-05-01 09:12 | 2026-05-01 11:17 | awm | rejected | VIEW |