diff --git a/rust-rpmlintrc b/rust-rpmlintrc new file mode 100644 index 0000000..fb9936f --- /dev/null +++ b/rust-rpmlintrc @@ -0,0 +1,4 @@ + + +# We need to make these package arch dependent even if they have no binaries. +addFilter("no-binary") diff --git a/rust.changes b/rust.changes index 0833a30..5604c2d 100644 --- a/rust.changes +++ b/rust.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jul 6 01:47:31 UTC 2021 - William Brown + +- Revert package to be arch dependent based on reviewer feedback + ------------------------------------------------------------------- Mon Jun 28 01:25:12 UTC 2021 - William Brown diff --git a/rust.spec b/rust.spec index f93727b..f00eedb 100644 --- a/rust.spec +++ b/rust.spec @@ -20,13 +20,20 @@ %global version_suffix 1.53 %global version_current 1.53.0 -# RLS requires 64-bit atomics -%ifarch ppc -%bcond_with rls +# Dev tools - these are needed for developers, vs building, so +# we don't always enable them. Some platforms have issues +# building these (IE RLS requires 64-bit atomics). +# As a result, we limit this to platforms that are likely used on +# desktop arches +%ifarch x86_64 aarch64 +%bcond_without devtools %else -%bcond_without rls +%bcond_with devtools %endif +# Rpm specs have a limitation that if the parent package is noarch, all child packages must +# also be noarch. Since rls is arch dependent, we MUST have all packages as arch dependent +# because of this. Name: rust Version: %{version_current} Release: 0 @@ -35,7 +42,7 @@ License: Apache-2.0 OR MIT Group: Development/Languages/Rust URL: https://www.rust-lang.org Source: README -BuildArch: noarch +Source99: %{name}-rpmlintrc Requires: rust%{version_suffix} Conflicts: rust < %{version} Obsoletes: rust < %{version} @@ -58,7 +65,6 @@ like a low-level language would. Summary: Gdb integration for rust binaries License: Apache-2.0 OR MIT Group: Development/Languages/Rust -BuildArch: noarch Requires: rust = %{version} Requires: rust%{version_suffix} Requires: rust%{version_suffix}-gdb @@ -77,11 +83,15 @@ Supplements: (rust and gdb) This subpackage provides pretty printers and a wrapper script for invoking gdb on rust binaries. + + + +# As this is masked by devtools, this is arch specific even if it has no content. + %package -n rls Summary: Language server for Rust lang License: Apache-2.0 OR MIT Group: Development/Languages/Rust -BuildArch: noarch Requires: rls%{version_suffix} Requires: rust = %{version} Requires: rust%{version_suffix} @@ -99,7 +109,6 @@ refactorings. It can be used with an IDE such as Gnome-Builder. Summary: The Rust package manager License: Apache-2.0 OR MIT Group: Development/Languages/Rust -BuildArch: noarch Requires: cargo%{version_suffix} Requires: rust = %{version} Requires: rust%{version_suffix} @@ -127,7 +136,7 @@ install -D -m 0644 %{S:0} %{buildroot}/usr/share/doc/packages/cargo/README %defattr(-,root,root,-) %doc /usr/share/doc/packages/rust-gdb -%if %{with rls} +%if %{with devtools} %files -n rls %defattr(-,root,root,-) %doc /usr/share/doc/packages/rls