DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-aquasecurity-go-npm-version 0.0.2+git20261005.1f16ed7-1

Package Information

Descriptionlibrary for parsing npm versions and version constraints

go-npm-version is a library for parsing npm versions and version constraints, and verifying versions against a set of constraints. go-npm-version can sort a collection of versions properly, handles prerelease versions, etc.

Versions used with go-npm-version must follow Semantic Versioning. Constraints used with go-npm-version must follow npm rules.

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-aquasecurity-go-npm-version.git (browse)
Closes#1152493
Trackerhttps://tracker.debian.org/pkg/golang-github-aquasecurity-go-npm-version
Uploaded2 days ago

New Package Report

.changes◂
Version0.0.2+git20261005.1f16ed7-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateFri, 30 Oct 2026 03:16:50 +0100
Sourcegolang-github-aquasecurity-go-npm-version
Changelog◂
golang-github-aquasecurity-go-npm-version (0.0.2+git20261005.1f16ed7-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1152493)
.dsc◂
Sectiongolang
Priorityoptional
Componentmain
Package-Listgolang-github-aquasecurity-go-npm-version-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/go-npm-version
Upstream-Name: go-npm-version
Upstream-Contact: https://github.com/aquasecurity/go-npm-version/issues

Files: *
Copyright: 2020 Teppei Fukuda <knqyf263@gmail.com>
           2025-2026 DmitriyLewen <https://github.com/DmitriyLewen>
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.

Files: hack/generator/package.json
Copyright: 2020 Teppei Fukuda <knqyf263@gmail.com>
License: ISC
Comment: The npm metadata of the test-data generator declares ISC. The
 generator is not built or installed.

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

License: ISC
 Permission to use, copy, modify, and/or distribute this software for any
 purpose with or without fee is hereby granted, provided that the above
 copyright notice and this permission notice appear in all copies.
 .
 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

DFSG Assistant LLM REVIEW 0 blocker, 1 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 1 day ago.

Report◂

DFSG NEW review for golang-github-aquasecurity-go-npm-version version 0.0.2+git20261005.1f16ed7-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Unclear
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 1 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

The licences the package declares are free: Apache-2.0 for the tree (LICENSE is the Apache-2.0 text, its appendix left unfilled, no NOTICE, no per-file headers) and ISC for hack/generator/package.json, whose own "license": "ISC" declares it; the DEP-5 file matches every path (last stanza wins), gives the full ISC text and points Apache-2.0 at /usr/share/common-licenses. The unresolved point is pkg/constraint.go, which reproduces Masterminds/semver's cvRegex literal, its tilde and caret comment tables and its error strings verbatim. If, as that indicates, the file is adapted from that Expat-licensed project, debian/copyright's Files: * stanza names too few holders and carries no Expat text; upstream's history, not shipped, is what decides it.

Packaging

The packaging is in line with current Go-team practice: debhelper compat 14 with dh-go (which provides the golang addon), dpkg-build-api (= 1), Standards-Version 4.7.4 against Policy 4.7.4.1, Testsuite: autopkgtest-pkg-go, DEP-5 copyright, gbp.conf, salsa-ci and upstream metadata. The build-dependencies are right for a library-only package: cmd/ and examples/ are excluded from both build targets and installed source, so the urfave/cli import of cmd/version is not needed, testify is marked <!nocheck>, and the runtime Depends match the imports of pkg/. Nothing in debian/ needs fixing; one doubt about the non-default build directory is recorded under Not confirmed.

Issues

important licensing 1. pkg/constraint.go reproduces Masterminds/semver's cvRegex and tilde/caret comment tables verbatim, and debian/copyright names no Masterminds holder ◂
  • Files: pkg/constraint.go:14-16, pkg/constraint.go:314-320, pkg/constraint.go:325-334, debian/copyright:6-12
  • Basis: inferred from what was read, not seen directly
  • Evidence: Package: const cvRegex string = \v?([0-9|x|X|*]+)(.[0-9|x|X|*]+)?(.[0-9|x|X|*]+)?` +(constraint.go:14) and the blocks// ~, ~> --> >= 0.0.0 (any)…// ~1.2.0, ~>1.2.0 --> >=1.2.0, <1.3.0(315-320),// ^* --> (any)…// ^0 --> >=0.0.0 <1.0.0(326-334), error textimproper constraint: %s. Identical text in /usr/share/gocode/src/github.com/Masterminds/semver/constraints.go:180-182, 462-467 and 518-526 (constraintTilde, constraintCaret, improper constraint: %s), whose Debian copyright says Copyright: 2014-2015 Matt Butcher and Matt Farina, License: Expat. debian/copyright's Files: *says onlyCopyright: 2020 Teppei Fukudaand2025-2026 DmitriyLewenunderLicense: Apache-2.0`.
  • Problem: The comment tables and the regex are expressive text, not the only way to write the npm grammar, and their reproduction points to pkg/constraint.go being adapted from Masterminds/semver (Expat/MIT). Expat requires that copyright and permission notice to be included in copies and substantial portions, and Apache-2.0 section 4(c) requires third-party notices to be retained, so if the file is adapted the notice is missing both upstream and in debian/copyright, which then does not accurately describe the file (Policy 12.5, and the DEP-5 Files/Copyright fields). Apache-2.0 can absorb Expat code, so the fix is attribution, not relicensing.
  • Fix: Ask upstream whether pkg/constraint.go (and the test vectors in pkg/constraint_test.go) derive from github.com/Masterminds/semver, and have upstream restore its Expat notice. Then add a Files: pkg/constraint.go stanza with Copyright: 2014-2015 Matt Butcher and Matt Farina and a stand-alone License: Expat paragraph (its full text, as it is not in /usr/share/common-licenses) to debian/copyright; if upstream shows the file was written independently, record that instead.
