Add missing Rust update steps#712
Open
maxgmr wants to merge 2 commits into
Open
Conversation
The tarball vendoring step also updates the vendored dependencies installed by rust-X.Y-src. This was never explained in the docs, so an unexperienced maintainer may accidentally revert the changes to rust-X.Y-src, causing the package build to fail. Now, the docs properly include this non-negotiable step, additionally clarifying that all other possible changes to the repo are safe to revert.
Since a new upload of the Rust toolchain is a new package every time, an AA recently told me that adding a debian diff against the old package will make the upload easier for everyone. I have added both instructions on how to do this and also a real example of an upload request which contains all this information.
maxgmr
force-pushed
the
add-missing-rust-update-steps
branch
from
July 16, 2026 16:39
13367c1 to
fdc73c1
Compare
rkratky
requested changes
Jul 16, 2026
| $ lintian > <path_to_saved_lintian_output_file> | ||
| ``` | ||
|
|
||
| If you are updating the toolchain to a new version (necessitating a new package upload), an {term}`Archive Admin` will need to approve the new package. You can make their job easier and speed up your package upload by generating a diff of the `debian/` directory and including it as an attachment, allowing the Archive Admin to easily review the changes: |
Collaborator
There was a problem hiding this comment.
Suggested change
| If you are updating the toolchain to a new version (necessitating a new package upload), an {term}`Archive Admin` will need to approve the new package. You can make their job easier and speed up your package upload by generating a diff of the `debian/` directory and including it as an attachment, allowing the Archive Admin to easily review the changes: | |
| For updating the toolchain to a new version (necessitating a new package upload), an {term}`Archive Admin` needs to approve the new package. To make their job easier and speed up the package upload by generating a diff of the `debian/` directory and including it as an attachment, allowing the Archive Admin to easily review the changes: |
Comment on lines
+32
to
+34
| - If this is a Rust update, an attachment of the diff of the `debian/` directory between the old and new Rust versions | ||
|
|
||
| You can see a real example of such an upload request [here](https://bugs.launchpad.net/ubuntu/+bug/2156635/comments/1). |
Collaborator
There was a problem hiding this comment.
Suggested change
| - If this is a Rust update, an attachment of the diff of the `debian/` directory between the old and new Rust versions | |
| You can see a real example of such an upload request [here](https://bugs.launchpad.net/ubuntu/+bug/2156635/comments/1). | |
| - For Rust updates, an attachment of the diff of the `debian/` directory between the old and new Rust versions | |
| See a real example of such an upload request at {lpbug}`2156635`. |
Contributor
Author
There was a problem hiding this comment.
Apropos the Launchpad URL, I'd like to link to the comment specifically rather than the bug as a whole just so the reader can focus on the upload info itself rather than the surrounding bug and discussion. In this case, can we keep the unformatted URL?
|
|
||
| You should now see a new tarball in the parent directory: `../rustc-<X.Y>_<X.Y.Z>+dfsg.orig-vendor.tar.xz`. In later steps, we use this to replace the existing `vendor/` directory. | ||
|
|
||
| You may also notice that `debian/rust-X.Y-src.install.in` has been updated — this is intentional. One binary package, `rust-<X.Y>-src`, installs certain vendored dependencies needed to build the Rust standard library from source. The `vendor-tarball` rule updates the dependency numbers so `rust-<X.Y>-src` ships the proper files. Commit the changes to `debian/rust-X.Y-src.install.in` before proceeding. |
Collaborator
There was a problem hiding this comment.
Suggested change
| You may also notice that `debian/rust-X.Y-src.install.in` has been updated — this is intentional. One binary package, `rust-<X.Y>-src`, installs certain vendored dependencies needed to build the Rust standard library from source. The `vendor-tarball` rule updates the dependency numbers so `rust-<X.Y>-src` ships the proper files. Commit the changes to `debian/rust-X.Y-src.install.in` before proceeding. | |
| Notice that `debian/rust-X.Y-src.install.in` has been updated — this is intentional. One binary package, `rust-<X.Y>-src`, installs certain vendored dependencies needed to build the Rust standard library from source. The `vendor-tarball` rule updates the dependency numbers, so `rust-<X.Y>-src` ships the proper files. Commit the changes to `debian/rust-X.Y-src.install.in` before proceeding. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
There are two recently-added steps missing from the Rust update docs. I have added both of them in this branch.
First, I added a mandatory step which requires you to commit a file changed by a particular script and restore all the other files. I have explicitly detailed which file can be committed and which can be restored.
Second, an Archive Admin recently suggested I add the
debian/diff between the old and new Rust versions when requesting a new package upload, making the sponsorship process easier for everyone. I have added this step as well and linked to real comment which includes all this info for reference.Checklist