DFSG NEW Queue

DFSG, Licensing & New Packages Team

rust-debcargo-conf-linter 0.1.0-1

Package Information

Descriptionlinter for the debcargo-conf project in the debian rust team

A linter for configuration files in debcargo-conf, that is used to package Rust crates for Debian.

MaintainerDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Changed ByAlexander Kjäll <alexander.kjall@gmail.com>
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/rust-team/debcargo-conf.git [src/debcargo-conf-linter] (browse)
Trackerhttps://tracker.debian.org/pkg/rust-debcargo-conf-linter
Uploaded1 day ago

New Package Report

.changes◂
Architectureamd64 source
Distributionunstable
Sourcerust-debcargo-conf-linter
Version0.1.0-1
Changed-ByAlexander Kjäll <alexander.kjall@gmail.com>
Changelog◂
rust-debcargo-conf-linter (0.1.0-1) unstable; urgency=medium
 .
   * Package debcargo-conf-linter 0.1.0 from crates.io using debcargo 2.8.5+alpha.0
.dsc◂
Componentmain
Package-Listdebcargo-conf-linter deb rust optional arch=any
Sectionrust
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: debcargo-conf-linter
Upstream-Contact: Alexander Kjäll
Source: https://salsa.debian.org/capitol/debcargo-conf-linter

Files: *
Copyright: 2026 Alexander Kjäll
License: GPL-3.0-only

