Review: rust-boml 2.0.0-1
Package Information
| Description | Dead-simple, efficient, dependency-free TOML parser for Rust - Rust source code Source code for Debianized Rust crate "boml" |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Peter Pentchev <roam@debian.org> |
| Sponsor | roam@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/boml] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-boml |
| Uploaded | 1 month, 13 days ago |
New Package Report
.changes
| Source | rust-boml |
|---|---|
| Version | 2.0.0-1 |
| Changed-By | Peter Pentchev <roam@debian.org> |
| Architecture | source amd64 |
| Distribution | unstable |
| Date | Fri, 25 Sep 2026 17:38:28 +0300 |
Changelog
rust-boml (2.0.0-1) unstable; urgency=medium . * Package boml 2.0.0 from crates.io using debcargo 2.8.4
.dsc
| Component | main |
|---|---|
| Package-List | librust-boml-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: boml Upstream-Contact: BrightShard <brightshard@brightshard.dev> Source: https://github.com/bright-shard/boml Files: * Copyright: BrightShard <brightshard@brightshard.dev> License: MIT or Apache-2.0 Files: toml-test/LICENSE Copyright: 2018 TOML authors License: MIT Files: debian/* Copyright: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> Peter Pentchev <roam@debian.org> License: MIT or Apache-2.0 License: Apache-2.0 Debian systems provide the Apache 2.0 license in /usr/share/common-licenses/Apache-2.0 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.
Review Information
rejected — allocated to awm 26 days ago, started 26 days ago, completed 26 days ago.
Final Comment
Hi,
A few issues with this one. Possibly something has gone wrong with your automation for #2?
- [important] [licensing] debian/copyright mis-attributes the whole vendored toml-test subtree to BrightShard
(MIT-or-Apache-2.0); only toml-test/LICENSE is matched to TOML authors / MIT
- Files:
debian/copyright:10-12,.gitmodules,tests/toml_test.rs - Evidence: Stanza is
Files: toml-test/LICENSE/Copyright: 2018 TOML authors/License: MIT. toml-test/LICENSE itself isThe MIT License (MIT) / Copyright (c) 2018 TOML authors. .gitmodules declares[submodule "toml-test"] path = toml-test url = https://github.com/toml-lang/toml-test, and tests/toml_test.rs comments saygit submodule foreach git pull origin main. - Problem: Per the copyright-format spec, a
Filespattern liketoml-test/LICENSEmatches only that exact file; a tree is selected withtoml-test/*. Every other file of the vendored toml-test (runner.go, json.go, gen.py, cmd/toml-test/.go, tests/.toml and .multitest data, specs/v1.0.0.md and v1.1.0.md, README.md, CHANGELOG.md, go.mod/go.sum, .github/workflows/test.yml) therefore falls through to theFiles: *catch-all, which claimsCopyright: BrightShardandLicense: MIT or Apache-2.0. Those files are copied from the toml-lang/toml-test repository, (c) TOML authors, licensed MIT only (repo-level LICENSE) - not BrightShard's, and not Apache-2.0. The binary -dev package ships the whole crate source (dh-cargo's get_sources excludes only .git/.pc/debian/target), so the wrong holder/licence pair is installed. - Fix: Cover the tree: change the stanza to
Files: toml-test/*(optionally addingtoml-test/tests/*et al. if preferred, though the doc'sfoo/*covers subdirs), keepingCopyright: TOML authors(2018-present, see CHANGELOG dates) andLicense: MIT; keep the Files: * stanza for the rest of the crate. Re-running debcargo's licence-hint comments already name this exact spot (debian/copyright.debcargo.hint: 'UNKNOWN-LICENSE; FIXME (overlay) ... Please review them').
- [important] [packaging] debian/cargo-checksum.json holds an error placeholder instead of real per-file
checksums
- Files:
debian/cargo-checksum.json - Evidence: File content is exactly
{"package":"Could not get crate checksum","files":{}}. - Problem: A debcargo-generated package normally ships the crates.io package checksum plus per-file SHA-256 hashes here. dh-cargo's configure step runs
cp debian/cargo-checksum.json .cargo-checksum.json(cargo.pm), and the install step places it inside the installed registry crate/usr/share/cargo/registry/boml-2.0.0/.cargo-checksum.json; cargo uses that file to verify boml whenever another Debian crate resolves it as a registry dependency, so the empty/error placeholder is at best wrong and can break the binary build or every downstream consumer (including the autopkgtest's owncargo prepare-debian). This is abnormal for any debcargo package and a sponsor would require it regenerated. - Fix: Regenerate the package from the real crates.io tarball with debcargo so
packageandfilescontain genuine SHA-256 checksums (and confirm the resulting binary package builds).
- [important] [packaging] autopkgtest runs a network-fetching test (tests/crates.rs
syn) that cannot pass
in Debian CI
- Files:
tests/crates.rs:17-25,debian/tests/control - Evidence:
#[test] fn syn() { let source = ureq::get(SYN_URL) ... }withSYN_URL = "https://raw.githubusercontent.com/dtolnay/syn/.../Cargo.toml". debian/tests/control runs/usr/share/cargo/bin/cargo-auto-test boml 2.0.0 --all-targets ...with onlyRestrictions: allow-stderr; cargo-auto-test executescargo test --all-targets. - Problem: cargo-auto-test runs every test target, so the
syntest performs an HTTPS request to raw.githubusercontent.com at test time. autopkgtest's default environment has no network access (noRestrictions: needs-internetis declared), so the request fails and.unwrap()panics, failing all four autopkgtest entries in the Debian CI. The ureq-platform-verifier patch already updated the other (boml) assertions in this file to match Debian's ureq features, but left this inherently network-bound test in place, so the patch intent was evidently to make the local test pass while the suite as a whole remains un-runnable offline. - Fix: Patch tests/crates.rs for Debian to drop or
#[ignore]thesynnetwork test (it adds no value in a network-less CI), or declareRestrictions: needs-internetso the test is skipped where no network is available; either way the package's autopkgtests must pass without network.
Thanks!