DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: rust-planus-types 1.3.0-1

Package Information

DescriptionFlatBuffers 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.

MaintainerDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Changed BySteffen Moeller <moeller@debian.org>
Sponsormoeller@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/rust-team/debcargo-conf.git [src/planus-types] (browse)
Trackerhttps://tracker.debian.org/pkg/rust-planus-types
Uploaded2 hours ago

New Package Report

.changes◂
Distributionunstable
DateFri, 30 Oct 2026 15:13:02 +0100
Sourcerust-planus-types
Version1.3.0-1
Changed-BySteffen Moeller <moeller@debian.org>
Architecturesource 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◂
Sectionrust
Priorityoptional
Componentmain
Package-Listlibrust-planus-types-dev deb rust optional arch=any
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 1 hour ago.

Report◂

DFSG NEW review for rust-planus-types version 1.3.0-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is 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-test stanzas; the crate has no tests (no #[test]/#[cfg(test)] in src/, and Cargo.toml sets autotests = 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-targets with 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 reserved and 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, packaged 1.3.0).
  • Every pointer of debian/copyright to /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 0 hours ago, started 0 hours ago, completed 0 hours 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.

Back to Dashboard | View all reviews for this package