I would like to add the following entry to the table of build profiles in BuildProfileSpec:
Profile anme: `cargo-upstream` Can cause changes to built binaries, including functional chnges. (Y) Should not cause changes to set of build debs. (N) Description: Obtain Rust dependencies from crates.io, not from Debian; use a `Cargo.lock` from the source package if there is one. Will usually cause cargo to make network accesses. Ideally, behaviour of the resulting programs will be the same, but this is not guaranteed. This is useful when developing packages which are to be uploaded to Debian, but whose build dependencies are not yet available in the targeted suite. It allows a Debian maintainer or user to more easily rebuild the package in a different suite to the one targeted, and can allow unification of upstream (crates.io-based) and Debian development without needing to carry a build system patch. Particularly, it will sometimes ease the task of getting (leaf) packages in Debian, as other aspects of the packaging can more easily be tested separately from working on getting the dependencies in. This build profile ought only to be used in packages that are intended to appear in Debian (or a derivative) with .debs built from in-distro dependencies (ie the dh_cargo-style local cargo replacement repository, containing). In such packages, obtaining dependencies locally from within-distro is the default behaviour without -Pcargo-upstream. Invocation of this build profile will generally only be appropriate in the context of manual development, or package-specific near-upstream release workflows. Certainly this profile ought not to be activated for uploads to Debian, as it makes the package build depend on out-of-distro inputs (and relies on external network access at build time). For now, I expect to use this only in an ad hoc fashion in affected packages. (I have a number of candidates.) However, this could be a generally useful feature for Debian's cargo tooling to support, and I think it could do so in a general way so that this profile would be available in most Debian packages containing Rust code, without package-specific work. Whether to implement such a feature is a matter for the maintainers of dh_cargo et al.; IMO the build profile registration is useful even ad-hoc, without any general feature. Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.