DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: rust-apache-avro-derive 0.22.0-1

Package Information

Descriptionderives Avro schemas from Rust structs and enums

Apache Avro is a schema-based data serialization format. Its schemas describe the types and structure of records exchanged between applications or stored in files.

This procedural macro implements schema generation for Rust structs and enums through the AvroSchema derive. Attributes control names, namespaces, aliases, defaults and other schema properties. It is normally used through the derive feature of the apache-avro library.

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/apache-avro-derive] (browse)
Closes#1152656
Trackerhttps://tracker.debian.org/pkg/rust-apache-avro-derive
Uploaded7 days ago

New Package Report

.changes◂
Sourcerust-apache-avro-derive
Version0.22.0-1
Changed-BySteffen Moeller <moeller@debian.org>
Architecturesource amd64
Distributionunstable
DateSat, 31 Oct 2026 18:23:30 +0100
Changelog◂
rust-apache-avro-derive (0.22.0-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1152656).
   * Credit the Serde-derived code and Debian-added tests in copyright metadata.
   * Port to Debian's darling 0.24 and syn 3, with enum regression tests.
   * Restore the parent library dependency for integration tests.
   * Complete the derive documentation example so it can be compiled.
   * Complete the package description and copyright information.
   * Package apache-avro-derive 0.22.0 from crates.io using debcargo 2.8.4
.dsc◂
Priorityoptional
Componentmain
Package-Listlibrust-apache-avro-derive-dev deb rust optional arch=any
Sectionrust
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: apache-avro-derive
Source: https://github.com/apache/avro-rs

Files: *
Copyright:
 2010-2025 The Apache Software Foundation
License: Apache-2.0
Comment:
 Copyright and original implementation credit are recorded in NOTICE.
 The initial Rust implementation was developed by Flavien Raynaud and
 donated to the Apache Avro project in 2020.

Files: src/case.rs src/utils.rs
Copyright:
 2010-2025 The Apache Software Foundation
 David Tolnay <dtolnay@gmail.com>
 Serde Developers
License: Apache-2.0
Comment:
 src/case.rs identifies its case-conversion code as copied from
 serde_derive/src/internals/case.rs in https://github.com/serde-rs/serde.
 src/utils.rs credits David Tolnay for the Serde-derived error conversion
 helper. Serde offers its code under Apache-2.0 or MIT; the Apache-2.0
 option is used here, alongside the Apache-licensed Avro modifications.
 The copied snippets do not state copyright years for their Serde authors.

Files: src/lib.rs
Copyright:
 2010-2025 The Apache Software Foundation
 David Tolnay <dtolnay@gmail.com>
 Serde Developers
 2026 Steffen Moeller <moeller@debian.org>
License: Apache-2.0
Comment:
 The procedural-macro entry point is marked as templated from Serde;
 its Apache-2.0 licensing option is used here as above.
 The debian_syn3_tests module was added by the Debian packaging in
 debian/patches/darling-0.24-syn-3.patch. Its 2026 contribution is
 attributed to Steffen Moeller and distributed under Apache-2.0.

