Review: rust-vte4-sys 0.10.0-1
Package Information
| Description | FFI bindings to vte-2.91-gtk4 - Rust source code Source code for Debianized Rust crate "vte4-sys" |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Jeremy Bícha <jbicha@ubuntu.com> |
| Sponsor | jbicha@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/vte4-sys] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-vte4-sys |
| Uploaded | 27 days ago |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Sun, 11 Oct 2026 14:21:32 +0200 |
| Source | rust-vte4-sys |
| Version | 0.10.0-1 |
| Changed-By | Jeremy Bícha <jbicha@ubuntu.com> |
| Architecture | source amd64 |
Changelog
rust-vte4-sys (0.10.0-1) unstable; urgency=medium . * Package vte4-sys 0.10.0 from crates.io using debcargo 2.8.4
.dsc
| Section | rust |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | librust-vte4-sys-dev deb rust optional arch=any |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: vte4-sys Source: https://gitlab.gnome.org/World/Rust/vte4-rs Files: * Copyright: 2024-2026 Bilal Elmoussaoui 2021-2023 Marc-André Lureau License: MIT Files: debian/* Copyright: 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> 2026 Jeremy Bícha <jbicha@ubuntu.com> 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, 2 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 24 days ago.
Report
DFSG NEW review for rust-vte4-sys version 0.10.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
Licensing
debian/copyright is in DEP-5 format with the right Format line, and its two stanzas (Files: * and debian/*) cover every file in the tree: gir-generated src/lib.rs, build.rs, tests/abi.rs, tests/constant.c, tests/layout.c, tests/manual.h, Cargo.toml, Cargo.toml.orig, Cargo.lock, Gir.toml, versions.txt, .cargo_vcs_info.json, LICENSE and debian/. MIT is the correct short name: both Cargo.toml and Cargo.toml.orig declare license = "MIT", the LICENSE file is that MIT text verbatim, and since MIT is not in /usr/share/common-licenses the full licence text is reproduced in the stand-alone License paragraph, as required. No non-free or field-of-use terms, no licence notice anywhere in the tree that contradicts it, no unlicensed file, and no binary, font, image, minified or compressed file of unclear provenance. The only part I could not cross-check is the identity and years of the copyright holders, which the source itself does not state (see unconfirmed).
Packaging
Standard debcargo 2.8.4 output and good quality: debhelper compat 13 with dh-sequence-cargo and dh $@ --buildsystem cargo, a single Architecture: any, Multi-Arch: same -dev package (correct for Rust), Build-Depends/Build-Depends-Arch split with the <!nocheck> profile, and every Build-Depends and Depends name resolvable in the archive (libvte-2.91-gtk4-dev 0.84.1, librust-gtk4-sys-dev 0.11.5, gio/glib/gobject/pango-sys 0.22.9, cairo-sys-rs 0.22.9, system-deps 7.0.8, libc 0.2.186, dh-cargo 34). Standards-Version 4.7.4 equals current Policy, 3.0 (quilt) source format, Vcs-* and upstream/metadata present, autopkgtests generated for the feature sets, changelog sane. Only two minor points, neither blocking: a placeholder checksum file and a patch without a DEP-3 header.
Issues
minor packaging 1. debian/cargo-checksum.json holds a placeholder instead of the crates.io checksum ◂
- Files:
debian/cargo-checksum.json:1 - Evidence:
{"package":"Could not get crate checksum","files":{}} - Problem: The file is not the crates.io sha256 of the crate: it is the string debcargo writes when it could not obtain the checksum. It is not inert — dh-cargo copies it verbatim into the installed crate (
doit("cp", "debian/cargo-checksum.json", "$copied_sources/.cargo-checksum.json")in the cargo buildsystem, and the same copy is installed under /usr/share/cargo/registry/), so /usr/share/cargo/registry/vte4-sys-0.10.0/.cargo-checksum.json ships apackagevalue that is not a checksum at all. Cargo takes a directory source's package checksum from that field, so it can never match the real crates.io sha256 recorded in any consumer's Cargo.lock, and the field no longer records the provenance of the tarball. (An emptyfilesmap is normal and harmless; the boguspackagevalue is not.) - Fix: Regenerate the file so that
packageis the real sha256 of vte4-sys-0.10.0.crate, by running debcargo with network access (or by putting the checksum in by hand) and re-uploading.
minor packaging 2. disable-abi-tests.patch has no usable DEP-3 header and its purpose is undocumented ◂
-
Files:
debian/patches/disable-abi-tests.patch:1-4,debian/patches/series:2 -
Evidence:
Subject: Disable tests that depend on an unreleased version of vte2.91 --- a/Cargo.toml -
Problem: The patch carries no DEP-3 fields: no
Description:, noForwarded:/Author:. Its only field is aSubjectthat the blank line truncates, so the parsed subject isDisable tests that depend on an unreleasedand the next line (version of vte2.91) is not a valid control field at all. The reason for the patch — the crate's only test needs vte 0.86 APIs that Debian does not have — is therefore nowhere in the source package. Related consequence worth deciding on: with the abi test now[[disabled.test]], debian/debcargo.toml'swhitelist = ["tests/*.c"]and thelibrust-shell-words-1+default-dev/librust-tempfile-3+default-devautopkgtest dependencies exist only for a test that no longer runs, and the autopkgtests merely compile the crate. -
Fix: Give the patch a proper DEP-3 header, e.g.
Description: Disable the abi test, which needs the unreleased vte 2.91.86andForwarded: not-neededon one line, and either drop the now-unused whitelist/test dependencies or say in the header why they are kept.
Verified ◂
- Read every file under debian/ (control, rules, changelog, copyright, copyright.debcargo.hint, debcargo.toml, cargo-checksum.json, source/format, tests/control, upstream/metadata, patches/series, both patches) and every upstream file, the large generated ones (src/lib.rs 1699 lines, tests/abi.rs 512 lines) in part rather than in full.
- grep over the whole tree with gitignore: false for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU General Public/Lesser, Apache License, Mozilla Public, public domain, All rights reserved: the only hits are LICENSE (the MIT text, with no copyright line) and debian/*. No upstream file carries a per-file licence or copyright notice.
- The MIT text in debian/copyright's Licence paragraph matches LICENSE verbatim, including
NONINFRINGEMENT. IN NO EVENT; Cargo.toml and Cargo.toml.orig both saylicense = "MIT". - The tree contains only text: .rs, .c, .h, .toml, .json, .lock, .txt, LICENSE — no binary, image, font, minified or compressed file that would need a preferred form for modification.
- src/lib.rs, build.rs, tests/abi.rs and tests/*.c are gir-generated (
// This file was generated by gir); the generator inputs/versions are shipped in Gir.toml and versions.txt, so the shipped files are what upstream maintains. - Dependency names checked with apt-cache and all exist: libvte-2.91-gtk4-dev 0.84.1-1+b1, librust-gtk4-sys-dev 0.11.5-1 (provides gtk4-sys-0.11+default-dev), librust-gdk4-sys-0.11+default-dev, librust-gio/glib/gobject/pango-sys-dev 0.22.9-1, librust-cairo-sys-rs-dev 0.22.9-1, librust-system-deps-dev 7.0.8+dfsg-2, librust-libc-dev 0.2.186-1, librust-shell-words-dev 1.1.1-1, librust-tempfile-dev 3.27.0-1, dh-cargo 34 (Provides: dh-sequence-cargo).
- Both patches apply in the unpacked tree: Cargo.toml has
[[disabled.test]]and nov0_86 = ["v0_84"]feature, while lib.rs keeps#[cfg(feature = "v0_86")]items guarded by the check-cfg lints added by the autogenerated patch — so the removed features are dead code and not a compile warning source. - Standards-Version 4.7.4 is current: the reviewing system's Policy is 4.7.4.1 and its upgrading checklist has nothing after 4.7.4. The packaging also lacks a Priority field, which is allowed: Rules-Requires-Root now defaults to
no(Policy 5.6.31) and Priority defaults to optional (the .dsc's Package-List says optional). - No Files-Excluded in debian/copyright and none needed: the unpacked tree equals the orig tarball plus debian/ and the two quilt patches, and debian/ contains no file outside the debian.tar.xz.
- debian/copyright.debcargo.hint is kept alongside the real copyright (normal debcargo workflow); it still holds FIXME placeholders, but it is a debcargo input, not the copyright file, and the file that is installed and read by dh-cargo-built-using is debian/copyright.
- uscan found the packaged version as the newest upstream release (upstream
0.10.0, packaged0.10.0).
Not confirmed ◂
- The copyright holders and years in the
Files: *stanza (2024-2026 Bilal Elmoussaoui, 2021-2023 Marc-André Lureau) are not attested anywhere in the tarball: LICENSE has no copyright line and no source file carries a notice, so they rest on debcargo's reading of the upstream git history, which debian/copyright.debcargo.hint admits may be wrong. I have no tool that can fetch gitlab.gnome.org, so I could not confirm them; a maintainer who has the repository should. - What cargo does with the non-hash
packagevalue in the installed .cargo-checksum.json for consumers of librust-vte4-sys-dev. Cargo tolerates the emptyfilesmap, but I could not build anything to see whether a boguspackagestring breaks a consumer's build or is simply ignored. - Whether
cargo teston the shipped Cargo.toml emits any warning for the invented[[disabled.test]]table; a build or acargo metadatarun would show it, and it is at most a warning. - 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:
glob: " /usr/share/cargo" is not a file of the package or of the reviewing system.
Proposed changes ◂
None.
Review Information
accepted — allocated to awm 23 days ago, started 23 days ago, completed 23 days ago.
Final Comment
Hi,
You're probably expecting this, after the last one...
debian/patches/disable-abi-tests.patch has "Subject:" header rather than "Description:" / "Forwarded:" / "Author:"
Thanks!