Review: rust-assertables 10.1.0-1
Package Information
| Description | assert macros for testing, debug and QA - Rust source code assert macros for better testing, debugging, quality assurance, and runtime reliability Source code for Debianized Rust crate "assertables" |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Ying-Chun Liu (PaulLiu) <paulliu@debian.org> |
| Sponsor | paulliu@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/assertables] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-assertables |
| Uploaded | 15 days ago |
New Package Report
.changes
| Changed-By | Ying-Chun Liu (PaulLiu) <paulliu@debian.org> |
|---|---|
| Architecture | amd64 source |
| Distribution | unstable |
| Source | rust-assertables |
| Version | 10.1.0-1 |
Changelog
rust-assertables (10.1.0-1) unstable; urgency=medium . * Package assertables 10.1.0 from crates.io using debcargo 2.8.3
.dsc
| Component | main |
|---|---|
| Package-List | librust-assertables-dev deb rust optional arch=any |
| Section | rust |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: assertables Upstream-Contact: Joel Parker Henderson <joel@joelparkerhenderson.com> Source: https://github.com/assertables/assertables-rust-crate/ Files: * Copyright: 2026 Joel Parker Henderson <joel@joelparkerhenderson.com> License: MIT or Apache-2.0 or BSD-3-Clause or GPL-2.0-only or GPL-3.0-only Files: debian/* Copyright: 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> 2026 Ying-Chun Liu (PaulLiu) <paulliu@debian.org> License: MIT or Apache-2.0 or BSD-3-Clause or GPL-2.0-only or GPL-3.0-only License: Apache-2.0 Debian systems provide the Apache 2.0 license in /usr/share/common-licenses/Apache-2.0 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. License: GPL-2.0-only This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package. If not, see <https://www.gnu.org/licenses/>. Comment: On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". License: GPL-3.0-only This package is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package. If not, see <https://www.gnu.org/licenses/>. Comment: On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
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 10 days ago.
Report
DFSG NEW review for rust-assertables version 10.1.0-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
Licensing
Upstream is multi-licensed: LICENSE.md ("License is any of these") and Cargo.toml (license = "MIT OR Apache-2.0 OR BSD-3-Clause OR GPL-2.0-only OR GPL-3.0-only") offer MIT, Apache-2.0, BSD-3-Clause, GPL-2.0-only and GPL-3.0-only; the permissive option (MIT) makes the crate DFSG-free and the combination is compatible. debian/copyright is DEP-5 with the correct Format URL, a Files: * stanza plus a debian/* override, every file in the tree is matched, all five short names used are defined, MIT and BSD-3-Clause carry full text and Apache-2.0/GPL-2.0-only/GPL-3.0-only refer to /usr/share/common-licenses. No per-file notices, no other LICENSE/COPYING/NOTICE files, no non-free terms, no embedded third-party code, no blobs or generated code needing absent sources. Only nit: the upstream copyright year is a single unverified year.
Packaging
Conventional debcargo packaging, clean and up to date: debhelper compat 13 with dh-sequence-cargo, Build-Depends/Build-Depends-Arch split correctly and versioned, a single Architecture: any + Multi-Arch: same source-only dev package with the usual versioned Provides, Standards-Version 4.7.4 (equals the current Policy 4.7.4.1), Vcs-* and Homepage set, sane changelog (unstable, 10.1.0-1). debian/rules creates the bin/printf-* and bin/exit-with-arg helper scripts the assert_command tests spawn and removes them on clean; the one quilt patch is DEP-3-headered and adds exactly the two fixtures the assert_fs_read_to_string tests read (CARGO_MANIFEST_DIR/tests/src/std/fs/{alfa,bravo}.txt), which the crates.io tarball omits. Autopkgtest is present and includes the crate's dev-dependency. No policy violation, upgrade or user-visible problem found.
Issues
1. [minor] [licensing] Upstream copyright year is a single unverified year while the crate dates from 2021
- Files:
debian/copyright:7,debian/copyright.debcargo.hint:7 - Evidence: debian/copyright:
Copyright: 2026 Joel Parker Henderson <joel@joelparkerhenderson.com>; the generated hint asked for review:Copyright: FIXME (overlay) UNKNOWN-YEARS Joel Parker Henderson ...withSince upstream copyright years are not available in Cargo.toml, they were extracted from the upstream Git repository... you should review and fix this before uploading; upstream's own files sayCreated: 2021-03-30T15:47:49ZandUpdated: 2026-06-01T07:30:16Z(README.md:274-275, llms.txt:272-273). - Problem: The debcargo placeholder was replaced with the release year only, but the crate has existed since 2021, so the year recorded for the copyright holder is incomplete and was never verified. The holder and licence are correct and this is not a DFSG problem; it is only that guessed years are stated as fact.
- Fix: Record the years that actually cover upstream contributions, e.g.
Copyright: 2021-2026 Joel Parker Henderson <joel@joelparkerhenderson.com>, after checking the upstream git history.
Verified
- Read all of debian/ (control, rules, changelog, copyright, copyright.debcargo.hint, rules.debcargo.hint, debcargo.toml, cargo-checksum.json, source/format, patches/{series,add-missing-test-files.patch}, tests/control) plus the .dsc and both tarballs beside the tree.
- Inventoried the whole upstream tree with glob (hidden and gitignore off): only .rs, .md, .txt, .json, .toml, .lock files — no images, fonts, .so/.jar/.class/.pyc, firmware, PDFs, minified assets or vendored code.
- Grepped the tree for Copyright/(C)/©/All rights reserved, SPDX-License-Identifier/Licensed under/Permission is hereby granted/GNU General Public/GNU Lesser/Apache License/Mozilla Public/public domain, and for non-free terms (non-commercial, no derivative, Creative Commons, proprietary, field of use, "not evil"): the only hits are LICENSE.md and the debian/ files; there are no per-file licence or copyright notices anywhere.
- Read LICENSE.md in full; it is the only upstream licence statement and lists MIT, Apache-2.0, GPL-2.0-only, GPL-3.0-only and BSD-3-Clause, matching
licensein Cargo.toml/Cargo.toml.orig and theLicense:fields in debian/copyright. No other LICENSE/COPYING/NOTICE/AUTHORS file exists in the tree. - Sampled and read the help/ documentation tree (comparisons/*, developing, faq, releasing, upgrades): original prose by the upstream author about other crates, no copied third-party text or licence.
- Checked that debian/copyright's two stanzas cover every path (
Files: *catch-all,Files: debian/*override, later stanza wins) and that all five short names used have a stand-alone License paragraph; MIT and BSD-3-Clause are given in full, Apache-2.0/GPL-2.0-only/GPL-3.0-only point at /usr/share/common-licenses (Policy 12.5). No Files-Excluded field is claimed. - Confirmed the patch's fixtures are at the path the tests use: the tests build the directory from
env!("CARGO_MANIFEST_DIR")+tests/src/std/fs(e.g. src/assert_fs_read_to_string/assert_fs_read_to_string_contains.rs:104-108) and the patch adds exactly tests/src/std/fs/{alfa.txt,bravo.txt}; both files are absent from the .orig tarball, so the patch is necessary and correct. - Confirmed with apt-cache that every dependency exists: dh-cargo 34 provides dh-sequence-cargo; librust-regex-1+default-dev (>= 1.12) is provided by librust-regex-dev 1.13.1-1; librust-walkdir-2+default-dev (>= 2.5) by librust-walkdir-dev 2.5.0-2.
- Checked debian/tests/control's syntax against the autopkgtest document (the trailing
@is the binary-package substitution, not a line continuation) and that it follows the debcargo template with librust-regex-1+default-dev present as the crate's dev-dependency. - Verified Standards-Version 4.7.4 against the installed Policy (4.7.4.1); changelog, control, Vcs-* and Homepage are mutually consistent, and the version 10.1.0-1 matches the crate version.
- Confirmed the crate's unit tests live inside src/*.rs with
autotests = false, so the upstream tarball's omission of tests/ costs no coverage beyond the two fixtures the patch restores. - uscan found the packaged version as the newest upstream release (upstream
10.1.0, packaged10.1.0).
Not confirmed
- debian/cargo-checksum.json holds a placeholder,
{"package":"Could not get crate checksum","files":{}}, so no per-file or package checksums are recorded. Could not confirm from the package alone whether dh-cargo accepts this or whether the tarball is byte-identical to the crates.io release; a build would show it. - The .orig tarball contains help/ although Cargo.toml's
includelist ("src/**/*", LICENSE.md, README.md, llms.txt, llms.json) omits it, while it does exclude tests/ — could not determine how the tarball was produced. No licensing or packaging effect found. - debian/tests/control's Depends omit librust-walkdir-2+default-dev although Cargo.toml declares
[build-dependencies.walkdir](and Cargo.lock lists walkdir among assertables 10.1.0's dependencies). Could not run cargo-auto-test to see whether cargo needs that source for dependency resolution; if it does, the autopkgtest would fail on a missing walkdir. - Read llms.json and llms.txt only by grep (2.3 MB and 1.5 MB rustdoc dumps of the crate's own documentation, stale at version 9.8.0); they are text, patchable, and carry no separate licence.
- Could not build the package or run its tests or autopkgtest.
Proposed changes
None.
Review Information
accepted — allocated to awm 9 days ago, started 9 days ago, completed 9 days ago.