Files: debian/*
Copyright:
 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 2026 Steffen Moeller <moeller@debian.org>
License: Apache-2.0

License: Apache-2.0
 On Debian systems the full license text is available in
 /usr/share/common-licenses/Apache-2.0.

DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 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 7 days ago.

Report◂

DFSG NEW review for rust-apache-avro-derive version 0.22.0-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

All 114 files in the tree are Apache-2.0: every source and test file carries the ASF licence header, LICENSE holds the standard Apache 2.0 text and NOTICE names the ASF plus the Flavien Raynaud donation, which debian/copyright records. debian/copyright is DEP-5 with an exact Format line, disjoint stanzas that match the tree (src/case.rs and src/utils.rs for the code copied from Serde, with David Tolnay and Serde Developers named, src/lib.rs for the Debian-added test module, debian/*), and points at /usr/share/common-licenses/Apache-2.0, so no licence text needs reproducing. The Apache-2.0 option of Serde's MIT/Apache-2.0 dual licence is compatible with the rest.

Packaging

This is a clean debcargo import: compat 13 with dh-sequence-cargo, all crate dependencies in Build-Depends-Arch with the correct architecture placement, every dependency verified present in the archive at a satisfying version, and the <!nocheck> markers correct because dh-cargo compiles in its dh_auto_test step rather than in the build step. The three patches carry DEP-3 headers, the darling/syn 3 port is complete in the source, README.source documents the port, the test cycle and the validation, the autopkgtest runs the all-target suite, and the changelog, Vcs-* fields and Standards-Version are in order.

Issues

None.

Verified ◂
  • The prescan listed no file for follow-up; its holder check reported that every copyright holder it found is named in debian/copyright, which matches my own reading of LICENSE, NOTICE and the file headers.
  • Full inventory of upstream files read (src/ 14 files, tests/ 48 files, build.rs, Cargo.toml, Cargo.toml.orig, Cargo.lock, .cargo_vcs_info.json, LICENSE, NOTICE, README.md). Every src/*.rs file and the test sources carry the Licensed to the Apache Software Foundation header; a grep for Copyright/(C)/©/SPDX/GNU/Lesser/Mozilla/public domain/All rights reserved/MIT over src/ and tests/ found no other licence or holder.
  • LICENSE is the unmodified Apache 2.0 text (202 lines) and is in /usr/share/common-licenses, so the License: Apache-2.0 pointer in debian/copyright is sufficient; NOTICE (ASF 2010-2025, Flavien Raynaud donation) is shipped in the source package and copied into the installed registry by dh-cargo.
  • src/case.rs (Code copied from serde <.../serde_derive/src/internals/case.rs>) and src/utils.rs (Copied from serde, originally written by David Tolnay) are covered by the Files: src/case.rs src/utils.rs stanza, which names both Serde Developers and David Tolnay; choosing Apache-2.0 from Serde's MIT/Apache-2.0 dual licence is compatible with the surrounding Apache-2.0 code, so no MIT text is required.
  • tests/expanded/*.expanded.rs are macrotest cargo expand snapshots whose generator inputs (the adjacent .rs files, run through tests/expand.rs) are in the package; tests/ui/.stderr are rustc error output for the trybuild cases; tests/derive.proptest-regressions is proptest seed data; Cargo.lock and .cargo_vcs_info.json are cargo metadata. None of these is a build artifact whose source is absent, and none carries licence terms of its own.
  • debian/copyright is DEP-5 with the exact copyright-format 1.0 URL; its stanzas are disjoint (Files: *, src/case.rs src/utils.rs, src/lib.rs, debian/*), so ordering does not matter. The Steffen Moeller attribution for the debian_syn3_tests module added by debian/patches/darling-0.24-syn-3.patch is correct and present.
  • debian/control: compat 13 (debhelper-compat (= 13)), dh-sequence-cargo, Architecture: any, Multi-Arch: same, Breaks: rustc (<< 1.88.0~) and the versioned Provides are right for a proc-macro crate; the binary Depends list matches the crate's dependencies and features exactly (darling without features, proc-macro2, quote, serde_json +std, syn +full +fold, uuid +serde +std, plus the rustversion build-dependency).
  • Every dependency exists at a satisfying version: librust-syn-dev 3.0.9-1 provides librust-syn-3+fold-dev and librust-syn-3+full-dev, librust-darling-dev 0.24.1-1, librust-proc-macro2-dev 1.0.107-1, librust-quote-dev 1.0.47-1, librust-rustversion-dev 1.0.23-1, librust-serde-json-dev 1.0.154-1, librust-uuid-dev 1.29.0-1, librust-serde-dev 1.0.229-1, librust-macrotest-dev 1.2.1-2, librust-proptest-dev 1.11.0-2, librust-pretty-assertions-dev 1.4.1-1+b1, librust-trybuild-dev 1.0.121-1.
  • The < !nocheck> markers on the whole Build-Depends-Arch block are correct, not a defect: /usr/share/perl5/Debian/Debhelper/Buildsystem/cargo.pm sub build only copies the sources (compilation happens in sub test, which dh skips under the nocheck profile), so a nocheck build genuinely needs none of them.
  • debian/patches: all three patches have DEP-3 headers with Description, Author (Steffen Moeller), Forwarded and Last-Update; the darling/syn 3 port is complete in the sources patched (grep for into_value/Punctuated/parse_terminated in src/ finds nothing left), and the Cargo.toml and Cargo.toml.orig hunks agree. debian/README.source explains why each patch exists, and why no test is removed to break the apache-avro cycle.
  • debian/changelog: 0.22.0-1, unstable, urgency medium, ITP closure Closes: #1152656, dated Sat, 31 Oct 2026 (a Saturday). Standards-Version 4.7.4 has the same first two components as the reviewing system's Policy 4.7.4.1, so it is current.
  • debian/tests/control: three cargo-auto-test stanzas (--all-targets --all-features, --all-targets, --all-targets --no-default-features) pull the dev-dependencies the tests need (apache-avro +derive, macrotest, proptest, pretty-assertions, serde +derive +std, trybuild, rustversion) plus dh-cargo (>= 33~) (which Depends cargo) and @ for the built package; the nightly-only snapshot tests are ignored on stable by #[rustversion::attr(not(nightly), ignore)] in tests/expand.rs and tests/ui.rs, as README.source states.
  • debian/copyright.debcargo.hint is debcargo's generated template, superseded by the hand-written debian/copyright; it is not installed in any binary package and raises no licensing question (debian/* is covered by its own stanza).
  • uscan found the packaged version as the newest upstream release (upstream 0.22.0, packaged 0.22.0).
  • Every pointer of debian/copyright to /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
  • librust-apache-avro-0.22+derive-dev, which all three autopkgtest stanzas depend on, is not in the reviewing system's package lists nor among the uploads in the NEW queue as of 2026-10-31. debian/README.source says the parent apache-avro library is prepared alongside this crate, so it is probably another package of the same stack, but I could not confirm that it exists.
  • I could not build the package or run its suite; README.source's report of 99 passing all-target tests could not be rechecked.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 7 days ago.

Review Information

accepted — allocated to mechtilde 6 days ago, started 6 days ago, completed 6 days ago.

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
0.22.0-1 4e267fc2… 2026-10-31 13:41 2026-10-31 13:41 dfsg-uploader rejected VIEW

Back to Dashboard | View all reviews for this package