From 5853a824caea9a01ed370139e692164026527aed6866dff21d320cd480dc15ad Mon Sep 17 00:00:00 2001 From: Luke Jones Date: Mon, 25 Mar 2019 20:52:49 +0000 Subject: [PATCH] Accepting request 688403 from home:federico-mena:branches:devel:languages:rust - Use the system's LLVM in SLE15-SP1. That distribution has LLVM7, and we need to use it there, instead of any other version. - Prevent auto-provides from being created for things under rustlibdir, so the RPM does not inadvertently have a Provides for a bundled LLVM and the Rust library files. - Sync changes files between SLE and openSUSE, for ease of maintenance. OBS-URL: https://build.opensuse.org/request/show/688403 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=209 --- rust.changes | 79 +++++++++++++++++++++++++++++++++++++--------------- rust.spec | 13 ++++----- 2 files changed, 62 insertions(+), 30 deletions(-) diff --git a/rust.changes b/rust.changes index 38a7a17..0883c6b 100644 --- a/rust.changes +++ b/rust.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Mar 25 16:09:44 UTC 2019 - Federico Mena Quintero + +- Use the system's LLVM in SLE15-SP1. That distribution has LLVM7, + and we need to use it there, instead of any other version. +- Prevent auto-provides from being created for things under + rustlibdir, so the RPM does not inadvertently have a Provides for a + bundled LLVM and the Rust library files. +- Sync changes files between SLE and openSUSE, for ease of maintenance. + ------------------------------------------------------------------- Fri Mar 22 00:02:26 UTC 2019 - Luke Jones @@ -43,17 +53,17 @@ Sat Mar 2 05:17:36 UTC 2019 - Luke Jones expression. E.g. ``` enum Creature { - Crab(String), - Lobster(String), - Person(String), + Crab(String), + Lobster(String), + Person(String), } fn main() { - let state = Creature::Crab("Ferris"); + let state = Creature::Crab("Ferris"); - if let Creature::Crab(name) | Creature::Person(name) = state { - println!("This creature's name is: {}", name); - } + if let Creature::Crab(name) | Creature::Person(name) = state { + println!("This creature's name is: {}", name); + } } ``` - You can now have irrefutable `if let` and `while let` patterns. Using @@ -65,7 +75,7 @@ Sat Mar 2 05:17:36 UTC 2019 - Luke Jones ``` const unsafe fn foo() -> i32 { 5 } const fn bar() -> i32 { - unsafe { foo() } + unsafe { foo() } } ``` - You can now specify multiple attributes in a `cfg_attr` attribute. @@ -183,6 +193,14 @@ Sat Feb 23 01:58:47 UTC 2019 - Luke Jones prevent building everything twice (second time without correct flags). +------------------------------------------------------------------- +Tue Jan 22 18:19:47 UTC 2019 - federico@suse.com + +- Remove + CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch, + since rustdoc plugins are fixed since version 1.27.1 (bsc#1100691, + CVE-2018-1000622). + ------------------------------------------------------------------- Thu Jan 17 21:22:11 UTC 2019 - Luke Jones @@ -207,24 +225,24 @@ Thu Jan 17 21:22:11 UTC 2019 - Luke Jones struct Point(i32, i32); impl Point { - pub fn new(x: i32, y: i32) -> Self { - Self(x, y) - } + pub fn new(x: i32, y: i32) -> Self { + Self(x, y) + } - pub fn is_origin(&self) -> bool { - match self { - Self(0, 0) => true, - _ => false, - } - } + pub fn is_origin(&self) -> bool { + match self { + Self(0, 0) => true, + _ => false, + } + } } - Self can also now be used in type definitions. E.g. enum List where - Self: PartialOrd // can write `Self` instead of `List` + Self: PartialOrd // can write `Self` instead of `List` { - Nil, - Cons(T, Box) // likewise here + Nil, + Cons(T, Box) // likewise here } - You can now mark traits with `#[must_use]`. This provides a warning if a `impl Trait` or `dyn Trait` is returned and unused in the program. @@ -671,11 +689,11 @@ Update to version 1.30.0 (2018-10-25) trait Trait {} impl Trait + Send { - fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test` + fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test` } impl Trait + Send + Send { - fn test(&self) { println!("two"); } + fn test(&self) { println!("two"); } } - Update to version 1.27.2: + Compatibility Notes @@ -774,6 +792,22 @@ Update to version 1.30.0 (2018-10-25) + Misc - Added “The Rustc book” into the official documentation. +------------------------------------------------------------------- +Thu Oct 11 10:00:22 UTC 2018 - qkzhu@suse.com + +- Add CVE-2018-1000622-prevent-rustdoc-loads-uncontrolled-plugins-path.patch: + + This patch consists of requiring `--plugin-path` to be passed + whenever `--plugin` is passed + + rustdoc plugins will be removed entirely on 1.28.0, we should + drop this patch after 1.28.0(bsc#1100691, CVE-2018-1000622). + +------------------------------------------------------------------- +Thu Aug 9 10:18:06 UTC 2018 - mschnitzer@suse.com + +- Ship rust-std on SLE-15 (bsc#1096945) + + No new changes came with this update of rust. + ------------------------------------------------------------------- Wed Jun 6 10:37:27 UTC 2018 - mmanu84@outlook.de @@ -1933,4 +1967,3 @@ Wed Apr 29 13:07:54 UTC 2015 - opensuse-packaging@opensuse.org Wed Apr 29 12:56:15 UTC 2015 - kgronlund@suse.com - Version 1.0.0-beta3. - diff --git a/rust.spec b/rust.spec index f49ab7e..30251c0 100644 --- a/rust.spec +++ b/rust.spec @@ -13,7 +13,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -57,12 +57,8 @@ # Will build with distro LLVM by default, but the following # versions do not have a version new enough, >= 6.0 # add --without bundled_llvm option, i.e. enable bundled_llvm by default -# Leap 15.0, SLE 15 -%if 0%{?sle_version} == 150000 -%bcond_without bundled_llvm -%endif -# Leap 42 to 42.3, SLE12 SP1 to SLE12 SP3 -%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 120400 +# Leap 42 to 42.3, SLE12 SP1 to SLE12 SP3, Leap 15.0, SLE15 SP0 +%if 0%{?sle_version} >= 120000 && 0%{?sle_version} <= 150000 %bcond_without bundled_llvm %endif @@ -80,6 +76,9 @@ # Use hardening ldflags. %global rustflags -Clink-arg=-Wl,-z,relro,-z,now +# Exclude implicitly-scanned Provides, especially the libLLVM.so ones: +%global __provides_exclude_from ^%{rustlibdir}/.*$ + Name: rust Version: %{version_current} Release: 0