DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-facebookincubator-nvdtools 0.1.5+ds-1

Package Information

Descriptiontools 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.

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-facebookincubator-nvdtools.git (browse)
Closes#1148638
Trackerhttps://tracker.debian.org/pkg/golang-github-facebookincubator-nvdtools
Uploaded11 days ago

New Package Report

.changes◂
Version0.1.5+ds-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateTue, 22 Sep 2026 03:47:09 +0200
Sourcegolang-github-facebookincubator-nvdtools
Changelog◂
golang-github-facebookincubator-nvdtools (0.1.5+ds-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1148638)
.dsc◂
Componentmain
Package-Listgolang-github-facebookincubator-nvdtools-dev deb golang optional arch=all
Sectiongolang
Priorityoptional
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/copyright is 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 has Depends: @, @builddeps@ (/usr/share/autodep8/support/go/generate).
  • Problem: Depends is for what the installed package needs at run time (Policy 7.1); testify is needed only to run tests, which the autopkgtest gets from Build-Depends through 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-dev from the binary Depends and keep it in Build-Depends only (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 no debian/*.docs or debian/install, and dh_installdocs(1) installs only copyright, debian/package.README.Debian, debian/package.TODO and files named in a .docs file.
  • 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.docs naming debian/README.source, or dh_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.go Apache-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 reserved and 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: debian matches reality: the orig tarball lists only nvdtools-0.1.5/ with no debian/ 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 schema file and script.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/wfn and testify from _test.go files; their tests use embedded XML/JSON strings, not network fetches.
  • No package main outside the excluded trees: all 41 hits are under cmd/ or vulndb/sqlutil/b64schema, so the Architecture: 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/flog and github.com/dgrijalva/jwt-go/v4 are 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 golang debhelper addon and buildsystem, Conflicts dh-golang, so the lintian override is right), dpkg-build-api provided 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 is 0.1.5+ds-1, unstable, initial release closing #1148638.
  • Testsuite: autopkgtest-pkg-go fits autodep8's go template (detected via golang-any in Build-Depends), which runs dh_golang_autopkgtest with the package and @builddeps@ installed.
  • Files-Excluded removes only upstream's own debian/ 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, packaged 0.1.5+ds).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
  • providers/rustsec/rustsec_test.go:92 notes that its sampleAdvisory string 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 test step 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

VersionHashAllocatedCompletedReviewerStatusDetails
0.1.5+ds-1 08f120d8… 2026-10-27 18:05 2026-10-27 18:05 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package