Review: golang-github-masahiro331-go-xfs-filesystem 0.1.8+git20260422.d21e5e4+ds-1
Package Information
| Description | Go library for parsing xfs(FileSystem) go-xfs-filesystem is a library for read directory and read files. This library implementation io/fs |
|---|---|
| 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-masahiro331-go-xfs-filesystem.git (browse) |
| Closes | #1152505 |
| Tracker | https://tracker.debian.org/pkg/golang-github-masahiro331-go-xfs-filesystem |
| Uploaded | 2 days ago |
New Package Report
.changes
| Architecture | source all |
|---|---|
| Distribution | unstable |
| Date | Fri, 30 Oct 2026 03:38:50 +0100 |
| Source | golang-github-masahiro331-go-xfs-filesystem |
| Version | 0.1.8+git20260422.d21e5e4+ds-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
Changelog
golang-github-masahiro331-go-xfs-filesystem (0.1.8+git20260422.d21e5e4+ds-1) unstable; urgency=medium . * Initial release (Closes: #1152505)
.dsc
| Package-List | golang-github-masahiro331-go-xfs-filesystem-dev deb golang optional arch=all |
|---|---|
| Section | golang |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/masahiro331/go-xfs-filesystem
Upstream-Name: go-xfs-filesystem
Upstream-Contact: https://github.com/masahiro331/go-xfs-filesystem/issues
Files-Excluded: docs
Comment: docs/ holds a PDF of the XFS documentation (CC-BY-SA-3.0+) built
with DBLaTeX, without its source. The build does not use it.
Files: *
Copyright: 2021-2023 Masahiro Fujimura (masahiro331) <m_fujimura@r.recruit.co.jp>
2023 Tomais Williamson <williamson.tomais@gmail.com>
2023 Shachar Menashe
2023 Amir Ben Nun
2025 Mike Poindexter <staticsnow@gmail.com>
2026 yusuke-koyoshi
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. xfs/testdata/*.xfs are XFS images of
generated test files (filler data, empty directories, an os-release).
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, 0 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-masahiro331-go-xfs-filesystem version 0.1.8+git20260422.d21e5e4+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 2 found
Licensing
All 24 upstream files are Apache-2.0: the tree carries a complete Apache-2.0 LICENSE and no other licence text, copyright notice, SPDX tag or restriction anywhere (no file has a header, so the LICENSE is the only grant). debian/copyright is DEP-5, covers every path with Files: * and debian/*, names the six committers as holders (the only evidence of authorship that exists, explained in a Comment), includes the Apache-2.0 boilerplate plus the pointer to /usr/share/common-licenses/Apache-2.0, and documents the one third-party item (the CentOS os-release used as expected test output) and the docs/ PDF removed for the +ds repack. Nothing non-DFSG: no vendored code, no generated sources without input, no NC/ND terms, and the test images are generated fixtures whose recipe is in README.md.
Packaging
Textbook Debian Go team packaging: debhelper-compat (= 14) with dh-go's golang buildsystem and sequence, dpkg-build-api (= 1) (a versioned virtual package provided by dpkg-dev), golang-any and both runtime dependencies in Build-Depends, a single Arch: all Multi-Arch: foreign -dev package depending on the two libraries it imports, XS-Go-Import-Path set so autodep8's go test (dh_golang_autopkgtest) works, correct Vcs-*/Homepage, salsa-ci and gbp.conf, and a clean initial-release changelog closing the ITP. Standards-Version 4.7.4 matches the base of Policy 4.7.4.1, so it is current. The only wart is an unused 40 MB test image that ends up in the -dev package.
Issues
minor packaging 1. xfs/testdata/image40.xfs (40 MB) is referenced by no test or document, yet dh-golang installs it into the -dev package ◂
- Files:
xfs/testdata/image40.xfs,xfs/testdata/image.xfs - Basis: checked, in the package or with a reference tool
- Evidence: grep for
image40over the whole tree (excluding .pc/) gives no match, while every test that opens a fixture usestestdata/image.xfs(xfs/inode_test.go:665 onwards, xfs/xfs_test.go:25 onwards); README.md's generation recipe only producesxfs/testdata/image.xfs. /usr/share/perl5/Debian/Debhelper/Buildsystem/golang.pm install():Starting with dh-golang 1.31, testdata directory contents are installed by default, and its copy loop copies every file under the build directory that is not matched by DH_GOLANG_EXCLUDES (default: none). - Problem: The arch: all -dev package therefore carries 60 MB of XFS images, 40 MB of which (image40.xfs) nothing in the package reads, so every user and every package build-depending on it unpacks and stores 40 MB of dead data. The 20 MB image.xfs is not the problem: the package's own autopkgtest (dh_golang_autopkgtest, run from the installed /usr/share/gocode/src tree) needs it.
- Fix: Drop xfs/testdata/image40.xfs at repack time (add it to Files-Excluded in debian/copyright and regenerate the +ds tarball, adjusting the comment), or, if it must stay in the source, exclude it from the install with
export DH_GOLANG_EXCLUDES := testdata/image40\.xfsin debian/rules.
Verified ◂
- Read all of debian/: changelog, control, copyright, rules, gbp.conf, salsa-ci.yml, watch (not judged), source/format (3.0 (quilt)), upstream/metadata; there are no patches, no maintainer scripts, no debian/tests/control (Testsuite: autopkgtest-pkg-go, generated by autodep8) and no install/links/docs files.
- Upstream inventory: 24 files outside .pc/ and debian/ — LICENSE, README.md, go.mod, go.sum, .gitignore, .github/workflows/test.yaml, log/log.go, xfs/{ag,cache,const,inode,sb,xfs}.go, xfs/{inode,sb,timestamp,xfs}_test.go, xfs/utils/{utils,utils_test}.go, xfs/testdata/{image.xfs,image40.xfs,os-release}.
- Grep for Copyright/(C)/©/SPDX-License-Identifier/Licensed under/Permission is hereby granted/GNU GPL/LGPL/Apache/Mozilla/public domain/All rights reserved/MIT/BSD/ISC/CC-BY/MPL over the whole tree (gitignore: false, .pc excluded) matches only LICENSE (the Apache-2.0 text, appendix placeholder
Copyright {yyyy} {name of copyright owner}) and debian/copyright. No file carries its own notice, soFiles: *and the copyright Comment ('Upstream has no copyright notice ... The holders are the authors of the commits') are accurate. - debian/copyright is DEP-5 with the canonical Format URL; Files: * covers all upstream files and debian/* the packaging; the six Copyright lines correspond to the tree's commit authors; License: Apache-2.0 carries the Apache boilerplate and the pointer to /usr/share/common-licenses/Apache-2.0 (the complete text is there).
- Files-Excluded: docs — no docs/ directory is in the unpacked tree or in the orig tarball, so the repack exclusion is consistent; the Comment explains it (a DBLaTeX-built PDF whose .tex source is not shipped), i.e. a DFSG #2-justified removal of a built file.
- xfs/testdata/image.xfs (20 MB) and xfs/testdata/image40.xfs (40 MB) are XFS filesystem images used as test fixtures, not built programs; README.md 'How to create test data' gives the mkfs.xfs/genimage recipe that produced them, so their preferred form for modification is documented in the package. I did not open them (binary).
- xfs/testdata/os-release is a copy of CentOS Linux 8's /etc/os-release used as the expected output of reading etc/os-release out of the test image (xfs/xfs_test.go:250-252) — short factual configuration with no copyrightable content, acknowledged in the copyright Comment, and it is the os-release embedded in the test images too.
- No vendored third-party Go code: go.mod requires only go.uber.org/zap (with atomic, multierr) and golang.org/x/xerrors, which Debian provides and which are in Build-Depends/Depends; xfs/*.go are hand-written (no copied CRC/UTF-8 tables, no kernel/xfsprogs licence text).
- dh-go 1.69 in unstable ships both the golang buildsystem (/usr/share/perl5/Debian/Debhelper/Buildsystem/golang.pm) and the golang sequence addon (/usr/share/perl5/Debian/Debhelper/Sequence/golang.pm), so
dh $@ --builddirectory=debian/_build --buildsystem=golang --with=golangis valid; Build-Depends: dh-go is enough, andgolang-anyis the right compiler dependency. - dpkg-build-api (= 1) is how dpkg-build-api(7) says the build API level is declared ('The declaration of this API level is done through build-dependencies'), and apt-cache shows dpkg-dev 1.23.11 Provides: dpkg-build-api (= 1) — not a nonexistent dependency.
- autodep8's go template (/usr/share/autodep8/support/go/generate) runs dh_golang_autopkgtest, which rebuilds from the installed /usr/share/gocode/src tree, so the testdata installation is deliberate and the package's own autopkgtest is covered.
- Standards-Version 4.7.4 against Policy 4.7.4.1 (policy tool): first two components equal, so current; the changelog closes the ITP (#1152505), the version 0.1.8+git20260422.d21e5e4+ds-1 and the Friday 30 Oct 2026 date are consistent with the April 2026 snapshot.
- uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream0.1.8+git20261019.ccf49f5, packaged0.1.8+git20260422.d21e5e4+ds), which is not a fault of the package. - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- The copyright holder list is derived from upstream commit authorship (as debian/copyright's Comment says); I could not consult upstream history or any NOTICE/contributor list (no network), so whether any contributor or an employer (e.g. a work-for-hire entity) is missing cannot be checked from the source alone.
- I did not open the two .xfs images (binary) and so did not inspect their contents beyond what README.md, debian/copyright's Comment and the tests state; and I did not read xfs/inode.go (30 KB) or the whole of inode_test.go line by line, only grepped them for licence and provenance text.
Proposed changes ◂
None.
Uploader's response to the LLM review
Confirmed. Please, accept, a minor fix is ready for the
next revision
— Juan Manuel Méndez Rey (mendezr), 1 day ago
Review Information
accepted — allocated to mechtilde 1 day ago, started 1 day ago, completed 1 day ago.