Review: rust-rmcp-macros 3.3.0-1
Package Information
| Description | Rust SDK for Model Context Protocol macros library - Rust source code Source code for Debianized Rust crate "rmcp-macros" |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Brian Cosgrove <cosgroveb@gmail.com> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/rmcp-macros] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-rmcp-macros |
| Uploaded | 30 days ago |
New Package Report
.changes
| Source | rust-rmcp-macros |
|---|---|
| Version | 3.3.0-1 |
| Changed-By | Brian Cosgrove <cosgroveb@gmail.com> |
| Architecture | source amd64 |
| Distribution | unstable |
| Date | Thu, 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
| Component | main |
|---|---|
| Package-List | librust-rmcp-macros-dev deb rust optional arch=any |
| Section | rust |
| Priority | optional |
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/copyrightis 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-macrosof 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'sThis 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
packagevalue 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 (upstream3.5.1, packaged3.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: *andFiles: README.mdwould 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-AUTHORSplaceholders, 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.