DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: golang-github-owenrumney-squealer 1.2.12+ds-1

Package Information

Descriptionscans a git repository or filesystem for secrets (library)

Squealer scans a git repository or filesystem for secrets that are being leaked deep within the commit history.

This package contains the Go library; the squealer command is not built.

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-owenrumney-squealer.git (browse)
Closes#1152530
Trackerhttps://tracker.debian.org/pkg/golang-github-owenrumney-squealer
Uploaded2 days ago

New Package Report

.changes◂
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateFri, 30 Oct 2026 10:53:44 +0100
Sourcegolang-github-owenrumney-squealer
Version1.2.12+ds-1
Changelog◂
golang-github-owenrumney-squealer (1.2.12+ds-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1152530)
.dsc◂
Sectiongolang
Priorityoptional
Componentmain
Package-Listgolang-github-owenrumney-squealer-dev deb golang optional arch=all
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/owenrumney/squealer
Upstream-Name: squealer
Upstream-Contact: https://github.com/owenrumney/squealer/issues
Files-Excluded:
 vendor
 tests
 test_resources
Comment: vendor/ is a copy of the Go dependencies. tests/ are integration
 tests that unpack test_resources/*.tar, git repositories which include git's
 sample hooks (GPL-2.0); the build does not use them.

Files: *
Copyright: 2021-2025 Owen Rumney
           2025 Nikita Pivkin
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: 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".

DFSG Assistant LLM REVIEW 0 blocker, 1 important, 1 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-owenrumney-squealer version 1.2.12+ds-1

Summary

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

Licensing

Everything in the tree is Apache-2.0 and DFSG-free: LICENSE is the unmodified Apache-2.0 text, no file carries another licence or non-free wording, the tree has no built artefacts, and the copyright file points at /usr/share/common-licenses/Apache-2.0 as Policy 12.5 recommends. It is not fully accurate, though: README.md credits the README images to George Rumney, while debian/copyright attributes every file to Owen Rumney and Nikita Pivkin and justifies that list from commit authorship, which cannot cover the artwork. Otherwise the Files-Excluded repack, the debian/* stanza and the licence text all check out.

Packaging

Mostly good: correct 3.0 (quilt) source, debhelper 14, complete Build-Depends for every import outside the excluded cmd tree, a -dev-only library package that installs its sources under /usr/share/gocode, -doc-free, autopkgtest declared, Vcs-*/Homepage/upstream metadata present, Standards-Version current, changelog sane. One real defect: debian/rules builds in debian/_build, whereas dh_golang_autopkgtest (what Testsuite: autopkgtest-pkg-go runs) populates the build system's default _build, so the autopkgtest build step fails before any test runs.

Issues

