DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-anchore-go-rpmdb 0.2.0+ds-1

Package Information

Descriptionenumerate packages in an RPM DB (library)

Library for enumerating packages in an RPM DB Packages file (without bindings).

MaintainerDebian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/go-team/packages/golang-github-anchore-go-rpmdb.git (browse)
Closes#1135321
Trackerhttps://tracker.debian.org/pkg/golang-github-anchore-go-rpmdb
Uploaded13 days ago

New Package Report

.changes◂
Version0.2.0+ds-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateSat, 26 Sep 2026 02:55:00 +0200
Sourcegolang-github-anchore-go-rpmdb
Changelog◂
golang-github-anchore-go-rpmdb (0.2.0+ds-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1135321)
.dsc◂
Package-Listgolang-github-anchore-go-rpmdb-dev deb golang optional arch=all
Sectiongolang
Priorityoptional
Componentmain
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/copyright is 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/watch left 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 LICENSE and pkg/ndb/ndb.go, no file carries licence wording; all of it is MIT/Expat, which matches debian/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 with os.ReadFile and parses it through headerImport/getNEVRA. Test data, deliberately kept and named in debian/copyright's header Comment, covered by Files: *; 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, :566 and :1260 are rows of a table of expected RPM fields, where the strings are the License/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 its Comment state exactly this, and debian/lrc.config tells 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-Excluded is accurate: the 17 pkg/testdata/*/ directories exist but are empty, pkg/testdata/.gitignore is absent, and no excluded path is still present. The shipped golang-github-anchore-go-rpmdb_0.2.0+ds.orig.tar.xz is 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) and Files: 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-alone License: Expat text is the same MIT text as LICENSE and pkg/ndb/ndb.go.
  • debian/lrc.config is a real file with a real effect: the lrc manual page, under EXCLUSIONS, says 'False positives may suppressed by creating a file debian/lrc.config'.
  • The licence names in .bouncer.yaml are 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 by Files: *.
  • Dependencies resolve: dh-go 1.69, golang-modernc-sqlite-dev 1.40.0+dfsg-2 and golang-github-stretchr-testify-dev 1.11.1-2 are all in the archive; grep of every import in the tree shows the only external imports are github.com/stretchr/testify/* (tests) and modernc.org/sqlite (cmd/rpmdb, pkg/rpmdb_test.go), and .make/main.go's import of github.com/anchore/go-make is 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.pm apply_substvars).
  • Uploaders in debian/control ends 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 .dsc beside the package carries the field without it.
  • The skipped tests are the only ones needing the removed data: TestPackageList iterates packageTests (testdata/*/Packages) and TestRpmDB_Package opens testdata/libuuid/Packages; the other seven tests build index entries in memory or read blob.bin. dh-golang's test step passes the extra arguments before the targets, so go test -vet=off -v -p N -skip 'TestPackageList|TestRpmDB_Package' <targets> is well formed, and -skip is supported by the Go in the archive.
  • autopkgtest-pkg-go is workable: /usr/bin/dh_golang_autopkgtest copies the source and calls make -f debian/rules build, so the same override_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: only cmd/rpmdb and pkg/rpmdb_test.go blank-import the driver, both drivers register the name 'sqlite', and the build runs in GOPATH mode (GO111MODULE=off in the golang buildsystem), so go.sum is 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 (upstream 0.2.2, packaged 0.2.0+ds), which is not a fault of the package.
Not confirmed ◂
  • pkg/ndb/syscall.go and pkg/ndb/syscall_linux.go carry no copyright header, so Files: * attributes them to 2019 Teppei Fukuda / 2025-2026 Anchore, Inc. Whether they came with the SUSE LLC contribution that pkg/ndb/ndb.go declares could not be determined from the package (no VCS history available); if they did, the SUSE Files: stanza should cover the whole pkg/ndb/ directory.
  • The contents of pkg/testdata/blob.bin were 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

VersionHashAllocatedCompletedReviewerStatusDetails
0.1.0-1 949adae3… 2026-05-01 09:12 2026-05-01 11:17 awm rejected VIEW

Back to Dashboard | View all reviews for this package