Your message dated Fri, 03 May 2024 10:16:01 +0000
with message-id <e1s2pxr-006eyc...@fasolo.debian.org>
and subject line Bug#1054658: fixed in rustc 1.70.0+dfsg2-1~exp1
has caused the Debian Bug report #1054658,
regarding rustc: merge src:cargo into src:rustc
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1054658: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054658
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: rustc
Severity: wishlist
X-Debbugs-Cc: debian-r...@lists.debian.org

as discussed in the last rust team meeting, we'd like to merge the
packaging of src:rustc and src:cargo. this bug report is filed to have a
place for discussing potential objections and collect input.

a bit of background about the status quo. the rust toolchain consist of
many parts, only some of which are packaged for Debian. the two big
components are cargo (the package manager and build tool) and rustc (the
compiler + stdlib). while some parts of the toolchain are developed
upstream in their own repository, the development of the toolchain
itself happens via a single repository:

https://github.com/rust-lang/rust/

similarly, the official release artifacts are created for all components
from this repository, including binary artifacts and source tarballs,
such as
https://forge.rust-lang.org/infra/other-installation-methods.html#source-code

currently, the packaging structure is like this:

1.) src:rustc

uses a repacked/pruned version of the official toolchain source tarball.
pruning happens via subset of debian/patches and some helper scripts.
components which are not needed for packaging in Debian are removed, to
minimize vendoring.

among other things, an embedded copy of LLVM, the cargo tool and
documentation, non-essential parts of rust-analyzer and other tools
either not packaged or packaged separately are removed.

besides the compiler and std library, src:rustc currently also builds
binary packages for two adjacent tools: clippy and rustfmt, as well as a
binary needed for macro support in rust-analyzer, helpers for
integration into gdb and lldb, and documentation.

clippy, rustfmt and rust-analyzer are all developed as standalone
projects in their own git repositories, but merged into the main rust
toolchain repository and released as one toolchain upstream.

2.) src:cargo

this source package and the corresponding binary packages contain the
cargo tool and some helper scripts specific to Debian. it currently uses
GH tag/release tar balls from the main development repository of cargo.
pruning of the tarball happens via a complicated procedure that attempts
to re-use patches for vendored crates from debcargo-conf (the Debian
Rust team monorepo for packaging regular crates). this procedure is
non-deterministic (it runs `cargo vendor` which can pick up newer
versions if run at a later point in time) and quite involved. as a
result, updating src:cargo usually entails updating a big chunk of
crates packaging via debcargo-conf to reduce the version drift between
the packaged versions which patches we want to reuse, and the versions
picked up by `cargo vendor`.

3.) src:rust-cargo

since there are at least two packages in Debian that employ cargo as
library, cargo is also packaged as a regular library crate via
crates.io. this package is then used as build-dependency for other
packages, like debcargo, the main helper used by the Debian Rust team.


the proposal is to ditch src:cargo in favor of moving the associated
helpers to src:rustc, and no longer patching out cargo-related
components of the toolchain there. as a result, bin:cargo and
bin:cargo-doc would be built from src:rustc, with both parts being built
from the same upstream toolchain release tarball, instead of from two
different "releases". src:rust-cargo would stay as it is now.

pros:

- Ubuntu already made this switch a couple versions back, syncing in
  both ways would be easier[0]
- rustc and cargo would always be packaged in lockstep, instead of cargo
  lagging behind like it has most of the time in the recent past
- the complicated patch syncing step is gone
- one less source package with special vendoring considerations
- packaging the cargo book instead of just rustdoc API documentation
  would be feasible
- bin:cargo would finally have the right version number (right now, it
  has the "eternally unstable" one of the cargo library crate)

cons

- more care needs to be taken when pruning the toolchain release
  tarball, since cargo has more network related vendoring where we don't
  want to bundle C libraries by accident
- effort to switch over packaging (although a lot of the Ubuntu change
  can likely be re-used)


any input/feedback would be appreciated!

0: https://bugs.launchpad.net/ubuntu/+source/rustc/+bug/2020000

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: rustc
Source-Version: 1.70.0+dfsg2-1~exp1
Done: Fabian Grünbichler <debian@fabian.gruenbichler.email>

