Architecture specific change in rpms/0ad.git
by githook-noreply@fedoraproject.org
The package rpms/0ad.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/0ad.git/commit/?id=71447f44079525....
Change:
-%ifarch i686
Thanks.
Full change:
============
commit 71447f440795252a47c0caf21042f3ed9a9c5f65
Author: Kalev Lember <klember(a)redhat.com>
Date: Sun Feb 28 11:08:59 2021 +0100
Disable LTO to fix self test failures
LTO appears to break hotkey tests in GuiManager test suite (we had a
patch that disabled the failing tests). I don't know if LTO is breaking
the self test, or if the self tests are catching an actual issue in
LTO'd 0ad.
This commit disables LTO to be on the safe side, and re-enables self
tests.
diff --git a/0ad-check.patch b/0ad-check.patch
deleted file mode 100644
index 89534fb..0000000
--- a/0ad-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up source/gui/tests/test_GuiManager.h.orig source/gui/tests/test_GuiManager.h
---- source/gui/tests/test_GuiManager.h.orig 2021-02-23 13:49:05.427275704 -0300
-+++ source/gui/tests/test_GuiManager.h 2021-02-23 13:50:11.625669521 -0300
-@@ -151,12 +151,12 @@ public:
-
- pageScriptInterface.GetProperty(global, "state_before", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_after", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- // We are listening to KeyDown events, so repeat shouldn't matter.
- hotkeyNotification.ev.key.repeat = 1;
-@@ -167,12 +167,12 @@ public:
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_before", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_after", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkeyNotification.ev.type = SDL_KEYUP;
- in_push_priority_event(&hotkeyNotification);
diff --git a/0ad.spec b/0ad.spec
index 8d07867..1dc27b5 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -137,7 +137,6 @@ Patch1: %{name}-debug.patch
Patch2: %{name}-valgrind.patch
# Fix build on ppc64le with patches from https://wiki.raptorcs.com/wiki/Porting/0ad
Patch3: %{name}-ppc64.patch
-Patch4: %{name}-check.patch
Patch5: %{name}-rust.patch
%description
@@ -162,7 +161,6 @@ hobbyist game developers, since 2001.
%endif
%patch2 -p0
%patch3 -p0
-%patch4 -p0
%if %{without system_mozjs78}
%patch5 -p0
%endif
@@ -175,11 +173,9 @@ rm -fr libraries/source/valgrind
#-----------------------------------------------------------------------
%build
-# This package appears to get a multiply defined symbol during the LTO
-# link, but only on i686. Disable LTO on that platform for now
-%ifarch i686
+# LTO appears to break hotkey tests in GuiManager test suite.
+# Disable LTO to fix the failing tests.
%define _lto_cflags %{nil}
-%endif
%set_build_flags
build/workspaces/update-workspaces.sh \
@@ -275,6 +271,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop
%changelog
* Sat Feb 27 2021 Kalev Lember <klember(a)redhat.com> - 0.0.24b-2
- Use set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
+- Disable LTO to fix self test failures
* Mon Feb 22 2021 pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com> - 0.0.24b-1
- Update to 0.0.24b
commit b151413b6164e8f7bf0d12d47af856dee2915c96
Author: Kalev Lember <klember(a)redhat.com>
Date: Sat Feb 27 22:17:54 2021 +0100
Use %set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
We need to call this manually as the build doesn't use any of the
standard %configure or %cmake or %meson macros that call
%set_build_flags.
Previously, the build was setting CFLAGS and CXXFLAGS, but not LDFLAGS,
which meant hardening flags weren't correctly passed to the linker and
flatpak builds didn't get -L/app/lib correctly set.
Calling %set_build_flags fixes both.
diff --git a/0ad.spec b/0ad.spec
index 9e4251c..8d07867 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -27,7 +27,7 @@
Name: 0ad
Version: 0.0.24b
-Release: 1%{?dist}
+Release: 2%{?dist}
# BSD License:
# build/premake/*
# libraries/source/miniupnpc/* (not built/used)
@@ -181,9 +181,7 @@ rm -fr libraries/source/valgrind
%define _lto_cflags %{nil}
%endif
-export CFLAGS="%{optflags}"
-# avoid warnings with gcc 4.7 due to _FORTIFY_SOURCE in CPPFLAGS
-export CPPFLAGS="`echo %{optflags} | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'`"
+%set_build_flags
build/workspaces/update-workspaces.sh \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{name} \
@@ -275,6 +273,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop
%{_mandir}/man6/*.6*
%changelog
+* Sat Feb 27 2021 Kalev Lember <klember(a)redhat.com> - 0.0.24b-2
+- Use set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
+
* Mon Feb 22 2021 pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com> - 0.0.24b-1
- Update to 0.0.24b
3 years, 1 month
Architecture specific change in rpms/0ad.git
by githook-noreply@fedoraproject.org
The package rpms/0ad.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/0ad.git/commit/?id=71447f44079525....
Change:
-%ifarch i686
Thanks.
Full change:
============
commit 71447f440795252a47c0caf21042f3ed9a9c5f65
Author: Kalev Lember <klember(a)redhat.com>
Date: Sun Feb 28 11:08:59 2021 +0100
Disable LTO to fix self test failures
LTO appears to break hotkey tests in GuiManager test suite (we had a
patch that disabled the failing tests). I don't know if LTO is breaking
the self test, or if the self tests are catching an actual issue in
LTO'd 0ad.
This commit disables LTO to be on the safe side, and re-enables self
tests.
diff --git a/0ad-check.patch b/0ad-check.patch
deleted file mode 100644
index 89534fb..0000000
--- a/0ad-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -up source/gui/tests/test_GuiManager.h.orig source/gui/tests/test_GuiManager.h
---- source/gui/tests/test_GuiManager.h.orig 2021-02-23 13:49:05.427275704 -0300
-+++ source/gui/tests/test_GuiManager.h 2021-02-23 13:50:11.625669521 -0300
-@@ -151,12 +151,12 @@ public:
-
- pageScriptInterface.GetProperty(global, "state_before", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_after", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- // We are listening to KeyDown events, so repeat shouldn't matter.
- hotkeyNotification.ev.key.repeat = 1;
-@@ -167,12 +167,12 @@ public:
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_before", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkey_pressed_value = false;
- pageScriptInterface.GetProperty(global, "state_after", &js_hotkey_pressed_value);
- ScriptInterface::FromJSVal(prq, js_hotkey_pressed_value, hotkey_pressed_value);
-- TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-+ //TS_ASSERT_EQUALS(hotkey_pressed_value, true);
-
- hotkeyNotification.ev.type = SDL_KEYUP;
- in_push_priority_event(&hotkeyNotification);
diff --git a/0ad.spec b/0ad.spec
index 8d07867..1dc27b5 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -137,7 +137,6 @@ Patch1: %{name}-debug.patch
Patch2: %{name}-valgrind.patch
# Fix build on ppc64le with patches from https://wiki.raptorcs.com/wiki/Porting/0ad
Patch3: %{name}-ppc64.patch
-Patch4: %{name}-check.patch
Patch5: %{name}-rust.patch
%description
@@ -162,7 +161,6 @@ hobbyist game developers, since 2001.
%endif
%patch2 -p0
%patch3 -p0
-%patch4 -p0
%if %{without system_mozjs78}
%patch5 -p0
%endif
@@ -175,11 +173,9 @@ rm -fr libraries/source/valgrind
#-----------------------------------------------------------------------
%build
-# This package appears to get a multiply defined symbol during the LTO
-# link, but only on i686. Disable LTO on that platform for now
-%ifarch i686
+# LTO appears to break hotkey tests in GuiManager test suite.
+# Disable LTO to fix the failing tests.
%define _lto_cflags %{nil}
-%endif
%set_build_flags
build/workspaces/update-workspaces.sh \
@@ -275,6 +271,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop
%changelog
* Sat Feb 27 2021 Kalev Lember <klember(a)redhat.com> - 0.0.24b-2
- Use set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
+- Disable LTO to fix self test failures
* Mon Feb 22 2021 pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com> - 0.0.24b-1
- Update to 0.0.24b
commit b151413b6164e8f7bf0d12d47af856dee2915c96
Author: Kalev Lember <klember(a)redhat.com>
Date: Sat Feb 27 22:17:54 2021 +0100
Use %set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
We need to call this manually as the build doesn't use any of the
standard %configure or %cmake or %meson macros that call
%set_build_flags.
Previously, the build was setting CFLAGS and CXXFLAGS, but not LDFLAGS,
which meant hardening flags weren't correctly passed to the linker and
flatpak builds didn't get -L/app/lib correctly set.
Calling %set_build_flags fixes both.
diff --git a/0ad.spec b/0ad.spec
index 9e4251c..8d07867 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -27,7 +27,7 @@
Name: 0ad
Version: 0.0.24b
-Release: 1%{?dist}
+Release: 2%{?dist}
# BSD License:
# build/premake/*
# libraries/source/miniupnpc/* (not built/used)
@@ -181,9 +181,7 @@ rm -fr libraries/source/valgrind
%define _lto_cflags %{nil}
%endif
-export CFLAGS="%{optflags}"
-# avoid warnings with gcc 4.7 due to _FORTIFY_SOURCE in CPPFLAGS
-export CPPFLAGS="`echo %{optflags} | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'`"
+%set_build_flags
build/workspaces/update-workspaces.sh \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{name} \
@@ -275,6 +273,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/0ad.desktop
%{_mandir}/man6/*.6*
%changelog
+* Sat Feb 27 2021 Kalev Lember <klember(a)redhat.com> - 0.0.24b-2
+- Use set_build_flags macro to set CFLAGS/CXXFLAGS/LDFLAGS
+
* Mon Feb 22 2021 pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com> - 0.0.24b-1
- Update to 0.0.24b
3 years, 1 month
[Report] Packages Restricting Arches
by root
New package excluding arches (1)
============================
- rust-rspec
ExclusiveArch: %{rust_arches}
Package no longer excluding arches (1)
==================================
- tdlib
List of packages currently excluding arches (1888)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- accel-config
ExclusiveArch: x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- anki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le
- bless
ExclusiveArch: %mono_arches
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 ppc64le
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64 ppc64le
- dotnet-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
ExclusiveArch: %{mono_arches}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- ignition
ExclusiveArch: %{go_arches}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- megapixels
ExclusiveArch: aarch64 armv7hl
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newsflash
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: x86_64
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- paflib
ExclusiveArch: ppc %{power64}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfmod
ExclusiveArch: %mono_arches
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- psi-plus
ExclusiveArch: %{qt5_qtwebengine_arches}
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- renderdoc
ExclusiveArch: x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rmd
ExclusiveArch: %{ix86} x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-ab_glyph_rasterizer
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-andrew
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-article_scraper
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-assign
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-io
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-av-metrics
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-base64_0.12
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-binfarce
ExclusiveArch: %{rust_arches}
- rust-biscuit
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-bitvec
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.7
ExclusiveArch: %{rust_arches}
- rust-block-cipher
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf-min
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-bufsize
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-bumpalo
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytelines
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-bytemuck_derive
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bytes0.6
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cedarwood
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-colorful
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-concurrent-queue
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpuid-bool
ExclusiveArch: %{rust_arches}
- rust-cpython
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-any
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-crypto-mac0.8
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctor
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-cxx
ExclusiveArch: %{rust_arches}
- rust-cxx-build
ExclusiveArch: %{rust_arches}
- rust-cxx-gen
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-flags
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-macro
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-debug-helper
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-dialoguer
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diesel_migrations
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-digest0.8
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dlv-list
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escaper
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-euclid
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-extend
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fbthrift_codegen_includer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fdlimit
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-feed-rs
ExclusiveArch: %{rust_arches}
- rust-feedbin_api
ExclusiveArch: %{rust_arches}
- rust-feedly_api
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-fever_api
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-cmp0.6
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-form_urlencoded
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-freetype-rs
ExclusiveArch: %{rust_arches}
- rust-freetype-sys
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-ghost
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gif0.10
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-macros
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-macros
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indoc
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-isahc
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs-sys
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jieba-rs
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-js-sys
ExclusiveArch: %{rust_arches}
- rust-js_int
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-keccak
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libnotcurses-sys
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-line_drawing
ExclusiveArch: %{rust_arches}
- rust-link-cplusplus
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-log4rs
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-magic-crypt
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-migrations_internals
ExclusiveArch: %{rust_arches}
- rust-migrations_macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniflux_api
ExclusiveArch: %{rust_arches}
- rust-minify-html
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-more-asserts
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-news-flash
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-obfstr
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-ordered-multimap
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-os_str_bytes
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-ostree
ExclusiveArch: %{rust_arches}
- rust-ostree-sys
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owned_ttf_parser
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parse_cfg
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pkcs11
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-dirs
ExclusiveArch: %{rust_arches}
- rust-platforms
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotters
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-polling
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pommes
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procfs0.8
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pyo3
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros-backend
ExclusiveArch: %{rust_arches}
- rust-python3-sys
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_distr0.2
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-readability-fork
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relative-path
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-roxmltree
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rspec
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-ruma
ExclusiveArch: %{rust_arches}
- rust-ruma-api
ExclusiveArch: %{rust_arches}
- rust-ruma-api-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-appservice-api
ExclusiveArch: %{rust_arches}
- rust-ruma-client-api
ExclusiveArch: %{rust_arches}
- rust-ruma-common
ExclusiveArch: %{rust_arches}
- rust-ruma-events
ExclusiveArch: %{rust_arches}
- rust-ruma-events-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-federation-api
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-validation
ExclusiveArch: %{rust_arches}
- rust-ruma-identity-service-api
ExclusiveArch: %{rust_arches}
- rust-ruma-push-gateway-api
ExclusiveArch: %{rust_arches}
- rust-ruma-serde
ExclusiveArch: %{rust_arches}
- rust-ruma-serde-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-signatures
ExclusiveArch: %{rust_arches}
- rust-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rusttype
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.10
ExclusiveArch: %{rust_arches}
- rust-semver0.9
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded0.6
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-serial_test
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha3
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slash-formatter
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-soup-sys
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spinning_top
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-svg_metadata
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-system-deps
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.12
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiger-digest
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec0.3
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.2
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec-arena
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vmw_backdoor
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte0.3
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-backend
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro-support
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-shared
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test-macro
ExclusiveArch: %{rust_arches}
- rust-wayland-client
ExclusiveArch: %{rust_arches}
- rust-wayland-commons
ExclusiveArch: %{rust_arches}
- rust-wayland-cursor
ExclusiveArch: %{rust_arches}
- rust-wayland-egl
ExclusiveArch: %{rust_arches}
- rust-wayland-protocols
ExclusiveArch: %{rust_arches}
- rust-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-server
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-web-sys
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk-sys
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-wildmatch
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-x11-dl
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xmlparser
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-ytop
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zeroize_derive
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
3 years, 1 month
Architecture specific change in rpms/rust-rspec.git
by githook-noreply@fedoraproject.org
The package rpms/rust-rspec.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-rspec.git/commit/?id=adbb633....
Change:
+ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit adbb63398a4cf75bcdb1953ed7c00a17a1688bfc
Author: Sohan Kunkerkar <skunkerk(a)redhat.com>
Date: Mon Mar 1 12:10:19 2021 -0500
Initial import
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..15a5c62
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/rspec-1.0.0.crate
diff --git a/rspec-1.0.0.crate b/rspec-1.0.0.crate
new file mode 100644
index 0000000..4a530ff
Binary files /dev/null and b/rspec-1.0.0.crate differ
diff --git a/rust-rspec.spec b/rust-rspec.spec
new file mode 100644
index 0000000..d124935
--- /dev/null
+++ b/rust-rspec.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 16
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate rspec
+
+Name: rust-%{crate}
+Version: 1.0.0
+Release: 1%{?dist}
+Summary: Write Rspec-like tests with stable rust
+
+# Upstream license specification: MPL-2.0
+License: MPLv2.0
+URL: https://crates.io/crates/rspec
+Source: %{crates_source}
+
+ExclusiveArch: %{rust_arches}
+%if %{__cargo_skip_build}
+BuildArch: noarch
+%endif
+
+BuildRequires: rust-packaging
+
+%global _description %{expand:
+Write Rspec-like tests with stable rust.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages
+which use "%{crate}" crate.
+
+%files devel
+%license LICENSE
+%doc README.md
+%{cargo_registry}/%{crate}-%{version_no_tilde}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages
+which use "default" feature of "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+* Mon Feb 15 12:45:00 EST 2021 Sohan Kunkerkar <skunkerk(a)redhat.com> - 1.0.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..eddba72
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (rspec-1.0.0.crate) = 06aeec960dadb47cd67c4d1cc76b7b70dedb586bc88cfe698fee9fc581dbfb7bd3143dbdf5ce55f3d76eea38c997715b7894ba390cfe9c9b660c8394780c333d
3 years, 1 month
Architecture specific change in rpms/stress-ng.git
by githook-noreply@fedoraproject.org
The package rpms/stress-ng.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/stress-ng.git/commit/?id=058c7ca2....
Change:
-ExcludeArch: ppc64le
Thanks.
Full change:
============
commit 3489924231faea43fd7529f593e8269bf0439bcc
Merge: b5bfb77 451b73d
Author: Christopher Brown <chribrow(a)redhat.com>
Date: Mon Mar 1 16:05:37 2021 +0000
Merge branch 'rawhide' into f33
commit 451b73d9ee097703bce103a82f95d145140a92b8
Author: Christopher Brown <chribrow(a)redhat.com>
Date: Mon Mar 1 10:23:23 2021 +0000
Update to 0.12.04
diff --git a/sources b/sources
index 5d93c07..f47acf8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (stress-ng-0.12.03.tar.xz) = 372de29089645fe80d4b9c17779b7dd0f724d910c898cb181791476e64906cf7713b0cc78d33bb9d4485b02928122590d76f3af731e24923f6b26ce65f862114
+SHA512 (stress-ng-0.12.04.tar.xz) = 0fdd92d8b9374f5e296cd8851d2172df2dacfd2c99ab80914ef1bdebebbc66cb88e1792d819734203ec9d4f657765f1cab0e46e12cc3c8753559027b98be884f
diff --git a/stress-ng-0.12.03-sigstksz.patch b/stress-ng-0.12.03-sigstksz.patch
deleted file mode 100644
index b05c935..0000000
--- a/stress-ng-0.12.03-sigstksz.patch
+++ /dev/null
@@ -1,661 +0,0 @@
-From 7c4f74761089177127c2cfe6685b7886aa231885 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.king(a)canonical.com>
-Date: Thu, 25 Feb 2021 00:33:17 +0000
-Subject: [PATCH] stack handling: use _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
-
-New versions of glibc will define SIGSTKSZ and MINSTKSZ
-on the sysconf values for _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
-respectively. Define two helper functions to determine the
-stack sizes by trying to use cached sysconf values, fetching
-and caching the sysconf values or falling back to the
-traditional SIGSTKSZ or MINSTKSZ defined values, or hard
-coded 8K limits if all else fails.
-
-Define STRESS_SIGSTKSZ and STRESS_MINSTKSZ that call the
-helper functions and hide the details. Since these sizes
-are dynamic, replace all statically allocated and stack
-allocated alternative stacks with mmap'd versions and add
-in allocation failure error handling.
-
-Finally remove the MLOCKED_DATA macros now that the mlocked
-alt stacks are no longer used.
-
-Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
----
- core-helper.c | 85 +++++++++++++++++++++++++++++++++----------
- stress-bad-altstack.c | 39 ++++++++++----------
- stress-context.c | 19 +++++++---
- stress-ng.c | 3 --
- stress-ng.h | 10 ++++-
- stress-rlimit.c | 15 +++++++-
- stress-stack.c | 18 ++++-----
- stress-stackmmap.c | 70 ++++++++++++++++++++---------------
- stress-vforkmany.c | 14 +++++--
- 9 files changed, 180 insertions(+), 93 deletions(-)
-
-diff --git a/core-helper.c b/core-helper.c
-index 2c009e53..bc9e4bea 100644
---- a/core-helper.c
-+++ b/core-helper.c
-@@ -1338,12 +1338,12 @@ int stress_sigaltstack(const void *stack, const size_t size)
- #if defined(HAVE_SIGALTSTACK)
- stack_t ss;
-
-- if (size < (size_t)MINSIGSTKSZ) {
-+ if (size < (size_t)STRESS_MINSIGSTKSZ) {
- pr_err("sigaltstack stack size %zu must be more than %zuK\n",
-- size, (size_t)MINSIGSTKSZ / 1024);
-+ size, (size_t)STRESS_MINSIGSTKSZ / 1024);
- return -1;
- }
-- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-+ ss.ss_sp = (void *)stack;
- ss.ss_size = size;
- ss.ss_flags = 0;
- if (sigaltstack(&ss, NULL) < 0) {
-@@ -1370,22 +1370,23 @@ int stress_sighandler(
- {
- struct sigaction new_action;
- #if defined(HAVE_SIGALTSTACK)
-- static bool set_altstack = false;
--
-- /*
-- * Signal handlers should really be using an alternative
-- * signal stack to be totally safe. For any new instance we
-- * should set this alternative signal stack before setting
-- * up any signal handler. We only need to do this once
-- * per process instance, so just do it on the first
-- * call to stress_sighandler.
-- */
-- if (!set_altstack) {
-- static uint8_t MLOCKED_DATA stack[SIGSTKSZ + STACK_ALIGNMENT];
--
-- if (stress_sigaltstack(stack, SIGSTKSZ) < 0)
-- return -1;
-- set_altstack = true;
-+ {
-+ static uint8_t *stack = NULL;
-+
-+ if (stack == NULL) {
-+ /* Allocate stack, we currently leak this */
-+ stack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack == MAP_FAILED) {
-+ pr_inf("%s: sigaction %s: cannot allocated signal stack, "
-+ "errno = %d (%s)\n",
-+ name, stress_strsignal(signum),
-+ errno, strerror(errno));
-+ return -1;
-+ }
-+ if (stress_sigaltstack(stack, STRESS_SIGSTKSZ) < 0)
-+ return -1;
-+ }
- }
- #endif
- (void)memset(&new_action, 0, sizeof new_action);
-@@ -2274,3 +2275,49 @@ size_t stress_hostname_length(void)
- return 255 + 1; /* SUSv2 */
- #endif
- }
-+
-+/*
-+ * stress_sig_stack_size()
-+ * wrapper for STRESS_SIGSTKSZ
-+ */
-+size_t stress_sig_stack_size(void)
-+{
-+#if defined(_SC_SIGSTKSZ)
-+ {
-+ static long sz = -1;
-+
-+ if (sz < 0)
-+ sz = sysconf(_SC_SIGSTKSZ);
-+ if (sz > 0)
-+ return (size_t)sz;
-+ }
-+#endif
-+#if defined(SIGSTKSZ)
-+ return SIGSTKSZ;
-+#else
-+ return (8192);
-+#endif
-+}
-+
-+/*
-+ * stress_min_sig_stack_size()
-+ * wrapper for STRESS_MINSIGSTKSZ
-+ */
-+size_t stress_min_sig_stack_size(void)
-+{
-+#if defined(_SC_MINSIGSTKSZ)
-+ {
-+ static long sz = -1;
-+
-+ if (sz < 0)
-+ sz = sysconf(_SC_MINSIGSTKSZ);
-+ if (sz > 0)
-+ return (size_t)sz;
-+ }
-+#endif
-+#if defined(MINSIGSTKSZ)
-+ return MINSIGSTKSZ;
-+#else
-+ return (8192);
-+#endif
-+}
-diff --git a/stress-bad-altstack.c b/stress-bad-altstack.c
-index e6509be8..e698c3bd 100644
---- a/stress-bad-altstack.c
-+++ b/stress-bad-altstack.c
-@@ -41,7 +41,6 @@ static const stress_help_t help[] =
-
- static void *stack;
- static void *zero_stack;
--static const size_t stack_sz = MINSIGSTKSZ;
- static sigjmp_buf jmpbuf;
-
- static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
-@@ -56,15 +55,15 @@ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
-
- static void MLOCKED_TEXT stress_segv_handler(int signum)
- {
-- uint8_t data[MINSIGSTKSZ * 2];
-+ uint8_t data[STRESS_MINSIGSTKSZ * 2];
-
- (void)signum;
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
- (void)memset(data, 0xff, sizeof(data));
- stress_uint8_put(data[0]);
-
- if (zero_stack != MAP_FAILED)
-- (void)munmap(zero_stack, stack_sz);
-+ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
-
- /*
- * If we've not got this far we've not
-@@ -88,7 +87,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #endif
- int fd;
-
-- stack = mmap(NULL, stack_sz, PROT_READ | PROT_WRITE,
-+ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- if (stack == MAP_FAILED) {
- pr_err("%s: cannot mmap signal handler stack, errno=%d (%s)\n",
-@@ -98,7 +97,7 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- fd = open("/dev/zero", O_RDONLY);
- if (fd >= 0) {
-- zero_stack = mmap(NULL, stack_sz, PROT_READ,
-+ zero_stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ,
- MAP_PRIVATE, fd, 0);
- (void)close(fd);
- } else {
-@@ -176,13 +175,13 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- /* Exercise disable SS_DISABLE */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ;
-+ ss.ss_size = STRESS_MINSIGSTKSZ;
- ss.ss_flags = SS_DISABLE;
- (void)sigaltstack(&ss, NULL);
-
- /* Exercise invalid flags */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ;
-+ ss.ss_size = STRESS_MINSIGSTKSZ;
- ss.ss_flags = ~0;
- (void)sigaltstack(&ss, NULL);
-
-@@ -191,7 +190,7 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- /* Exercise less than minimum allowed stack size, ENOMEM */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ - 1;
-+ ss.ss_size = STRESS_MINSIGSTKSZ - 1;
- ss.ss_flags = 0;
- (void)sigaltstack(&ss, NULL);
-
-@@ -199,7 +198,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- return EXIT_FAILURE;
-
- /* Set alternative stack for testing */
-- if (stress_sigaltstack(stack, stack_sz) < 0)
-+ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- /* Child */
-@@ -214,7 +213,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #if defined(HAVE_MPROTECT)
- case 1:
- /* Illegal stack with no protection */
-- ret = mprotect(stack, stack_sz, PROT_NONE);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_NONE);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -222,7 +221,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 2:
- /* Illegal read-only stack */
-- ret = mprotect(stack, stack_sz, PROT_READ);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_READ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -230,7 +229,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 3:
- /* Illegal exec-only stack */
-- ret = mprotect(stack, stack_sz, PROT_EXEC);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_EXEC);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -239,7 +238,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #endif
- case 4:
- /* Illegal NULL stack */
-- ret = stress_sigaltstack(NULL, SIGSTKSZ);
-+ ret = stress_sigaltstack(NULL, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -247,7 +246,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 5:
- /* Illegal text segment stack */
-- ret = stress_sigaltstack(stress_segv_handler, SIGSTKSZ);
-+ ret = stress_sigaltstack(stress_segv_handler, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -260,7 +259,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- case 7:
- #if defined(HAVE_VDSO_VIA_GETAUXVAL)
- /* Illegal stack on VDSO, otherwises NULL stack */
-- ret = stress_sigaltstack(vdso, SIGSTKSZ);
-+ ret = stress_sigaltstack(vdso, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -270,7 +269,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- case 8:
- /* Illegal /dev/zero mapped stack */
- if (zero_stack != MAP_FAILED) {
-- ret = stress_sigaltstack(zero_stack, stack_sz);
-+ ret = stress_sigaltstack(zero_stack, STRESS_MINSIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(zero_stack);
- if (!keep_stressing(args))
-@@ -280,7 +279,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- default:
- case 0:
- /* Illegal unmapped stack */
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
- stress_bad_altstack_force_fault(NULL);
- break;
- }
-@@ -293,9 +292,9 @@ static int stress_bad_altstack(const stress_args_t *args)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- if (zero_stack != MAP_FAILED)
-- (void)munmap(zero_stack, stack_sz);
-+ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
- if (stack != MAP_FAILED)
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-context.c b/stress-context.c
-index fda48ba1..db4f69f3 100644
---- a/stress-context.c
-+++ b/stress-context.c
-@@ -33,7 +33,7 @@ static stress_help_t help[] = {
- #if defined(HAVE_SWAPCONTEXT) && \
- defined(HAVE_UCONTEXT_H)
-
--#define STACK_SIZE (16384)
-+#define CONTEXT_STACK_SIZE (16384)
-
- typedef struct {
- uint32_t check0; /* memory clobbering check canary */
-@@ -48,7 +48,7 @@ typedef struct {
-
- typedef struct {
- chk_ucontext_t cu; /* check ucontext */
-- uint8_t stack[SIGSTKSZ + STACK_ALIGNMENT]; /* stack */
-+ uint8_t stack[CONTEXT_STACK_SIZE + STACK_ALIGNMENT]; /* stack */
- chk_canary_t canary; /* copy of canary */
- } context_info_t;
-
-@@ -103,7 +103,7 @@ static int stress_context_init(
- context_info->cu.check1 = context_info->canary.check1;
- context_info->cu.uctx.uc_stack.ss_sp =
- (void *)stress_align_address(context_info->stack, STACK_ALIGNMENT);
-- context_info->cu.uctx.uc_stack.ss_size = STACK_SIZE;
-+ context_info->cu.uctx.uc_stack.ss_size = CONTEXT_STACK_SIZE;
- context_info->cu.uctx.uc_link = uctx_link;
- makecontext(&context_info->cu.uctx, func, 0);
-
-@@ -116,10 +116,18 @@ static int stress_context_init(
- */
- static int stress_context(const stress_args_t *args)
- {
-- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
-+ uint8_t *stack_sig;
- size_t i;
-
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-+ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack, errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ return EXIT_NO_RESOURCE;
-+ }
-+
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- __counter = 0;
-@@ -155,6 +163,7 @@ static int stress_context(const stress_args_t *args)
- }
- }
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-ng.c b/stress-ng.c
-index 08d9bcc1..820de3c6 100644
---- a/stress-ng.c
-+++ b/stress-ng.c
-@@ -3108,11 +3108,8 @@ static inline void stress_mlock_executable(void)
- #if defined(MLOCKED_SECTION)
- extern void *__start_mlocked_text;
- extern void *__stop_mlocked_text;
-- extern void *__start_mlocked_data;
-- extern void *__stop_mlocked_data;
-
- stress_mlock_region(&__start_mlocked_text, &__stop_mlocked_text);
-- stress_mlock_region(&__start_mlocked_data, &__stop_mlocked_data);
- #endif
- }
-
-diff --git a/stress-ng.h b/stress-ng.h
-index 1128750f..48f39b79 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -1250,11 +1250,11 @@ typedef struct { /* vmstat column */
- NEED_GNUC(4,6,0) && \
- !defined(__sun__) && \
- !defined(BUILD_STATIC)
--#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
-+//#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
- #define MLOCKED_TEXT __attribute__((__section__("mlocked_text")))
- #define MLOCKED_SECTION 1
- #else
--#define MLOCKED_DATA
-+//#define MLOCKED_DATA
- #define MLOCKED_TEXT
- #endif
-
-@@ -3927,6 +3927,12 @@ extern WARN_UNUSED int32_t stress_get_opt_sched(const char *const str);
- extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str);
-
- /* Misc helper funcs */
-+extern WARN_UNUSED size_t stress_sig_stack_size(void);
-+extern WARN_UNUSED size_t stress_min_sig_stack_size(void);
-+
-+#define STRESS_SIGSTKSZ (stress_sig_stack_size())
-+#define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size())
-+
- extern void stress_unmap_shared(void);
- extern void stress_log_system_mem_info(void);
- extern WARN_UNUSED char *stress_munge_underscore(const char *str);
-diff --git a/stress-rlimit.c b/stress-rlimit.c
-index 4fb4d09a..c6c674a8 100644
---- a/stress-rlimit.c
-+++ b/stress-rlimit.c
-@@ -147,10 +147,20 @@ static void MLOCKED_TEXT stress_rlimit_handler(int signum)
- static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
- {
- stress_rlimit_context_t *context = (stress_rlimit_context_t *)ctxt;
-- static unsigned char stack[MINSIGSTKSZ];
-+ uint8_t *stack;
-
-- if (stress_sigaltstack(stack, MINSIGSTKSZ) < 0)
-+ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-+ if (stack == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack: %d (%s)\n",
-+ args->name, errno, strerror(errno));
- return EXIT_NO_RESOURCE;
-+ }
-+
-+ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0) {
-+ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
-+ return EXIT_NO_RESOURCE;
-+ }
-
- stress_set_proc_state(args->name, STRESS_STATE_RUN);
-
-@@ -261,6 +271,7 @@ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- (void)close(context->fd);
-+ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-stack.c b/stress-stack.c
-index 644af726..06d12670 100644
---- a/stress-stack.c
-+++ b/stress-stack.c
-@@ -132,9 +132,6 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- {
- char *start_ptr = shim_sbrk(0);
- void *altstack;
-- ssize_t altstack_size = (SIGSTKSZ +
-- STACK_ALIGNMENT +
-- args->page_size) & ~(args->page_size -1);
- bool stack_fill = false;
- bool stack_mlock = false;
-
-@@ -149,11 +146,14 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- * if there is no memory to back it later. Stack
- * must be privately mapped.
- */
-- altstack = mmap(NULL, altstack_size, PROT_READ | PROT_WRITE,
-+ altstack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-- if (altstack == MAP_FAILED)
-+ if (altstack == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack: errno = %d (%s)\n",
-+ args->name, errno, strerror(errno));
- return EXIT_NO_RESOURCE;
-- (void)stress_mincore_touch_pages(altstack, altstack_size);
-+ }
-+ (void)stress_mincore_touch_pages(altstack, STRESS_SIGSTKSZ);
-
- /*
- * We need to create an alternative signal
-@@ -162,8 +162,8 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- * than try to push onto an already overflowed
- * stack
- */
-- if (stress_sigaltstack(altstack, SIGSTKSZ) < 0) {
-- (void)munmap(altstack, altstack_size);
-+ if (stress_sigaltstack(altstack, STRESS_SIGSTKSZ) < 0) {
-+ (void)munmap(altstack, STRESS_SIGSTKSZ);
- return EXIT_NO_RESOURCE;
- }
-
-@@ -221,7 +221,7 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- }
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
-- (void)munmap(altstack, altstack_size);
-+ (void)munmap((void *)altstack, STRESS_SIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-stackmmap.c b/stress-stackmmap.c
-index 2f90aaae..0cdc2019 100644
---- a/stress-stackmmap.c
-+++ b/stress-stackmmap.c
-@@ -86,32 +86,6 @@ static void stress_stackmmap_push_msync(void)
- */
- static void stress_stackmmap_push_start(void)
- {
-- /* stack for SEGV handler must not be on the stack */
-- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
-- struct sigaction new_action;
--
-- /*
-- * We need to handle SEGV signals when we
-- * hit the end of the mmap'd stack; however
-- * an alternative signal handling stack
-- * is required because we ran out of stack
-- */
-- (void)memset(&new_action, 0, sizeof new_action);
-- new_action.sa_handler = stress_segvhandler;
-- (void)sigemptyset(&new_action.sa_mask);
-- new_action.sa_flags = SA_ONSTACK;
-- if (sigaction(SIGSEGV, &new_action, NULL) < 0)
-- return;
--
-- /*
-- * We need an alternative signal stack
-- * to handle segfaults on an overrun
-- * mmap'd stack
-- */
-- (void)memset(stack_sig, 0, sizeof(stack_sig));
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-- return;
--
- stress_stackmmap_push_msync();
- }
-
-@@ -124,6 +98,8 @@ static int stress_stackmmap(const stress_args_t *args)
- int fd, ret;
- volatile int rc = EXIT_FAILURE; /* could be clobbered */
- char filename[PATH_MAX];
-+ uint8_t *stack_sig;
-+ struct sigaction new_action;
-
- page_size = args->page_size;
- page_mask = ~(page_size - 1);
-@@ -148,20 +124,31 @@ static int stress_stackmmap(const stress_args_t *args)
- (void)close(fd);
- goto tidy_dir;
- }
-- stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE, PROT_READ | PROT_WRITE,
-- MAP_SHARED, fd, 0);
-+ stack_sig = (uint8_t *)mmap(NULL, STRESS_SIGSTKSZ,
-+ PROT_READ | PROT_WRITE, MAP_SHARED, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: skipping stressor, cannot mmap signal stack, "
-+ "errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ rc = EXIT_NO_RESOURCE;
-+ (void)close(fd);
-+ goto tidy_dir;
-+ }
-+
-+ stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE,
-+ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (stack_mmap == MAP_FAILED) {
- if (errno == ENXIO) {
- pr_inf("%s: skipping stressor, mmap not possible on file %s\n",
- args->name, filename);
- rc = EXIT_NO_RESOURCE;
- (void)close(fd);
-- goto tidy_dir;
-+ goto tidy_stack_sig;
- }
- pr_fail("%s: mmap failed, errno=%d (%s)\n",
- args->name, errno, strerror(errno));
- (void)close(fd);
-- goto tidy_dir;
-+ goto tidy_stack_sig;
- }
- (void)close(fd);
-
-@@ -231,6 +218,27 @@ static int stress_stackmmap(const stress_args_t *args)
- /* Make sure this is killable by OOM killer */
- stress_set_oom_adjustment(args->name, true);
-
-+ /*
-+ * We need to handle SEGV signals when we
-+ * hit the end of the mmap'd stack; however
-+ * an alternative signal handling stack
-+ * is required because we ran out of stack
-+ */
-+ (void)memset(&new_action, 0, sizeof new_action);
-+ new_action.sa_handler = stress_segvhandler;
-+ (void)sigemptyset(&new_action.sa_mask);
-+ new_action.sa_flags = SA_ONSTACK;
-+ if (sigaction(SIGSEGV, &new_action, NULL) < 0)
-+ _exit(EXIT_FAILURE);
-+
-+ /*
-+ * We need an alternative signal stack
-+ * to handle segfaults on an overrun
-+ * mmap'd stack
-+ */
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
-+ _exit(EXIT_FAILURE);
-+
- (void)makecontext(&c_test, stress_stackmmap_push_start, 0);
- (void)swapcontext(&c_main, &c_test);
-
-@@ -244,6 +252,8 @@ static int stress_stackmmap(const stress_args_t *args)
- tidy_mmap:
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
- (void)munmap((void *)stack_mmap, MMAPSTACK_SIZE);
-+tidy_stack_sig:
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
- tidy_dir:
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
- (void)stress_temp_dir_rm_args(args);
-diff --git a/stress-vforkmany.c b/stress-vforkmany.c
-index 852bde2e..6d7f7807 100644
---- a/stress-vforkmany.c
-+++ b/stress-vforkmany.c
-@@ -79,13 +79,20 @@ static int stress_vforkmany(const stress_args_t *args)
- {
- static pid_t chpid;
- static volatile int instance = 0;
-- static uint8_t stack_sig[SIGSTKSZ + SIGSTKSZ];
-+ static uint8_t *stack_sig;
- static volatile bool *terminate;
- static bool *terminate_mmap;
-
- /* We should use an alternative signal stack */
-- (void)memset(stack_sig, 0, sizeof(stack_sig));
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-+ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: skipping stressor, cannot allocate signal stack,"
-+ " errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ return EXIT_NO_RESOURCE;
-+ }
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- terminate = terminate_mmap =
-@@ -219,6 +226,7 @@ static int stress_vforkmany(const stress_args_t *args)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- (void)munmap((void *)terminate_mmap, args->page_size);
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
- return EXIT_SUCCESS;
- }
-
diff --git a/stress-ng.spec b/stress-ng.spec
index a5a24cc..83dcaa8 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -1,13 +1,11 @@
Name: stress-ng
-Version: 0.12.03
-Release: 2%{?dist}
+Version: 0.12.04
+Release: 1%{?dist}
Summary: Stress test a computer system in various ways
License: GPLv2+
URL: https://kernel.ubuntu.com/~cking/%{name}
Source0: https://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
-# https://github.com/ColinIanKing/stress-ng/issues/107
-Patch0: stress-ng-0.12.03-sigstksz.patch
BuildRequires: make
BuildRequires: gcc
@@ -31,7 +29,6 @@ system kernel interfaces.
%prep
%setup -q
-%patch0 -p1
%build
export CFLAGS="%{optflags}"
@@ -55,6 +52,9 @@ install -pm 644 bash-completion/%{name} \
%{_datadir}/bash-completion/completions/%{name}
%changelog
+* Mon Mar 1 2021 Chris Brown <chris.brown(a)redhat.com> - 0.12.04-1
+- Update to 0.12.04
+
* Wed Feb 24 2021 Yaakov Selkowitz <yselkowi(a)redhat.com> - 0.12.03-2
- Enable ppc64le
commit a9bc8b5947d10f13996e6e5d7280e5860473bbd4
Author: Yaakov Selkowitz <yselkowi(a)redhat.com>
Date: Wed Feb 24 22:05:37 2021 -0500
Fix build with glibc 2.34
https://github.com/ColinIanKing/stress-ng/issues/107
diff --git a/stress-ng-0.12.03-sigstksz.patch b/stress-ng-0.12.03-sigstksz.patch
new file mode 100644
index 0000000..b05c935
--- /dev/null
+++ b/stress-ng-0.12.03-sigstksz.patch
@@ -0,0 +1,661 @@
+From 7c4f74761089177127c2cfe6685b7886aa231885 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king(a)canonical.com>
+Date: Thu, 25 Feb 2021 00:33:17 +0000
+Subject: [PATCH] stack handling: use _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
+
+New versions of glibc will define SIGSTKSZ and MINSTKSZ
+on the sysconf values for _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
+respectively. Define two helper functions to determine the
+stack sizes by trying to use cached sysconf values, fetching
+and caching the sysconf values or falling back to the
+traditional SIGSTKSZ or MINSTKSZ defined values, or hard
+coded 8K limits if all else fails.
+
+Define STRESS_SIGSTKSZ and STRESS_MINSTKSZ that call the
+helper functions and hide the details. Since these sizes
+are dynamic, replace all statically allocated and stack
+allocated alternative stacks with mmap'd versions and add
+in allocation failure error handling.
+
+Finally remove the MLOCKED_DATA macros now that the mlocked
+alt stacks are no longer used.
+
+Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
+---
+ core-helper.c | 85 +++++++++++++++++++++++++++++++++----------
+ stress-bad-altstack.c | 39 ++++++++++----------
+ stress-context.c | 19 +++++++---
+ stress-ng.c | 3 --
+ stress-ng.h | 10 ++++-
+ stress-rlimit.c | 15 +++++++-
+ stress-stack.c | 18 ++++-----
+ stress-stackmmap.c | 70 ++++++++++++++++++++---------------
+ stress-vforkmany.c | 14 +++++--
+ 9 files changed, 180 insertions(+), 93 deletions(-)
+
+diff --git a/core-helper.c b/core-helper.c
+index 2c009e53..bc9e4bea 100644
+--- a/core-helper.c
++++ b/core-helper.c
+@@ -1338,12 +1338,12 @@ int stress_sigaltstack(const void *stack, const size_t size)
+ #if defined(HAVE_SIGALTSTACK)
+ stack_t ss;
+
+- if (size < (size_t)MINSIGSTKSZ) {
++ if (size < (size_t)STRESS_MINSIGSTKSZ) {
+ pr_err("sigaltstack stack size %zu must be more than %zuK\n",
+- size, (size_t)MINSIGSTKSZ / 1024);
++ size, (size_t)STRESS_MINSIGSTKSZ / 1024);
+ return -1;
+ }
+- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
++ ss.ss_sp = (void *)stack;
+ ss.ss_size = size;
+ ss.ss_flags = 0;
+ if (sigaltstack(&ss, NULL) < 0) {
+@@ -1370,22 +1370,23 @@ int stress_sighandler(
+ {
+ struct sigaction new_action;
+ #if defined(HAVE_SIGALTSTACK)
+- static bool set_altstack = false;
+-
+- /*
+- * Signal handlers should really be using an alternative
+- * signal stack to be totally safe. For any new instance we
+- * should set this alternative signal stack before setting
+- * up any signal handler. We only need to do this once
+- * per process instance, so just do it on the first
+- * call to stress_sighandler.
+- */
+- if (!set_altstack) {
+- static uint8_t MLOCKED_DATA stack[SIGSTKSZ + STACK_ALIGNMENT];
+-
+- if (stress_sigaltstack(stack, SIGSTKSZ) < 0)
+- return -1;
+- set_altstack = true;
++ {
++ static uint8_t *stack = NULL;
++
++ if (stack == NULL) {
++ /* Allocate stack, we currently leak this */
++ stack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack == MAP_FAILED) {
++ pr_inf("%s: sigaction %s: cannot allocated signal stack, "
++ "errno = %d (%s)\n",
++ name, stress_strsignal(signum),
++ errno, strerror(errno));
++ return -1;
++ }
++ if (stress_sigaltstack(stack, STRESS_SIGSTKSZ) < 0)
++ return -1;
++ }
+ }
+ #endif
+ (void)memset(&new_action, 0, sizeof new_action);
+@@ -2274,3 +2275,49 @@ size_t stress_hostname_length(void)
+ return 255 + 1; /* SUSv2 */
+ #endif
+ }
++
++/*
++ * stress_sig_stack_size()
++ * wrapper for STRESS_SIGSTKSZ
++ */
++size_t stress_sig_stack_size(void)
++{
++#if defined(_SC_SIGSTKSZ)
++ {
++ static long sz = -1;
++
++ if (sz < 0)
++ sz = sysconf(_SC_SIGSTKSZ);
++ if (sz > 0)
++ return (size_t)sz;
++ }
++#endif
++#if defined(SIGSTKSZ)
++ return SIGSTKSZ;
++#else
++ return (8192);
++#endif
++}
++
++/*
++ * stress_min_sig_stack_size()
++ * wrapper for STRESS_MINSIGSTKSZ
++ */
++size_t stress_min_sig_stack_size(void)
++{
++#if defined(_SC_MINSIGSTKSZ)
++ {
++ static long sz = -1;
++
++ if (sz < 0)
++ sz = sysconf(_SC_MINSIGSTKSZ);
++ if (sz > 0)
++ return (size_t)sz;
++ }
++#endif
++#if defined(MINSIGSTKSZ)
++ return MINSIGSTKSZ;
++#else
++ return (8192);
++#endif
++}
+diff --git a/stress-bad-altstack.c b/stress-bad-altstack.c
+index e6509be8..e698c3bd 100644
+--- a/stress-bad-altstack.c
++++ b/stress-bad-altstack.c
+@@ -41,7 +41,6 @@ static const stress_help_t help[] =
+
+ static void *stack;
+ static void *zero_stack;
+-static const size_t stack_sz = MINSIGSTKSZ;
+ static sigjmp_buf jmpbuf;
+
+ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
+@@ -56,15 +55,15 @@ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
+
+ static void MLOCKED_TEXT stress_segv_handler(int signum)
+ {
+- uint8_t data[MINSIGSTKSZ * 2];
++ uint8_t data[STRESS_MINSIGSTKSZ * 2];
+
+ (void)signum;
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+ (void)memset(data, 0xff, sizeof(data));
+ stress_uint8_put(data[0]);
+
+ if (zero_stack != MAP_FAILED)
+- (void)munmap(zero_stack, stack_sz);
++ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
+
+ /*
+ * If we've not got this far we've not
+@@ -88,7 +87,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #endif
+ int fd;
+
+- stack = mmap(NULL, stack_sz, PROT_READ | PROT_WRITE,
++ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (stack == MAP_FAILED) {
+ pr_err("%s: cannot mmap signal handler stack, errno=%d (%s)\n",
+@@ -98,7 +97,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ fd = open("/dev/zero", O_RDONLY);
+ if (fd >= 0) {
+- zero_stack = mmap(NULL, stack_sz, PROT_READ,
++ zero_stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ,
+ MAP_PRIVATE, fd, 0);
+ (void)close(fd);
+ } else {
+@@ -176,13 +175,13 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ /* Exercise disable SS_DISABLE */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ;
++ ss.ss_size = STRESS_MINSIGSTKSZ;
+ ss.ss_flags = SS_DISABLE;
+ (void)sigaltstack(&ss, NULL);
+
+ /* Exercise invalid flags */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ;
++ ss.ss_size = STRESS_MINSIGSTKSZ;
+ ss.ss_flags = ~0;
+ (void)sigaltstack(&ss, NULL);
+
+@@ -191,7 +190,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ /* Exercise less than minimum allowed stack size, ENOMEM */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ - 1;
++ ss.ss_size = STRESS_MINSIGSTKSZ - 1;
+ ss.ss_flags = 0;
+ (void)sigaltstack(&ss, NULL);
+
+@@ -199,7 +198,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ return EXIT_FAILURE;
+
+ /* Set alternative stack for testing */
+- if (stress_sigaltstack(stack, stack_sz) < 0)
++ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ /* Child */
+@@ -214,7 +213,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #if defined(HAVE_MPROTECT)
+ case 1:
+ /* Illegal stack with no protection */
+- ret = mprotect(stack, stack_sz, PROT_NONE);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_NONE);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -222,7 +221,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 2:
+ /* Illegal read-only stack */
+- ret = mprotect(stack, stack_sz, PROT_READ);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_READ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -230,7 +229,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 3:
+ /* Illegal exec-only stack */
+- ret = mprotect(stack, stack_sz, PROT_EXEC);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_EXEC);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -239,7 +238,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #endif
+ case 4:
+ /* Illegal NULL stack */
+- ret = stress_sigaltstack(NULL, SIGSTKSZ);
++ ret = stress_sigaltstack(NULL, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -247,7 +246,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 5:
+ /* Illegal text segment stack */
+- ret = stress_sigaltstack(stress_segv_handler, SIGSTKSZ);
++ ret = stress_sigaltstack(stress_segv_handler, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -260,7 +259,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ case 7:
+ #if defined(HAVE_VDSO_VIA_GETAUXVAL)
+ /* Illegal stack on VDSO, otherwises NULL stack */
+- ret = stress_sigaltstack(vdso, SIGSTKSZ);
++ ret = stress_sigaltstack(vdso, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -270,7 +269,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ case 8:
+ /* Illegal /dev/zero mapped stack */
+ if (zero_stack != MAP_FAILED) {
+- ret = stress_sigaltstack(zero_stack, stack_sz);
++ ret = stress_sigaltstack(zero_stack, STRESS_MINSIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(zero_stack);
+ if (!keep_stressing(args))
+@@ -280,7 +279,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ default:
+ case 0:
+ /* Illegal unmapped stack */
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+ stress_bad_altstack_force_fault(NULL);
+ break;
+ }
+@@ -293,9 +292,9 @@ static int stress_bad_altstack(const stress_args_t *args)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ if (zero_stack != MAP_FAILED)
+- (void)munmap(zero_stack, stack_sz);
++ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
+ if (stack != MAP_FAILED)
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-context.c b/stress-context.c
+index fda48ba1..db4f69f3 100644
+--- a/stress-context.c
++++ b/stress-context.c
+@@ -33,7 +33,7 @@ static stress_help_t help[] = {
+ #if defined(HAVE_SWAPCONTEXT) && \
+ defined(HAVE_UCONTEXT_H)
+
+-#define STACK_SIZE (16384)
++#define CONTEXT_STACK_SIZE (16384)
+
+ typedef struct {
+ uint32_t check0; /* memory clobbering check canary */
+@@ -48,7 +48,7 @@ typedef struct {
+
+ typedef struct {
+ chk_ucontext_t cu; /* check ucontext */
+- uint8_t stack[SIGSTKSZ + STACK_ALIGNMENT]; /* stack */
++ uint8_t stack[CONTEXT_STACK_SIZE + STACK_ALIGNMENT]; /* stack */
+ chk_canary_t canary; /* copy of canary */
+ } context_info_t;
+
+@@ -103,7 +103,7 @@ static int stress_context_init(
+ context_info->cu.check1 = context_info->canary.check1;
+ context_info->cu.uctx.uc_stack.ss_sp =
+ (void *)stress_align_address(context_info->stack, STACK_ALIGNMENT);
+- context_info->cu.uctx.uc_stack.ss_size = STACK_SIZE;
++ context_info->cu.uctx.uc_stack.ss_size = CONTEXT_STACK_SIZE;
+ context_info->cu.uctx.uc_link = uctx_link;
+ makecontext(&context_info->cu.uctx, func, 0);
+
+@@ -116,10 +116,18 @@ static int stress_context_init(
+ */
+ static int stress_context(const stress_args_t *args)
+ {
+- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
++ uint8_t *stack_sig;
+ size_t i;
+
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
++ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack, errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ return EXIT_NO_RESOURCE;
++ }
++
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ __counter = 0;
+@@ -155,6 +163,7 @@ static int stress_context(const stress_args_t *args)
+ }
+ }
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-ng.c b/stress-ng.c
+index 08d9bcc1..820de3c6 100644
+--- a/stress-ng.c
++++ b/stress-ng.c
+@@ -3108,11 +3108,8 @@ static inline void stress_mlock_executable(void)
+ #if defined(MLOCKED_SECTION)
+ extern void *__start_mlocked_text;
+ extern void *__stop_mlocked_text;
+- extern void *__start_mlocked_data;
+- extern void *__stop_mlocked_data;
+
+ stress_mlock_region(&__start_mlocked_text, &__stop_mlocked_text);
+- stress_mlock_region(&__start_mlocked_data, &__stop_mlocked_data);
+ #endif
+ }
+
+diff --git a/stress-ng.h b/stress-ng.h
+index 1128750f..48f39b79 100644
+--- a/stress-ng.h
++++ b/stress-ng.h
+@@ -1250,11 +1250,11 @@ typedef struct { /* vmstat column */
+ NEED_GNUC(4,6,0) && \
+ !defined(__sun__) && \
+ !defined(BUILD_STATIC)
+-#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
++//#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
+ #define MLOCKED_TEXT __attribute__((__section__("mlocked_text")))
+ #define MLOCKED_SECTION 1
+ #else
+-#define MLOCKED_DATA
++//#define MLOCKED_DATA
+ #define MLOCKED_TEXT
+ #endif
+
+@@ -3927,6 +3927,12 @@ extern WARN_UNUSED int32_t stress_get_opt_sched(const char *const str);
+ extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str);
+
+ /* Misc helper funcs */
++extern WARN_UNUSED size_t stress_sig_stack_size(void);
++extern WARN_UNUSED size_t stress_min_sig_stack_size(void);
++
++#define STRESS_SIGSTKSZ (stress_sig_stack_size())
++#define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size())
++
+ extern void stress_unmap_shared(void);
+ extern void stress_log_system_mem_info(void);
+ extern WARN_UNUSED char *stress_munge_underscore(const char *str);
+diff --git a/stress-rlimit.c b/stress-rlimit.c
+index 4fb4d09a..c6c674a8 100644
+--- a/stress-rlimit.c
++++ b/stress-rlimit.c
+@@ -147,10 +147,20 @@ static void MLOCKED_TEXT stress_rlimit_handler(int signum)
+ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
+ {
+ stress_rlimit_context_t *context = (stress_rlimit_context_t *)ctxt;
+- static unsigned char stack[MINSIGSTKSZ];
++ uint8_t *stack;
+
+- if (stress_sigaltstack(stack, MINSIGSTKSZ) < 0)
++ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
++ if (stack == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack: %d (%s)\n",
++ args->name, errno, strerror(errno));
+ return EXIT_NO_RESOURCE;
++ }
++
++ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0) {
++ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
++ return EXIT_NO_RESOURCE;
++ }
+
+ stress_set_proc_state(args->name, STRESS_STATE_RUN);
+
+@@ -261,6 +271,7 @@ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ (void)close(context->fd);
++ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-stack.c b/stress-stack.c
+index 644af726..06d12670 100644
+--- a/stress-stack.c
++++ b/stress-stack.c
+@@ -132,9 +132,6 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ {
+ char *start_ptr = shim_sbrk(0);
+ void *altstack;
+- ssize_t altstack_size = (SIGSTKSZ +
+- STACK_ALIGNMENT +
+- args->page_size) & ~(args->page_size -1);
+ bool stack_fill = false;
+ bool stack_mlock = false;
+
+@@ -149,11 +146,14 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ * if there is no memory to back it later. Stack
+ * must be privately mapped.
+ */
+- altstack = mmap(NULL, altstack_size, PROT_READ | PROT_WRITE,
++ altstack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+- if (altstack == MAP_FAILED)
++ if (altstack == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack: errno = %d (%s)\n",
++ args->name, errno, strerror(errno));
+ return EXIT_NO_RESOURCE;
+- (void)stress_mincore_touch_pages(altstack, altstack_size);
++ }
++ (void)stress_mincore_touch_pages(altstack, STRESS_SIGSTKSZ);
+
+ /*
+ * We need to create an alternative signal
+@@ -162,8 +162,8 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ * than try to push onto an already overflowed
+ * stack
+ */
+- if (stress_sigaltstack(altstack, SIGSTKSZ) < 0) {
+- (void)munmap(altstack, altstack_size);
++ if (stress_sigaltstack(altstack, STRESS_SIGSTKSZ) < 0) {
++ (void)munmap(altstack, STRESS_SIGSTKSZ);
+ return EXIT_NO_RESOURCE;
+ }
+
+@@ -221,7 +221,7 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ }
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+- (void)munmap(altstack, altstack_size);
++ (void)munmap((void *)altstack, STRESS_SIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-stackmmap.c b/stress-stackmmap.c
+index 2f90aaae..0cdc2019 100644
+--- a/stress-stackmmap.c
++++ b/stress-stackmmap.c
+@@ -86,32 +86,6 @@ static void stress_stackmmap_push_msync(void)
+ */
+ static void stress_stackmmap_push_start(void)
+ {
+- /* stack for SEGV handler must not be on the stack */
+- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
+- struct sigaction new_action;
+-
+- /*
+- * We need to handle SEGV signals when we
+- * hit the end of the mmap'd stack; however
+- * an alternative signal handling stack
+- * is required because we ran out of stack
+- */
+- (void)memset(&new_action, 0, sizeof new_action);
+- new_action.sa_handler = stress_segvhandler;
+- (void)sigemptyset(&new_action.sa_mask);
+- new_action.sa_flags = SA_ONSTACK;
+- if (sigaction(SIGSEGV, &new_action, NULL) < 0)
+- return;
+-
+- /*
+- * We need an alternative signal stack
+- * to handle segfaults on an overrun
+- * mmap'd stack
+- */
+- (void)memset(stack_sig, 0, sizeof(stack_sig));
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
+- return;
+-
+ stress_stackmmap_push_msync();
+ }
+
+@@ -124,6 +98,8 @@ static int stress_stackmmap(const stress_args_t *args)
+ int fd, ret;
+ volatile int rc = EXIT_FAILURE; /* could be clobbered */
+ char filename[PATH_MAX];
++ uint8_t *stack_sig;
++ struct sigaction new_action;
+
+ page_size = args->page_size;
+ page_mask = ~(page_size - 1);
+@@ -148,20 +124,31 @@ static int stress_stackmmap(const stress_args_t *args)
+ (void)close(fd);
+ goto tidy_dir;
+ }
+- stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE, PROT_READ | PROT_WRITE,
+- MAP_SHARED, fd, 0);
++ stack_sig = (uint8_t *)mmap(NULL, STRESS_SIGSTKSZ,
++ PROT_READ | PROT_WRITE, MAP_SHARED, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: skipping stressor, cannot mmap signal stack, "
++ "errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ rc = EXIT_NO_RESOURCE;
++ (void)close(fd);
++ goto tidy_dir;
++ }
++
++ stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE,
++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+ if (stack_mmap == MAP_FAILED) {
+ if (errno == ENXIO) {
+ pr_inf("%s: skipping stressor, mmap not possible on file %s\n",
+ args->name, filename);
+ rc = EXIT_NO_RESOURCE;
+ (void)close(fd);
+- goto tidy_dir;
++ goto tidy_stack_sig;
+ }
+ pr_fail("%s: mmap failed, errno=%d (%s)\n",
+ args->name, errno, strerror(errno));
+ (void)close(fd);
+- goto tidy_dir;
++ goto tidy_stack_sig;
+ }
+ (void)close(fd);
+
+@@ -231,6 +218,27 @@ static int stress_stackmmap(const stress_args_t *args)
+ /* Make sure this is killable by OOM killer */
+ stress_set_oom_adjustment(args->name, true);
+
++ /*
++ * We need to handle SEGV signals when we
++ * hit the end of the mmap'd stack; however
++ * an alternative signal handling stack
++ * is required because we ran out of stack
++ */
++ (void)memset(&new_action, 0, sizeof new_action);
++ new_action.sa_handler = stress_segvhandler;
++ (void)sigemptyset(&new_action.sa_mask);
++ new_action.sa_flags = SA_ONSTACK;
++ if (sigaction(SIGSEGV, &new_action, NULL) < 0)
++ _exit(EXIT_FAILURE);
++
++ /*
++ * We need an alternative signal stack
++ * to handle segfaults on an overrun
++ * mmap'd stack
++ */
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
++ _exit(EXIT_FAILURE);
++
+ (void)makecontext(&c_test, stress_stackmmap_push_start, 0);
+ (void)swapcontext(&c_main, &c_test);
+
+@@ -244,6 +252,8 @@ static int stress_stackmmap(const stress_args_t *args)
+ tidy_mmap:
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+ (void)munmap((void *)stack_mmap, MMAPSTACK_SIZE);
++tidy_stack_sig:
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+ tidy_dir:
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+ (void)stress_temp_dir_rm_args(args);
+diff --git a/stress-vforkmany.c b/stress-vforkmany.c
+index 852bde2e..6d7f7807 100644
+--- a/stress-vforkmany.c
++++ b/stress-vforkmany.c
+@@ -79,13 +79,20 @@ static int stress_vforkmany(const stress_args_t *args)
+ {
+ static pid_t chpid;
+ static volatile int instance = 0;
+- static uint8_t stack_sig[SIGSTKSZ + SIGSTKSZ];
++ static uint8_t *stack_sig;
+ static volatile bool *terminate;
+ static bool *terminate_mmap;
+
+ /* We should use an alternative signal stack */
+- (void)memset(stack_sig, 0, sizeof(stack_sig));
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
++ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: skipping stressor, cannot allocate signal stack,"
++ " errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ return EXIT_NO_RESOURCE;
++ }
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ terminate = terminate_mmap =
+@@ -219,6 +226,7 @@ static int stress_vforkmany(const stress_args_t *args)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ (void)munmap((void *)terminate_mmap, args->page_size);
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+ return EXIT_SUCCESS;
+ }
+
diff --git a/stress-ng.spec b/stress-ng.spec
index 8e2868b..a5a24cc 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -6,6 +6,8 @@ Summary: Stress test a computer system in various ways
License: GPLv2+
URL: https://kernel.ubuntu.com/~cking/%{name}
Source0: https://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
+# https://github.com/ColinIanKing/stress-ng/issues/107
+Patch0: stress-ng-0.12.03-sigstksz.patch
BuildRequires: make
BuildRequires: gcc
@@ -29,6 +31,7 @@ system kernel interfaces.
%prep
%setup -q
+%patch0 -p1
%build
export CFLAGS="%{optflags}"
commit 058c7ca201d5a6a133b57982231ce2749f79c568
Author: Yaakov Selkowitz <yselkowi(a)redhat.com>
Date: Wed Feb 24 13:14:21 2021 -0500
Enable ppc64le
diff --git a/stress-ng.spec b/stress-ng.spec
index 2eaf0ec..8e2868b 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -1,6 +1,6 @@
Name: stress-ng
Version: 0.12.03
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Stress test a computer system in various ways
License: GPLv2+
@@ -22,9 +22,6 @@ BuildRequires: libatomic
BuildRequires: zlib-devel
BuildRequires: Judy-devel
-ExcludeArch: ppc64
-ExcludeArch: ppc64le
-
%description
Stress test a computer system in various ways. It was designed to exercise
various physical subsystems of a computer as well as the various operating
@@ -55,6 +52,9 @@ install -pm 644 bash-completion/%{name} \
%{_datadir}/bash-completion/completions/%{name}
%changelog
+* Wed Feb 24 2021 Yaakov Selkowitz <yselkowi(a)redhat.com> - 0.12.03-2
+- Enable ppc64le
+
* Mon Feb 15 2021 Chris Brown <chris.brown(a)redhat.com> - 0.12.03-1
- Update to 0.12.03
3 years, 1 month
Architecture specific change in rpms/python-zstandard.git
by githook-noreply@fedoraproject.org
The package rpms/python-zstandard.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/python-zstandard.git/commit/?id=3....
Change:
-%ifarch s390x
Thanks.
Full change:
============
commit 011314818d2a19421f5772ad53849e449dbfbbaf
Merge: da9b03a e83c63f
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Mon Mar 1 13:45:50 2021 +0100
Merge branch 'f33' into f34
commit e83c63f9c0ed386d8f1fd049207f16b6d85af513
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Mon Mar 1 13:45:04 2021 +0100
update to 0.15.2 (#1933476)
diff --git a/.gitignore b/.gitignore
index 2c2097a..b7e1e9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/zstandard-0.13.0.tar.gz
/zstandard-0.15.1.tar.gz
+/zstandard-0.15.2.tar.gz
diff --git a/python-zstandard.spec b/python-zstandard.spec
index deedc5d..e7ae7c8 100644
--- a/python-zstandard.spec
+++ b/python-zstandard.spec
@@ -13,8 +13,8 @@
compression library. A C extension and CFFI interface are provided.
Name: python-%{pypi_name}
-Version: 0.15.1
-Release: 2%{?dist}
+Version: 0.15.2
+Release: 1%{?dist}
Summary: Zstandard bindings for Python
License: BSD and GPLv2
URL: https://github.com/indygreg/python-zstandard
@@ -70,7 +70,8 @@ mv zstandard{.src,}
%{python3_sitearch}/%{pypi_name}
%changelog
-* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-2
+* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.2-1
+- update to 0.15.2 (#1933476)
- fix tests on s390x
* Wed Feb 03 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-1
diff --git a/sources b/sources
index ea1b25a..b8284b7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (zstandard-0.15.1.tar.gz) = 7aabe647fa8c9a696084da6544c27287fe7d57e3a0ce2594c061fd20136e147ded4ea3da3648f6ef93c49636edc1d04ca4f29561514fb13f1a5d0340cd51996b
+SHA512 (zstandard-0.15.2.tar.gz) = 0102f3522145c80ec096e9dfac34a5bdd2a98b43b50b8c1e99bcfb0057904c551ababeeb82ced5f8b65945d42b39479cbc29472058679af1f8f91b68ae79f70f
commit 3b17214e65430d0f13e288b3b3165a3ebf5281ea
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Mon Mar 1 13:42:14 2021 +0100
fix tests on s390x
diff --git a/python-zstandard.spec b/python-zstandard.spec
index d4125ad..deedc5d 100644
--- a/python-zstandard.spec
+++ b/python-zstandard.spec
@@ -14,12 +14,13 @@ compression library. A C extension and CFFI interface are provided.
Name: python-%{pypi_name}
Version: 0.15.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Zstandard bindings for Python
License: BSD and GPLv2
URL: https://github.com/indygreg/python-zstandard
Source0: %{pypi_source}
Patch0: %{name}-fix-estimated_compression_context_size-tolerance-i686.patch
+Patch1: %{name}-issue-105.patch
%description
%{desc}
@@ -44,6 +45,7 @@ Provides: bundled(zstd) = 1.4.8
%prep
%setup -q -n %{pypi_name}-%{version}
%patch0 -p1
+%patch1 -p1
rm -r %{pypi_name}.egg-info
%build
@@ -57,22 +59,6 @@ rm -r %{pypi_name}.egg-info
mv zstandard{,.src}
export ZSTD_SLOW_TESTS=1
%pytest -v\
-%ifarch s390x
- -k "not test_constant_methods\
- and not test_no_context_manager\
- and not test_read_closed\
- and not test_close\
- and not test_read_after_exit\
- and not test_read_buffer\
- and not test_read_stream\
- and not test_read_binary_filename\
- and not test_read_binary_fileobj\
- and not test_read_text_filename\
- and not test_read_text_fileobj\
- and not test_write_binary_filename\
- and not test_write_binary_fileobj\
- and not test_write_text_filename"\
-%endif
--numprocesses=auto
mv zstandard{.src,}
%endif
@@ -84,6 +70,9 @@ mv zstandard{.src,}
%{python3_sitearch}/%{pypi_name}
%changelog
+* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-2
+- fix tests on s390x
+
* Wed Feb 03 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-1
- update to 0.15.1 (#1924620)
- work around weird test failure
3 years, 1 month
Architecture specific change in rpms/python-zstandard.git
by githook-noreply@fedoraproject.org
The package rpms/python-zstandard.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/python-zstandard.git/commit/?id=3....
Change:
-%ifarch s390x
Thanks.
Full change:
============
commit e83c63f9c0ed386d8f1fd049207f16b6d85af513
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Mon Mar 1 13:45:04 2021 +0100
update to 0.15.2 (#1933476)
diff --git a/.gitignore b/.gitignore
index 2c2097a..b7e1e9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/zstandard-0.13.0.tar.gz
/zstandard-0.15.1.tar.gz
+/zstandard-0.15.2.tar.gz
diff --git a/python-zstandard.spec b/python-zstandard.spec
index deedc5d..e7ae7c8 100644
--- a/python-zstandard.spec
+++ b/python-zstandard.spec
@@ -13,8 +13,8 @@
compression library. A C extension and CFFI interface are provided.
Name: python-%{pypi_name}
-Version: 0.15.1
-Release: 2%{?dist}
+Version: 0.15.2
+Release: 1%{?dist}
Summary: Zstandard bindings for Python
License: BSD and GPLv2
URL: https://github.com/indygreg/python-zstandard
@@ -70,7 +70,8 @@ mv zstandard{.src,}
%{python3_sitearch}/%{pypi_name}
%changelog
-* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-2
+* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.2-1
+- update to 0.15.2 (#1933476)
- fix tests on s390x
* Wed Feb 03 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-1
diff --git a/sources b/sources
index ea1b25a..b8284b7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (zstandard-0.15.1.tar.gz) = 7aabe647fa8c9a696084da6544c27287fe7d57e3a0ce2594c061fd20136e147ded4ea3da3648f6ef93c49636edc1d04ca4f29561514fb13f1a5d0340cd51996b
+SHA512 (zstandard-0.15.2.tar.gz) = 0102f3522145c80ec096e9dfac34a5bdd2a98b43b50b8c1e99bcfb0057904c551ababeeb82ced5f8b65945d42b39479cbc29472058679af1f8f91b68ae79f70f
commit 3b17214e65430d0f13e288b3b3165a3ebf5281ea
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Mon Mar 1 13:42:14 2021 +0100
fix tests on s390x
diff --git a/python-zstandard.spec b/python-zstandard.spec
index d4125ad..deedc5d 100644
--- a/python-zstandard.spec
+++ b/python-zstandard.spec
@@ -14,12 +14,13 @@ compression library. A C extension and CFFI interface are provided.
Name: python-%{pypi_name}
Version: 0.15.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Zstandard bindings for Python
License: BSD and GPLv2
URL: https://github.com/indygreg/python-zstandard
Source0: %{pypi_source}
Patch0: %{name}-fix-estimated_compression_context_size-tolerance-i686.patch
+Patch1: %{name}-issue-105.patch
%description
%{desc}
@@ -44,6 +45,7 @@ Provides: bundled(zstd) = 1.4.8
%prep
%setup -q -n %{pypi_name}-%{version}
%patch0 -p1
+%patch1 -p1
rm -r %{pypi_name}.egg-info
%build
@@ -57,22 +59,6 @@ rm -r %{pypi_name}.egg-info
mv zstandard{,.src}
export ZSTD_SLOW_TESTS=1
%pytest -v\
-%ifarch s390x
- -k "not test_constant_methods\
- and not test_no_context_manager\
- and not test_read_closed\
- and not test_close\
- and not test_read_after_exit\
- and not test_read_buffer\
- and not test_read_stream\
- and not test_read_binary_filename\
- and not test_read_binary_fileobj\
- and not test_read_text_filename\
- and not test_read_text_fileobj\
- and not test_write_binary_filename\
- and not test_write_binary_fileobj\
- and not test_write_text_filename"\
-%endif
--numprocesses=auto
mv zstandard{.src,}
%endif
@@ -84,6 +70,9 @@ mv zstandard{.src,}
%{python3_sitearch}/%{pypi_name}
%changelog
+* Mon Mar 01 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-2
+- fix tests on s390x
+
* Wed Feb 03 2021 Dominik Mierzejewski <dominik(a)greysector.net> 0.15.1-1
- update to 0.15.1 (#1924620)
- work around weird test failure
3 years, 1 month
Architecture specific change in rpms/stress-ng.git
by githook-noreply@fedoraproject.org
The package rpms/stress-ng.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/stress-ng.git/commit/?id=058c7ca2....
Change:
-ExcludeArch: ppc64le
Thanks.
Full change:
============
commit 72f3c6890d75fad307961be93e10bcef499db3d9
Merge: 1711cb9 451b73d
Author: Christopher Brown <chribrow(a)redhat.com>
Date: Mon Mar 1 11:19:21 2021 +0000
Merge branch 'rawhide' into f34
commit 451b73d9ee097703bce103a82f95d145140a92b8
Author: Christopher Brown <chribrow(a)redhat.com>
Date: Mon Mar 1 10:23:23 2021 +0000
Update to 0.12.04
diff --git a/sources b/sources
index 5d93c07..f47acf8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (stress-ng-0.12.03.tar.xz) = 372de29089645fe80d4b9c17779b7dd0f724d910c898cb181791476e64906cf7713b0cc78d33bb9d4485b02928122590d76f3af731e24923f6b26ce65f862114
+SHA512 (stress-ng-0.12.04.tar.xz) = 0fdd92d8b9374f5e296cd8851d2172df2dacfd2c99ab80914ef1bdebebbc66cb88e1792d819734203ec9d4f657765f1cab0e46e12cc3c8753559027b98be884f
diff --git a/stress-ng-0.12.03-sigstksz.patch b/stress-ng-0.12.03-sigstksz.patch
deleted file mode 100644
index b05c935..0000000
--- a/stress-ng-0.12.03-sigstksz.patch
+++ /dev/null
@@ -1,661 +0,0 @@
-From 7c4f74761089177127c2cfe6685b7886aa231885 Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.king(a)canonical.com>
-Date: Thu, 25 Feb 2021 00:33:17 +0000
-Subject: [PATCH] stack handling: use _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
-
-New versions of glibc will define SIGSTKSZ and MINSTKSZ
-on the sysconf values for _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
-respectively. Define two helper functions to determine the
-stack sizes by trying to use cached sysconf values, fetching
-and caching the sysconf values or falling back to the
-traditional SIGSTKSZ or MINSTKSZ defined values, or hard
-coded 8K limits if all else fails.
-
-Define STRESS_SIGSTKSZ and STRESS_MINSTKSZ that call the
-helper functions and hide the details. Since these sizes
-are dynamic, replace all statically allocated and stack
-allocated alternative stacks with mmap'd versions and add
-in allocation failure error handling.
-
-Finally remove the MLOCKED_DATA macros now that the mlocked
-alt stacks are no longer used.
-
-Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
----
- core-helper.c | 85 +++++++++++++++++++++++++++++++++----------
- stress-bad-altstack.c | 39 ++++++++++----------
- stress-context.c | 19 +++++++---
- stress-ng.c | 3 --
- stress-ng.h | 10 ++++-
- stress-rlimit.c | 15 +++++++-
- stress-stack.c | 18 ++++-----
- stress-stackmmap.c | 70 ++++++++++++++++++++---------------
- stress-vforkmany.c | 14 +++++--
- 9 files changed, 180 insertions(+), 93 deletions(-)
-
-diff --git a/core-helper.c b/core-helper.c
-index 2c009e53..bc9e4bea 100644
---- a/core-helper.c
-+++ b/core-helper.c
-@@ -1338,12 +1338,12 @@ int stress_sigaltstack(const void *stack, const size_t size)
- #if defined(HAVE_SIGALTSTACK)
- stack_t ss;
-
-- if (size < (size_t)MINSIGSTKSZ) {
-+ if (size < (size_t)STRESS_MINSIGSTKSZ) {
- pr_err("sigaltstack stack size %zu must be more than %zuK\n",
-- size, (size_t)MINSIGSTKSZ / 1024);
-+ size, (size_t)STRESS_MINSIGSTKSZ / 1024);
- return -1;
- }
-- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-+ ss.ss_sp = (void *)stack;
- ss.ss_size = size;
- ss.ss_flags = 0;
- if (sigaltstack(&ss, NULL) < 0) {
-@@ -1370,22 +1370,23 @@ int stress_sighandler(
- {
- struct sigaction new_action;
- #if defined(HAVE_SIGALTSTACK)
-- static bool set_altstack = false;
--
-- /*
-- * Signal handlers should really be using an alternative
-- * signal stack to be totally safe. For any new instance we
-- * should set this alternative signal stack before setting
-- * up any signal handler. We only need to do this once
-- * per process instance, so just do it on the first
-- * call to stress_sighandler.
-- */
-- if (!set_altstack) {
-- static uint8_t MLOCKED_DATA stack[SIGSTKSZ + STACK_ALIGNMENT];
--
-- if (stress_sigaltstack(stack, SIGSTKSZ) < 0)
-- return -1;
-- set_altstack = true;
-+ {
-+ static uint8_t *stack = NULL;
-+
-+ if (stack == NULL) {
-+ /* Allocate stack, we currently leak this */
-+ stack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack == MAP_FAILED) {
-+ pr_inf("%s: sigaction %s: cannot allocated signal stack, "
-+ "errno = %d (%s)\n",
-+ name, stress_strsignal(signum),
-+ errno, strerror(errno));
-+ return -1;
-+ }
-+ if (stress_sigaltstack(stack, STRESS_SIGSTKSZ) < 0)
-+ return -1;
-+ }
- }
- #endif
- (void)memset(&new_action, 0, sizeof new_action);
-@@ -2274,3 +2275,49 @@ size_t stress_hostname_length(void)
- return 255 + 1; /* SUSv2 */
- #endif
- }
-+
-+/*
-+ * stress_sig_stack_size()
-+ * wrapper for STRESS_SIGSTKSZ
-+ */
-+size_t stress_sig_stack_size(void)
-+{
-+#if defined(_SC_SIGSTKSZ)
-+ {
-+ static long sz = -1;
-+
-+ if (sz < 0)
-+ sz = sysconf(_SC_SIGSTKSZ);
-+ if (sz > 0)
-+ return (size_t)sz;
-+ }
-+#endif
-+#if defined(SIGSTKSZ)
-+ return SIGSTKSZ;
-+#else
-+ return (8192);
-+#endif
-+}
-+
-+/*
-+ * stress_min_sig_stack_size()
-+ * wrapper for STRESS_MINSIGSTKSZ
-+ */
-+size_t stress_min_sig_stack_size(void)
-+{
-+#if defined(_SC_MINSIGSTKSZ)
-+ {
-+ static long sz = -1;
-+
-+ if (sz < 0)
-+ sz = sysconf(_SC_MINSIGSTKSZ);
-+ if (sz > 0)
-+ return (size_t)sz;
-+ }
-+#endif
-+#if defined(MINSIGSTKSZ)
-+ return MINSIGSTKSZ;
-+#else
-+ return (8192);
-+#endif
-+}
-diff --git a/stress-bad-altstack.c b/stress-bad-altstack.c
-index e6509be8..e698c3bd 100644
---- a/stress-bad-altstack.c
-+++ b/stress-bad-altstack.c
-@@ -41,7 +41,6 @@ static const stress_help_t help[] =
-
- static void *stack;
- static void *zero_stack;
--static const size_t stack_sz = MINSIGSTKSZ;
- static sigjmp_buf jmpbuf;
-
- static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
-@@ -56,15 +55,15 @@ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
-
- static void MLOCKED_TEXT stress_segv_handler(int signum)
- {
-- uint8_t data[MINSIGSTKSZ * 2];
-+ uint8_t data[STRESS_MINSIGSTKSZ * 2];
-
- (void)signum;
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
- (void)memset(data, 0xff, sizeof(data));
- stress_uint8_put(data[0]);
-
- if (zero_stack != MAP_FAILED)
-- (void)munmap(zero_stack, stack_sz);
-+ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
-
- /*
- * If we've not got this far we've not
-@@ -88,7 +87,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #endif
- int fd;
-
-- stack = mmap(NULL, stack_sz, PROT_READ | PROT_WRITE,
-+ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- if (stack == MAP_FAILED) {
- pr_err("%s: cannot mmap signal handler stack, errno=%d (%s)\n",
-@@ -98,7 +97,7 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- fd = open("/dev/zero", O_RDONLY);
- if (fd >= 0) {
-- zero_stack = mmap(NULL, stack_sz, PROT_READ,
-+ zero_stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ,
- MAP_PRIVATE, fd, 0);
- (void)close(fd);
- } else {
-@@ -176,13 +175,13 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- /* Exercise disable SS_DISABLE */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ;
-+ ss.ss_size = STRESS_MINSIGSTKSZ;
- ss.ss_flags = SS_DISABLE;
- (void)sigaltstack(&ss, NULL);
-
- /* Exercise invalid flags */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ;
-+ ss.ss_size = STRESS_MINSIGSTKSZ;
- ss.ss_flags = ~0;
- (void)sigaltstack(&ss, NULL);
-
-@@ -191,7 +190,7 @@ static int stress_bad_altstack(const stress_args_t *args)
-
- /* Exercise less than minimum allowed stack size, ENOMEM */
- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
-- ss.ss_size = MINSIGSTKSZ - 1;
-+ ss.ss_size = STRESS_MINSIGSTKSZ - 1;
- ss.ss_flags = 0;
- (void)sigaltstack(&ss, NULL);
-
-@@ -199,7 +198,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- return EXIT_FAILURE;
-
- /* Set alternative stack for testing */
-- if (stress_sigaltstack(stack, stack_sz) < 0)
-+ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- /* Child */
-@@ -214,7 +213,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #if defined(HAVE_MPROTECT)
- case 1:
- /* Illegal stack with no protection */
-- ret = mprotect(stack, stack_sz, PROT_NONE);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_NONE);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -222,7 +221,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 2:
- /* Illegal read-only stack */
-- ret = mprotect(stack, stack_sz, PROT_READ);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_READ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -230,7 +229,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 3:
- /* Illegal exec-only stack */
-- ret = mprotect(stack, stack_sz, PROT_EXEC);
-+ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_EXEC);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -239,7 +238,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- #endif
- case 4:
- /* Illegal NULL stack */
-- ret = stress_sigaltstack(NULL, SIGSTKSZ);
-+ ret = stress_sigaltstack(NULL, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -247,7 +246,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- CASE_FALLTHROUGH;
- case 5:
- /* Illegal text segment stack */
-- ret = stress_sigaltstack(stress_segv_handler, SIGSTKSZ);
-+ ret = stress_sigaltstack(stress_segv_handler, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -260,7 +259,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- case 7:
- #if defined(HAVE_VDSO_VIA_GETAUXVAL)
- /* Illegal stack on VDSO, otherwises NULL stack */
-- ret = stress_sigaltstack(vdso, SIGSTKSZ);
-+ ret = stress_sigaltstack(vdso, STRESS_SIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(stack);
- if (!keep_stressing(args))
-@@ -270,7 +269,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- case 8:
- /* Illegal /dev/zero mapped stack */
- if (zero_stack != MAP_FAILED) {
-- ret = stress_sigaltstack(zero_stack, stack_sz);
-+ ret = stress_sigaltstack(zero_stack, STRESS_MINSIGSTKSZ);
- if (ret == 0)
- stress_bad_altstack_force_fault(zero_stack);
- if (!keep_stressing(args))
-@@ -280,7 +279,7 @@ static int stress_bad_altstack(const stress_args_t *args)
- default:
- case 0:
- /* Illegal unmapped stack */
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
- stress_bad_altstack_force_fault(NULL);
- break;
- }
-@@ -293,9 +292,9 @@ static int stress_bad_altstack(const stress_args_t *args)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- if (zero_stack != MAP_FAILED)
-- (void)munmap(zero_stack, stack_sz);
-+ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
- if (stack != MAP_FAILED)
-- (void)munmap(stack, stack_sz);
-+ (void)munmap(stack, STRESS_MINSIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-context.c b/stress-context.c
-index fda48ba1..db4f69f3 100644
---- a/stress-context.c
-+++ b/stress-context.c
-@@ -33,7 +33,7 @@ static stress_help_t help[] = {
- #if defined(HAVE_SWAPCONTEXT) && \
- defined(HAVE_UCONTEXT_H)
-
--#define STACK_SIZE (16384)
-+#define CONTEXT_STACK_SIZE (16384)
-
- typedef struct {
- uint32_t check0; /* memory clobbering check canary */
-@@ -48,7 +48,7 @@ typedef struct {
-
- typedef struct {
- chk_ucontext_t cu; /* check ucontext */
-- uint8_t stack[SIGSTKSZ + STACK_ALIGNMENT]; /* stack */
-+ uint8_t stack[CONTEXT_STACK_SIZE + STACK_ALIGNMENT]; /* stack */
- chk_canary_t canary; /* copy of canary */
- } context_info_t;
-
-@@ -103,7 +103,7 @@ static int stress_context_init(
- context_info->cu.check1 = context_info->canary.check1;
- context_info->cu.uctx.uc_stack.ss_sp =
- (void *)stress_align_address(context_info->stack, STACK_ALIGNMENT);
-- context_info->cu.uctx.uc_stack.ss_size = STACK_SIZE;
-+ context_info->cu.uctx.uc_stack.ss_size = CONTEXT_STACK_SIZE;
- context_info->cu.uctx.uc_link = uctx_link;
- makecontext(&context_info->cu.uctx, func, 0);
-
-@@ -116,10 +116,18 @@ static int stress_context_init(
- */
- static int stress_context(const stress_args_t *args)
- {
-- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
-+ uint8_t *stack_sig;
- size_t i;
-
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-+ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack, errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ return EXIT_NO_RESOURCE;
-+ }
-+
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- __counter = 0;
-@@ -155,6 +163,7 @@ static int stress_context(const stress_args_t *args)
- }
- }
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-ng.c b/stress-ng.c
-index 08d9bcc1..820de3c6 100644
---- a/stress-ng.c
-+++ b/stress-ng.c
-@@ -3108,11 +3108,8 @@ static inline void stress_mlock_executable(void)
- #if defined(MLOCKED_SECTION)
- extern void *__start_mlocked_text;
- extern void *__stop_mlocked_text;
-- extern void *__start_mlocked_data;
-- extern void *__stop_mlocked_data;
-
- stress_mlock_region(&__start_mlocked_text, &__stop_mlocked_text);
-- stress_mlock_region(&__start_mlocked_data, &__stop_mlocked_data);
- #endif
- }
-
-diff --git a/stress-ng.h b/stress-ng.h
-index 1128750f..48f39b79 100644
---- a/stress-ng.h
-+++ b/stress-ng.h
-@@ -1250,11 +1250,11 @@ typedef struct { /* vmstat column */
- NEED_GNUC(4,6,0) && \
- !defined(__sun__) && \
- !defined(BUILD_STATIC)
--#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
-+//#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
- #define MLOCKED_TEXT __attribute__((__section__("mlocked_text")))
- #define MLOCKED_SECTION 1
- #else
--#define MLOCKED_DATA
-+//#define MLOCKED_DATA
- #define MLOCKED_TEXT
- #endif
-
-@@ -3927,6 +3927,12 @@ extern WARN_UNUSED int32_t stress_get_opt_sched(const char *const str);
- extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str);
-
- /* Misc helper funcs */
-+extern WARN_UNUSED size_t stress_sig_stack_size(void);
-+extern WARN_UNUSED size_t stress_min_sig_stack_size(void);
-+
-+#define STRESS_SIGSTKSZ (stress_sig_stack_size())
-+#define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size())
-+
- extern void stress_unmap_shared(void);
- extern void stress_log_system_mem_info(void);
- extern WARN_UNUSED char *stress_munge_underscore(const char *str);
-diff --git a/stress-rlimit.c b/stress-rlimit.c
-index 4fb4d09a..c6c674a8 100644
---- a/stress-rlimit.c
-+++ b/stress-rlimit.c
-@@ -147,10 +147,20 @@ static void MLOCKED_TEXT stress_rlimit_handler(int signum)
- static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
- {
- stress_rlimit_context_t *context = (stress_rlimit_context_t *)ctxt;
-- static unsigned char stack[MINSIGSTKSZ];
-+ uint8_t *stack;
-
-- if (stress_sigaltstack(stack, MINSIGSTKSZ) < 0)
-+ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-+ if (stack == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack: %d (%s)\n",
-+ args->name, errno, strerror(errno));
- return EXIT_NO_RESOURCE;
-+ }
-+
-+ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0) {
-+ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
-+ return EXIT_NO_RESOURCE;
-+ }
-
- stress_set_proc_state(args->name, STRESS_STATE_RUN);
-
-@@ -261,6 +271,7 @@ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- (void)close(context->fd);
-+ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-stack.c b/stress-stack.c
-index 644af726..06d12670 100644
---- a/stress-stack.c
-+++ b/stress-stack.c
-@@ -132,9 +132,6 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- {
- char *start_ptr = shim_sbrk(0);
- void *altstack;
-- ssize_t altstack_size = (SIGSTKSZ +
-- STACK_ALIGNMENT +
-- args->page_size) & ~(args->page_size -1);
- bool stack_fill = false;
- bool stack_mlock = false;
-
-@@ -149,11 +146,14 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- * if there is no memory to back it later. Stack
- * must be privately mapped.
- */
-- altstack = mmap(NULL, altstack_size, PROT_READ | PROT_WRITE,
-+ altstack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-- if (altstack == MAP_FAILED)
-+ if (altstack == MAP_FAILED) {
-+ pr_inf("%s: cannot allocate signal stack: errno = %d (%s)\n",
-+ args->name, errno, strerror(errno));
- return EXIT_NO_RESOURCE;
-- (void)stress_mincore_touch_pages(altstack, altstack_size);
-+ }
-+ (void)stress_mincore_touch_pages(altstack, STRESS_SIGSTKSZ);
-
- /*
- * We need to create an alternative signal
-@@ -162,8 +162,8 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- * than try to push onto an already overflowed
- * stack
- */
-- if (stress_sigaltstack(altstack, SIGSTKSZ) < 0) {
-- (void)munmap(altstack, altstack_size);
-+ if (stress_sigaltstack(altstack, STRESS_SIGSTKSZ) < 0) {
-+ (void)munmap(altstack, STRESS_SIGSTKSZ);
- return EXIT_NO_RESOURCE;
- }
-
-@@ -221,7 +221,7 @@ static int stress_stack_child(const stress_args_t *args, void *context)
- }
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
-- (void)munmap(altstack, altstack_size);
-+ (void)munmap((void *)altstack, STRESS_SIGSTKSZ);
-
- return EXIT_SUCCESS;
- }
-diff --git a/stress-stackmmap.c b/stress-stackmmap.c
-index 2f90aaae..0cdc2019 100644
---- a/stress-stackmmap.c
-+++ b/stress-stackmmap.c
-@@ -86,32 +86,6 @@ static void stress_stackmmap_push_msync(void)
- */
- static void stress_stackmmap_push_start(void)
- {
-- /* stack for SEGV handler must not be on the stack */
-- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
-- struct sigaction new_action;
--
-- /*
-- * We need to handle SEGV signals when we
-- * hit the end of the mmap'd stack; however
-- * an alternative signal handling stack
-- * is required because we ran out of stack
-- */
-- (void)memset(&new_action, 0, sizeof new_action);
-- new_action.sa_handler = stress_segvhandler;
-- (void)sigemptyset(&new_action.sa_mask);
-- new_action.sa_flags = SA_ONSTACK;
-- if (sigaction(SIGSEGV, &new_action, NULL) < 0)
-- return;
--
-- /*
-- * We need an alternative signal stack
-- * to handle segfaults on an overrun
-- * mmap'd stack
-- */
-- (void)memset(stack_sig, 0, sizeof(stack_sig));
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-- return;
--
- stress_stackmmap_push_msync();
- }
-
-@@ -124,6 +98,8 @@ static int stress_stackmmap(const stress_args_t *args)
- int fd, ret;
- volatile int rc = EXIT_FAILURE; /* could be clobbered */
- char filename[PATH_MAX];
-+ uint8_t *stack_sig;
-+ struct sigaction new_action;
-
- page_size = args->page_size;
- page_mask = ~(page_size - 1);
-@@ -148,20 +124,31 @@ static int stress_stackmmap(const stress_args_t *args)
- (void)close(fd);
- goto tidy_dir;
- }
-- stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE, PROT_READ | PROT_WRITE,
-- MAP_SHARED, fd, 0);
-+ stack_sig = (uint8_t *)mmap(NULL, STRESS_SIGSTKSZ,
-+ PROT_READ | PROT_WRITE, MAP_SHARED, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: skipping stressor, cannot mmap signal stack, "
-+ "errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ rc = EXIT_NO_RESOURCE;
-+ (void)close(fd);
-+ goto tidy_dir;
-+ }
-+
-+ stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE,
-+ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (stack_mmap == MAP_FAILED) {
- if (errno == ENXIO) {
- pr_inf("%s: skipping stressor, mmap not possible on file %s\n",
- args->name, filename);
- rc = EXIT_NO_RESOURCE;
- (void)close(fd);
-- goto tidy_dir;
-+ goto tidy_stack_sig;
- }
- pr_fail("%s: mmap failed, errno=%d (%s)\n",
- args->name, errno, strerror(errno));
- (void)close(fd);
-- goto tidy_dir;
-+ goto tidy_stack_sig;
- }
- (void)close(fd);
-
-@@ -231,6 +218,27 @@ static int stress_stackmmap(const stress_args_t *args)
- /* Make sure this is killable by OOM killer */
- stress_set_oom_adjustment(args->name, true);
-
-+ /*
-+ * We need to handle SEGV signals when we
-+ * hit the end of the mmap'd stack; however
-+ * an alternative signal handling stack
-+ * is required because we ran out of stack
-+ */
-+ (void)memset(&new_action, 0, sizeof new_action);
-+ new_action.sa_handler = stress_segvhandler;
-+ (void)sigemptyset(&new_action.sa_mask);
-+ new_action.sa_flags = SA_ONSTACK;
-+ if (sigaction(SIGSEGV, &new_action, NULL) < 0)
-+ _exit(EXIT_FAILURE);
-+
-+ /*
-+ * We need an alternative signal stack
-+ * to handle segfaults on an overrun
-+ * mmap'd stack
-+ */
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
-+ _exit(EXIT_FAILURE);
-+
- (void)makecontext(&c_test, stress_stackmmap_push_start, 0);
- (void)swapcontext(&c_main, &c_test);
-
-@@ -244,6 +252,8 @@ static int stress_stackmmap(const stress_args_t *args)
- tidy_mmap:
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
- (void)munmap((void *)stack_mmap, MMAPSTACK_SIZE);
-+tidy_stack_sig:
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
- tidy_dir:
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
- (void)stress_temp_dir_rm_args(args);
-diff --git a/stress-vforkmany.c b/stress-vforkmany.c
-index 852bde2e..6d7f7807 100644
---- a/stress-vforkmany.c
-+++ b/stress-vforkmany.c
-@@ -79,13 +79,20 @@ static int stress_vforkmany(const stress_args_t *args)
- {
- static pid_t chpid;
- static volatile int instance = 0;
-- static uint8_t stack_sig[SIGSTKSZ + SIGSTKSZ];
-+ static uint8_t *stack_sig;
- static volatile bool *terminate;
- static bool *terminate_mmap;
-
- /* We should use an alternative signal stack */
-- (void)memset(stack_sig, 0, sizeof(stack_sig));
-- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
-+ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
-+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
-+ if (stack_sig == MAP_FAILED) {
-+ pr_inf("%s: skipping stressor, cannot allocate signal stack,"
-+ " errno=%d (%s)\n",
-+ args->name, errno, strerror(errno));
-+ return EXIT_NO_RESOURCE;
-+ }
-+ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
- return EXIT_FAILURE;
-
- terminate = terminate_mmap =
-@@ -219,6 +226,7 @@ static int stress_vforkmany(const stress_args_t *args)
- stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
-
- (void)munmap((void *)terminate_mmap, args->page_size);
-+ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
- return EXIT_SUCCESS;
- }
-
diff --git a/stress-ng.spec b/stress-ng.spec
index a5a24cc..83dcaa8 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -1,13 +1,11 @@
Name: stress-ng
-Version: 0.12.03
-Release: 2%{?dist}
+Version: 0.12.04
+Release: 1%{?dist}
Summary: Stress test a computer system in various ways
License: GPLv2+
URL: https://kernel.ubuntu.com/~cking/%{name}
Source0: https://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
-# https://github.com/ColinIanKing/stress-ng/issues/107
-Patch0: stress-ng-0.12.03-sigstksz.patch
BuildRequires: make
BuildRequires: gcc
@@ -31,7 +29,6 @@ system kernel interfaces.
%prep
%setup -q
-%patch0 -p1
%build
export CFLAGS="%{optflags}"
@@ -55,6 +52,9 @@ install -pm 644 bash-completion/%{name} \
%{_datadir}/bash-completion/completions/%{name}
%changelog
+* Mon Mar 1 2021 Chris Brown <chris.brown(a)redhat.com> - 0.12.04-1
+- Update to 0.12.04
+
* Wed Feb 24 2021 Yaakov Selkowitz <yselkowi(a)redhat.com> - 0.12.03-2
- Enable ppc64le
commit a9bc8b5947d10f13996e6e5d7280e5860473bbd4
Author: Yaakov Selkowitz <yselkowi(a)redhat.com>
Date: Wed Feb 24 22:05:37 2021 -0500
Fix build with glibc 2.34
https://github.com/ColinIanKing/stress-ng/issues/107
diff --git a/stress-ng-0.12.03-sigstksz.patch b/stress-ng-0.12.03-sigstksz.patch
new file mode 100644
index 0000000..b05c935
--- /dev/null
+++ b/stress-ng-0.12.03-sigstksz.patch
@@ -0,0 +1,661 @@
+From 7c4f74761089177127c2cfe6685b7886aa231885 Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king(a)canonical.com>
+Date: Thu, 25 Feb 2021 00:33:17 +0000
+Subject: [PATCH] stack handling: use _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
+
+New versions of glibc will define SIGSTKSZ and MINSTKSZ
+on the sysconf values for _SC_SIGSTKSZ and _SC_MINSIGSTKSZ
+respectively. Define two helper functions to determine the
+stack sizes by trying to use cached sysconf values, fetching
+and caching the sysconf values or falling back to the
+traditional SIGSTKSZ or MINSTKSZ defined values, or hard
+coded 8K limits if all else fails.
+
+Define STRESS_SIGSTKSZ and STRESS_MINSTKSZ that call the
+helper functions and hide the details. Since these sizes
+are dynamic, replace all statically allocated and stack
+allocated alternative stacks with mmap'd versions and add
+in allocation failure error handling.
+
+Finally remove the MLOCKED_DATA macros now that the mlocked
+alt stacks are no longer used.
+
+Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
+---
+ core-helper.c | 85 +++++++++++++++++++++++++++++++++----------
+ stress-bad-altstack.c | 39 ++++++++++----------
+ stress-context.c | 19 +++++++---
+ stress-ng.c | 3 --
+ stress-ng.h | 10 ++++-
+ stress-rlimit.c | 15 +++++++-
+ stress-stack.c | 18 ++++-----
+ stress-stackmmap.c | 70 ++++++++++++++++++++---------------
+ stress-vforkmany.c | 14 +++++--
+ 9 files changed, 180 insertions(+), 93 deletions(-)
+
+diff --git a/core-helper.c b/core-helper.c
+index 2c009e53..bc9e4bea 100644
+--- a/core-helper.c
++++ b/core-helper.c
+@@ -1338,12 +1338,12 @@ int stress_sigaltstack(const void *stack, const size_t size)
+ #if defined(HAVE_SIGALTSTACK)
+ stack_t ss;
+
+- if (size < (size_t)MINSIGSTKSZ) {
++ if (size < (size_t)STRESS_MINSIGSTKSZ) {
+ pr_err("sigaltstack stack size %zu must be more than %zuK\n",
+- size, (size_t)MINSIGSTKSZ / 1024);
++ size, (size_t)STRESS_MINSIGSTKSZ / 1024);
+ return -1;
+ }
+- ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
++ ss.ss_sp = (void *)stack;
+ ss.ss_size = size;
+ ss.ss_flags = 0;
+ if (sigaltstack(&ss, NULL) < 0) {
+@@ -1370,22 +1370,23 @@ int stress_sighandler(
+ {
+ struct sigaction new_action;
+ #if defined(HAVE_SIGALTSTACK)
+- static bool set_altstack = false;
+-
+- /*
+- * Signal handlers should really be using an alternative
+- * signal stack to be totally safe. For any new instance we
+- * should set this alternative signal stack before setting
+- * up any signal handler. We only need to do this once
+- * per process instance, so just do it on the first
+- * call to stress_sighandler.
+- */
+- if (!set_altstack) {
+- static uint8_t MLOCKED_DATA stack[SIGSTKSZ + STACK_ALIGNMENT];
+-
+- if (stress_sigaltstack(stack, SIGSTKSZ) < 0)
+- return -1;
+- set_altstack = true;
++ {
++ static uint8_t *stack = NULL;
++
++ if (stack == NULL) {
++ /* Allocate stack, we currently leak this */
++ stack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack == MAP_FAILED) {
++ pr_inf("%s: sigaction %s: cannot allocated signal stack, "
++ "errno = %d (%s)\n",
++ name, stress_strsignal(signum),
++ errno, strerror(errno));
++ return -1;
++ }
++ if (stress_sigaltstack(stack, STRESS_SIGSTKSZ) < 0)
++ return -1;
++ }
+ }
+ #endif
+ (void)memset(&new_action, 0, sizeof new_action);
+@@ -2274,3 +2275,49 @@ size_t stress_hostname_length(void)
+ return 255 + 1; /* SUSv2 */
+ #endif
+ }
++
++/*
++ * stress_sig_stack_size()
++ * wrapper for STRESS_SIGSTKSZ
++ */
++size_t stress_sig_stack_size(void)
++{
++#if defined(_SC_SIGSTKSZ)
++ {
++ static long sz = -1;
++
++ if (sz < 0)
++ sz = sysconf(_SC_SIGSTKSZ);
++ if (sz > 0)
++ return (size_t)sz;
++ }
++#endif
++#if defined(SIGSTKSZ)
++ return SIGSTKSZ;
++#else
++ return (8192);
++#endif
++}
++
++/*
++ * stress_min_sig_stack_size()
++ * wrapper for STRESS_MINSIGSTKSZ
++ */
++size_t stress_min_sig_stack_size(void)
++{
++#if defined(_SC_MINSIGSTKSZ)
++ {
++ static long sz = -1;
++
++ if (sz < 0)
++ sz = sysconf(_SC_MINSIGSTKSZ);
++ if (sz > 0)
++ return (size_t)sz;
++ }
++#endif
++#if defined(MINSIGSTKSZ)
++ return MINSIGSTKSZ;
++#else
++ return (8192);
++#endif
++}
+diff --git a/stress-bad-altstack.c b/stress-bad-altstack.c
+index e6509be8..e698c3bd 100644
+--- a/stress-bad-altstack.c
++++ b/stress-bad-altstack.c
+@@ -41,7 +41,6 @@ static const stress_help_t help[] =
+
+ static void *stack;
+ static void *zero_stack;
+-static const size_t stack_sz = MINSIGSTKSZ;
+ static sigjmp_buf jmpbuf;
+
+ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
+@@ -56,15 +55,15 @@ static inline void stress_bad_altstack_force_fault(uint8_t *stack_start)
+
+ static void MLOCKED_TEXT stress_segv_handler(int signum)
+ {
+- uint8_t data[MINSIGSTKSZ * 2];
++ uint8_t data[STRESS_MINSIGSTKSZ * 2];
+
+ (void)signum;
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+ (void)memset(data, 0xff, sizeof(data));
+ stress_uint8_put(data[0]);
+
+ if (zero_stack != MAP_FAILED)
+- (void)munmap(zero_stack, stack_sz);
++ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
+
+ /*
+ * If we've not got this far we've not
+@@ -88,7 +87,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #endif
+ int fd;
+
+- stack = mmap(NULL, stack_sz, PROT_READ | PROT_WRITE,
++ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (stack == MAP_FAILED) {
+ pr_err("%s: cannot mmap signal handler stack, errno=%d (%s)\n",
+@@ -98,7 +97,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ fd = open("/dev/zero", O_RDONLY);
+ if (fd >= 0) {
+- zero_stack = mmap(NULL, stack_sz, PROT_READ,
++ zero_stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ,
+ MAP_PRIVATE, fd, 0);
+ (void)close(fd);
+ } else {
+@@ -176,13 +175,13 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ /* Exercise disable SS_DISABLE */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ;
++ ss.ss_size = STRESS_MINSIGSTKSZ;
+ ss.ss_flags = SS_DISABLE;
+ (void)sigaltstack(&ss, NULL);
+
+ /* Exercise invalid flags */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ;
++ ss.ss_size = STRESS_MINSIGSTKSZ;
+ ss.ss_flags = ~0;
+ (void)sigaltstack(&ss, NULL);
+
+@@ -191,7 +190,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+
+ /* Exercise less than minimum allowed stack size, ENOMEM */
+ ss.ss_sp = stress_align_address(stack, STACK_ALIGNMENT);
+- ss.ss_size = MINSIGSTKSZ - 1;
++ ss.ss_size = STRESS_MINSIGSTKSZ - 1;
+ ss.ss_flags = 0;
+ (void)sigaltstack(&ss, NULL);
+
+@@ -199,7 +198,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ return EXIT_FAILURE;
+
+ /* Set alternative stack for testing */
+- if (stress_sigaltstack(stack, stack_sz) < 0)
++ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ /* Child */
+@@ -214,7 +213,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #if defined(HAVE_MPROTECT)
+ case 1:
+ /* Illegal stack with no protection */
+- ret = mprotect(stack, stack_sz, PROT_NONE);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_NONE);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -222,7 +221,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 2:
+ /* Illegal read-only stack */
+- ret = mprotect(stack, stack_sz, PROT_READ);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_READ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -230,7 +229,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 3:
+ /* Illegal exec-only stack */
+- ret = mprotect(stack, stack_sz, PROT_EXEC);
++ ret = mprotect(stack, STRESS_MINSIGSTKSZ, PROT_EXEC);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -239,7 +238,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ #endif
+ case 4:
+ /* Illegal NULL stack */
+- ret = stress_sigaltstack(NULL, SIGSTKSZ);
++ ret = stress_sigaltstack(NULL, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -247,7 +246,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ CASE_FALLTHROUGH;
+ case 5:
+ /* Illegal text segment stack */
+- ret = stress_sigaltstack(stress_segv_handler, SIGSTKSZ);
++ ret = stress_sigaltstack(stress_segv_handler, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -260,7 +259,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ case 7:
+ #if defined(HAVE_VDSO_VIA_GETAUXVAL)
+ /* Illegal stack on VDSO, otherwises NULL stack */
+- ret = stress_sigaltstack(vdso, SIGSTKSZ);
++ ret = stress_sigaltstack(vdso, STRESS_SIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(stack);
+ if (!keep_stressing(args))
+@@ -270,7 +269,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ case 8:
+ /* Illegal /dev/zero mapped stack */
+ if (zero_stack != MAP_FAILED) {
+- ret = stress_sigaltstack(zero_stack, stack_sz);
++ ret = stress_sigaltstack(zero_stack, STRESS_MINSIGSTKSZ);
+ if (ret == 0)
+ stress_bad_altstack_force_fault(zero_stack);
+ if (!keep_stressing(args))
+@@ -280,7 +279,7 @@ static int stress_bad_altstack(const stress_args_t *args)
+ default:
+ case 0:
+ /* Illegal unmapped stack */
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+ stress_bad_altstack_force_fault(NULL);
+ break;
+ }
+@@ -293,9 +292,9 @@ static int stress_bad_altstack(const stress_args_t *args)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ if (zero_stack != MAP_FAILED)
+- (void)munmap(zero_stack, stack_sz);
++ (void)munmap(zero_stack, STRESS_MINSIGSTKSZ);
+ if (stack != MAP_FAILED)
+- (void)munmap(stack, stack_sz);
++ (void)munmap(stack, STRESS_MINSIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-context.c b/stress-context.c
+index fda48ba1..db4f69f3 100644
+--- a/stress-context.c
++++ b/stress-context.c
+@@ -33,7 +33,7 @@ static stress_help_t help[] = {
+ #if defined(HAVE_SWAPCONTEXT) && \
+ defined(HAVE_UCONTEXT_H)
+
+-#define STACK_SIZE (16384)
++#define CONTEXT_STACK_SIZE (16384)
+
+ typedef struct {
+ uint32_t check0; /* memory clobbering check canary */
+@@ -48,7 +48,7 @@ typedef struct {
+
+ typedef struct {
+ chk_ucontext_t cu; /* check ucontext */
+- uint8_t stack[SIGSTKSZ + STACK_ALIGNMENT]; /* stack */
++ uint8_t stack[CONTEXT_STACK_SIZE + STACK_ALIGNMENT]; /* stack */
+ chk_canary_t canary; /* copy of canary */
+ } context_info_t;
+
+@@ -103,7 +103,7 @@ static int stress_context_init(
+ context_info->cu.check1 = context_info->canary.check1;
+ context_info->cu.uctx.uc_stack.ss_sp =
+ (void *)stress_align_address(context_info->stack, STACK_ALIGNMENT);
+- context_info->cu.uctx.uc_stack.ss_size = STACK_SIZE;
++ context_info->cu.uctx.uc_stack.ss_size = CONTEXT_STACK_SIZE;
+ context_info->cu.uctx.uc_link = uctx_link;
+ makecontext(&context_info->cu.uctx, func, 0);
+
+@@ -116,10 +116,18 @@ static int stress_context_init(
+ */
+ static int stress_context(const stress_args_t *args)
+ {
+- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
++ uint8_t *stack_sig;
+ size_t i;
+
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
++ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack, errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ return EXIT_NO_RESOURCE;
++ }
++
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ __counter = 0;
+@@ -155,6 +163,7 @@ static int stress_context(const stress_args_t *args)
+ }
+ }
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-ng.c b/stress-ng.c
+index 08d9bcc1..820de3c6 100644
+--- a/stress-ng.c
++++ b/stress-ng.c
+@@ -3108,11 +3108,8 @@ static inline void stress_mlock_executable(void)
+ #if defined(MLOCKED_SECTION)
+ extern void *__start_mlocked_text;
+ extern void *__stop_mlocked_text;
+- extern void *__start_mlocked_data;
+- extern void *__stop_mlocked_data;
+
+ stress_mlock_region(&__start_mlocked_text, &__stop_mlocked_text);
+- stress_mlock_region(&__start_mlocked_data, &__stop_mlocked_data);
+ #endif
+ }
+
+diff --git a/stress-ng.h b/stress-ng.h
+index 1128750f..48f39b79 100644
+--- a/stress-ng.h
++++ b/stress-ng.h
+@@ -1250,11 +1250,11 @@ typedef struct { /* vmstat column */
+ NEED_GNUC(4,6,0) && \
+ !defined(__sun__) && \
+ !defined(BUILD_STATIC)
+-#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
++//#define MLOCKED_DATA __attribute__((__section__("mlocked_data")))
+ #define MLOCKED_TEXT __attribute__((__section__("mlocked_text")))
+ #define MLOCKED_SECTION 1
+ #else
+-#define MLOCKED_DATA
++//#define MLOCKED_DATA
+ #define MLOCKED_TEXT
+ #endif
+
+@@ -3927,6 +3927,12 @@ extern WARN_UNUSED int32_t stress_get_opt_sched(const char *const str);
+ extern WARN_UNUSED int32_t stress_get_opt_ionice_class(const char *const str);
+
+ /* Misc helper funcs */
++extern WARN_UNUSED size_t stress_sig_stack_size(void);
++extern WARN_UNUSED size_t stress_min_sig_stack_size(void);
++
++#define STRESS_SIGSTKSZ (stress_sig_stack_size())
++#define STRESS_MINSIGSTKSZ (stress_min_sig_stack_size())
++
+ extern void stress_unmap_shared(void);
+ extern void stress_log_system_mem_info(void);
+ extern WARN_UNUSED char *stress_munge_underscore(const char *str);
+diff --git a/stress-rlimit.c b/stress-rlimit.c
+index 4fb4d09a..c6c674a8 100644
+--- a/stress-rlimit.c
++++ b/stress-rlimit.c
+@@ -147,10 +147,20 @@ static void MLOCKED_TEXT stress_rlimit_handler(int signum)
+ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
+ {
+ stress_rlimit_context_t *context = (stress_rlimit_context_t *)ctxt;
+- static unsigned char stack[MINSIGSTKSZ];
++ uint8_t *stack;
+
+- if (stress_sigaltstack(stack, MINSIGSTKSZ) < 0)
++ stack = mmap(NULL, STRESS_MINSIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
++ if (stack == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack: %d (%s)\n",
++ args->name, errno, strerror(errno));
+ return EXIT_NO_RESOURCE;
++ }
++
++ if (stress_sigaltstack(stack, STRESS_MINSIGSTKSZ) < 0) {
++ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
++ return EXIT_NO_RESOURCE;
++ }
+
+ stress_set_proc_state(args->name, STRESS_STATE_RUN);
+
+@@ -261,6 +271,7 @@ static int stress_rlimit_child(const stress_args_t *args, void *ctxt)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ (void)close(context->fd);
++ (void)munmap((void *)stack, STRESS_MINSIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-stack.c b/stress-stack.c
+index 644af726..06d12670 100644
+--- a/stress-stack.c
++++ b/stress-stack.c
+@@ -132,9 +132,6 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ {
+ char *start_ptr = shim_sbrk(0);
+ void *altstack;
+- ssize_t altstack_size = (SIGSTKSZ +
+- STACK_ALIGNMENT +
+- args->page_size) & ~(args->page_size -1);
+ bool stack_fill = false;
+ bool stack_mlock = false;
+
+@@ -149,11 +146,14 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ * if there is no memory to back it later. Stack
+ * must be privately mapped.
+ */
+- altstack = mmap(NULL, altstack_size, PROT_READ | PROT_WRITE,
++ altstack = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+- if (altstack == MAP_FAILED)
++ if (altstack == MAP_FAILED) {
++ pr_inf("%s: cannot allocate signal stack: errno = %d (%s)\n",
++ args->name, errno, strerror(errno));
+ return EXIT_NO_RESOURCE;
+- (void)stress_mincore_touch_pages(altstack, altstack_size);
++ }
++ (void)stress_mincore_touch_pages(altstack, STRESS_SIGSTKSZ);
+
+ /*
+ * We need to create an alternative signal
+@@ -162,8 +162,8 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ * than try to push onto an already overflowed
+ * stack
+ */
+- if (stress_sigaltstack(altstack, SIGSTKSZ) < 0) {
+- (void)munmap(altstack, altstack_size);
++ if (stress_sigaltstack(altstack, STRESS_SIGSTKSZ) < 0) {
++ (void)munmap(altstack, STRESS_SIGSTKSZ);
+ return EXIT_NO_RESOURCE;
+ }
+
+@@ -221,7 +221,7 @@ static int stress_stack_child(const stress_args_t *args, void *context)
+ }
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+- (void)munmap(altstack, altstack_size);
++ (void)munmap((void *)altstack, STRESS_SIGSTKSZ);
+
+ return EXIT_SUCCESS;
+ }
+diff --git a/stress-stackmmap.c b/stress-stackmmap.c
+index 2f90aaae..0cdc2019 100644
+--- a/stress-stackmmap.c
++++ b/stress-stackmmap.c
+@@ -86,32 +86,6 @@ static void stress_stackmmap_push_msync(void)
+ */
+ static void stress_stackmmap_push_start(void)
+ {
+- /* stack for SEGV handler must not be on the stack */
+- static uint8_t stack_sig[SIGSTKSZ + STACK_ALIGNMENT];
+- struct sigaction new_action;
+-
+- /*
+- * We need to handle SEGV signals when we
+- * hit the end of the mmap'd stack; however
+- * an alternative signal handling stack
+- * is required because we ran out of stack
+- */
+- (void)memset(&new_action, 0, sizeof new_action);
+- new_action.sa_handler = stress_segvhandler;
+- (void)sigemptyset(&new_action.sa_mask);
+- new_action.sa_flags = SA_ONSTACK;
+- if (sigaction(SIGSEGV, &new_action, NULL) < 0)
+- return;
+-
+- /*
+- * We need an alternative signal stack
+- * to handle segfaults on an overrun
+- * mmap'd stack
+- */
+- (void)memset(stack_sig, 0, sizeof(stack_sig));
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
+- return;
+-
+ stress_stackmmap_push_msync();
+ }
+
+@@ -124,6 +98,8 @@ static int stress_stackmmap(const stress_args_t *args)
+ int fd, ret;
+ volatile int rc = EXIT_FAILURE; /* could be clobbered */
+ char filename[PATH_MAX];
++ uint8_t *stack_sig;
++ struct sigaction new_action;
+
+ page_size = args->page_size;
+ page_mask = ~(page_size - 1);
+@@ -148,20 +124,31 @@ static int stress_stackmmap(const stress_args_t *args)
+ (void)close(fd);
+ goto tidy_dir;
+ }
+- stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE, PROT_READ | PROT_WRITE,
+- MAP_SHARED, fd, 0);
++ stack_sig = (uint8_t *)mmap(NULL, STRESS_SIGSTKSZ,
++ PROT_READ | PROT_WRITE, MAP_SHARED, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: skipping stressor, cannot mmap signal stack, "
++ "errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ rc = EXIT_NO_RESOURCE;
++ (void)close(fd);
++ goto tidy_dir;
++ }
++
++ stack_mmap = (uint8_t *)mmap(NULL, MMAPSTACK_SIZE,
++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+ if (stack_mmap == MAP_FAILED) {
+ if (errno == ENXIO) {
+ pr_inf("%s: skipping stressor, mmap not possible on file %s\n",
+ args->name, filename);
+ rc = EXIT_NO_RESOURCE;
+ (void)close(fd);
+- goto tidy_dir;
++ goto tidy_stack_sig;
+ }
+ pr_fail("%s: mmap failed, errno=%d (%s)\n",
+ args->name, errno, strerror(errno));
+ (void)close(fd);
+- goto tidy_dir;
++ goto tidy_stack_sig;
+ }
+ (void)close(fd);
+
+@@ -231,6 +218,27 @@ static int stress_stackmmap(const stress_args_t *args)
+ /* Make sure this is killable by OOM killer */
+ stress_set_oom_adjustment(args->name, true);
+
++ /*
++ * We need to handle SEGV signals when we
++ * hit the end of the mmap'd stack; however
++ * an alternative signal handling stack
++ * is required because we ran out of stack
++ */
++ (void)memset(&new_action, 0, sizeof new_action);
++ new_action.sa_handler = stress_segvhandler;
++ (void)sigemptyset(&new_action.sa_mask);
++ new_action.sa_flags = SA_ONSTACK;
++ if (sigaction(SIGSEGV, &new_action, NULL) < 0)
++ _exit(EXIT_FAILURE);
++
++ /*
++ * We need an alternative signal stack
++ * to handle segfaults on an overrun
++ * mmap'd stack
++ */
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
++ _exit(EXIT_FAILURE);
++
+ (void)makecontext(&c_test, stress_stackmmap_push_start, 0);
+ (void)swapcontext(&c_main, &c_test);
+
+@@ -244,6 +252,8 @@ static int stress_stackmmap(const stress_args_t *args)
+ tidy_mmap:
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+ (void)munmap((void *)stack_mmap, MMAPSTACK_SIZE);
++tidy_stack_sig:
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+ tidy_dir:
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+ (void)stress_temp_dir_rm_args(args);
+diff --git a/stress-vforkmany.c b/stress-vforkmany.c
+index 852bde2e..6d7f7807 100644
+--- a/stress-vforkmany.c
++++ b/stress-vforkmany.c
+@@ -79,13 +79,20 @@ static int stress_vforkmany(const stress_args_t *args)
+ {
+ static pid_t chpid;
+ static volatile int instance = 0;
+- static uint8_t stack_sig[SIGSTKSZ + SIGSTKSZ];
++ static uint8_t *stack_sig;
+ static volatile bool *terminate;
+ static bool *terminate_mmap;
+
+ /* We should use an alternative signal stack */
+- (void)memset(stack_sig, 0, sizeof(stack_sig));
+- if (stress_sigaltstack(stack_sig, SIGSTKSZ) < 0)
++ stack_sig = mmap(NULL, STRESS_SIGSTKSZ, PROT_READ | PROT_WRITE,
++ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ if (stack_sig == MAP_FAILED) {
++ pr_inf("%s: skipping stressor, cannot allocate signal stack,"
++ " errno=%d (%s)\n",
++ args->name, errno, strerror(errno));
++ return EXIT_NO_RESOURCE;
++ }
++ if (stress_sigaltstack(stack_sig, STRESS_SIGSTKSZ) < 0)
+ return EXIT_FAILURE;
+
+ terminate = terminate_mmap =
+@@ -219,6 +226,7 @@ static int stress_vforkmany(const stress_args_t *args)
+ stress_set_proc_state(args->name, STRESS_STATE_DEINIT);
+
+ (void)munmap((void *)terminate_mmap, args->page_size);
++ (void)munmap((void *)stack_sig, STRESS_SIGSTKSZ);
+ return EXIT_SUCCESS;
+ }
+
diff --git a/stress-ng.spec b/stress-ng.spec
index 8e2868b..a5a24cc 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -6,6 +6,8 @@ Summary: Stress test a computer system in various ways
License: GPLv2+
URL: https://kernel.ubuntu.com/~cking/%{name}
Source0: https://kernel.ubuntu.com/~cking/tarballs/%{name}/%{name}-%{version}.tar.xz
+# https://github.com/ColinIanKing/stress-ng/issues/107
+Patch0: stress-ng-0.12.03-sigstksz.patch
BuildRequires: make
BuildRequires: gcc
@@ -29,6 +31,7 @@ system kernel interfaces.
%prep
%setup -q
+%patch0 -p1
%build
export CFLAGS="%{optflags}"
commit 058c7ca201d5a6a133b57982231ce2749f79c568
Author: Yaakov Selkowitz <yselkowi(a)redhat.com>
Date: Wed Feb 24 13:14:21 2021 -0500
Enable ppc64le
diff --git a/stress-ng.spec b/stress-ng.spec
index 2eaf0ec..8e2868b 100644
--- a/stress-ng.spec
+++ b/stress-ng.spec
@@ -1,6 +1,6 @@
Name: stress-ng
Version: 0.12.03
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Stress test a computer system in various ways
License: GPLv2+
@@ -22,9 +22,6 @@ BuildRequires: libatomic
BuildRequires: zlib-devel
BuildRequires: Judy-devel
-ExcludeArch: ppc64
-ExcludeArch: ppc64le
-
%description
Stress test a computer system in various ways. It was designed to exercise
various physical subsystems of a computer as well as the various operating
@@ -55,6 +52,9 @@ install -pm 644 bash-completion/%{name} \
%{_datadir}/bash-completion/completions/%{name}
%changelog
+* Wed Feb 24 2021 Yaakov Selkowitz <yselkowi(a)redhat.com> - 0.12.03-2
+- Enable ppc64le
+
* Mon Feb 15 2021 Chris Brown <chris.brown(a)redhat.com> - 0.12.03-1
- Update to 0.12.03
3 years, 1 month
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (1888)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- accel-config
ExclusiveArch: x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- anki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- blender
ExclusiveArch: x86_64 aarch64 ppc64le
- bless
ExclusiveArch: %mono_arches
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- calamares
ExclusiveArch: %{ix86} x86_64
- calibre
ExclusiveArch: %{qt5_qtwebengine_arches}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- cpu-x
ExclusiveArch: i686 x86_64
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 ppc64le
- dbus-parsec
ExclusiveArch: %{rust_arches}
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dolphin-emu
ExclusiveArch: x86_64 aarch64 ppc64le
- dotnet-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet3.1
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- dotnet5.0-build-reference-packages
ExclusiveArch: aarch64 x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: x86_64
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fes
ExclusiveArch: %{ix86} x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
ExclusiveArch: %{mono_arches}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-rpm-macros
ExclusiveArch: %{golang_arches} %{gccgo_arches}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- ignition
ExclusiveArch: %{go_arches}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-ipsec-mb
ExclusiveArch: x86_64
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kalarmcal
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kmailtransport
ExclusiveArch: x86_64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpmemobj-cpp
ExclusiveArch: x86_64
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lightdm
ExclusiveArch: x86_64 ppc64le
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 s390x ppc64le
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- megapixels
ExclusiveArch: aarch64 armv7hl
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newsflash
ExclusiveArch: %{rust_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nispor
ExclusiveArch: %{rust_arches}
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %%{power64} aarch64 s390x armv7hl
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le
- onedrive
ExclusiveArch: %{ldc_arches}
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: x86_64
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openshadinglanguage
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- openssl-ibmca
ExclusiveArch: s390 s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- paflib
ExclusiveArch: ppc %{power64}
- parsec
ExclusiveArch: %{rust_arches}
- parsec-tool
ExclusiveArch: %{rust_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfmod
ExclusiveArch: %mono_arches
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- pmdk-convert
ExclusiveArch: x86_64
- pmemkv
ExclusiveArch: x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- psi-plus
ExclusiveArch: %{qt5_qtwebengine_arches}
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-javabridge
ExclusiveArch: i686 x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- renderdoc
ExclusiveArch: x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rmd
ExclusiveArch: %{ix86} x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rocminfo
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-ab_glyph_rasterizer
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-codec
ExclusiveArch: %{rust_arches}
- rust-actix-connect
ExclusiveArch: %{rust_arches}
- rust-actix-files
ExclusiveArch: %{rust_arches}
- rust-actix-http
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-rt
ExclusiveArch: %{rust_arches}
- rust-actix-server
ExclusiveArch: %{rust_arches}
- rust-actix-server-config
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-testing
ExclusiveArch: %{rust_arches}
- rust-actix-threadpool
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-actix-utils
ExclusiveArch: %{rust_arches}
- rust-actix-web
ExclusiveArch: %{rust_arches}
- rust-actix-web-codegen
ExclusiveArch: %{rust_arches}
- rust-actix_derive
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aead
ExclusiveArch: %{rust_arches}
- rust-aes
ExclusiveArch: %{rust_arches}
- rust-aes-gcm
ExclusiveArch: %{rust_arches}
- rust-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-ahash
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alacritty
ExclusiveArch: %{rust_arches}
- rust-alacritty_config_derive
ExclusiveArch: %{rust_arches}
- rust-alacritty_terminal
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-alloc-no-stdlib
ExclusiveArch: %{rust_arches}
- rust-alloc-stdlib
ExclusiveArch: %{rust_arches}
- rust-alphanumeric-sort
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-andrew
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-ansi_term0.11
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-anyhow
ExclusiveArch: %{rust_arches}
- rust-anymap
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-app_dirs
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arbitrary
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argparse
ExclusiveArch: %{rust_arches}
- rust-array-init
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-article_scraper
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-askama_shared
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-assert_approx_eq
ExclusiveArch: %{rust_arches}
- rust-assert_cli
ExclusiveArch: %{rust_arches}
- rust-assert_cmd
ExclusiveArch: %{rust_arches}
- rust-assert_fs
ExclusiveArch: %{rust_arches}
- rust-assert_matches
ExclusiveArch: %{rust_arches}
- rust-assign
ExclusiveArch: %{rust_arches}
- rust-async-attributes
ExclusiveArch: %{rust_arches}
- rust-async-compression
ExclusiveArch: %{rust_arches}
- rust-async-io
ExclusiveArch: %{rust_arches}
- rust-async-task
ExclusiveArch: %{rust_arches}
- rust-async-trait
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-attohttpc
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-av-metrics
ExclusiveArch: %{rust_arches}
- rust-average
ExclusiveArch: %{rust_arches}
- rust-awc
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-base64-0.10
ExclusiveArch: %{rust_arches}
- rust-base64-0.11
ExclusiveArch: %{rust_arches}
- rust-base64_0.12
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-battery
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-better-panic
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-binfarce
ExclusiveArch: %{rust_arches}
- rust-biscuit
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitfield
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitmaps
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-bitvec
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-blobby0.1
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.7
ExclusiveArch: %{rust_arches}
- rust-block-cipher
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-blsctl
ExclusiveArch: %{rust_arches}
- rust-bodhi
ExclusiveArch: %{rust_arches}
- rust-bodhi-cli
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-box_drawing
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-brotli-decompressor
ExclusiveArch: %{rust_arches}
- rust-brotli-sys
ExclusiveArch: %{rust_arches}
- rust-brotli2
ExclusiveArch: %{rust_arches}
- rust-bstr
ExclusiveArch: %{rust_arches}
- rust-buf-min
ExclusiveArch: %{rust_arches}
- rust-buf_redux
ExclusiveArch: %{rust_arches}
- rust-bufsize
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-bumpalo
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-byte-unit
ExclusiveArch: %{rust_arches}
- rust-byte-unit3
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-bytelines
ExclusiveArch: %{rust_arches}
- rust-bytemuck
ExclusiveArch: %{rust_arches}
- rust-bytemuck_derive
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-bytes0.4
ExclusiveArch: %{rust_arches}
- rust-bytes0.5
ExclusiveArch: %{rust_arches}
- rust-bytes0.6
ExclusiveArch: %{rust_arches}
- rust-bytesize
ExclusiveArch: %{rust_arches}
- rust-bytestring
ExclusiveArch: %{rust_arches}
- rust-bzip2
ExclusiveArch: %{rust_arches}
- rust-bzip2-sys
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cache-padded
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-calloop
ExclusiveArch: %{rust_arches}
- rust-caps
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-bloat
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cargo-husky
ExclusiveArch: %{rust_arches}
- rust-cargo-insta
ExclusiveArch: %{rust_arches}
- rust-cargo-platform
ExclusiveArch: %{rust_arches}
- rust-cargo-readme
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cassowary
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cedarwood
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-cfg-if0.1
ExclusiveArch: %{rust_arches}
- rust-chainerror
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-choosier
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-chunked_transfer
ExclusiveArch: %{rust_arches}
- rust-cipher
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_derive
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-codespan-reporting
ExclusiveArch: %{rust_arches}
- rust-codicon
ExclusiveArch: %{rust_arches}
- rust-color-backtrace
ExclusiveArch: %{rust_arches}
- rust-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored1
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-colorful
ExclusiveArch: %{rust_arches}
- rust-compiletest_rs
ExclusiveArch: %{rust_arches}
- rust-comrak
ExclusiveArch: %{rust_arches}
- rust-concurrent-queue
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-console0.11
ExclusiveArch: %{rust_arches}
- rust-console0.12
ExclusiveArch: %{rust_arches}
- rust-console0.13
ExclusiveArch: %{rust_arches}
- rust-console0.9
ExclusiveArch: %{rust_arches}
- rust-const-cstr
ExclusiveArch: %{rust_arches}
- rust-const-random
ExclusiveArch: %{rust_arches}
- rust-const-random-macro
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-content_inspector
ExclusiveArch: %{rust_arches}
- rust-conv
ExclusiveArch: %{rust_arches}
- rust-cookie
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-copyless
ExclusiveArch: %{rust_arches}
- rust-copypasta
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-cpio
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-cpuid-bool
ExclusiveArch: %{rust_arches}
- rust-cpython
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-any
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch0.8
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue0.2
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils0.7
ExclusiveArch: %{rust_arches}
- rust-crossbeam0.7
ExclusiveArch: %{rust_arches}
- rust-crossfont
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crossterm0.17
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
ExclusiveArch: %{rust_arches}
- rust-crypto-mac0.8
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctor
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-cty
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-cxx
ExclusiveArch: %{rust_arches}
- rust-cxx-build
ExclusiveArch: %{rust_arches}
- rust-cxx-gen
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-flags
ExclusiveArch: %{rust_arches}
- rust-cxxbridge-macro
ExclusiveArch: %{rust_arches}
- rust-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-dashmap
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-dbus-codegen
ExclusiveArch: %{rust_arches}
- rust-dbus-crossroads
ExclusiveArch: %{rust_arches}
- rust-dbus0.2
ExclusiveArch: %{rust_arches}
- rust-dbus0.6
ExclusiveArch: %{rust_arches}
- rust-dbus0.8
ExclusiveArch: %{rust_arches}
- rust-debug-helper
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derivative
ExclusiveArch: %{rust_arches}
- rust-derive-new
ExclusiveArch: %{rust_arches}
- rust-derive_arbitrary
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-desed
ExclusiveArch: %{rust_arches}
- rust-deunicode
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-dialoguer
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diesel_derives
ExclusiveArch: %{rust_arches}
- rust-diesel_migrations
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-digest0.8
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dirs-next
ExclusiveArch: %{rust_arches}
- rust-dirs-sys
ExclusiveArch: %{rust_arches}
- rust-dirs-sys-next
ExclusiveArch: %{rust_arches}
- rust-dirs2
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-dissimilar
ExclusiveArch: %{rust_arches}
- rust-dlib
ExclusiveArch: %{rust_arches}
- rust-dlv-list
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-doc-comment
ExclusiveArch: %{rust_arches}
- rust-docmatic
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-dotenv
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-duct
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-dunce
ExclusiveArch: %{rust_arches}
- rust-dutree
ExclusiveArch: %{rust_arches}
- rust-easy-parallel
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-elasticlunr-rs
ExclusiveArch: %{rust_arches}
- rust-encode_unicode
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-entities
ExclusiveArch: %{rust_arches}
- rust-enum-as-inner
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-enumflags2
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-env_logger0.6
ExclusiveArch: %{rust_arches}
- rust-env_logger0.7
ExclusiveArch: %{rust_arches}
- rust-environment
ExclusiveArch: %{rust_arches}
- rust-envsubst
ExclusiveArch: %{rust_arches}
- rust-erased-serde
ExclusiveArch: %{rust_arches}
- rust-err-derive
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-escaper
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-euclid
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-expat-sys
ExclusiveArch: %{rust_arches}
- rust-extend
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure-tools
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fake-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fastrand
ExclusiveArch: %{rust_arches}
- rust-fbthrift_codegen_includer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-fdlimit
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-fedora-coreos-pinger
ExclusiveArch: %{rust_arches}
- rust-fedora-update-feedback
ExclusiveArch: %{rust_arches}
- rust-feed-rs
ExclusiveArch: %{rust_arches}
- rust-feedbin_api
ExclusiveArch: %{rust_arches}
- rust-feedly_api
ExclusiveArch: %{rust_arches}
- rust-fern
ExclusiveArch: %{rust_arches}
- rust-fever_api
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
ExclusiveArch: %{rust_arches}
- rust-filesize
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-float-cmp0.6
ExclusiveArch: %{rust_arches}
- rust-float-ord
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-font-kit
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-macros
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared0.1
ExclusiveArch: %{rust_arches}
- rust-foreign-types0.3
ExclusiveArch: %{rust_arches}
- rust-form_urlencoded
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-freetype
ExclusiveArch: %{rust_arches}
- rust-freetype-rs
ExclusiveArch: %{rust_arches}
- rust-freetype-sys
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fs_extra
ExclusiveArch: %{rust_arches}
- rust-funty
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-lite
ExclusiveArch: %{rust_arches}
- rust-futures-macro
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-task
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
ExclusiveArch: %{rust_arches}
- rust-fxhash
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-generic-array0.12
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-getrandom
ExclusiveArch: %{rust_arches}
- rust-getrandom0.1
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-ghash
ExclusiveArch: %{rust_arches}
- rust-ghost
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gif0.10
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-gl_generator
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-macros
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-globwalk
ExclusiveArch: %{rust_arches}
- rust-glutin
ExclusiveArch: %{rust_arches}
- rust-glutin_egl_sys
ExclusiveArch: %{rust_arches}
- rust-glutin_glx_sys
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-gptman
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-groupable
ExclusiveArch: %{rust_arches}
- rust-gspell
ExclusiveArch: %{rust_arches}
- rust-gspell-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio
ExclusiveArch: %{rust_arches}
- rust-gstreamer-audio-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base
ExclusiveArch: %{rust_arches}
- rust-gstreamer-base-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services
ExclusiveArch: %{rust_arches}
- rust-gstreamer-editing-services-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils
ExclusiveArch: %{rust_arches}
- rust-gstreamer-pbutils-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player
ExclusiveArch: %{rust_arches}
- rust-gstreamer-player-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-sys
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video
ExclusiveArch: %{rust_arches}
- rust-gstreamer-video-sys
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-macros
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-hostname-validator
ExclusiveArch: %{rust_arches}
- rust-html2pango
ExclusiveArch: %{rust_arches}
- rust-html5ever
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-http0.1
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-humansize
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-humantime1
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-staticfile
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-hyperfine
ExclusiveArch: %{rust_arches}
- rust-i3ipc
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-idna0.1
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-imgref
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-indoc
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-insta
ExclusiveArch: %{rust_arches}
- rust-instant
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-invalidstring
ExclusiveArch: %{rust_arches}
- rust-inventory
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-iocuddle
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnet
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iron
ExclusiveArch: %{rust_arches}
- rust-isahc
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itertools0.8
ExclusiveArch: %{rust_arches}
- rust-itertools0.9
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-ivf
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs
ExclusiveArch: %{rust_arches}
- rust-javascriptcore-rs-sys
ExclusiveArch: %{rust_arches}
- rust-jetscii
ExclusiveArch: %{rust_arches}
- rust-jieba-rs
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jql
ExclusiveArch: %{rust_arches}
- rust-js-sys
ExclusiveArch: %{rust_arches}
- rust-js_int
ExclusiveArch: %{rust_arches}
- rust-json
ExclusiveArch: %{rust_arches}
- rust-jwalk
ExclusiveArch: %{rust_arches}
- rust-keccak
ExclusiveArch: %{rust_arches}
- rust-khronos_api
ExclusiveArch: %{rust_arches}
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kv-log-macro
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-leb128
ExclusiveArch: %{rust_arches}
- rust-letter-avatar
ExclusiveArch: %{rust_arches}
- rust-lexical-core
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs
ExclusiveArch: %{rust_arches}
- rust-libcryptsetup-rs-sys
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libflate
ExclusiveArch: %{rust_arches}
- rust-libflate_lz77
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libhandy
ExclusiveArch: %{rust_arches}
- rust-libhandy-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libnotcurses-sys
ExclusiveArch: %{rust_arches}
- rust-liboverdrop
ExclusiveArch: %{rust_arches}
- rust-libpulse-binding
ExclusiveArch: %{rust_arches}
- rust-libpulse-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsqlite3-sys
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libxml
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-line-wrap
ExclusiveArch: %{rust_arches}
- rust-line_drawing
ExclusiveArch: %{rust_arches}
- rust-link-cplusplus
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linkify
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-liquid
ExclusiveArch: %{rust_arches}
- rust-liquid-core
ExclusiveArch: %{rust_arches}
- rust-liquid-derive
ExclusiveArch: %{rust_arches}
- rust-liquid-lib
ExclusiveArch: %{rust_arches}
- rust-listenfd
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-lockfree
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log-mdc
ExclusiveArch: %{rust_arches}
- rust-log-panics
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-log4rs
ExclusiveArch: %{rust_arches}
- rust-loggerv
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru-cache
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-magic-crypt
ExclusiveArch: %{rust_arches}
- rust-maildir
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-man
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-markup5ever_rcdom
ExclusiveArch: %{rust_arches}
- rust-match_cfg
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-maxminddb
ExclusiveArch: %{rust_arches}
- rust-maybe-uninit
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memmap2
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-memoffset0.5
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-migrations_internals
ExclusiveArch: %{rust_arches}
- rust-migrations_macros
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
ExclusiveArch: %{rust_arches}
- rust-miniflux_api
ExclusiveArch: %{rust_arches}
- rust-minify-html
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide0.3
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mio0.6
ExclusiveArch: %{rust_arches}
- rust-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-more-asserts
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-multipart
ExclusiveArch: %{rust_arches}
- rust-mustache
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-nb-connect
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-core
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-route
ExclusiveArch: %{rust_arches}
- rust-netlink-packet-utils
ExclusiveArch: %{rust_arches}
- rust-netlink-proto
ExclusiveArch: %{rust_arches}
- rust-netlink-sys
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-news-flash
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nickel
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nix0.14
ExclusiveArch: %{rust_arches}
- rust-nix0.17
ExclusiveArch: %{rust_arches}
- rust-nix0.18
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom4
ExclusiveArch: %{rust_arches}
- rust-nom5
ExclusiveArch: %{rust_arches}
- rust-noop_proc_macro
ExclusiveArch: %{rust_arches}
- rust-normalize-line-endings
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-notify-rust
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-numtoa
ExclusiveArch: %{rust_arches}
- rust-obfstr
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-odds
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-oorandom
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-openat
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-ordered-float
ExclusiveArch: %{rust_arches}
- rust-ordered-multimap
ExclusiveArch: %{rust_arches}
- rust-os_info
ExclusiveArch: %{rust_arches}
- rust-os_pipe
ExclusiveArch: %{rust_arches}
- rust-os_str_bytes
ExclusiveArch: %{rust_arches}
- rust-osmesa-sys
ExclusiveArch: %{rust_arches}
- rust-osstrtools
ExclusiveArch: %{rust_arches}
- rust-ostree
ExclusiveArch: %{rust_arches}
- rust-ostree-sys
ExclusiveArch: %{rust_arches}
- rust-owned-alloc
ExclusiveArch: %{rust_arches}
- rust-owned_ttf_parser
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches}
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-parse-zoneinfo
ExclusiveArch: %{rust_arches}
- rust-parse_cfg
ExclusiveArch: %{rust_arches}
- rust-parsec-client
ExclusiveArch: %{rust_arches}
- rust-parsec-interface
ExclusiveArch: %{rust_arches}
- rust-partial-io
ExclusiveArch: %{rust_arches}
- rust-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-path-absolutize
ExclusiveArch: %{rust_arches}
- rust-path-dedot
ExclusiveArch: %{rust_arches}
- rust-path-slash
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathfinder_geometry
ExclusiveArch: %{rust_arches}
- rust-pathfinder_simd
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-peg-macros
ExclusiveArch: %{rust_arches}
- rust-peg-runtime
ExclusiveArch: %{rust_arches}
- rust-peg0.5
ExclusiveArch: %{rust_arches}
- rust-pem
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-percent-encoding1
ExclusiveArch: %{rust_arches}
- rust-peresil
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.7
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_codegen0.7
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_generator0.7
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.7
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.7
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pico-args
ExclusiveArch: %{rust_arches}
- rust-pin-project
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal
ExclusiveArch: %{rust_arches}
- rust-pin-project-internal0.4
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite0.1
ExclusiveArch: %{rust_arches}
- rust-pin-project0.4
ExclusiveArch: %{rust_arches}
- rust-pin-utils
ExclusiveArch: %{rust_arches}
- rust-pipe
ExclusiveArch: %{rust_arches}
- rust-piper
ExclusiveArch: %{rust_arches}
- rust-pkcs11
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-platform-dirs
ExclusiveArch: %{rust_arches}
- rust-platforms
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-plotters
ExclusiveArch: %{rust_arches}
- rust-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-podio
ExclusiveArch: %{rust_arches}
- rust-polling
ExclusiveArch: %{rust_arches}
- rust-polyval
ExclusiveArch: %{rust_arches}
- rust-pommes
ExclusiveArch: %{rust_arches}
- rust-ppv-lite86
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-predicates
ExclusiveArch: %{rust_arches}
- rust-predicates-core
ExclusiveArch: %{rust_arches}
- rust-predicates-tree
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error
ExclusiveArch: %{rust_arches}
- rust-proc-macro-error-attr
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro-nested
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.4
ExclusiveArch: %{rust_arches}
- rust-proc-quote
ExclusiveArch: %{rust_arches}
- rust-proc-quote-impl
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-process_path
ExclusiveArch: %{rust_arches}
- rust-procfs
ExclusiveArch: %{rust_arches}
- rust-procfs0.8
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-progress-streams
ExclusiveArch: %{rust_arches}
- rust-prometheus
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-proptest-derive
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-build
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-protobuf
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen
ExclusiveArch: %{rust_arches}
- rust-protobuf-codegen-pure
ExclusiveArch: %{rust_arches}
- rust-protoc
ExclusiveArch: %{rust_arches}
- rust-protoc-rust
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-psutil
ExclusiveArch: %{rust_arches}
- rust-publicsuffix
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-pure-rust-locales
ExclusiveArch: %{rust_arches}
- rust-pyo3
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros
ExclusiveArch: %{rust_arches}
- rust-pyo3-macros-backend
ExclusiveArch: %{rust_arches}
- rust-python3-sys
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quick-error1
ExclusiveArch: %{rust_arches}
- rust-quick-xml
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.6
ExclusiveArch: %{rust_arches}
- rust-quoted_printable
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-radium
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand0.6
ExclusiveArch: %{rust_arches}
- rust-rand0.7
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.1
ExclusiveArch: %{rust_arches}
- rust-rand_chacha0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_core0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core0.5
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_distr0.2
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_hc0.1
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_isaac0.1
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_jitter0.1
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_os0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.1
ExclusiveArch: %{rust_arches}
- rust-rand_pcg0.2
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift0.1
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random-fast-rng
ExclusiveArch: %{rust_arches}
- rust-random-trait
ExclusiveArch: %{rust_arches}
- rust-randomize
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-raw-window-handle
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-readability-fork
ExclusiveArch: %{rust_arches}
- rust-readwrite
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-ref-cast
ExclusiveArch: %{rust_arches}
- rust-ref-cast-impl
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-region
ExclusiveArch: %{rust_arches}
- rust-relative-path
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-resolv-conf
ExclusiveArch: %{rust_arches}
- rust-restson
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rgb
ExclusiveArch: %{rust_arches}
- rust-ring
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-roff
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-roxmltree
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rtnetlink
ExclusiveArch: %{rust_arches}
- rust-ruma
ExclusiveArch: %{rust_arches}
- rust-ruma-api
ExclusiveArch: %{rust_arches}
- rust-ruma-api-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-appservice-api
ExclusiveArch: %{rust_arches}
- rust-ruma-client-api
ExclusiveArch: %{rust_arches}
- rust-ruma-common
ExclusiveArch: %{rust_arches}
- rust-ruma-events
ExclusiveArch: %{rust_arches}
- rust-ruma-events-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-federation-api
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-identifiers-validation
ExclusiveArch: %{rust_arches}
- rust-ruma-identity-service-api
ExclusiveArch: %{rust_arches}
- rust-ruma-push-gateway-api
ExclusiveArch: %{rust_arches}
- rust-ruma-serde
ExclusiveArch: %{rust_arches}
- rust-ruma-serde-macros
ExclusiveArch: %{rust_arches}
- rust-ruma-signatures
ExclusiveArch: %{rust_arches}
- rust-rust-embed
ExclusiveArch: %{rust_arches}
- rust-rust-embed-impl
ExclusiveArch: %{rust_arches}
- rust-rust-embed-utils
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rust-stemmers
ExclusiveArch: %{rust_arches}
- rust-rust_decimal
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_normal_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_proc_macro
ExclusiveArch: %{rust_arches}
- rust-rust_hawktracer_sys
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-hash
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_tools_util
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustio
ExclusiveArch: %{rust_arches}
- rust-rusttype
ExclusiveArch: %{rust_arches}
- rust-rustversion
ExclusiveArch: %{rust_arches}
- rust-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-rustyline
ExclusiveArch: %{rust_arches}
- rust-rustyline-derive
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-sass-rs
ExclusiveArch: %{rust_arches}
- rust-sass-sys
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
ExclusiveArch: %{rust_arches}
- rust-scheduled-thread-pool
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped-tls-hkt
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scopetime
ExclusiveArch: %{rust_arches}
- rust-scratch
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-sct
ExclusiveArch: %{rust_arches}
- rust-sd
ExclusiveArch: %{rust_arches}
- rust-sd-notify
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secrecy
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.9
ExclusiveArch: %{rust_arches}
- rust-semver0.10
ExclusiveArch: %{rust_arches}
- rust-semver0.9
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-value
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_repr
ExclusiveArch: %{rust_arches}
- rust-serde_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_url_params
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded0.6
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-serial_test
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig
ExclusiveArch: %{rust_arches}
- rust-servo-fontconfig-sys
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha3
ExclusiveArch: %{rust_arches}
- rust-shared_child
ExclusiveArch: %{rust_arches}
- rust-shared_library
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simd_helpers
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-size
ExclusiveArch: %{rust_arches}
- rust-sized-chunks
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slash-formatter
ExclusiveArch: %{rust_arches}
- rust-slice-deque
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-slotmap
ExclusiveArch: %{rust_arches}
- rust-slug
ExclusiveArch: %{rust_arches}
- rust-sluice
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-smart-default
ExclusiveArch: %{rust_arches}
- rust-smawk
ExclusiveArch: %{rust_arches}
- rust-smithay-client-toolkit
ExclusiveArch: %{rust_arches}
- rust-smithay-clipboard
ExclusiveArch: %{rust_arches}
- rust-snafu
ExclusiveArch: %{rust_arches}
- rust-snafu-derive
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-soup-sys
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spin_on
ExclusiveArch: %{rust_arches}
- rust-spinning_top
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-standback
ExclusiveArch: %{rust_arches}
- rust-starship
ExclusiveArch: %{rust_arches}
- rust-starship_module_config_derive
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-structopt-derive0.2
ExclusiveArch: %{rust_arches}
- rust-structopt0.2
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-subtle
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin
ExclusiveArch: %{rust_arches}
- rust-sudo_plugin-sys
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-svg_metadata
ExclusiveArch: %{rust_arches}
- rust-sxd-document
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn-mid
ExclusiveArch: %{rust_arches}
- rust-syn0.15
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-sysinfo
ExclusiveArch: %{rust_arches}
- rust-system-deps
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tap
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-target-lexicon
ExclusiveArch: %{rust_arches}
- rust-tealdeer
ExclusiveArch: %{rust_arches}
- rust-teloxide
ExclusiveArch: %{rust_arches}
- rust-teloxide-macros
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-tester
ExclusiveArch: %{rust_arches}
- rust-testing_logger
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.12
ExclusiveArch: %{rust_arches}
- rust-thiserror
ExclusiveArch: %{rust_arches}
- rust-thiserror-impl
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiger-digest
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-time-macros
ExclusiveArch: %{rust_arches}
- rust-time-macros-impl
ExclusiveArch: %{rust_arches}
- rust-time0.1
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tinyvec0.3
ExclusiveArch: %{rust_arches}
- rust-tinyvec_macros
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-io-pool
ExclusiveArch: %{rust_arches}
- rust-tokio-macros
ExclusiveArch: %{rust_arches}
- rust-tokio-macros0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-openssl
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-socks
ExclusiveArch: %{rust_arches}
- rust-tokio-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-test
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-tls0.2
ExclusiveArch: %{rust_arches}
- rust-tokio-tungstenite
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-tokio-util
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.2
ExclusiveArch: %{rust_arches}
- rust-tokio0.1
ExclusiveArch: %{rust_arches}
- rust-tokio0.2
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tower-test
ExclusiveArch: %{rust_arches}
- rust-tower-util
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing
ExclusiveArch: %{rust_arches}
- rust-tracing-attributes
ExclusiveArch: %{rust_arches}
- rust-tracing-core
ExclusiveArch: %{rust_arches}
- rust-tracing-futures
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-treebitmap
ExclusiveArch: %{rust_arches}
- rust-treeline
ExclusiveArch: %{rust_arches}
- rust-trust-dns-native-tls
ExclusiveArch: %{rust_arches}
- rust-trust-dns-openssl
ExclusiveArch: %{rust_arches}
- rust-trust-dns-proto
ExclusiveArch: %{rust_arches}
- rust-trust-dns-resolver
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-try_from
ExclusiveArch: %{rust_arches}
- rust-try_or
ExclusiveArch: %{rust_arches}
- rust-trybuild
ExclusiveArch: %{rust_arches}
- rust-tss-esapi
ExclusiveArch: %{rust_arches}
- rust-ttf-parser
ExclusiveArch: %{rust_arches}
- rust-tui
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tui0.11
ExclusiveArch: %{rust_arches}
- rust-tui0.9
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-twoway
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-typetag-impl
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
ExclusiveArch: %{rust_arches}
- rust-unic-char-property
ExclusiveArch: %{rust_arches}
- rust-unic-char-range
ExclusiveArch: %{rust_arches}
- rust-unic-common
ExclusiveArch: %{rust_arches}
- rust-unic-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-category
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-common
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-segment
ExclusiveArch: %{rust_arches}
- rust-unic-ucd-version
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unicode-xid0.1
ExclusiveArch: %{rust_arches}
- rust-unicode_categories
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-universal-hash
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-uom
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-url1
ExclusiveArch: %{rust_arches}
- rust-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlocator
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-users0.10
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-utf8parse
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-uuid0.7
ExclusiveArch: %{rust_arches}
- rust-v_escape
ExclusiveArch: %{rust_arches}
- rust-v_escape_derive
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-v_htmlescape
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec-arena
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-vergen
ExclusiveArch: %{rust_arches}
- rust-version
ExclusiveArch: %{rust_arches}
- rust-version-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version-sync0.8
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vmw_backdoor
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-vte0.3
ExclusiveArch: %{rust_arches}
- rust-vte_generate_state_changes
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-waker-fn
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-backend
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-macro-support
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-shared
ExclusiveArch: %{rust_arches}
- rust-wasm-bindgen-test-macro
ExclusiveArch: %{rust_arches}
- rust-wayland-client
ExclusiveArch: %{rust_arches}
- rust-wayland-commons
ExclusiveArch: %{rust_arches}
- rust-wayland-cursor
ExclusiveArch: %{rust_arches}
- rust-wayland-egl
ExclusiveArch: %{rust_arches}
- rust-wayland-protocols
ExclusiveArch: %{rust_arches}
- rust-wayland-scanner
ExclusiveArch: %{rust_arches}
- rust-wayland-server
ExclusiveArch: %{rust_arches}
- rust-wayland-sys
ExclusiveArch: %{rust_arches}
- rust-web-sys
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk
ExclusiveArch: %{rust_arches}
- rust-webkit2gtk-sys
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-websocket-base
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-wildmatch
ExclusiveArch: %{rust_arches}
- rust-winit
ExclusiveArch: %{rust_arches}
- rust-ws
ExclusiveArch: %{rust_arches}
- rust-wyz
ExclusiveArch: %{rust_arches}
- rust-x11
ExclusiveArch: %{rust_arches}
- rust-x11-clipboard
ExclusiveArch: %{rust_arches}
- rust-x11-dl
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xcursor
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xml5ever
ExclusiveArch: %{rust_arches}
- rust-xmlparser
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
ExclusiveArch: %{rust_arches}
- rust-ytop
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zbus
ExclusiveArch: %{rust_arches}
- rust-zbus_macros
ExclusiveArch: %{rust_arches}
- rust-zeroize
ExclusiveArch: %{rust_arches}
- rust-zeroize_derive
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zip
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zoxide
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zstd
ExclusiveArch: %{rust_arches}
- rust-zstd-safe
ExclusiveArch: %{rust_arches}
- rust-zstd-sys
ExclusiveArch: %{rust_arches}
- rust-zvariant
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- springlobby
ExclusiveArch: %{ix86} x86_64
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svt-av1
ExclusiveArch: x86_64
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vapoursynth
ExclusiveArch: %{ix86} x86_64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vmem
ExclusiveArch: x86_64
- vmemcache
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
3 years, 1 month