DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: rust-rmcp-macros 3.3.0-1

Package Information

DescriptionRust SDK for Model Context Protocol macros library - Rust source code

Source code for Debianized Rust crate "rmcp-macros"

MaintainerDebian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Changed ByBrian Cosgrove <cosgroveb@gmail.com>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureany
VCSgit: https://salsa.debian.org/rust-team/debcargo-conf.git [src/rmcp-macros] (browse)
Trackerhttps://tracker.debian.org/pkg/rust-rmcp-macros
Uploaded30 days ago

New Package Report

.changes◂
Sourcerust-rmcp-macros
Version3.3.0-1
Changed-ByBrian Cosgrove <cosgroveb@gmail.com>
Architecturesource amd64
Distributionunstable
DateThu, 08 Oct 2026 10:48:41 -0500
Changelog◂
rust-rmcp-macros (3.3.0-1) unstable; urgency=medium
 .
   * Package rmcp-macros 3.3.0 from crates.io using debcargo 2.8.4
.dsc◂
Componentmain
Package-Listlibrust-rmcp-macros-dev deb rust optional arch=any
Sectionrust
Priorityoptional
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: rmcp-macros
Source: https://github.com/modelcontextprotocol/rust-sdk/

Files: *
Copyright: 2024-2025 Model Context Protocol a Series of LF Projects, LLC
License: Apache-2.0 and Expat
Comment:
 The upstream LICENSE records a transition from MIT to Apache-2.0. New and
 consented code is Apache-2.0, while earlier contributions without consent
 remain MIT (Expat). Upstream does not identify those contributions by file.
 The copyright holder above is the explicit project notice in that LICENSE.

Files: README.md
Copyright: 2024-2025 Model Context Protocol a Series of LF Projects, LLC
License: CC-BY-4.0
Comment:
 The upstream LICENSE covers documentation under CC-BY-4.0. The published
 crate omits that file. See the license reference below.

Files: debian/*
Copyright:
 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
 2026 Brian Cosgrove <cosgroveb@gmail.com>
License: Apache-2.0

License: Apache-2.0
 Debian systems provide the Apache 2.0 license in
 /usr/share/common-licenses/Apache-2.0

License: Expat
 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.

License: CC-BY-4.0
 Creative Commons Attribution 4.0 International
 .
 On Debian systems, the full license text is available in
 /usr/share/common-licenses/CC-BY-4.0.

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 24 days ago.

Report◂

DFSG NEW review for rust-rmcp-macros version 3.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

Licensing

debian/copyright is in DEP-5 format with the correct Format: URI and covers every file: Files: * (Apache-2.0 and Expat), Files: README.md (CC-BY-4.0) and Files: debian/* (Apache-2.0). All three licences are DFSG-free, the Expat text is reproduced in full, and Apache-2.0/CC-BY-4.0 point to /usr/share/common-licenses, where both files exist; 'Expat' is the short name the copyright-format spec requires for MIT. Nothing in the tree contradicts the file: no source file carries a copyright or licence notice, and the only in-tree statement is Cargo.toml's license = "Apache-2.0", which the file is consistent with. The finer per-file split (earlier MIT contributions, documentation under CC-BY-4.0) rests on the upstream repository LICENSE, which the crate does not ship, so its wording cannot be verified here (see unconfirmed); the file's comments state that basis explicitly.

Packaging

Clean debcargo-generated packaging for a large, current crate. Build-Depends/Build-Depends-Arch are correct and satisfiable (dh-sequence-cargo from dh-cargo 34, rustc/cargo 1.97.1 with rustc:native (>= 1.88), librust-syn-dev 3.0.6 providing librust-syn-3-dev, librust-darling-dev 0.24.1 providing librust-darling-0.24-dev), debhelper compat 13 with dh $@ --buildsystem cargo, the single binary librust-rmcp-macros-dev is Multi-Arch: same with the usual versioned Provides and Depends matching upstream's dependencies, Standards-Version 4.7.4 matches current Policy, Vcs-*/Homepage/upstream metadata are correct, no patches or maintainer scripts exist, and the autopkgtests cover all feature combinations. Only a changelog nit for a first upload remains.

Issues

