[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Need advice on how to package a Rust application whose crates aren't in debian




On 14-07-2025 21:18, Matthias Geiger wrote:
On Mon, 14 Jul 2025 15:12, Aryan Karamtoth <aryankmmiv@outlook.com> wrote:
Hi Rust Team, hope DebConf25 is going well for you.
Hi, can't attend unfortunately :(
I'm currently working on packaging a rust based application called vpm which is a package manager for verilog. This is my first ever Rust related package. I've only worked with Python related ones until now.

I've checked the cargo.toml file [1] and almost all of the crates are in Debian except a few, namely:

- ring

- rand

Those are in debian (librust-rand/ring-dev), likely not in the exact version you need. You'll need to try if downgrading them via a patch works (see [0])
- tree-sitter-verilog

For that you best join the tree-sitter-team. Just request access on salsa; the existing packages can serve as inspiration. LMK if you need help there; recently I packaged tree-sitter-asm.
I want to know if the package can be still built without these being in debian or if I must file RFP/ITP for them and package them. Python only allows its python based apps to be packaged in Debian if its dependencies are in debian, I want to know if there's a way to circumvent this in Rust for crates.
Strictly speaking, not. Vendoring is possible in special cases (I did so when another crate I needed was horribly broken in Debian). Since this is effectively one new crate (+patches) this is a reasonable effort.
I'm willing to package the missing crates under the Debian Rust Team if they must be in Debian in order to package vpm but I request your help with sponsorship and guidance in that case.
Yes, they should, but you should get away with just tree-sitter packaging :)
Note: I intend to maintain vpm with Debian Electronics Team but I will gladly package the missing crates under Debian Rust Team by following the Team policy [2] if packaging the dependencies is required for packaging vpm.

This can be maintained with the electronics team as-is, all of its rust deps (save tree-sitter) would be maintained by the Rust team.

For packaging the binary itself see [1] (to be integrated into the book). texlab and loupe can serve as help on how to set up d/rules and d/control. I am pretty swamped until August 1st, feel free to ping me on #debian-rust IRC then.

best,

werdahias

Links:

[0]: https://rust-team.pages.debian.net/book/fix-problems.html#unsatisfiable-dependencies
[1]: https://wiki.debian.org/Gnome/Rust_Packaging


Hi Matthias,

Thank you for the quick reply. Can you tell me how I can contact the tree-sitter team, if they have a mailing list or irc channel?

I will get in touch with them and work on packaging tree-sitter-verilog.

--
Regards,

Aryan Karamtoth
Debian Contributor
IRC: SpaciousCoder78

PGP Fingerprint: 7A7D 9308 2BD1 9BAF A83B 7E34 FE90 07B8 ED64 0421

Attachment: OpenPGP_0xFE9007B8ED640421.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


Reply to: