Hello community,

here is the log from the commit of package rust for openSUSE:Factory checked in 
at 2017-02-01 09:53:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rust (Old)
 and      /work/SRC/openSUSE:Factory/.rust.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rust"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rust/rust.changes        2016-09-20 
13:25:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rust.new/rust.changes   2017-02-03 
20:01:03.492558763 +0100
@@ -1,0 +2,93 @@
+Tue Jan 31 09:41:33 UTC 2017 - luke.nukem.jo...@gmail.com
+
+- Adjust build so that aarch and ARM architectures use bootstrap for
+  initial build
+
+-------------------------------------------------------------------
+Tue Jan 31 04:25:06 UTC 2017 - luke.nukem.jo...@gmail.com
+
+- Fix provides/conflicts/obsoletes
+
+-------------------------------------------------------------------
+Fri Dec 23 08:22:26 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Remove patch 0001-Fix-armv7-autodetection.patch
+    + appears to have been fixed upstream.
+- Building armv7hl arch with bootstrap binary since previously
+  packaged versions haven't successfully built in the past
+
+-------------------------------------------------------------------
+Fri Dec 23 07:57:24 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Update to version 1.14.0
+    + Announcement: https://blog.rust-lang.org/2016/12/22/Rust-1.14.html
+    + Details: 
https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1140-2016-12-22
+- Release highlights:
+    + support for RFC 1492. This small addition lets you use `..`
+    in more places, for example when destructuring a struct or tuple
+    + println!(), with no arguments, prints newline
+    + Wrapping impls standard binary and unary operators on
+    references, as well as the Sum and Product iterators, making
+    references to these types easier to use
+    + Implement From<Cow<str>> for String and From<Cow<[T]>> for
+    Vec<T>. These implementations make sense, but were not yet added.
+    + Expand .zip() specialization to .map() and .cloned() for
+    improved performance.
+    + Implement RefUnwindSafe for atomic types, as these types are
+    “unwind safe,” though that wasn’t obvious at first.
+    + Specialize Vec::extend to Vec::extend_from_slice for
+    performance gains.
+    + Don’t reuse HashMap random seeds. This helps to mitigate one
+    type of DDoS attack.
+    + The internal memory layout of HashMap is more cache-friendly,
+    for significant improvements in some operations
+    + Impl Add<{str, Cow<str>}> for Cow<str>. We already support Add
+    for other string types, so not having it on Cow is inconsistent.
+
+-------------------------------------------------------------------
+Sun Dec 18 09:27:44 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Update to 1.13.0
+
+-------------------------------------------------------------------
+Sun Dec 18 09:03:52 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Add conflicts to help avoid situations where previous versions
+  or rustc-bootstrap may be installed
+
+-------------------------------------------------------------------
+Sun Dec 18 02:41:25 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Update to 1.12.1
+- Remove patches:
+    + 0003-Disable-embedding-timestamp-information.patch - fixed
+      by upstream
+    + 0002-Add-armv6l-autodetection.patch - no-longer viable
+
+-------------------------------------------------------------------
+Fri Dec 16 23:27:42 UTC 2016 - luke.nukem.jo...@gmail.com
+
+- Revert from v1.13 to v1.11 in preparation for alternative 
+  packaging.
+
+-------------------------------------------------------------------
+Wed Nov  2 08:42:44 UTC 2016 - matwey.korni...@gmail.com
+
+- Add 0001-Fix-armv7-autodetection.patch
+- Add 0002-Add-armv6l-autodetection.patch
+  * fix armv6 and armv7 builds
+
+-------------------------------------------------------------------
+Tue Sep 20 11:46:53 UTC 2016 - kgronl...@suse.com
+
+- Update to 1.11
+  + Add support for cdylib crate types
+
+- Remove merged patches:
+  * 0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
+  * 0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
+
+- Set DT_SONAME when building dylibs
+  * Add add-soname.patch
+
+-------------------------------------------------------------------

Old:
----
  0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
  0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
  0003-Disable-embedding-timestamp-information.patch
  rustc-1.10.0-src.tar.gz

New:
----
  add-soname.patch
  rustc-1.14.0-src.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rust.spec ++++++
--- /var/tmp/diff_new_pack.2VJ2ZS/_old  2017-02-03 20:01:05.504275607 +0100
+++ /var/tmp/diff_new_pack.2VJ2ZS/_new  2017-02-03 20:01:05.508275044 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package rust
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -14,50 +14,57 @@
 
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
-%global rustc_version 1_10
-%global rustc_build_version 1_9
 
+
+%global prev_version 1.13.0
+%bcond_with bootstrap
 Name:           rust
