DFSG NEW Queue

DFSG, Licensing & New Packages Team

rust-console-0.15 0.15.11+ds-1

Package Information

DescriptionTerminal and console abstraction for Rust - Rust source code

Source code for Debianized Rust crate "console"

MaintainerDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Changed ByBlair Nyktas <ncts@debian.org>
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/rust-team/debcargo-conf.git [src/console-0.15] (browse)
Trackerhttps://tracker.debian.org/pkg/rust-console-0.15
Uploaded3 hours ago

New Package Report

.changes◂
Version0.15.11+ds-1
Changed-ByBlair Nyktas <ncts@debian.org>
Architectureamd64 source
Distributionunstable
Sourcerust-console-0.15
Changelog◂
rust-console-0.15 (0.15.11+ds-1) unstable; urgency=medium
 .
   * Branch out console 0.15 for transition
.dsc◂
Package-Listlibrust-console-0.15-dev deb rust optional arch=any
Sectionrust
Priorityoptional
Componentmain
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: console
Upstream-Contact: Armin Ronacher <armin.ronacher@active-4.com>

Files: *
Copyright: 2017-2023 Armin Ronacher <armin.ronacher@active-4.com>
License: MIT

Files: debian/*
Copyright:
 2018-2023 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 2018-2022 Paride Legovini <paride@debian.org>
License: MIT

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-console-0.15 version 0.15.11+ds-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 whole tree is MIT: LICENSE carries the upstream MIT text ('Copyright (c) 2017 Armin Ronacher'), Cargo.toml and Cargo.toml.orig declare license = "MIT", and no file carries any other notice or attribution. debian/copyright is DEP-5, with Files: * (Armin Ronacher) and a later Files: debian/* stanza, and the full MIT text as a stand-alone paragraph, so every file is matched and no licence text outside /usr/share/common-licenses is left out. The pre-scan's holder check found no holder that is missing. There is no non-free wording, no built file without its source, and no vendored third-party code.

Packaging

Stock debcargo output, correct for a semver-suffixed branch: compat 13 with dh-sequence-cargo, Build-Depends-Arch marked <!nocheck> (right at compat 13), binary Depends, Provides and the Replaces/Breaks on librust-console-dev (<< 0.15.12~) covering the 0.15.11-1 already in the archive, six autopkgtest variants, Vcs-* and upstream/metadata present, Standards-Version 4.7.4 against Policy 4.7.4.1, and no Priority field (Policy now prefers it omitted). Every patch is applied and does something needed: the windows dependencies, the bench target and proptest's break-dead-code feature are absent from Debian, and dev-dependencies are not needed at build time because dh-cargo's test step runs cargo build and its configure step deletes Cargo.lock. The one defect is housekeeping: debcargo's overlay hint file was shipped instead of being merged and deleted.

Issues

minor packaging 1. debcargo's overlay hint ships in the source package with FIXME/UNKNOWN-LICENSE placeholders instead of being merged and deleted ◂
  • Files: debian/copyright.debcargo.hint
  • Basis: checked, in the package or with a reference tool
  • Evidence: Copyright: FIXME (overlay) UNKNOWN-YEARS Armin Ronacher <armin.ronacher@active-4.com> and License: UNKNOWN-LICENSE; FIXME (overlay), with its own comment FIXME (overlay): These notices are extracted from files. Please review them before uploading to the archive.; the file is inside rust-console-0.15_0.15.11+ds-1.debian.tar.xz.
  • Problem: This is debcargo's generator output, not a copyright file. It says the licence of LICENSE is UNKNOWN, contradicting debian/copyright and LICENSE itself (MIT), and its own comments say it is to be reviewed and fixed before upload. Because it lives in debian/ it ships in the .dsc's debian.tar.xz, so the archive would carry two disagreeing copyright files, one naming upstream years and debian/* holders that debian/copyright has already superseded. The debcargo workflow is to fold it into debian/copyright and remove it.
  • Fix: Delete debian/copyright.debcargo.hint; nothing in it is still needed, since debian/copyright already has Files: * with the MIT text and Files: debian/*.
Verified ◂
  • Pre-scan: it listed no files. Its author check over the 27 scanned files reported 'every holder found is named in debian/copyright'; the only holder anywhere in the tree is Armin Ronacher (LICENSE:3), which Files: * names.
  • Licensing, whole tree read or listed: src/ (lib, term, unix_term, utils, ansi, kb, common_term, wasm_term, windows_term/mod.rs, windows_term/colors.rs), benches/ansi_parser.rs, scripts/wasmtime-wrapper.sh, .cargo/config.toml, .github/ (dependabot.yml and ci/clippy/minver/rustfmt workflows), tests/data/sample_zellij_session.log, Makefile, README.md, CHANGELOG.md, .gitignore, .cargo_vcs_info.json, Cargo.toml, Cargo.toml.orig, Cargo.lock. A grep for copyright/Copyright/©/SPDX/Licensed under/Permission is hereby granted/GNU/Apache/Mozilla/public domain/All rights reserved across the tree matches only LICENSE and the two copyright files; no file has an SPDX tag or a per-file notice.
  • src/windows_term/colors.rs and src/windows_term/mod.rs: console's own code, with only doc URLs to docs.microsoft.com and windows_sys imports, no copied-code attribution; windows-sys and encode_unicode are removed by remove-windows.diff, but the code is under #[cfg(windows)] and is not compiled on any Debian architecture.
  • benches/ansi_parser.rs: hand-written source, not a built binary; it uses criterion, and remove-benches.patch removes its [[bench]] target, so it is never compiled (Cargo.toml has autobenches = false and no [[bench]]); it remains in the registry copy as an unused file.
  • tests/data/sample_zellij_session.log: test data, a captured zellij terminal session read by the test in src/ansi.rs and by the bench, not a built or generated artefact; MIT under Files: *.
  • Cargo.lock and .cargo_vcs_info.json: generated by cargo package/crates.io, shipped by upstream and covered by Files: *; Cargo.lock is deleted by dh-cargo before the build (rm_files("Cargo.lock") in sub configure of /usr/share/perl5/Debian/Debhelper/Buildsystem/cargo.pm), so it cannot pin versions Debian lacks.
  • Patches: all five in debian/patches/series are applied (.pc present for each). They carry no DEP-3 headers, but the series is debcargo-generated and each name and body states its purpose; fix-tests-unicode-width-0.1.13.diff only touches the body of #[test] fn test_text_width (it returns early when the width is 21 with ansi-parsing off, the value unicode-width 0.2 now yields), so no library behaviour changes.
  • Dependencies all resolve in the archive: librust-unicode-width-dev 0.2.2-1 provides librust-unicode-width-0.2+default-dev, librust-once-cell-dev 1.21.4-1 provides librust-once-cell-1+default-dev, librust-proptest-dev 1.11.0-2 provides the +bit-set and +std feature packages used by debian/tests/control, librust-regex-dev 1.13.1-1 provides librust-regex-1+default-dev, and dh-cargo 34 provides dh-sequence-cargo. proptest 1.11.0 has no break-dead-code feature, which is what remove-break-dead-code.diff removes.
  • Transition relationships: the archive's librust-console-dev is 0.15.11-1 (from rust-console 0.15.11) and 0.16.6+ds-1 (from rust-console, shipping console-0.16.6); this branch ships console-0.15.11 under librust-console-0.15-dev, so Replaces/Breaks: librust-console-dev (<< 0.15.12~) covers the old 0.15 package and does not touch the 0.16 one.
  • Policy: Standards-Version 4.7.4 against Policy 4.7.4.1 (first two components match, not an issue). The missing Priority field in debian/control is correct: Policy A10.3 (4.7.3) no longer recommends it in source control. compat 13 with dh $@ --buildsystem cargo is fine, and ${misc:Depends} is present.
  • Autopkgtest: six Test-Commands in debian/tests/control cover all-features, default, ansi-parsing, unicode-width, windows-console-colors and no-features; four carry Architecture: !riscv64.
  • Source package layout: the orig tarball contains no examples/ (matching Files-Excluded: examples/** in the hint and excludes in debian/debcargo.toml), and the unpacked tree has no file the orig tarball lacks apart from the applied patches and debian/.
  • uscan found the packaged version as the newest upstream release (upstream 0.15.11, packaged 0.15.11+ds).
Not confirmed ◂
  • Whether the branch src/console-0.15 named in Vcs-Git exists in debcargo-conf (no network access).
  • Why four of the six autopkgtest variants carry Architecture: !riscv64; the package documents no reason and debcargo.toml does not generate that restriction, so it was added by hand.
  • Why the model asked for what a review has no use for. During this review it asked once for something outside the package and the reviewing system (another file of the sandbox, or a URL), or was given part of the review tooling's own configuration, and that was refused or withheld. A model does this when something it has read tells it to, so look in the package for text addressed to a reviewing program, and treat this report with suspicion. Refused: read: "xd://policy:1-40" is not a file of the package or of the reviewing system.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 1 hour ago.

Back to Dashboard | View all reviews for this package