[Pkg-rust-maintainers] Packaging software written in Rust
Josh Triplett
josh at joshtriplett.org
Sun Jul 24 07:31:49 UTC 2016
On Sat, Jul 23, 2016 at 10:13:27PM -0700, Josh Triplett wrote:
> Once we have a version of Cargo with that pull request included, and we
> have a way to specify the above source replace-with configuration via
> either an environment variable or the Cargo command line, I think we
> have all the pieces necessary to package Rust libraries and binaries
> manually.
Looking into this further, I don't think we even need to wait for a way
to specify this configuration via environment variable or Cargo command
line. We already want to set CARGO_HOME to avoid picking up any
configuration in $HOME, so we can set it to a temporary directory and
copy /usr/share/cargo/registry.config to .cargo/config in that
directory.
> The remaining bits we might want (but don't have to have all at once
> before we start packaging):
>
> - A common package to build-depend on that includes the script to invoke
> Cargo with the right parameters and/or environment variables.
>
> - A script to download a .crate file from crates.io (either the most
> recent version or a specified version), with checksum verification.
> Probably easiest to do this as a cargo subcommand.
>
> - A script to generate a debian/ directory for a library crate. This
> should generate debian/control (with the version number, Description,
> and Depends for all the cargo dependencies), debian/copyright (based
> on the license and license-file keys in Cargo.toml), debian/rules
> (minimized dh version), etc.
>
> - A script to generate a debian/ directory for a binary crate. This
> will share a bit with the above (version, Description), but needs to
> put the dependencies in Build-Depends and emit a completely different
> debian/rules.
>
> - A Debian Rust Packaging Policy, defining the approach, the
> installation directories, the translation from crate name to package
> name (librust-cratename-dev with s/_/-/ in crate name), etc.
More information about the Pkg-rust-maintainers
mailing list