File README.suse-maint of Package rust1.61.24558
# Automatic updating via _service
Edit the spec file, and update the variables related with the version
(in format X.YY.Z):
- *version_current*: for the new version of Rust
- *version_previous*: for the previous version of Rust
- *version_bootstrap*: for the version used to compile Rust, it
recommended to use the same version that *version_previous*
- *rustfmt_version*: for the version of rustfmt cli, check the tarball
to find the correct version
- *clippy_version*: for the version of clippy, check the tarball to
find the correct version
After that, we can execute the service file:
osc service disabledrun
If `osc` complains about a missing service component, double check
that the components are installed. For example, for Tumbleweed:
zypper in obs-service-download_files obs-service-refresh_patches
Finally, update the changelog based on the releases notes:
https://github.com/rust-lang/rust/blob/master/RELEASES.md
# Updating to a new version from upstream
(Original link: https://en.opensuse.org/Rust)
Branch the rust package in the devel:languages:rust project.
You'll need to download precompiled binaries for the compiler used for
bootstrapping, and the actual source code for the compiler. In the
"Other Installation Methods" page listed below, note that it shows
links to .tar.gz packages and their .tar.gz.asc GPG signatures, but
.tar.xz versions are also available.
*Binaries for bootstrapping* - Go to the "Other Installation Methods"
page from rust-lang.org and scroll down to the "Standalone installers"
section. Download the following:
- rust-<version>-aarch64-unknown-linux-gnu.tar.xz
- rust-<version>-armv7-unknown-linux-gnueabihf.tar.xz
- rust-<version>-i686-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64le-unknown-linux-gnu.tar.xz
- rust-<version>-powerpc64-unknown-linux-gnu.tar.xz
- rust-<version>-s390x-unknown-linux-gnu.tar.xz
- rust-<version>-x86_64-unknown-linux-gnu.tar.xz
*Compiler source code* - From the same page, but now in the "Source
code" section, download this:
rustc-<version>-src.tar.xz
Update those files in the source RPM. Check that all the patches still
apply.
Update the version number in rust.spec.
Add the release notes to rust.changes.
# Running the tests locally
The tests are executed outside the main package using the _multibuild
feature of OBS. This is convenient for several reasons:
* We force the installation of the new rustc / cargo in the system
* All the test / bootstrabs and utilities are compiled using the new
compiler, and not the one used to generate the initial Rust
compiler.
* A test fail do not block the release. Upstream tests can be
affected by some environment application, and there is some delay
for the fix.
The tests can be run with:
osc build -M test
This will install the Rust compiler from OBS, so is a good idea that
we have them available.
If some test fail, we can enter the chroot to debug it:
osc shell
There is more information about the test infrastructure here:
https://rustc-dev-guide.rust-lang.org/tests/intro.html