Files: debian/*
Copyright:
 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 2026 Alexander Kjäll <alexander.kjall@gmail.com>
License: GPL-3.0-only

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.
 .
 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, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 .
 On Debian systems, the complete text of the GNU General
 Public License can be found in /usr/share/common-licenses/GPL-3.

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 rust-debcargo-conf-linter version 0.1.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 crate declares license = "GPL-3.0-only" in Cargo.toml/Cargo.toml.orig and repeats it in README.md (License section, Copyright (C) 2026 Alexander Kjäll) and in the verbatim GPL-3 text in LICENSE; debian/copyright is valid DEP-5 and matches that for every upstream file via Files: *, plus a debian/* stanza naming both the Debian Rust Maintainers and the upstream author. No non-free terms, no unlicensed file, no vendored third-party code and no generated/binary files. The three copyright holders the prescan flagged in src/rules/copyright_syntax.rs are string literals of a DEP-5 sample document used as unit-test input, not copyright claims, so they correctly have no stanza.

Packaging

Standard debcargo-generated packaging for a bin-only crate: buildsystem cargo at compat 13, complete and satisfiable Build-Depends-Arch (all nine librust-* names exist in the archive at the versions required), correct -dev feature packages for toml_edit's non-default parse/display features, no patches, source format 3.0 (quilt), Standards-Version 4.7.4 against Policy 4.7.4.1, Vcs-* and upstream/metadata present, and a hand-written 600-line man page installed through .manpages. The only nit is that nothing runs the crate's unit tests: dh-cargo's test step is cargo build, and there is no autopkgtest.

Issues

minor packaging 1. No autopkgtest, and the crate's unit tests are never run (dh-cargo's test step is cargo build) ◂
  • Files: debian/rules:3, debian/ (no tests/ directory), src/rules/copyright_syntax.rs:225-345, Cargo.toml:60
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/rules is %:\n\tdh $@ --buildsystem cargo; /usr/share/perl5/Debian/Debhelper/Buildsystem/cargo.pm sub test has my $cmd="build"; ... } elsif ($_[0] eq "test") { $cmd="test"; }, so dh_auto_test runs cargo build; ls debian/ has no tests/.
  • Problem: The #[cfg(test)] mod tests suites in the nine files under src/rules/ (over twenty cases, including the DEP-5 fixtures) are compiled into no binary and run nowhere: not during the build, and not by any autopkgtest, since none exists. A regression in a lint rule therefore reaches the archive unchecked, and the tempfile dev-dependency (Cargo.toml:60) is never used.
  • Fix: Add debian/tests/control with an autopkgtest that exercises the installed CLI, e.g. Test-Command: debcargo-conf-linter --list-rules plus a fixture debcargo-conf tree asserting the diagnostic and exit status 1; or, to run the unit tests, add librust-tempfile-3+default-dev <!nocheck> to Build-Depends-Arch and override_dh_auto_test: with dh_auto_test -- test (dh-cargo supports passing test to cargo test).
Verified ◂
  • Complete inventory of the 17 upstream files outside debian/: .cargo_vcs_info.json, .gitignore, Cargo.lock, Cargo.toml, Cargo.toml.orig, LICENSE, README.md, src/{diagnostic,main,package,report}.rs and the nine files in src/rules/; no vendor/, no third-party subdirectory, no LICENSE/COPYING/AUTHORS other than the top-level LICENSE.
  • src/rules/copyright_syntax.rs:236 (Copyright: 2020 Jane Doe <jane@example.com>), :286 (VALID.replace("Copyright: 2020 Jane", "Copyright 2020 Jane")) and :333 (VALID.replace("Copyright: 2020 Jane Doe <jane@example.com>\n", "")) are the DEP-5 sample document const VALID and the string replacements applied to it in #[cfg(test)] mod tests; the prescan's holders Jane Doe, Jane") and Jane", "Copyright are fragments of those test literals, not copyright notices, so debian/copyright is right not to carry the stanza the debcargo hint proposed.
  • LICENSE is the verbatim 674-line GPL-3 text; it is matched by Files: * as GPL-3.0-only and, as usual for a licence-text file whose FSF notice permits verbatim copying only, given no separate FSF stanza.
  • No per-file copyright or SPDX headers exist in src/; the only copyright statements in upstream files are README.md:336 (Copyright (C) 2026 Alexander Kjäll) and the same holder in the licence header of debian/debcargo-conf-linter.1:3, both named in debian/copyright.
  • debian/copyright is DEP-5 with the correct Format: URL, Files: * plus a later debian/* stanza, and a stand-alone GPL-3.0-only paragraph pointing at /usr/share/common-licenses/GPL-3; no licence text outside common-licenses is needed.
  • All nine Build-Depends-Arch crate names resolve in the archive (apt-cache): librust-annotate-snippets-0.12, librust-anstyle-1, librust-cfg-expr-0.20, librust-clap-4 (+default, +derive), librust-deb822-lossless-0.5, librust-debian-changelog-0.2, librust-debian-copyright-0.1, librust-toml-edit-0.25 (+parse, +display) are provided by current versions; dh-sequence-cargo is provided by dh-cargo 34.
  • The missing librust-tempfile-3-dev in Build-Depends is not a build problem: dh-cargo's test step runs cargo build, not cargo test (cargo.pm sub test), and the crate sets autotests = false; tempfile is a dev-dependency only.
  • Cargo.toml is cargo's regenerated manifest and Cargo.toml.orig (its source) is shipped; Cargo.lock is removed by the cargo buildsystem at configure time.
  • No debian/patches and no applied quilt patches; debian/source/format is 3.0 (quilt).
  • Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 (first two components equal), so not an issue.
  • The CLI in src/main.rs (--root/-r, --rule, --list-rules, --format full|compact, --color auto|always|never, positional crate names) matches the synopsis and options documented in debian/debcargo-conf-linter.1 and README.md.
  • debian/copyright.debcargo.hint still carries debcargo's FIXME (overlay) placeholders and UNKNOWN-LICENSE short names, but it is debcargo's generated suggestion, is not installed and is not debian/copyright, so it makes no licensing claim for the binary package.
  • uscan found the packaged version as the newest upstream release (upstream 0.1.0, packaged 0.1.0).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (GPL-3).
Not confirmed ◂
  • No network access, so the Vcs-Git/Vcs-Browser location (rust-team/debcargo-conf, subdirectory src/debcargo-conf-linter) and the upstream Homepage could not be checked for reachability; the bracket syntax and layout are consistent with the Rust team's repositories.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 1 day ago.

Back to Dashboard | View all reviews for this package