Verified ◂
  • Tree covered in full: 22 upstream files (LICENSE, README.md, go.mod, go.sum, .gitignore, .github/workflows/test.yml, cmd/version/main.go, three examples, hack/generate.sh, hack/input.csv, hack/generator/{main.js,package.json,package-lock.json}, seven files in pkg/) plus the nine files of debian/. .pc/ was left alone.
  • The prescan's author check found every holder it matched already named and listed no other file to account for; no file carries a copyright notice apart from LICENSE's unfilled Copyright [yyyy] [name of copyright owner] appendix, which is why the file names commit authors as holders.
  • A grep for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU (Lesser) Public, Apache License, Mozilla Public, public domain, All rights reserved, ISC over the tree with gitignore disabled finds licence wording only in LICENSE (Apache-2.0), debian/copyright and hack/generator/package.json ("license": "ISC"); no non-free or field-of-use wording anywhere.
  • pkg/constraint_testcase.go is generated: it starts // Code generated by Node.js. DO NOT EDIT. and hack/generate.sh regenerates it from hack/input.csv with hack/generator/main.js; the generator and its input are both shipped, so the preferred form for modification is present.
  • hack/generator/package.json (npm boilerplate with "license": "ISC") is covered by its own ISC stanza in debian/copyright with the full ISC text; hack/generator/package-lock.json is npm dependency metadata (names, versions, integrity hashes), not code, and is covered by Files: *; hack/input.csv is 159 lines of version/constraint test data.
  • No vendored third-party tree (no vendor/, no node_modules), no binaries, fonts, images, PDFs or minified files; every source file is small readable text.
  • debian/copyright is DEP-5 with the exact 1.0 Format: URL; Files: * is the catch-all, the hack/generator/package.json stanza overrides it for that path and debian/* covers the packaging, so every path in the tree is matched.
  • Packaging files read in full: control, rules, changelog, copyright, gbp.conf, salsa-ci.yml, source/format, upstream/metadata; there is no debian/patches, no maintainer scripts and no debian/tests.
  • dh-go exists in unstable (1.69, provides the golang addon and dh_golang_autopkgtest) and dpkg-build-api (= 1) is provided by dpkg-dev 1.23.11 (verified with apt-cache/man); golang-github-aquasecurity-go-version-dev 0.0~git20210121.637058c-2 is newer than the go.mod snapshot, which GOPATH-mode building ignores; testify is test-only.
  • DH_GOLANG_EXCLUDES := cmd examples removes both from the build targets and, with DH_GOLANG_EXCLUDES_ALL defaulting to on at compat 12+, from the installed source, so the urfave/cli import of cmd/version is never compiled (dh-golang's _set_go111module sets GOPATH mode, GOPROXY=off); the dev package therefore needs only go-version and xerrors.
  • dist = DEP14 in gbp.conf is accepted: gbp's buildpackage.py:212 treats both DEP-14 and DEP14 as the special value.
  • Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 in its first two components; the changelog is a well-formed initial release for unstable closing #1152493, and the Vcs-*, Homepage and XS-Go-Import-Path fields are consistent.
  • uscan found the packaged version as the newest upstream release (upstream 0.0.2+git20261005.1f16ed7, packaged 0.0.2+git20261005.1f16ed7).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
  • debian/rules:9 passes --builddirectory=debian/_build, while dh_golang_autopkgtest — the helper that runs the implicit test for Testsuite: autopkgtest-pkg-go — works out the build directory with load_buildsystem("golang")->get_builddir(), i.e. the default _build (golang.pm's DEFAULT_BUILD_DIRECTORY at compat 14), and its generated override_dh_auto_configure copies /usr/share/gocode/src into that directory. If that runner is used, it fills _build while dh_auto_build chdirs into debian/_build, which the override never created (Dh_Lib.pm:607 errors on a failed chdir). autopkgtest is not installed on the reviewing system, so I could not confirm that the pkg-go suite invokes this helper; an autopkgtest run would show it. Dropping the option (or using _build) removes the risk.
  • Whether pkg/constraint.go really is adapted from Masterminds/semver cannot be settled from the package: upstream's git history is not shipped and there is no network access, so the licensing answer rests on the verbatim text comparison described in the issue.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader rejected this upload in response to the review.

Review Information

rejected — allocated to dfsg-uploader 1 day ago, started 1 day ago, completed 1 day ago.

Final Comment

The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.

The uploader said:

Confirmed.

Rejecting and reuploading

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.0.2+git20261005.1f16ed7-1 12046208… 2026-11-07 10:12 2026-11-07 10:15 awm accepted VIEW

Back to Dashboard | View all reviews for this package