forked from pool/rust1.71
Accepting request 1099159 from home:firstyear:branches:devel:languages:rust
Submit new package rust1.71 OBS-URL: https://build.opensuse.org/request/show/1099159 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust1.71?expand=0&rev=1
This commit is contained in:
96
README.suse-maint
Normal file
96
README.suse-maint
Normal file
@@ -0,0 +1,96 @@
|
||||
# Automatic updating via _service
|
||||
|
||||
Edit the rustX.YY.spec file, and update the variables related with the
|
||||
version:
|
||||
|
||||
- *version_suffix*: for the new version of Rust, in X.YY format
|
||||
- *version_current*: for the new version of Rust, in X.YY.Z format
|
||||
- *version_previous*: for the previous version of Rust, in X.YY.X
|
||||
format
|
||||
|
||||
Generate the spec files for the different bootstrap compilers. This
|
||||
will take the version from the main spec file.
|
||||
|
||||
./update-bootstrap.sh
|
||||
|
||||
After that, we can execute the service file:
|
||||
|
||||
osc service disabledrun
|
||||
|
||||
This will download the new bootstrap compilers and the signature file.
|
||||
|
||||
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
|
||||
|
Reference in New Issue
Block a user