minor packaging 1. Initial upload does not close the ITP bug in debian/changelog ◂
  • Files: debian/changelog:3
  • Evidence: * Package rmcp-macros 3.3.0 from crates.io using debcargo 2.8.4
  • Problem: This is the first upload of a new source package (the .dsc's binary is not in the archive and is only waiting in NEW as part of rust-rmcp), but the changelog entry has no Closes: clause, so the Intent To Package bug would stay open after the upload (Policy 4.4: the changelog may be used to close bug reports).
  • Fix: Append the ITP number to the entry, e.g. * Initial release (Closes: #NNNNNN) alongside the existing line.
Verified ◂
  • Read every file of the source tree: the 6 upstream top-level files (Cargo.toml, Cargo.toml.orig, Cargo.lock, .cargo_vcs_info.json, CHANGELOG.md, README.md), all 8 src/*.rs files, and all 11 files under debian/ (excluding .pc/, which was not read).
  • No LICENSE, COPYING or NOTICE file is shipped: the crate is crates/rmcp-macros of the upstream repository (confirmed by .cargo_vcs_info.json, path_in_vcs), so the repository-root LICENSE is outside the crate tarball; the orig tarball listing agrees.
  • grep across the tree for copyright/licence evidence (Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU/LGPL, Apache License, Mozilla Public, public domain, All rights reserved, MIT, CC-BY) found no per-file notices; the only hits are Cargo.toml's license = "Apache-2.0" and README.md's This project is licensed under the terms specified in the repository's [LICENSE](../../LICENSE) file..
  • Every file in the tree is matched by a copyright stanza (Files: , overridden for README.md, plus debian/); the three short names used (Apache-2.0, Expat, CC-BY-4.0) each have a stand-alone License paragraph.
  • /usr/share/common-licenses contains both Apache-2.0 and CC-BY-4.0, so the pointers in the License paragraphs resolve; the Expat text is included in full in the file itself.
  • No binary, minified, generated-for-distribution or embedded third-party files: the tree is Rust sources plus text metadata, with no fonts, images, .jar/.so/.class or vendored code; there is no patches directory and .pc/applied-patches is empty, so no Debian patches are involved.
  • The orig tarball's sha256 matches the package value in debian/cargo-checksum.json and the Checksums-Sha256 in the .dsc.
  • Packaging dependencies exist: dh-cargo 34 (Provides dh-sequence-cargo, satisfying the autopkgtest dh-cargo (>= 33~)), rustc/cargo 1.97.1 (>= 1.88), librust-syn-dev 3.0.6-1 providing librust-syn-3-dev, librust-darling-dev 0.24.1-1 providing librust-darling-0.24-dev; librust-rmcp-dev is built by rust-rmcp 3.3.0-1, waiting in NEW.
  • debian/control's source and binary stanzas agree with the .dsc (names, version, Testsuite, Package-List, Standards-Version, Vcs-*), and debian/tests/control uses only valid autopkgtest fields with @ meaning this source package's binaries.
  • uscan found upstream releases with debian/watch; a newer upstream version is available (upstream 3.5.1, packaged 3.3.0), which is not a fault of the package.
Not confirmed ◂
  • Whether the upstream LICENSE really grants Apache-2.0 for new code, Expat/MIT for earlier contributions and CC-BY-4.0 for documentation could not be checked: the file is not part of the source package. The copyright file's per-file licence split and its copyright holder are therefore taken on trust; if the upstream LICENSE says something else, Files: * and Files: README.md would be inaccurate. Only the crate's own in-tree statement (Cargo.toml, license = "Apache-2.0") could be checked, and the file is consistent with it.
  • CHANGELOG.md is documentation but stays under Files: * (License: Apache-2.0 and Expat) while README.md is separated out as CC-BY-4.0, although the copyright file's own comment says the upstream LICENSE 'covers documentation under CC-BY-4.0'. Whether that grant is limited to the README could not be checked without the LICENSE.
  • debian/copyright.debcargo.hint, debcargo's overlay template with FIXME (overlay) UNKNOWN-AUTHORS placeholders, ships beside the hand-written debian/copyright. Whether the debcargo-conf convention is to keep that template in the source package, and whether a later debcargo run would regenerate debian/copyright from the stale hint and drop the Expat/CC-BY-4.0 information, could not be checked: no debcargo or dh-cargo documentation or manual pages are installed on this system, so the same applies to the placement of debian/cargo-checksum.json.
  • File permissions (e.g. that debian/rules is executable) could not be read; no file mode information was available.
Proposed changes ◂

None.

Review Information

accepted — allocated to awm 23 days ago, started 23 days ago, completed 23 days ago.

Final Comment

Back to Dashboard | View all reviews for this package