-Version:        1.10.0
+Version:        1.14.0
 Release:        0
 Summary:        A systems programming language
 License:        MIT or Apache-2.0
 Group:          Development/Languages/Other
 Url:            http://www.rust-lang.org
-ExclusiveArch:  %ix86 x86_64
-# renamed to match upstream and other distros
-Provides:       rustc-%{rustc_version} = %{version}
-Obsoletes:      rustc-%{rustc_version} <= 1.5
-Provides:       rustc = %{version}
-Provides:       rustc-stable = %{version}
-#FIXME: currently there's no way to have rustc and rustc-beta installed
-#       some alternatives system should be implemented
-Conflicts:      rustc < %{version}
-
-BuildRequires:  rustc-%{rustc_build_version}
-
-Recommends:     cargo
-
 Source0:        https://static.rust-lang.org/dist/rustc-%{version}-src.tar.gz
-
-#use snap.sh to update following lines from "magic" constanst from 
src/snapshots.txt
 Source100:      %{name}-rpmlintrc
-# PATCH-FIX-UPSTREAM: Fix misleading intentation errors on gcc 6.0
-Patch1:         0001-Fix-misleading-intentation-errors-on-gcc-6.0.patch
-# PATCH-FIX-UPSTREAM: Fix GCC 6 misleading indentation error in hoedown
-Patch2:         0002-Fix-GCC-6-misleading-indentation-error-in-hoedown.patch
-# PATCH-FIX-OPENSUSE: Disable embedding timestamp information
-Patch3:         0003-Disable-embedding-timestamp-information.patch
+# PATCH-FIX-OPENSUSE: Set DT_SONAME when building dylibs
+Patch1:         add-soname.patch
+BuildRequires:  cmake
+BuildRequires:  curl
+BuildRequires:  gcc-c++
+BuildRequires:  python
+Recommends:     cargo
+#FIXME: currently there's no way to have rustc and rustc-beta installed
 
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Obsoletes:      rustc-1_9
+Provides:       rustc = %{version}
+Provides:       rustc-stable = %{version} 
+Conflicts:      rustc-bootstrap
 
-BuildRequires:  curl
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+ExclusiveArch:  %{ix86} x86_64 %{arm} aarch64
 %if 0%{?suse_version}
 BuildRequires:  fdupes
 %endif
-BuildRequires:  gcc-c++
-BuildRequires:  python
-BuildRequires:  cmake
+%ifarch %{arm}
+BuildRequires:  rustc-bootstrap <= %{prev_version}
+BuildRequires:  rustc-bootstrap >= %{prev_version}
+    %else
+    %ifarch aarch64
+BuildRequires:  rustc-bootstrap <= %{prev_version}
+BuildRequires:  rustc-bootstrap >= %{prev_version}
+        %else
+        %if %{with bootstrap}
+BuildRequires:  rustc-bootstrap <= %{prev_version}
+BuildRequires:  rustc-bootstrap >= %{prev_version}
+            %else
+            %if %{without bootstrap}
+BuildRequires:  rust <= %{version}
+BuildRequires:  rust >= %{prev_version}
+            %endif
+        %endif
+   %endif
+%endif
 
 %description
 Rust is a systems programming language focused on three goals:
@@ -84,10 +91,9 @@
 %package gdb
 Summary:        Gdb integration for rust binaries
 Group:          Development/Languages/Other
-Provides:       rustc:/usr/bin/rust-gdb
-Provides:       rust-%{rustc_version}-gdb = %{version}
-Obsoletes:      rust-%{rustc_build_version}-gdb
 Supplements:    packageand(%{name}:gdb)
+Provides:       rust-gdb = %{version}
+Provides:       rustc:%{_bindir}/rust-gdb
 
 %description gdb
 This subpackage provides pretty printers and a wrapper script for
@@ -96,37 +102,37 @@
 %prep
 %setup -q -n rustc-%{version}
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
 
 %build
-export CPPFLAGS="$RPM_OPT_FLAGS" # eliminate complain from RPMlint
+export CPPFLAGS="%{optflags}" # eliminate complain from RPMlint
+# FIXME: you should use the %%configure macro
 ./configure \
     --enable-local-rust \
     --local-rust-root=%{_prefix} \
-    --prefix=%{_prefix}
+    --prefix=%{_prefix} \
+    --release-channel=stable
 make %{?_smp_mflags}
 
 %install
-make %{?_smp_mflags} install DESTDIR=$RPM_BUILD_ROOT
+make %{?_smp_mflags} DESTDIR=%{buildroot} install
 
 # Remove executable permission from HTML documentation
 # to prevent RPMLINT errors.
-chmod -R -x+X $RPM_BUILD_ROOT%{_prefix}/share/doc/rust/html
+chmod -R -x+X %{buildroot}%{_datadir}/doc/rust/html
 
 # Remove files which mention buildroot to prevent RPMLINT errors.
