Review: golang-github-facebookincubator-nvdtools 0.1.5+ds-1
Package Information
| Description | tools for National Vulnerability Database feeds (library) NVD Tools is a collection of Go libraries for working with vulnerability data from the National Vulnerability Database. This package ships the parts that build against Debian's Go libraries: Well-Formed CPE Names (WFN) parsing, matching and conversion, CVSS v2 and v3 scoring, the CPE dictionary reader and RPM version comparison. Upstream's command-line tools, CVE feed matching and vulnerability database are not included, because they need Go modules that Debian does not carry. See debian/README.source. |
|---|---|
| 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-facebookincubator-nvdtools.git (browse) |
| Closes | #1148638 |
| Tracker | https://tracker.debian.org/pkg/golang-github-facebookincubator-nvdtools |
| Uploaded | 11 days ago |
New Package Report
.changes
| Version | 0.1.5+ds-1 |
|---|---|
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
| Date | Tue, 22 Sep 2026 03:47:09 +0200 |
| Source | golang-github-facebookincubator-nvdtools |
Changelog
golang-github-facebookincubator-nvdtools (0.1.5+ds-1) unstable; urgency=medium . * Initial release (Closes: #1148638)
.dsc
| Component | main |
|---|---|
| Package-List | golang-github-facebookincubator-nvdtools-dev deb golang optional arch=all |
| Section | golang |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/facebookincubator/nvdtools
Upstream-Name: nvdtools
Upstream-Contact: https://github.com/facebookincubator/nvdtools/issues
Files-Excluded:
debian
Comment: Upstream ships its own top-level debian/ directory dating from
2019 (debhelper compat 9, Standards-Version 3.9.6). It is unrelated to this
packaging, would collide with it in a 3.0 (quilt) source package, and is
therefore removed from the source tarball.
Files: *
Copyright: Facebook, Inc. and its affiliates
License: Apache-2.0
Comment: The LICENSE is stock Apache-2.0 with the appendix placeholder left
unfilled, so it names no holder. The holder comes from the per-file headers,
which carry no year, so none is stated here.
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".
Files: vulndb/sqlutil/b64schema/lint.go
Copyright: Facebook, Inc. and its affiliates
2013 The Go Authors
License: Apache-2.0 and BSD-3-clause
Comment: This file carries two licence headers. Facebook's Apache-2.0 header
comes first, followed by the Go Authors' BSD-style header and the note
"copied from https://github.com/golang/lint/blob/master/lint.go". The stanza
declares the union of both, since both apply to the file as distributed.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
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 11 days ago.
Report
DFSG NEW review for golang-github-facebookincubator-nvdtools version 0.1.5+ds-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
debian/copyright is DEP-5 with the correct Format URL. Every file in the tree is covered: Files: * (Facebook, Inc. and its affiliates, Apache-2.0) plus a later stanza for vulndb/sqlutil/b64schema/lint.go, the single file that also carries the Go Authors' 2013 BSD header, with Apache-2.0 and BSD-3-clause and both licence texts. Greps of the whole upstream tree for copyright, SPDX, Apache/BSD/GNU/MPL/MIT/CC wording and non-free phrases found no other holder and no other licence; the tarball contains no binaries, minified files, images or fonts, and the one Files-Excluded pattern (debian) matches what was actually stripped (the orig tarball has no upstream debian/). Apache-2.0 and BSD-3-clause are DFSG-free and compatible with each other.
Packaging
Correct team packaging: dh-go with debhelper compat 14 and --buildsystem=golang --with=golang, Standards-Version 4.7.4 (Policy 4.7.4.1), Vcs-*/
Homepage/XS-Go-Import-Path all set, salsa CI, gbp.conf, autopkgtest via Testsuite: autopkgtest-pkg-go. The partial build is justified and documented: flog and jwt-go are absent from the archive, the five shipped packages import only the standard library, wfn and testify in tests, and DH_GOLANG_EXCLUDES keeps the unbuildable cmd/, cvefeed/, providers/, vulndb/ and stats/ trees out of the binary — all package main files lie in those trees, so the Architecture: all package contains no compiled binaries. Two minor points remain: a test-only library in the -dev package's Depends, and a Description that points at a README.source no binary ships.
Issues
minor packaging 1. Depends on golang-github-stretchr-testify-dev although testify is used only by the shipped *_test.go files ◂
- Files:
debian/control:20,cvss2/vector_test.go:21,cvss3/vector_test.go:21 - Basis: checked, in the package or with a reference tool
- Evidence:
Depends: golang-github-stretchr-testify-dev,in the -dev stanza; the only imports among shipped packages are"github.com/stretchr/testify/assert"in cvss2/vector_test.go and cvss3/vector_test.go (all other hits are in the excluded cvefeed/ and providers/); the generated autopkgtest hasDepends: @, @builddeps@(/usr/share/autodep8/support/go/generate). - Problem:
Dependsis for what the installed package needs at run time (Policy 7.1); testify is needed only to run tests, which the autopkgtest gets fromBuild-Dependsthrough autodep8's@builddeps@. As written, every package that installs this -dev package pulls in a test framework it never needs. - Fix: Drop
golang-github-stretchr-testify-devfrom the binaryDependsand keep it inBuild-Dependsonly (leaving just${misc:Depends}).
minor packaging 2. Description refers to debian/README.source, which is not shipped in any binary package ◂
- Files:
debian/control:31,debian/README.source - Basis: checked, in the package or with a reference tool
- Evidence: Description ends
See debian/README.source.; there is nodebian/*.docsordebian/install, and dh_installdocs(1) installs only copyright,debian/package.README.Debian,debian/package.TODOand files named in a.docsfile. - Problem: README.source is a source-package document (Policy 4.14) explaining the trimmed source layout; it is not part of the installed package, so the pointer in the package description cannot be followed by a user.
- Fix: Either install it (
debian/golang-github-facebookincubator-nvdtools-dev.docsnamingdebian/README.source, ordh_installdocs debian/README.source) or reword the description so it stands on its own.
Verified ◂
- Read every file in debian/ in full: control, rules, changelog, copyright, gbp.conf, lrc.config, README.source, salsa-ci.yml, source/format, source/lintian-overrides, upstream/metadata, watch was left alone; there is no debian/patches, debian/tests, debian/install or debian/*.docs.
- debian/copyright is DEP-5:
Files: *Facebook, Inc. and its affiliates, Apache-2.0;Files: debian/*2026 Juan Manuel Méndez Rey, Apache-2.0;Files: vulndb/sqlutil/b64schema/lint.goApache-2.0 and BSD-3-clause with the standalone Apache-2.0 and BSD-3-clause texts, the latter reproducing the Go Authors' 2013 notice. - Whole-tree grep for
Copyright,(C),©,SPDX-License-Identifier,Licensed under, GNU/Apache/MPL/MIT/CC/BSD wording,All rights reservedand non-free terms found only the Facebook per-file header and, at vulndb/sqlutil/b64schema/lint.go:15,Copyright (c) 2013 The Go Authors. All rights reserved.; that file's own stanza covers it, and the prescan's author check (no files listed, every holder named) agrees with the grep. Files-Excluded: debianmatches reality: the orig tarball lists onlynvdtools-0.1.5/with nodebian/entry, and the unpacked tree has no upstream debian files left over; nothing else is excluded by the pattern.- No binary or non-source assets: a glob for png/jpg/gif/pdf/jar/class/so/dll/exe/pyc/woff/ttf/zip/gz/bin found nothing, and the LICENSE is stock Apache-2.0 (appendix placeholder unfilled, hence the holder taken from the per-file headers as the copyright Comment says).
- Generated code is plain, readable Go and outside the shipped packages: cvefeed/nvd/schema/schema.go (auto-generated types) and providers/idefense/schema/schema.go (generated from the
schemafile andscript.sed, both present); neither directory is installed in the binary, so no preferred-form issue arises. - Shipped packages (wfn, cvss2, cvss3, cpedict, rpm) import only the standard library,
github.com/facebookincubator/nvdtools/wfnand testify from_test.gofiles; their tests use embedded XML/JSON strings, not network fetches. - No
package mainoutside the excluded trees: all 41 hits are under cmd/ or vulndb/sqlutil/b64schema, so theArchitecture: all-dev package installs no binaries; DH_GOLANG_EXCLUDES applies to build and install (DH_GOLANG_EXCLUDES_ALL defaults to true from compat 12). - The exclusion justification holds:
github.com/facebookincubator/flogandgithub.com/dgrijalva/jwt-go/v4are not in the archive (apt-cache: no such binary package in unstable or in NEW), and cmd/ and vulndb/ do import flog. - Dependencies resolve: apt-cache shows dh-go 1.69 (provides the
golangdebhelper addon and buildsystem, Conflicts dh-golang, so the lintian override is right),dpkg-build-apiprovided by dpkg-dev 1.23.11 (= 0 and = 1), golang-any and golang-github-stretchr-testify-dev; Standards-Version 4.7.4 against Policy 4.7.4.1 is current; changelog is0.1.5+ds-1, unstable, initial release closing #1148638. Testsuite: autopkgtest-pkg-gofits autodep8's go template (detected viagolang-anyin Build-Depends), which runsdh_golang_autopkgtestwith the package and@builddeps@installed.Files-Excludedremoves only upstream's owndebian/directory, which the Debian packaging replaces anyway, so that alone calls for no repack suffix.- uscan found the packaged version as the newest upstream release (upstream
0.1.5, packaged0.1.5+ds). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- providers/rustsec/rustsec_test.go:92 notes that its
sampleAdvisorystring was copied from https://github.com/RustSec/advisory-db; that project's licence is not in this tree and I could not check it. The copied part is a short advisory template in a test file in a directory that is not shipped in the binary. - No build or test was run, so the exclude list and the golang buildsystem's
go teststep were not exercised.
Proposed changes ◂
None.
Uploader's response to the LLM review
Confirmed, both will be fixed on next upload
https://salsa.debian.org/go-team/packages/golang-github-facebookincubator-nvdtools/-/merge_requests/2
Neither needs a re-upload, so this lands in the next revision.
— Juan Manuel Méndez Rey (mendezr), 11 days ago
Review Information
accepted — allocated to awm 11 days ago, started 11 days ago, completed 11 days ago.
Final Comment
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 0.1.5+ds-1 | 08f120d8… | 2026-10-27 18:05 | 2026-10-27 18:05 | dfsg-uploader | rejected | VIEW |