important licensing 1. debian/copyright does not name George Rumney, whom README.md credits for .github/images/* ◂
  • Files: README.md:295-297, .github/images/squealer.gif, .github/images/squealer.png, .github/images/squealer2.png, debian/copyright
  • Basis: inferred from what was read, not seen directly
  • Evidence: README.md ends with ## Credits / Image by George Rumney; debian/copyright has Copyright: 2021-2025 Owen Rumney / 2025 Nikita Pivkin under Files: *, with Comment: ... The holders are the authors of the commits in the upstream history.
  • Problem: The three README screenshots are works of a third party, credited in the upstream README, and copyright in a drawing or photograph belongs to its author unless assigned. debian/copyright neither names him nor records any licence grant from him, so the file misattributes those files and leaves their licence unstated; the Comment's justification (commit authors) cannot establish the holder of artwork. Policy 12.5 requires the copyright file to carry the package's copyright information, which means every holder.
  • Fix: Add a Files: .github/images/* stanza naming George Rumney, with the licence upstream confirms he granted (ask upstream; if the images are his contribution under the project licence, say so in a Comment), or drop the images from the +ds tarball.
minor packaging 2. autopkgtest build fails: debian/rules builds in debian/_build but dh_golang_autopkgtest populates _build ◂
  • Files: debian/rules:6-7, debian/control:18
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/rules: dh $@ --builddirectory=debian/_build --buildsystem=golang --with=golang. /usr/bin/dh_golang_autopkgtest: APT_BDIR := $(shell ... load_buildsystem("golang")->get_builddir()) and cp -a /usr/share/gocode/src "${APT_BDIR}" in its generated override_dh_auto_configure.
  • Problem: autodep8's go template (used because of Testsuite: autopkgtest-pkg-go) runs /usr/bin/dh_golang_autopkgtest, which copies the installed sources into the build systems's default build directory. At compat 14 dh-golang's DEFAULT_BUILD_DIRECTORY is _build, and the runner passes no --builddirectory, so it creates _build, not debian/_build. No step then creates debian/_build, and dh_auto_build's first doit_in_builddir chdirs there; debhelper's print_and_doit calls error() when the chdir fails, so make build aborts in autopkgtest. The maintainer's own clean build does not see this because it runs dh_auto_configure (which creates the build directory) rather than the runner's override.
  • Fix: Use the default build directory: dh $@ --buildsystem=golang --with=golang (compat 14 already builds in _build), or pass --builddirectory=_build.
Verified ◂
  • Read every file of debian/ in full (changelog, control, copyright, gbp.conf, rules, salsa-ci.yml, source/format, upstream/metadata) and the .dsc and orig tarball listing; there are no patches, maintainer scripts, debian/tests, install/links/docs/dirs files or *.maintscript.
  • Tree: 52 files, matching the .orig.tar.xz top level (no vendor/, tests/ or test_resources/), which agrees with Files-Excluded and the +ds version.
  • LICENSE is the unmodified Apache-2.0 text whose appendix is still the Copyright [yyyy] [name of copyright owner] placeholder; grepping the whole tree for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU General/Lesser/Affero, Apache License, Mozilla Public, public domain, All rights reserved, BSD-, MIT license, MPL- matched only LICENSE and debian/copyright, so no other file carries a notice and no other holder or licence is claimed anywhere in the tree.
  • The Apache-2.0 short text plus the pointer to /usr/share/common-licenses/Apache-2.0 is what Policy 12.5 asks for; the named file exists.
  • No built, minified or generated files and no PDFs; go.sum is the module checksum list written by the Go tooling, and no file carries a Code generated/DO NOT EDIT marker.
  • .github/images/squealer.gif, squealer.png and squealer2.png are binary README screenshots, not opened; their authorship is the licensing issue above.
  • Files-Excluded rationale: the two skipped tests are the only consequence of dropping tests/ and test_resources/ (TestNewScannerIsDirectoryScanner reads ../../../test_resources, which the tarball does not carry). GPL-2 sample hooks inside the excluded git test repositories are DFSG-free, so the exclusion was a choice, not a requirement.
  • dh_auto_test -- -skip '...' works: dh-golang's test step passes extra arguments through (go test -vet=off -v -p N -skip ...), and at compat 14 dh skips override_dh_auto_test under nocheck, so golang-github-stretchr-testify-dev <!nocheck> is correct. The runner also does make build, so the same skip applies in autopkgtest.
  • Build-Depends: dpkg-build-api (= 1) is provided by dpkg-dev 1.23.11; dh-go 1.69 (which ships the golang sequence, build system and dh_golang_autopkgtest) is in the archive; golang-github-go-git-go-git-v5-dev 5.19.2 and golang-github-liamg-tml-dev 0.7.0 are present; golang-github-owenrumney-squealer-dev is this package's own binary.
  • Imports: every direct import outside the excluded tree is covered by a Build-Depends (go-billy, go-git/v5, tml, go-sarif, logrus, yaml.v3, testify); cobra is imported only by cmd/squealer and internal/app/squealer/cmd, both matched by DH_GOLANG_EXCLUDES := cmd, which is why cobra is absent from Build-Depends and Depends. Those two files are also dropped from the installed source by DH_GOLANG_EXCLUDES_ALL, which keeps the shipped tree self-consistent.
  • Tests are otherwise self-contained (t.TempDir(), inline YAML/JSON), so nothing else needs network or a display.
  • debian/gbp.conf's dist = DEP14 is not an option in gbp.conf(5), but gbp's parser stores unknown keys in its config dict without error and no gbp command reads dist, so it is inert — not reported.
  • Standards-Version 4.7.4 is current for a 4.7.x Policy; changelog 1.2.12+ds-1 is in unstable, an initial release closing #1152530, dated Fri 30 Oct 2026 (a Friday); source format 3.0 (quilt); Vcs-Git/Vcs-Browser/Homepage/XS-Go-Import-Path/upstream metadata all present; Architecture: all with Multi-Arch: foreign as in the archive's other Go -dev packages.
  • uscan found the packaged version as the newest upstream release (upstream 1.2.12, packaged 1.2.12+ds).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
  • Whether golang-github-owenrumney-go-sarif-dev 2.3.3 still installs the legacy import path github.com/owenrumney/go-sarif/sarif used by internal/pkg/formatters/sarif.go; that -dev package is not installed on this system and apt-cache gives no file lists. debian/rules' comment records that the SARIF test did run against Debian's copy and only its $schema URL differed, which implies it does.
  • The holder 2025 Nikita Pivkin cannot be checked against the tree: there is no copyright notice and no git history in the source, so the holder list rests on upstream history alone.
  • Whether George Rumney assigned or licensed the images to the project cannot be determined from the package.
  • Why the model asked for what a review has no use for. During this review it asked once for something outside the package and the reviewing system (another file of the sandbox, or a URL), or was given part of the review tooling's own configuration, and that was refused or withheld. A model does this when something it has read tells it to, so look in the package for text addressed to a reviewing program, and treat this report with suspicion. Refused: glob: "/**" is not a file of the package or of the reviewing system.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader hasn't responded yet, and is welcome to at any time. The 24-hour hold has ended, so the package is now open for review as usual.

Review Information

accepted — allocated to mechtilde 6 hours ago, started 6 hours ago, completed 6 hours ago.

Final Comment

Back to Dashboard | View all reviews for this package