We believe that the bug you reported is fixed in the latest version of
rustc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1054...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Fabian Grünbichler <debian@fabian.gruenbichler.email> (supplier of updated 
rustc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 03 May 2024 09:27:25 +0200
Source: rustc
Binary: cargo cargo-dbgsym cargo-doc libstd-rust-1.70 libstd-rust-1.70-dbgsym 
libstd-rust-dev libstd-rust-dev-wasm32 libstd-rust-dev-windows rust-all 
rust-clippy rust-clippy-dbgsym rust-doc rust-gdb rust-lldb rust-src rustc 
rustc-dbgsym rustfmt rustfmt-dbgsym
Architecture: source amd64 all
Version: 1.70.0+dfsg2-1~exp1
Distribution: experimental
Urgency: medium
Maintainer: Debian Rust Maintainers 
<pkg-rust-maintain...@alioth-lists.debian.net>
Changed-By: Fabian Grünbichler <debian@fabian.gruenbichler.email>
Description:
 cargo      - Rust package manager
 cargo-doc  - Rust package manager, documentation
 libstd-rust-1.70 - Rust standard libraries
 libstd-rust-dev - Rust standard libraries - development files
 libstd-rust-dev-wasm32 - Rust standard libraries - development files
 libstd-rust-dev-windows - Rust standard libraries - development files
 rust-all   - Rust systems programming language - all developer tools
 rust-clippy - Rust linter
 rust-doc   - Rust systems programming language - Documentation
 rust-gdb   - Rust debugger (gdb)
 rust-lldb  - Rust debugger (lldb)
 rust-src   - Rust systems programming language - source code
 rustc      - Rust systems programming language
 rustfmt    - Rust formatting helper
Closes: 1054658
Changes:
 rustc (1.70.0+dfsg2-1~exp1) experimental; urgency=medium
 .
   [ liushuyu ]
   * d/*: initial merge of cargo into rustc source package (Closes: #1054658)
 .
   [ Fabian Grünbichler ]
   * update libgit2
   * cargo: sync test disabling changes
   * adapt to current rustc/cargo version
   * cargo: actually install, not just  build
   * add extra component tarball
   * scripts/guess-crate-copyright: switch to python3-toml
   * d/check-orig-suspicious.sh: remove duplicate comment stripping
   * d/check-orig-suspicious.sh: support extra tar ball
   * fix autopkgtest control file
   * update d/copyright
   * extend lintian overrides
Checksums-Sha1:
 a075e6e9c0e11b85b8f97712470f2da943957ab5 4226 rustc_1.70.0+dfsg2-1~exp1.dsc
 186cbfb3e892b6ce72ab5791fc103d0bbd864b44 220768 
rustc_1.70.0+dfsg2.orig-extra.tar.xz
 f8c1c2d7a12dce08ac31fd8e32143d6dd05b01f8 40388884 
rustc_1.70.0+dfsg2.orig.tar.xz
 f7126d5b1fd42daeccc8fc4bf011a4fa20e826b7 122556 
rustc_1.70.0+dfsg2-1~exp1.debian.tar.xz
 1bd4b15b93b56314606d80768f220773c8cca5bb 50905376 
cargo-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 1ac4f48fe8cea95c5015e322886439dddb3b3969 3876880 
cargo-doc_1.70.0+dfsg2-1~exp1_all.deb
 79a05cfa39d7c02f8446f36929d549be2d1ff8de 4550040 
cargo_1.70.0+dfsg2-1~exp1_amd64.deb
 20a915439f89f3df44a936eb8d5910deb087a475 198102380 
libstd-rust-1.70-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 e81e33dea52a8290eb51d0039adfa7a87fe29537 19763896 
libstd-rust-1.70_1.70.0+dfsg2-1~exp1_amd64.deb
 81593bae7c57230634c6e89917cef95c715a0f5b 60139256 
libstd-rust-dev-wasm32_1.70.0+dfsg2-1~exp1_all.deb
 4dc24add74a5fdb1c3f545a8c954172dd73d58b7 44508108 
libstd-rust-dev-windows_1.70.0+dfsg2-1~exp1_amd64.deb
 083e2ef7069f7eb56ccb68997d427bfb346e7064 37754184 
libstd-rust-dev_1.70.0+dfsg2-1~exp1_amd64.deb
 4c002e35717653962bffcd900ff4fee0d19f1a09 201404 
rust-all_1.70.0+dfsg2-1~exp1_all.deb
 a5c6d75b78244e457dc7d9255e82254481e6d436 39784648 
rust-clippy-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 d83e04df3d5dc5553d55f90b931928e9fe86ce16 2260732 
rust-clippy_1.70.0+dfsg2-1~exp1_amd64.deb
 34bc39ff1d3fc5ee30d578c8ce95f2f6e4377a0a 18135064 
rust-doc_1.70.0+dfsg2-1~exp1_all.deb
 6c83247fc90bef7c7fe6a373a16119591ebf3248 206372 
rust-gdb_1.70.0+dfsg2-1~exp1_all.deb
 6cb15f3c952c9cf8c93ffbc9dd0a7a185417ed00 207184 
rust-lldb_1.70.0+dfsg2-1~exp1_all.deb
 d30341038717bcc31c6d097a6ceb7c3b23a0f0a6 19098124 
rust-src_1.70.0+dfsg2-1~exp1_all.deb
 2e364e8ac8ae077157447d6156eb74af9fd6127b 27514416 
rustc-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 cfd3eb49e9f3afa6cb0cbf4476c861870671fea7 15473 
rustc_1.70.0+dfsg2-1~exp1_amd64.buildinfo
 3b2d5b668c7263486eb864192dc568309226dadf 3000216 
rustc_1.70.0+dfsg2-1~exp1_amd64.deb
 fa1e098b0380076d3c56d39ba9e30d5f8e8fa637 17126344 
rustfmt-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 e299fbe59a9cbb9909f4c6c8d1a67b7b855748b0 1707792 
rustfmt_1.70.0+dfsg2-1~exp1_amd64.deb
Checksums-Sha256:
 305e44eadd78028b5e010f8b96891f584f4e673e3d4603fb70afc4adbe72d320 4226 
rustc_1.70.0+dfsg2-1~exp1.dsc
 fc8bce84e0582599be12737afea43e64426d8bfd9c84dec33ce601aa9926d994 220768 
rustc_1.70.0+dfsg2.orig-extra.tar.xz
 7c38b81de4182e99d56d92ac528e2663fcaea7628159a559bed802a132aa29a2 40388884 
rustc_1.70.0+dfsg2.orig.tar.xz
 61ebc44bd56c41339080f3d09b83a912b0eb041b7d6ca151d3db7b7f34df0eb5 122556 
rustc_1.70.0+dfsg2-1~exp1.debian.tar.xz
 98dd1b6e528699f75f9e7a2c4c9307b022771f904b98c3dff585afae372b3c4e 50905376 
cargo-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 4bd999bc3c2c3c98a2cdf493cc5c603a84c4b445d310bf37d5b7d8f0169c979b 3876880 
cargo-doc_1.70.0+dfsg2-1~exp1_all.deb
 c7bd5c152387ddb571cb59f300ac271c3acf3dea1d227d36bb95d6938d6952c0 4550040 
cargo_1.70.0+dfsg2-1~exp1_amd64.deb
 d0afd7fc665293327d189d4631e147ef037f5f4b64b32680e71b8dadbb405b2a 198102380 
libstd-rust-1.70-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 89608249b0955a4c9e8ab0e12d56f655c4e33c34b8d3ed05058b9cde5551506e 19763896 
libstd-rust-1.70_1.70.0+dfsg2-1~exp1_amd64.deb
 f66fae6677cd7ba587eed160dd222c032f050faf4653831ba3d71a5bb1fe1f54 60139256 
libstd-rust-dev-wasm32_1.70.0+dfsg2-1~exp1_all.deb
 452ba35565172dfdac1fdff9d74af7e8d757f076a494ffba0e1df229aa6898ee 44508108 
libstd-rust-dev-windows_1.70.0+dfsg2-1~exp1_amd64.deb
 88a4959531256132ef92dadad0be36b78b22cd1b68791b7e50555b3993f6e780 37754184 
libstd-rust-dev_1.70.0+dfsg2-1~exp1_amd64.deb
 9f2fb330b925e8375c8f63baaba0d3851f024a1fd07f3829afce77d9a076cdc4 201404 
rust-all_1.70.0+dfsg2-1~exp1_all.deb
 be80729a4742c1c654ce566e80441383e40fe41b765047ceee501609111e0561 39784648 
rust-clippy-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 dd1d520010ec8d6065cf2b81f2a392199c52376572fe74328645ed5807042cfb 2260732 
rust-clippy_1.70.0+dfsg2-1~exp1_amd64.deb
 c38653f2fbccdb930c3afcc75ad03c47418f57405e50972ba5530f087e52c388 18135064 
rust-doc_1.70.0+dfsg2-1~exp1_all.deb
 4428855a4918f8c09f8ad21c36c6678a13eddfd84833958640097bded7fa891a 206372 
rust-gdb_1.70.0+dfsg2-1~exp1_all.deb
 5006ae4a0d5321372ac71a83671365a8dd66ba5406459b5cc3af3b013b7f3235 207184 
rust-lldb_1.70.0+dfsg2-1~exp1_all.deb
 8d9a4eacb88053ed584bf4e04ff4e50401597efab7fe3294655a32360e1255f3 19098124 
rust-src_1.70.0+dfsg2-1~exp1_all.deb
 a997a1fa012bb20ed0b37c212bb05ca514e929cb94e1b3e6b55647b6b67f2cd6 27514416 
rustc-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 65bb5eba8cc4edd5d79ebe47135b8fb808896c52e86985703814361850959fb9 15473 
rustc_1.70.0+dfsg2-1~exp1_amd64.buildinfo
 059eca8028fda6c2f5660f39964ac2f3eda365e2255ce86ab141252bcc1dd3d2 3000216 
rustc_1.70.0+dfsg2-1~exp1_amd64.deb
 f0f950723ad68db7009d6cf694a6f16009b4a8b0ab8124df6bd020eaf277788f 17126344 
rustfmt-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 ba6c8f38881d048ba0603b875cfab6d91c90b69a1a07e6907d9ab40a7d75816b 1707792 
rustfmt_1.70.0+dfsg2-1~exp1_amd64.deb
Files:
 71c331254d2c80afa488e5c15fa9598a 4226 devel optional 
rustc_1.70.0+dfsg2-1~exp1.dsc
 e9af349447d09fcc6c16cf39285b9721 220768 devel optional 
rustc_1.70.0+dfsg2.orig-extra.tar.xz
 8cc3594ec7a7ccad0da156684840bbc9 40388884 devel optional 
rustc_1.70.0+dfsg2.orig.tar.xz
 04f9acfe2f6b52946e97026c6ac6fbf2 122556 devel optional 
rustc_1.70.0+dfsg2-1~exp1.debian.tar.xz
 1c03d6e29960c915c1db9fe4c76ac7c9 50905376 debug optional 
cargo-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 dc3b317acd879f19aa8b7b562d4be2b1 3876880 doc optional 
cargo-doc_1.70.0+dfsg2-1~exp1_all.deb
 94d23959adf85fd94d8d9ed3c47ad6ec 4550040 devel optional 
cargo_1.70.0+dfsg2-1~exp1_amd64.deb
 80b23f940ed7d96ff7cdaf1975e25354 198102380 debug optional 
libstd-rust-1.70-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 339a9f5c0e9648f8b4eca6f52e2ab9c5 19763896 libs optional 
libstd-rust-1.70_1.70.0+dfsg2-1~exp1_amd64.deb
 251b6c04ceea23f18b9e0cc6dbddbb1d 60139256 libdevel optional 
libstd-rust-dev-wasm32_1.70.0+dfsg2-1~exp1_all.deb
 24193cb78a7371f018e5d484cb486022 44508108 libdevel optional 
libstd-rust-dev-windows_1.70.0+dfsg2-1~exp1_amd64.deb
 5efb74d4c19825d98a8572db86279849 37754184 libdevel optional 
libstd-rust-dev_1.70.0+dfsg2-1~exp1_amd64.deb
 1ab578350928be8266b40020aa4e1237 201404 devel optional 
rust-all_1.70.0+dfsg2-1~exp1_all.deb
 5668ce1f43a9baa02b9045eefbe9d8db 39784648 debug optional 
rust-clippy-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 2a8e91f31e2321bb90f92925b7d8b9d5 2260732 devel optional 
rust-clippy_1.70.0+dfsg2-1~exp1_amd64.deb
 bd602858dbb0e3e2e9134f589a5a71b6 18135064 doc optional 
rust-doc_1.70.0+dfsg2-1~exp1_all.deb
 4ae6695a8fe5e0f05a72b7422ab71063 206372 devel optional 
rust-gdb_1.70.0+dfsg2-1~exp1_all.deb
 844d3825bf359806dd75d1b6d528cb3c 207184 devel optional 
rust-lldb_1.70.0+dfsg2-1~exp1_all.deb
 e31c697c55704047e4505fc86b14ce1e 19098124 devel optional 
rust-src_1.70.0+dfsg2-1~exp1_all.deb
 efbc0ed88a1cfda1f13033e7e1c16e00 27514416 debug optional 
rustc-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 97eb1fc060f5f1f2793f43aef5e83f7b 15473 devel optional 
rustc_1.70.0+dfsg2-1~exp1_amd64.buildinfo
 f549b447153b27d49e04847dfb7480a4 3000216 devel optional 
rustc_1.70.0+dfsg2-1~exp1_amd64.deb
 4606e493ebe99e1e44a2d1f664e79d5e 17126344 debug optional 
rustfmt-dbgsym_1.70.0+dfsg2-1~exp1_amd64.deb
 75e530bd1aa1ca52b8a04b66463e084c 1707792 devel optional 
rustfmt_1.70.0+dfsg2-1~exp1_amd64.deb

-----BEGIN PGP SIGNATURE-----

iQJVBAEBCAA/FiEEbdkGe7ToK0Amc9ppdh5TKjcTRTAFAmY0s4whHGRlYmlhbkBm
YWJpYW4uZ3J1ZW5iaWNobGVyLmVtYWlsAAoJEHYeUyo3E0UwjoAQAI+UyZWTuN/s
auKfPAjX87G2i4yFa7vgngKobqVQ+pAZWUzbphxIxIgUl9NpJjZ+W2UcOCQm0486
jBzVyYu1hFiwPkzsR6Sq4xlgC7HSVKYxwaZUsQQPAsaaFg9lacWbmUH3dUmBza//
f7tpUI5BGmK1RV73aNM57CKhfmjyp2pVaPsCB3D8X5w1rsmjrVfCVDbgyh86pJsN
ffL6Ty8OPjxpkq/RNRXkUTWuQawH0EMx4ij5ZkZDFWlzrAoy2r5uH7bPWqM2gJ+C
PN45H2Ii3tr6kpqlAnfP5Xjcwq1Vg6lw1EPR/X7GQHLOIPuO1ofCwdZ40UltUvts
T3PWA9mF7ndmtmNsWuqqEEqE+tRwEFeYM2rI0ktaXG949g5Dvtsbt2MjbjMHGIzB
WX1lye8nxw7VWohShVFhy3mw/smZJXAdRiRXCQ2SPmRA8F9KWnbmnVderUp1jZTf
/3G6N+1yL1iaCL4X9OUFtG6JEb5lDrYZ4unS8sC+DQeBUG0TghQZGVLQSf8gofCr
uf8Q+UJDqKJ6AhvsqQWH20aw5NS7dMeYvQSxRJ6TYnQ9AOUW/kckDIOE9I1xG49P
Gp4PASEIb1I3nTqcdQ5qbVCqnaeNOXyGOjlqkvd6pJBY42Q9dK4nSBu3Bp0TndzK
tmcqrKWZDr03HmCiUCtmDh8aOcrxN7qH
=EQ93
-----END PGP SIGNATURE-----

Attachment: pgp1Gf6ktkQiK.pgp
Description: PGP signature


--- End Message ---

Reply via email to