Review: golang-github-owenrumney-squealer 1.2.12+ds-1
Package Information
| Description | scans 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. |
|---|---|
| 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-owenrumney-squealer.git (browse) |
| Closes | #1152530 |
| Tracker | https://tracker.debian.org/pkg/golang-github-owenrumney-squealer |
| Uploaded | 2 days ago |
New Package Report
.changes
| Version | 1.2.12+ds-1 |
|---|---|
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all |
| Distribution | unstable |
| Date | Fri, 30 Oct 2026 10:53:44 +0100 |
| Source | golang-github-owenrumney-squealer |
Changelog
golang-github-owenrumney-squealer (1.2.12+ds-1) unstable; urgency=medium . * Initial release (Closes: #1152530)
.dsc
| Section | golang |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | golang-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/copyrightis 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 hasCopyright: 2021-2025 Owen Rumney/2025 Nikita PivkinunderFiles: *, withComment: ... 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())andcp -a /usr/share/gocode/src "${APT_BDIR}"in its generatedoverride_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, notdebian/_build. No step then createsdebian/_build, and dh_auto_build's firstdoit_in_builddirchdirs there; debhelper's print_and_doit callserror()when the chdir fails, somake buildaborts 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-Excludedand 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 forCopyright,(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.0is what Policy 12.5 asks for; the named file exists. - No built, minified or generated files and no PDFs;
go.sumis the module checksum list written by the Go tooling, and no file carries aCode generated/DO NOT EDITmarker. - .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 14dhskips override_dh_auto_test under nocheck, sogolang-github-stretchr-testify-dev <!nocheck>is correct. The runner also doesmake 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 = DEP14is not an option in gbp.conf(5), but gbp's parser stores unknown keys in its config dict without error and no gbp command readsdist, 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, packaged1.2.12+ds). - Every pointer of
debian/copyrightto /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/sarifused 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$schemaURL differed, which implies it does. - The holder
2025 Nikita Pivkincannot 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.