-rm $RPM_BUILD_ROOT%{_prefix}/lib/rustlib/manifest-rust*
-rm $RPM_BUILD_ROOT%{_prefix}/lib/rustlib/install.log
+rm %{buildroot}%{_prefix}/lib/rustlib/manifest-rust*
+rm %{buildroot}%{_prefix}/lib/rustlib/install.log
 
 # Remove lockfile to avoid errors.
-rm $RPM_BUILD_ROOT%{_prefix}/share/doc/rust/html/.lock
+rm %{buildroot}%{_datadir}/doc/rust/html/.lock
 
 # allow parallel installation of docs
-mv %{buildroot}%{_prefix}/share/doc/rust \
-   %{buildroot}%{_prefix}/share/doc/rust-%{version}
+mv %{buildroot}%{_datadir}/doc/rust \
+   %{buildroot}%{_datadir}/doc/rust-%{version}
 
 %if 0%{?suse_version}
-%fdupes $RPM_BUILD_ROOT%{_prefix}
+%fdupes %{buildroot}%{_prefix}
 %endif
 
 %post   -p /sbin/ldconfig
@@ -137,20 +143,20 @@
 %{_bindir}/rustc
 %{_bindir}/rustdoc
 %{_mandir}/*/rust*
-%exclude %{_prefix}/share/doc/rust
+%exclude %{_datadir}/doc/rust
 %{_prefix}/lib/*.so
 %{_prefix}/lib/rustlib
-%exclude %{_prefix}/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
-%exclude %{_prefix}/lib/rustlib/etc/gdb_rust_pretty_printing.py
+%exclude %{_prefix}/lib/rustlib%{_sysconfdir}/gdb_load_rust_pretty_printers.py
+%exclude %{_prefix}/lib/rustlib%{_sysconfdir}/gdb_rust_pretty_printing.py
 
 %files doc
 %defattr(-,root,root)
-%{_prefix}/share/doc/rust-%{version}
+%{_datadir}/doc/rust-%{version}
 
 %files gdb
 %defattr(-,root,root,-)
 %{_bindir}/rust-gdb
-%{_prefix}/lib/rustlib/etc/gdb_load_rust_pretty_printers.py
-%{_prefix}/lib/rustlib/etc/gdb_rust_pretty_printing.py
+%{_prefix}/lib/rustlib%{_sysconfdir}/gdb_load_rust_pretty_printers.py
+%{_prefix}/lib/rustlib%{_sysconfdir}/gdb_rust_pretty_printing.py
 
 %changelog

++++++ add-soname.patch ++++++
Description: Set DT_SONAME when building dylibs
 In Rust, library filenames include a version-specific hash to help
 the run-time linker find the correct version.  Unlike in C/C++, the
 compiler looks for all libraries matching a glob that ignores the
 hash and reads embedded metadata to work out versions, etc.
 .
 The upshot is that there is no need for the usual "libfoo.so ->
 libfoo-1.2.3.so" symlink common with C/C++ when building with Rust,
 and no need to communicate an alternate filename to use at run-time
 vs compile time.  If linking to a Rust dylib from C/C++ however, a
 "libfoo.so -> libfoo-$hash.so" symlink may well be useful and in
 this case DT_SONAME=libfoo-$hash.so would be required.  More
 mundanely, various tools (eg: dpkg-shlibdeps) complain if they don't
 find DT_SONAME on shared libraries in public directories.
 .
 This patch passes -Wl,-soname=$outfile when building dylibs (and
 using a GNU linker).
Author: Angus Lees <g...@debian.org>
Forwarded: no

--- a/src/librustc_trans/back/link.rs
+++ b/src/librustc_trans/back/link.rs
@@ -840,6 +840,12 @@
         cmd.args(&rpath::get_rpath_flags(&mut rpath_config));
     }
 
+    if (crate_type == config::CrateTypeDylib || crate_type == 
config::CrateTypeCdylib) && t.options.linker_is_gnu {
+        let filename = 
String::from(out_filename.file_name().unwrap().to_str().unwrap());
+        let soname = [String::from("-Wl,-soname=") + &filename];
+        cmd.args(&soname);
+    }
+
     // Finally add all the linker arguments provided on the command line along
     // with any #[link_args] attributes found inside the crate
     if let Some(ref args) = sess.opts.cg.link_args {
++++++ rustc-1.10.0-src.tar.gz -> rustc-1.14.0-src.tar.gz ++++++
/work/SRC/openSUSE:Factory/rust/rustc-1.10.0-src.tar.gz 
/work/SRC/openSUSE:Factory/.rust.new/rustc-1.14.0-src.tar.gz differ: char 5, 
line 1


Reply via email to