Review: rust-planus-types 1.3.0-1
Package Information
| Description | FlatBuffers schema representations for the Planus compiler FlatBuffers is a binary serialization format originally developed at Google for storing and exchanging structured data across programming languages. Its schema files describe data structures used to generate code for reading and writing serialized data. Planus is a FlatBuffers compiler and runtime implementation written in Rust. It generates Rust bindings from schemas and provides tools for checking, formatting and inspecting schemas and serialized data. This crate defines the concrete and abstract syntax trees and intermediate representations used to describe schemas inside the Planus compiler. These types connect lexical analysis, parsing and later code-generation stages, including source locations, comments and parser error-recovery information. Its API is an internal implementation detail of planus-cli and has no stability guarantees. |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Steffen Moeller <moeller@debian.org> |
| Sponsor | moeller@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/planus-types] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-planus-types |
| Uploaded | 4 hours ago |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Fri, 30 Oct 2026 15:13:02 +0100 |
| Source | rust-planus-types |
| Version | 1.3.0-1 |
| Changed-By | Steffen Moeller <moeller@debian.org> |
| Architecture | source amd64 |
Changelog
rust-planus-types (1.3.0-1) unstable; urgency=medium . * Initial release. * Use Debian's lalrpop-util 0.20 for parser recovery types. * Complete copyright and describe the schema representations. * Package planus-types 1.3.0 from crates.io using debcargo 2.8.4
.dsc
| Component | main |
|---|---|
| Package-List | librust-planus-types-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: planus-types Source: https://github.com/planus-org/planus Files: * Copyright: 2021 The Planus Project Developers License: MIT or Apache-2.0 Files: debian/* Copyright: 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> 2026 Steffen Moeller <moeller@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.
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 2 hours ago.
Report
DFSG NEW review for rust-planus-types version 1.3.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
- Scan before the review: nothing found
Licensing
The tree is dual-licensed MIT or Apache-2.0. debian/copyright is DEP-5, names 2021 The Planus Project Developers (the holder in LICENSE-MIT) for Files: , and the Debian packaging holders for debian/; the MIT text is reproduced in full and Apache-2.0 is referenced to /usr/share/common-licenses, which is permitted. No file carries a different notice, no restrictive terms were found, and the pre-review author check found no unnamed holder.
Packaging
Standard debcargo-generated packaging for a Rust library crate: compat 13 with dh-sequence-cargo, correct Build-Depends-Arch with <!nocheck>, consistent versioned librust-* dependencies, Multi-Arch: same, Provides for the crate version, autopkgtests for the library package, DEP-3 patch headers, sane changelog, and a current Standards-Version. The only remark is that debian/README.source describes a consumer check that is not part of the package.
Issues
1. [minor] [packaging] debian/README.source describes a consumer check that the package does not contain
- Files:
debian/README.source:26,debian/tests/control - Basis: checked, in the package or with a reference tool
- Evidence: README.source: "Debian validation therefore includes compilation against the packaged dependencies and a separate consumer check that constructs an ErrorRecovery with a real lexer token, embeds it in the public CST types, and checks that error data, dropped tokens and source locations are preserved." debian/tests/control contains only three
cargo-auto-teststanzas; the crate has no tests (no#[test]/#[cfg(test)]in src/, andCargo.tomlsetsautotests = false). - Problem: The README claims a validation step that ships nowhere in debian/, so a later maintainer or sponsor cannot rerun the check that justifies the lalrpop-util 0.22 to 0.20 downgrade. The autopkgtests only compile the crate (
cargo test --all-targetswith no test targets). - Fix: Either add the described check as a debian/tests script (constructing an ErrorRecovery and embedding it in cst::ParseError) and reference it in debian/tests/control, or amend README.source to say the check was a one-off manual verification and that the shipped tests only compile the crate.
Verified
- Read debian/copyright in full: DEP-5 format,
Files: *(2021 The Planus Project Developers, MIT or Apache-2.0),Files: debian/*(Debian Rust Maintainers, Steffen Moeller, 2026), full MIT text, Apache-2.0 pointer to /usr/share/common-licenses. No Files-Excluded and none needed. - The whole upstream tree was read: Cargo.toml, Cargo.toml.orig, Cargo.lock, .cargo_vcs_info.json, LICENSE-APACHE, LICENSE-MIT and the four src/*.rs files. No copyright/licence notice appears in any src file; LICENSE-MIT carries
Copyright (c) 2021 The Planus Project Developers, which is exactly the holder in the Files: * stanza. - LICENSE-APACHE is the complete Apache License 2.0 text (sections 1-9, ending
END OF TERMS AND CONDITIONS, no appendix); no additional holder is asserted in it. - Grep of the tree for
Copyright,(C),©,SPDX-License-Identifier,Licensed under,Permission is hereby granted,public domain,All rights reservedand for non-free wording (non-commercial, no modification, field of use) found nothing beyond the two LICENSE files and debian/copyright. - Cargo.toml is the cargo-normalized form of Cargo.toml.orig, which is shipped, so the generated manifest has its preferred form present; Cargo.lock and .cargo_vcs_info.json are ordinary crates.io release metadata, covered by Files: *.
- The pre-review author check reports every holder found is named in debian/copyright; it listed no files.
- debian/copyright's debian/* stanza covers all 13 files under debian/, including the debcargo template and the patch.
- Dependencies checked with apt-cache: librust-codespan-dev 0.13.1-1, librust-indexmap-dev 2.14.2-1, librust-lalrpop-util-dev 0.20.0-1+b2 and librust-string-interner-dev 0.19.0+ds1-2 provide the +default-dev names and versions required; librust-planus-lexer-dev 1.3.0 is in the NEW queue as rust-planus-lexer 1.3.0-1, so the dependency is satisfiable.
- Standards-Version 4.7.4 against Policy 4.7.4.1 (first two components match) is current; Rules-Requires-Root is satisfied by dpkg's default; ${misc:Depends} is present and no ${shlibs:Depends} is needed for a Rust -dev package.
- relax-deps.patch has complete DEP-3 headers (Description, Author, Forwarded: not-needed, Last-Update); the 0.22.2 to 0.20 change is a dependency-version relaxation explained in README.source and is not reported as a fault; it patches both Cargo.toml and Cargo.toml.orig consistently.
- Read /usr/share/perl5/Debian/Debhelper/Buildsystem/cargo.pm: its configure step deletes the shipped Cargo.lock before building and copies debian/cargo-checksum.json, so the stale lock file in the tree does not affect the build.
- changelog: version 1.3.0-1 matches the crate version and X-Cargo-Crate-Version, distribution unstable, date Fri 30 Oct 2026 consistent with its weekday.
- Vcs-Git/Vcs-Browser point at debcargo-conf with the [src/planus-types] subdirectory, as debcargo packages use.
- uscan found the packaged version as the newest upstream release (upstream
1.3.0, packaged1.3.0). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed
- Whether lalrpop-util 0.20.0's ErrorRecovery implements the traits cst::ParseError derives (Clone, Debug, Eq, PartialEq) could not be checked: no Rust crate sources are installed on the reviewing system, and there is no network. On the supplied information (README.source and the patch header) the build is assumed to pass.
- Whether the consumer check mentioned in README.source was performed manually during packaging; no artifact of it exists in the package.
Proposed changes
None.
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 1 hour ago, started 1 hour ago, completed 1 hour ago.
Final Comment
The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.
The uploader said:
This was a description of what performed locally, but you are right - shall go.