[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (1532)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: %{gap_arches} noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr32
ExclusiveArch: %{java_arches} noarch
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-fileupload
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt5_qtwebengine_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- belle-sip
ExclusiveArch: %{java_arches}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: aarch64 x86_64
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- catatonit
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %{golang_arches_future}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{java_arches}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- 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
- credentials-fetcher
ExclusiveArch: x86_64 aarch64 s390x
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches_future}
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc4
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
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: aarch64 x86_64
- embree3
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- firecracker
ExclusiveArch: aarch64 x86_64
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{java_arches}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{java_arches}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap
ExclusiveArch: %{gap_arches}
- gap-pkg-ace
ExclusiveArch: %{gap_arches}
- gap-pkg-aclib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-alnuth
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-atlasrep
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autodoc
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-automata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autpgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-browse
ExclusiveArch: %{gap_arches}
- gap-pkg-caratinterface
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-circle
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-cohomolo
ExclusiveArch: %{gap_arches}
- gap-pkg-congruence
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-corelg
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crime
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crisp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crypting
ExclusiveArch: %{gap_arches}
- gap-pkg-cryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crystcat
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ctbllib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-curlinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-cvec
ExclusiveArch: %{gap_arches}
- gap-pkg-datastructures
ExclusiveArch: %{gap_arches}
- gap-pkg-design
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-digraphs
ExclusiveArch: %{gap_arches}
- gap-pkg-edim
ExclusiveArch: %{gap_arches}
- gap-pkg-factint
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ferret
ExclusiveArch: %{gap_arches}
- gap-pkg-fga
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fining
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-float
ExclusiveArch: %{gap_arches}
- gap-pkg-format
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-forms
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fr
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-francy
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-gbnp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-genss
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grape
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-groupoids
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grpconst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-guava
ExclusiveArch: %{gap_arches}
- gap-pkg-hap
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hapcryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hecke
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-images
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-io
ExclusiveArch: %{gap_arches}
- gap-pkg-irredsol
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-json
ExclusiveArch: %{gap_arches}
- gap-pkg-jupyterkernel
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-jupyterviz
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-laguna
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liealgdb
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liepring
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liering
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-loops
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-lpres
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-mapclass
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-nq
ExclusiveArch: %{gap_arches}
- gap-pkg-openmath
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-orb
ExclusiveArch: %{gap_arches}
- gap-pkg-polenta
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polycyclic
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polymaking
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-primgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-profiling
ExclusiveArch: %{gap_arches}
- gap-pkg-qpa
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-quagroup
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-radiroot
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-recog
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-repsn
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-resclasses
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-scscp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-semigroups
ExclusiveArch: %{gap_arches}
- gap-pkg-singular
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sla
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallsemi
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sonata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sophus
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-spinsym
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-standardff
ExclusiveArch: %{gap_arches}
- gap-pkg-tomlib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-toric
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-transgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-utils
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-uuid
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-xmod
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-zeromqinterface
ExclusiveArch: %{gap_arches}
- gappalib-coq
ExclusiveArch: %{java_arches}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_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}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- 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-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}}
- 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}}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- 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}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hibernate-jpa-2.1-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- 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
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches}
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jcommon
ExclusiveArch: %{java_arches} noarch
- jcommon-serializer
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches}
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jpcap
ExclusiveArch: %java_arches
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- julia
ExclusiveArch: x86_64
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- 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-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-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: x86_64 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}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ldc1.30
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- 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 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- lujavrite
ExclusiveArch: %{java_arches}
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- matrix-synapse
ExclusiveArch: %{rust_arches}
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-bundle-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maven2
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: x86_64 %{ix86}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- modulemaker-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- 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
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{golang_arches_future}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
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-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} 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
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openpgl
ExclusiveArch: aarch64 x86_64
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- optee_client
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- 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
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-active-collections
ExclusiveArch: %{java_arches} noarch
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- pomchecker
ExclusiveArch: %{java_arches} noarch
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-damo
ExclusiveArch: x86_64 aarch64 ppc64le s390x noarch
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-pyqt6-webengine
ExclusiveArch: aarch64 x86_64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatengine
ExclusiveArch: x86_64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- 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}
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-opencl
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-aparato
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-arrayvec0.5
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atomic-traits
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.9
ExclusiveArch: %{rust_arches}
- rust-block-padding0.2
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cdylib-link-lines
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cint
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console0.14
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-count-zeroes
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossterm0.19
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crypto-bigint
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-csscolorparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro-internal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-der
ExclusiveArch: %{rust_arches}
- rust-der_derive
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-des0.7
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difflib
ExclusiveArch: %{rust_arches}
- rust-digest0.9
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories3
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-downcast
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-enquote
ExclusiveArch: %{rust_arches}
- rust-enumflags2_0.6
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive0.6
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger0.8
ExclusiveArch: %{rust_arches}
- rust-escape_string
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-esphome
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exitfailure
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-firestorm
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-fixedbitset0.2
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gh-emoji
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-git2_0.13
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.11
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.9
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hkdf0.11
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-hmac0.11
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-impls
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-inferno
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inlinable_string
ExclusiveArch: %{rust_arches}
- rust-inout
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-is_executable
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-json5
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-konst
ExclusiveArch: %{rust_arches}
- rust-konst_macro_rules
ExclusiveArch: %{rust_arches}
- rust-konst_proc_macros
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsodium-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-encoding
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-local_ipaddress
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-madvr_parse
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-memcached-rs
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio0.7
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nix0.22
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
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-num0.3
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_display
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-passwd
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pem-rfc7468
ExclusiveArch: %{rust_arches}
- rust-pem0.8
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.8
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pid
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-png0.16
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.7
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.22
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-rd-agent
ExclusiveArch: %{rust_arches}
- rust-rd-agent-intf
ExclusiveArch: %{rust_arches}
- rust-rd-hashd
ExclusiveArch: %{rust_arches}
- rust-rd-hashd-intf
ExclusiveArch: %{rust_arches}
- rust-rd-util
ExclusiveArch: %{rust_arches}
- rust-resctl-bench
ExclusiveArch: %{rust_arches}
- rust-resctl-bench-intf
ExclusiveArch: %{rust_arches}
- rust-resctl-demo
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-salsa20
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-scrypt
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp-mt
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive0.5
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1_0.9
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1_0.6
ExclusiveArch: %{rust_arches}
- rust-sha1_smol
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha2_0.9
ExclusiveArch: %{rust_arches}
- rust-sha3_0.9
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-sharded-slab
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signature
ExclusiveArch: %{rust_arches}
- rust-signature_derive
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-streebog
ExclusiveArch: %{rust_arches}
- rust-streebog0.9
ExclusiveArch: %{rust_arches}
- rust-strict
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum0.21
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-strum_macros0.21
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-syntect4
ExclusiveArch: %{rust_arches}
- rust-sysinfo0.19
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-temp_testdir
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termbg
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.14
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio-compat
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing-log
ExclusiveArch: %{rust_arches}
- rust-trash
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-config
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-highlight
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-loader
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-tags
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-uefi-run
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-uucore_procs
ExclusiveArch: %{rust_arches}
- rust-uuid0.8
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varbincode
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xxhash-c-sys
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-yansi
ExclusiveArch: %{rust_arches}
- rust-z85
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zmq-sys
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- 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
- sequence-library
ExclusiveArch: %{java_arches} noarch
- serp
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- shaman
ExclusiveArch: %{java_arches} noarch
- 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
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{golang_arches_future}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- 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}
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{java_arches}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- writer2latex
ExclusiveArch: %{java_arches}
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: %{gap_arches}
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmpcore
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_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
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_arches}
- zenon
ExclusiveArch: %{java_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
3 months, 4 weeks
Architecture specific change in rpms/ghc9.2.git
by githook-noreply@fedoraproject.org
The package rpms/ghc9.2.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/ghc9.2.git/commit/?id=28fa9246a9c....
Change:
+%ifarch armv7hl %{ix86}
Thanks.
Full change:
============
commit 28fa9246a9c556807206cb4a818639a1837f9be9
Author: Jens Petersen <petersen(a)redhat.com>
Date: Tue May 30 10:11:38 2023 +0800
disable haddocks also here
following the main ghc 9.2 package
diff --git a/ghc9.2.spec b/ghc9.2.spec
index a6c49ec..25d7134 100644
--- a/ghc9.2.spec
+++ b/ghc9.2.spec
@@ -35,7 +35,7 @@
%bcond_without ghc_prof
# https://gitlab.haskell.org/ghc/ghc/-/issues/19754
# https://github.com/haskell/haddock/issues/1384
-%ifarch armv7hl
+%ifarch armv7hl %{ix86}
%undefine with_haddock
%else
%bcond_without haddock
@@ -289,7 +289,8 @@ Installing this package causes %{name}-*-doc packages corresponding to
Summary: GHC library documentation indexing
License: BSD-3-Clause
Requires: %{name}-compiler = %{version}-%{release}
-BuildArch: noarch
+# due to disabled haddock archs
+#BuildArch: noarch
%description doc-index
The package enables re-indexing of installed library documention.
@@ -297,7 +298,8 @@ The package enables re-indexing of installed library documention.
%package filesystem
Summary: Shared directories for Haskell documentation
-BuildArch: noarch
+# due to disabled haddock archs
+#BuildArch: noarch
%description filesystem
This package provides some common directories used for
commit 7db25ec0fe67f6a69b8c0fe69cb46282af2bf538
Author: Jens Petersen <petersen(a)redhat.com>
Date: Mon May 29 15:26:04 2023 +0800
update to 9.2.8
diff --git a/.gitignore b/.gitignore
index 8a58621..3ddfb1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/ghc-9.2.4-src.tar.lz
/ghc-9.2.5-src.tar.lz
/ghc-9.2.7-src.tar.lz
+/ghc-9.2.8-src.tar.lz
diff --git a/10453.patch b/10453.patch
deleted file mode 100644
index 93585b8..0000000
--- a/10453.patch
+++ /dev/null
@@ -1,2380 +0,0 @@
-From 2271440777681ceb98cc87c43e2798a2b573fa9e Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Mon, 19 Apr 2021 14:07:21 -0400
-Subject: [PATCH 01/13] rts/m32: Fix bounds check
-
-Previously we would check only that the *start* of the mapping was in
-the bottom 32-bits of address space. However, we need the *entire*
-mapping to be in low memory. Fix this.
-
-Noticed by @Phyx.
-
-(cherry picked from commit 72c1812feecd2aff2a96b629063ba90a2f4cdb7b)
----
- rts/linker/M32Alloc.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index e7c697bf60b..cd8751b3b04 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -244,8 +244,9 @@ m32_alloc_page(void)
- * pages.
- */
- const size_t pgsz = getPageSize();
-- uint8_t *chunk = mmapAnonForLinker(pgsz * M32_MAP_PAGES);
-- if (chunk > (uint8_t *) 0xffffffff) {
-+ const size_t map_sz = pgsz * M32_MAP_PAGES;
-+ uint8_t *chunk = mmapAnonForLinker(map_sz);
-+ if (chunk + map_sz > (uint8_t *) 0xffffffff) {
- barf("m32_alloc_page: failed to get allocation in lower 32-bits");
- }
-
---
-GitLab
-
-
-From 12989f386ced001ee3592440402d191e7c9f9fec Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)well-typed.com>
-Date: Thu, 20 Jan 2022 15:17:10 -0500
-Subject: [PATCH 02/13] rts/m32: Accept any address within 4GB of program text
-
-Previously m32 would assume that the program image was located near the
-start of the address space and therefore assume that it wanted pages
-in the bottom 4GB of address space. Instead we now check whether they
-are within 4GB of whereever the program is loaded.
-
-This is necessary on Windows, which now tends to place the image in high
-memory. The eventual goal is to use m32 to allocate memory for linker
-sections on Windows.
-
-(cherry picked from commit 2e9248b7f7f645851ceb49931d10b9c5e58d2bbb)
----
- rts/Linker.c | 57 +---------------------------------------
- rts/LinkerInternals.h | 60 +++++++++++++++++++++++++++++++++++++++++++
- rts/linker/M32Alloc.c | 27 +++++++++++--------
- 3 files changed, 78 insertions(+), 66 deletions(-)
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 3bbe4b8340a..51d87d05bc3 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -198,62 +198,7 @@ Mutex linker_mutex;
- /* Generic wrapper function to try and Resolve and RunInit oc files */
- int ocTryLoad( ObjectCode* oc );
-
--/* Link objects into the lower 2Gb on x86_64 and AArch64. GHC assumes the
-- * small memory model on this architecture (see gcc docs,
-- * -mcmodel=small).
-- *
-- * MAP_32BIT not available on OpenBSD/amd64
-- */
--#if defined(MAP_32BIT) && (defined(x86_64_HOST_ARCH) || (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)))
--#define MAP_LOW_MEM
--#define TRY_MAP_32BIT MAP_32BIT
--#else
--#define TRY_MAP_32BIT 0
--#endif
--
--#if defined(aarch64_HOST_ARCH)
--// On AArch64 MAP_32BIT is not available but we are still bound by the small
--// memory model. Consequently we still try using the MAP_LOW_MEM allocation
--// strategy.
--#define MAP_LOW_MEM
--#endif
--
--/*
-- * Note [MAP_LOW_MEM]
-- * ~~~~~~~~~~~~~~~~~~
-- * Due to the small memory model (see above), on x86_64 and AArch64 we have to
-- * map all our non-PIC object files into the low 2Gb of the address space (why
-- * 2Gb and not 4Gb? Because all addresses must be reachable using a 32-bit
-- * signed PC-relative offset). On x86_64 Linux we can do this using the
-- * MAP_32BIT flag to mmap(), however on other OSs (e.g. *BSD, see #2063, and
-- * also on Linux inside Xen, see #2512), we can't do this. So on these
-- * systems, we have to pick a base address in the low 2Gb of the address space
-- * and try to allocate memory from there.
-- *
-- * The same holds for aarch64, where the default, even with PIC, model
-- * is 4GB. The linker is free to emit AARCH64_ADR_PREL_PG_HI21
-- * relocations.
-- *
-- * We pick a default address based on the OS, but also make this
-- * configurable via an RTS flag (+RTS -xm)
-- */
--
--#if (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH))
--// Try to use stg_upd_frame_info as the base. We need to be within +-4GB of that
--// address, otherwise we violate the aarch64 memory model. Any object we load
--// can potentially reference any of the ones we bake into the binary (and list)
--// in RtsSymbols. Thus we'll need to be within +-4GB of those,
--// stg_upd_frame_info is a good candidate as it's referenced often.
--#define MMAP_32BIT_BASE_DEFAULT (void*)&stg_upd_frame_info;
--#elif defined(MAP_32BIT) || DEFAULT_LINKER_ALWAYS_PIC
--// Try to use MAP_32BIT
--#define MMAP_32BIT_BASE_DEFAULT 0
--#else
--// A guess: 1Gb.
--#define MMAP_32BIT_BASE_DEFAULT 0x40000000
--#endif
--
--static void *mmap_32bit_base = (void *)MMAP_32BIT_BASE_DEFAULT;
-+static void *mmap_32bit_base = LINKER_LOAD_BASE;
-
- static void ghciRemoveSymbolTable(StrHashTable *table, const SymbolName* key,
- ObjectCode *owner)
-diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h
-index 7058ad355b6..c4681e364bd 100644
---- a/rts/LinkerInternals.h
-+++ b/rts/LinkerInternals.h
-@@ -433,6 +433,66 @@ resolveSymbolAddr (pathchar* buffer, int size,
- #define USE_CONTIGUOUS_MMAP 0
- #endif
-
-+/* Link objects into the lower 2Gb on x86_64 and AArch64. GHC assumes the
-+ * small memory model on this architecture (see gcc docs,
-+ * -mcmodel=small).
-+ *
-+ * MAP_32BIT not available on OpenBSD/amd64
-+ */
-+#if defined(MAP_32BIT) && (defined(x86_64_HOST_ARCH) || (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)))
-+#define MAP_LOW_MEM
-+#define TRY_MAP_32BIT MAP_32BIT
-+#else
-+#define TRY_MAP_32BIT 0
-+#endif
-+
-+#if defined(aarch64_HOST_ARCH)
-+// On AArch64 MAP_32BIT is not available but we are still bound by the small
-+// memory model. Consequently we still try using the MAP_LOW_MEM allocation
-+// strategy.
-+#define MAP_LOW_MEM
-+#endif
-+
-+/*
-+ * Note [MAP_LOW_MEM]
-+ * ~~~~~~~~~~~~~~~~~~
-+ * Due to the small memory model (see above), on x86_64 and AArch64 we have to
-+ * map all our non-PIC object files into the low 2Gb of the address space (why
-+ * 2Gb and not 4Gb? Because all addresses must be reachable using a 32-bit
-+ * signed PC-relative offset). On x86_64 Linux we can do this using the
-+ * MAP_32BIT flag to mmap(), however on other OSs (e.g. *BSD, see #2063, and
-+ * also on Linux inside Xen, see #2512), we can't do this. So on these
-+ * systems, we have to pick a base address in the low 2Gb of the address space
-+ * and try to allocate memory from there.
-+ *
-+ * The same holds for aarch64, where the default, even with PIC, model
-+ * is 4GB. The linker is free to emit AARCH64_ADR_PREL_PG_HI21
-+ * relocations.
-+ *
-+ * We pick a default address based on the OS, but also make this
-+ * configurable via an RTS flag (+RTS -xm)
-+ */
-+
-+#if defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)
-+// Try to use stg_upd_frame_info as the base. We need to be within +-4GB of that
-+// address, otherwise we violate the aarch64 memory model. Any object we load
-+// can potentially reference any of the ones we bake into the binary (and list)
-+// in RtsSymbols. Thus we'll need to be within +-4GB of those,
-+// stg_upd_frame_info is a good candidate as it's referenced often.
-+#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
-+#elif defined(x86_64_HOST_ARCH) && defined(mingw32_HOST_OS)
-+// On Windows (which now uses high-entropy ASLR by default) we need to ensure
-+// that we map code near the executable image. We use stg_upd_frame_info as a
-+// proxy for the image location.
-+#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
-+#elif defined(MAP_32BIT) || DEFAULT_LINKER_ALWAYS_PIC
-+// Try to use MAP_32BIT
-+#define LINKER_LOAD_BASE ((void *) 0x0)
-+#else
-+// A guess: 1 GB.
-+#define LINKER_LOAD_BASE ((void *) 0x40000000)
-+#endif
-+
- HsInt isAlreadyLoaded( pathchar *path );
- OStatus getObjectLoadStatus_ (pathchar *path);
- HsInt loadOc( ObjectCode* oc );
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index cd8751b3b04..6945f50a71b 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -149,6 +149,14 @@ The allocator is *not* thread-safe.
- /* Upper bound on the number of pages to keep in the free page pool */
- #define M32_MAX_FREE_PAGE_POOL_SIZE 64
-
-+/* A utility to verify that a given address is "acceptable" for use by m32. */
-+static bool
-+is_okay_address(void *p) {
-+ int8_t *here = LINKER_LOAD_BASE;
-+ ssize_t displacement = (int8_t *) p - here;
-+ return (displacement > -0x7fffffff) && (displacement < 0x7fffffff);
-+}
-+
- /**
- * Page header
- *
-@@ -161,8 +169,7 @@ struct m32_page_t {
- // unprotected_list or protected_list are linked together with this field.
- struct {
- uint32_t size;
-- uint32_t next; // this is a m32_page_t*, truncated to 32-bits. This is safe
-- // as we are only allocating in the bottom 32-bits
-+ struct m32_page_t *next;
- } filled_page;
-
- // Pages in the small-allocation nursery encode their current allocation
-@@ -179,10 +186,10 @@ struct m32_page_t {
- static void
- m32_filled_page_set_next(struct m32_page_t *page, struct m32_page_t *next)
- {
-- if (next > (struct m32_page_t *) 0xffffffff) {
-- barf("m32_filled_page_set_next: Page not in lower 32-bits");
-+ if (! is_okay_address(next)) {
-+ barf("m32_filled_page_set_next: Page not within 4GB of program text");
- }
-- page->filled_page.next = (uint32_t) (uintptr_t) next;
-+ page->filled_page.next = next;
- }
-
- static struct m32_page_t *
-@@ -246,8 +253,8 @@ m32_alloc_page(void)
- const size_t pgsz = getPageSize();
- const size_t map_sz = pgsz * M32_MAP_PAGES;
- uint8_t *chunk = mmapAnonForLinker(map_sz);
-- if (chunk + map_sz > (uint8_t *) 0xffffffff) {
-- barf("m32_alloc_page: failed to get allocation in lower 32-bits");
-+ if (! is_okay_address(chunk + map_sz)) {
-+ barf("m32_alloc_page: failed to allocate pages within 4GB of program text (got %p)", chunk);
- }
-
- #define GET_PAGE(i) ((struct m32_page_t *) (chunk + (i) * pgsz))
-@@ -393,9 +400,9 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
- if (page == NULL) {
- sysErrorBelch("m32_alloc: Failed to map pages for %zd bytes", size);
- return NULL;
-- } else if (page > (struct m32_page_t *) 0xffffffff) {
-- debugBelch("m32_alloc: warning: Allocation of %zd bytes resulted in pages above 4GB (%p)",
-- size, page);
-+ } else if (! is_okay_address(page)) {
-+ barf("m32_alloc: warning: Allocation of %zd bytes resulted in pages above 4GB (%p)",
-+ size, page);
- }
- page->filled_page.size = alsize + size;
- m32_allocator_push_filled_list(&alloc->unprotected_list, (struct m32_page_t *) page);
---
-GitLab
-
-
-From b15da5a9bcf837d53f46c8b3daea55e55b8e7f34 Mon Sep 17 00:00:00 2001
-From: GHC GitLab CI <ghc-ci(a)gitlab-haskell.org>
-Date: Fri, 28 Jan 2022 22:33:52 -0500
-Subject: [PATCH 03/13] rts: Generalize mmapForLinkerMarkExecutable
-
-Renamed to mprotectForLinker and allowed setting of arbitrary protection
-modes.
-
-(cherry picked from commit 86589b893c092ae900723e76848525f20f6cafbf)
----
- rts/ExecPage.c | 2 +-
- rts/Linker.c | 56 ++++++++++++++++++++++++++++++++-------
- rts/LinkerInternals.h | 10 ++++++-
- rts/linker/Elf.c | 2 +-
- rts/linker/M32Alloc.c | 2 +-
- rts/linker/MachO.c | 4 +--
- rts/linker/SymbolExtras.c | 2 +-
- 7 files changed, 61 insertions(+), 17 deletions(-)
-
-diff --git a/rts/ExecPage.c b/rts/ExecPage.c
-index 6f5b6e281ab..24d4d65bad4 100644
---- a/rts/ExecPage.c
-+++ b/rts/ExecPage.c
-@@ -15,7 +15,7 @@ ExecPage *allocateExecPage() {
- }
-
- void freezeExecPage(ExecPage *page) {
-- mmapForLinkerMarkExecutable(page, getPageSize());
-+ mprotectForLinker(page, getPageSize(), MEM_READ_EXECUTE);
- flushExec(getPageSize(), page);
- }
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 51d87d05bc3..225457f24a9 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -1048,6 +1048,17 @@ resolveSymbolAddr (pathchar* buffer, int size,
- #endif /* OBJFORMAT_PEi386 */
- }
-
-+static const char *memoryAccessDescription(MemoryAccess mode)
-+{
-+ switch (mode) {
-+ case MEM_NO_ACCESS: return "no-access";
-+ case MEM_READ_ONLY: return "read-only";
-+ case MEM_READ_WRITE: return "read-write";
-+ case MEM_READ_EXECUTE: return "read-execute";
-+ default: barf("invalid MemoryAccess");
-+ }
-+}
-+
- #if defined(mingw32_HOST_OS)
-
- //
-@@ -1068,16 +1079,29 @@ munmapForLinker (void *addr, size_t bytes, const char *caller)
- }
- }
-
-+/**
-+ * Change the allowed access modes of a region of memory previously allocated
-+ * with mmapAnonForLinker.
-+ */
- void
--mmapForLinkerMarkExecutable(void *start, size_t len)
-+mprotectForLinker(void *start, size_t len, MemoryAccess mode)
- {
- DWORD old;
- if (len == 0) {
- return;
- }
-- if (VirtualProtect(start, len, PAGE_EXECUTE_READ, &old) == 0) {
-- sysErrorBelch("mmapForLinkerMarkExecutable: failed to protect %zd bytes at %p",
-- len, start);
-+ DWORD prot;
-+ switch (mode) {
-+ case MEM_NO_ACCESS: prot = PAGE_NOACCESS; break;
-+ case MEM_READ_ONLY: prot = PAGE_READONLY; break;
-+ case MEM_READ_WRITE: prot = PAGE_READWRITE; break;
-+ case MEM_READ_EXECUTE: prot = PAGE_EXECUTE_READ; break;
-+ default: barf("invalid MemoryAccess");
-+ }
-+
-+ if (VirtualProtect(start, len, prot, &old) == 0) {
-+ sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-+ len, start, memoryAccessDescription(mode));
- ASSERT(false);
- }
- }
-@@ -1229,7 +1253,7 @@ void munmapForLinker (void *addr, size_t bytes, const char *caller)
- *
- * Consequently mmapForLinker now maps its memory with PROT_READ|PROT_WRITE.
- * After the linker has finished filling/relocating the mapping it must then
-- * call mmapForLinkerMarkExecutable on the sections of the mapping which
-+ * call mprotectForLinker on the sections of the mapping which
- * contain executable code.
- *
- * Note that the m32 allocator handles protection of its allocations. For this
-@@ -1245,16 +1269,28 @@ void munmapForLinker (void *addr, size_t bytes, const char *caller)
- * Mark an portion of a mapping previously reserved by mmapForLinker
- * as executable (but not writable).
- */
--void mmapForLinkerMarkExecutable(void *start, size_t len)
-+void mprotectForLinker(void *start, size_t len, MemoryAccess mode)
- {
- if (len == 0) {
- return;
- }
- IF_DEBUG(linker,
-- debugBelch("mmapForLinkerMarkExecutable: protecting %" FMT_Word
-- " bytes starting at %p\n", (W_)len, start));
-- if (mprotect(start, len, PROT_READ|PROT_EXEC) == -1) {
-- barf("mmapForLinkerMarkExecutable: mprotect: %s\n", strerror(errno));
-+ debugBelch("mprotectForLinker: protecting %" FMT_Word
-+ " bytes starting at %p as %s\n",
-+ (W_)len, start, memoryAccessDescription(mode)));
-+
-+ int prot;
-+ switch (mode) {
-+ case MEM_NO_ACCESS: prot = 0; break;
-+ case MEM_READ_ONLY: prot = PROT_READ; break;
-+ case MEM_READ_WRITE: prot = PROT_READ | PROT_WRITE; break;
-+ case MEM_READ_EXECUTE: prot = PROT_READ | PROT_EXEC; break;
-+ default: barf("invalid MemoryAccess");
-+ }
-+
-+ if (mprotect(start, len, prot) == -1) {
-+ sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-+ len, start, memoryAccessDescription(mode));
- }
- }
- #endif
-diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h
-index c4681e364bd..3e6b3df9dab 100644
---- a/rts/LinkerInternals.h
-+++ b/rts/LinkerInternals.h
-@@ -374,9 +374,17 @@ void exitLinker( void );
- void freeObjectCode (ObjectCode *oc);
- SymbolAddr* loadSymbol(SymbolName *lbl, RtsSymbolInfo *pinfo);
-
-+/** Access modes for mprotectForLinker */
-+typedef enum {
-+ MEM_NO_ACCESS,
-+ MEM_READ_ONLY,
-+ MEM_READ_WRITE,
-+ MEM_READ_EXECUTE,
-+} MemoryAccess;
-+
- void *mmapAnonForLinker (size_t bytes);
- void *mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset);
--void mmapForLinkerMarkExecutable (void *start, size_t len);
-+void mprotectForLinker(void *start, size_t len, MemoryAccess mode);
- void munmapForLinker (void *addr, size_t bytes, const char *caller);
-
- void addProddableBlock ( ObjectCode* oc, void* start, int size );
-diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
-index f6a1754257a..980d4b80f05 100644
---- a/rts/linker/Elf.c
-+++ b/rts/linker/Elf.c
-@@ -1877,7 +1877,7 @@ ocMprotect_Elf( ObjectCode *oc )
- if (section->alloc != SECTION_M32) {
- // N.B. m32 handles protection of its allocations during
- // flushing.
-- mmapForLinkerMarkExecutable(section->mapped_start, section->mapped_size);
-+ mprotectForLinker(section->mapped_start, section->mapped_size, MEM_READ_EXECUTE);
- }
- break;
- default:
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index 6945f50a71b..a40cc701c06 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -366,7 +366,7 @@ m32_allocator_flush(m32_allocator *alloc) {
- while (page != NULL) {
- struct m32_page_t *next = m32_filled_page_get_next(page);
- m32_allocator_push_filled_list(&alloc->protected_list, page);
-- mmapForLinkerMarkExecutable(page, page->filled_page.size);
-+ mprotectForLinker(page, page->filled_page.size, MEM_READ_EXECUTE);
- page = next;
- }
- alloc->unprotected_list = NULL;
-diff --git a/rts/linker/MachO.c b/rts/linker/MachO.c
-index 1a18ee6a740..d037c82f458 100644
---- a/rts/linker/MachO.c
-+++ b/rts/linker/MachO.c
-@@ -1428,7 +1428,7 @@ ocMprotect_MachO( ObjectCode *oc )
- if(segment->size == 0) continue;
-
- if(segment->prot == SEGMENT_PROT_RX) {
-- mmapForLinkerMarkExecutable(segment->start, segment->size);
-+ mprotectForLinker(segment->start, segment->size, MEM_READ_EXECUTE);
- }
- }
-
-@@ -1443,7 +1443,7 @@ ocMprotect_MachO( ObjectCode *oc )
- if(section->alloc == SECTION_M32) continue;
- switch (section->kind) {
- case SECTIONKIND_CODE_OR_RODATA: {
-- mmapForLinkerMarkExecutable(section->mapped_start, section->mapped_size);
-+ mprotectForLinker(section->mapped_start, section->mapped_size, MEM_READ_EXECUTE);
- break;
- }
- default:
-diff --git a/rts/linker/SymbolExtras.c b/rts/linker/SymbolExtras.c
-index ddb58e4a4e8..5c04e9b3a87 100644
---- a/rts/linker/SymbolExtras.c
-+++ b/rts/linker/SymbolExtras.c
-@@ -142,7 +142,7 @@ void ocProtectExtras(ObjectCode* oc)
- * non-executable.
- */
- } else if (USE_CONTIGUOUS_MMAP || RtsFlags.MiscFlags.linkerAlwaysPic) {
-- mmapForLinkerMarkExecutable(oc->symbol_extras, sizeof(SymbolExtra) * oc->n_symbol_extras);
-+ mprotectForLinker(oc->symbol_extras, sizeof(SymbolExtra) * oc->n_symbol_extras, MEM_READ_EXECUTE);
- } else {
- /*
- * The symbol extras were allocated via m32. They will be protected when
---
-GitLab
-
-
-From aa3e68222dda906d3332e79cab74144b48241e20 Mon Sep 17 00:00:00 2001
-From: GHC GitLab CI <ghc-ci(a)gitlab-haskell.org>
-Date: Fri, 28 Jan 2022 21:02:23 -0500
-Subject: [PATCH 04/13] rts/m32: Add consistency-checking infrastructure
-
-This adds logic, enabled in the `-debug` RTS for checking the internal
-consistency of the m32 allocator. This area has always made me a bit
-nervous so this should help me sleep better at night in exchange for
-very little overhead.
-
-(cherry picked from commit 88ef270aa0cecf2463396f93a273656de9df9433)
----
- rts/linker/M32Alloc.c | 107 +++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 96 insertions(+), 11 deletions(-)
-
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index a40cc701c06..7fcf2fc0e02 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -135,6 +135,11 @@ The allocator is *not* thread-safe.
-
- */
-
-+// Enable internal consistency checking
-+#if defined(DEBUG)
-+#define M32_DEBUG
-+#endif
-+
- #define ROUND_UP(x,size) ((x + size - 1) & ~(size - 1))
- #define ROUND_DOWN(x,size) (x & ~(size - 1))
-
-@@ -157,6 +162,12 @@ is_okay_address(void *p) {
- return (displacement > -0x7fffffff) && (displacement < 0x7fffffff);
- }
-
-+enum m32_page_type {
-+ FREE_PAGE, // a page in the free page pool
-+ NURSERY_PAGE, // a nursery page
-+ FILLED_PAGE, // a page on the filled list
-+};
-+
- /**
- * Page header
- *
-@@ -181,13 +192,55 @@ struct m32_page_t {
- struct m32_page_t *next;
- } free_page;
- };
-+#if defined(M32_DEBUG)
-+ enum m32_page_type type;
-+#endif
-+ uint8_t contents[];
- };
-
-+/* Consistency-checking infrastructure */
-+#if defined(M32_DEBUG)
-+static void ASSERT_PAGE_ALIGNED(void *page) {
-+ const size_t pgsz = getPageSize();
-+ if ((((uintptr_t) page) & (pgsz-1)) != 0) {
-+ barf("m32: invalid page alignment");
-+ }
-+}
-+static void ASSERT_VALID_PAGE(struct m32_page_t *page) {
-+ ASSERT_PAGE_ALIGNED(page);
-+ switch (page->type) {
-+ case FREE_PAGE:
-+ case NURSERY_PAGE:
-+ case FILLED_PAGE:
-+ break;
-+ default:
-+ barf("m32: invalid page state\n");
-+ }
-+}
-+static void ASSERT_PAGE_TYPE(struct m32_page_t *page, enum m32_page_type ty) {
-+ if (page->type != ty) { barf("m32: unexpected page type"); }
-+}
-+static void ASSERT_PAGE_NOT_FREE(struct m32_page_t *page) {
-+ if (page->type == FREE_PAGE) { barf("m32: unexpected free page"); }
-+}
-+static void SET_PAGE_TYPE(struct m32_page_t *page, enum m32_page_type ty) {
-+ page->type = ty;
-+}
-+#else
-+#define ASSERT_PAGE_ALIGNED(page)
-+#define ASSERT_VALID_PAGE(page)
-+#define ASSERT_PAGE_NOT_FREE(page)
-+#define ASSERT_PAGE_TYPE(page, ty)
-+#define SET_PAGE_TYPE(page, ty)
-+#endif
-+
-+/* Accessors */
- static void
- m32_filled_page_set_next(struct m32_page_t *page, struct m32_page_t *next)
- {
-- if (! is_okay_address(next)) {
-- barf("m32_filled_page_set_next: Page not within 4GB of program text");
-+ ASSERT_PAGE_TYPE(page, FILLED_PAGE);
-+ if (next != NULL && ! is_okay_address(next)) {
-+ barf("m32_filled_page_set_next: Page %p not within 4GB of program text", next);
- }
- page->filled_page.next = next;
- }
-@@ -195,7 +248,8 @@ m32_filled_page_set_next(struct m32_page_t *page, struct m32_page_t *next)
- static struct m32_page_t *
- m32_filled_page_get_next(struct m32_page_t *page)
- {
-- return (struct m32_page_t *) (uintptr_t) page->filled_page.next;
-+ ASSERT_PAGE_TYPE(page, FILLED_PAGE);
-+ return (struct m32_page_t *) (uintptr_t) page->filled_page.next;
- }
-
- /**
-@@ -220,21 +274,42 @@ struct m32_allocator_t {
- * We keep a small pool of free pages around to avoid fragmentation.
- */
- struct m32_page_t *m32_free_page_pool = NULL;
-+/** Number of pages in free page pool */
- unsigned int m32_free_page_pool_size = 0;
--// TODO
-
- /**
-- * Free a page or, if possible, place it in the free page pool.
-+ * Free a filled page or, if possible, place it in the free page pool.
- */
- static void
- m32_release_page(struct m32_page_t *page)
- {
-- if (m32_free_page_pool_size < M32_MAX_FREE_PAGE_POOL_SIZE) {
-- page->free_page.next = m32_free_page_pool;
-- m32_free_page_pool = page;
-- m32_free_page_pool_size ++;
-- } else {
-- munmapForLinker((void *) page, getPageSize(), "m32_release_page");
-+ // Some sanity-checking
-+ ASSERT_VALID_PAGE(page);
-+ ASSERT_PAGE_NOT_FREE(page);
-+
-+ const size_t pgsz = getPageSize();
-+ ssize_t sz = page->filled_page.size;
-+ IF_DEBUG(sanity, memset(page, 0xaa, sz));
-+
-+ // Break the page, which may be a large multi-page allocation, into
-+ // individual pages for the page pool
-+ while (sz > 0) {
-+ if (m32_free_page_pool_size < M32_MAX_FREE_PAGE_POOL_SIZE) {
-+ mprotectForLinker(page, pgsz, MEM_READ_WRITE);
-+ SET_PAGE_TYPE(page, FREE_PAGE);
-+ page->free_page.next = m32_free_page_pool;
-+ m32_free_page_pool = page;
-+ m32_free_page_pool_size ++;
-+ } else {
-+ break;
-+ }
-+ page = (struct m32_page_t *) ((uint8_t *) page + pgsz);
-+ sz -= pgsz;
-+ }
-+
-+ // The free page pool is full, release the rest back to the system
-+ if (sz > 0) {
-+ munmapForLinker((void *) page, ROUND_UP(sz, pgsz), "m32_release_page");
- }
- }
-
-@@ -256,10 +331,12 @@ m32_alloc_page(void)
- if (! is_okay_address(chunk + map_sz)) {
- barf("m32_alloc_page: failed to allocate pages within 4GB of program text (got %p)", chunk);
- }
-+ IF_DEBUG(sanity, memset(chunk, 0xaa, map_sz));
-
- #define GET_PAGE(i) ((struct m32_page_t *) (chunk + (i) * pgsz))
- for (int i=0; i < M32_MAP_PAGES; i++) {
- struct m32_page_t *page = GET_PAGE(i);
-+ SET_PAGE_TYPE(page, FREE_PAGE);
- page->free_page.next = GET_PAGE(i+1);
- }
-
-@@ -272,6 +349,7 @@ m32_alloc_page(void)
- struct m32_page_t *page = m32_free_page_pool;
- m32_free_page_pool = page->free_page.next;
- m32_free_page_pool_size --;
-+ ASSERT_PAGE_TYPE(page, FREE_PAGE);
- return page;
- }
-
-@@ -297,6 +375,7 @@ static void
- m32_allocator_unmap_list(struct m32_page_t *head)
- {
- while (head != NULL) {
-+ ASSERT_VALID_PAGE(head);
- struct m32_page_t *next = m32_filled_page_get_next(head);
- munmapForLinker((void *) head, head->filled_page.size, "m32_allocator_unmap_list");
- head = next;
-@@ -355,6 +434,7 @@ m32_allocator_flush(m32_allocator *alloc) {
- m32_release_page(alloc->pages[i]);
- } else {
- // the page contains data, move it to the unprotected list
-+ SET_PAGE_TYPE(alloc->pages[i], FILLED_PAGE);
- m32_allocator_push_filled_list(&alloc->unprotected_list, alloc->pages[i]);
- }
- alloc->pages[i] = NULL;
-@@ -364,6 +444,7 @@ m32_allocator_flush(m32_allocator *alloc) {
- if (alloc->executable) {
- struct m32_page_t *page = alloc->unprotected_list;
- while (page != NULL) {
-+ ASSERT_PAGE_TYPE(page, FILLED_PAGE);
- struct m32_page_t *next = m32_filled_page_get_next(page);
- m32_allocator_push_filled_list(&alloc->protected_list, page);
- mprotectForLinker(page, page->filled_page.size, MEM_READ_EXECUTE);
-@@ -404,6 +485,7 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
- barf("m32_alloc: warning: Allocation of %zd bytes resulted in pages above 4GB (%p)",
- size, page);
- }
-+ SET_PAGE_TYPE(page, FILLED_PAGE);
- page->filled_page.size = alsize + size;
- m32_allocator_push_filled_list(&alloc->unprotected_list, (struct m32_page_t *) page);
- return (char*) page + alsize;
-@@ -422,6 +504,8 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
- }
-
- // page can contain the buffer?
-+ ASSERT_VALID_PAGE(alloc->pages[i]);
-+ ASSERT_PAGE_TYPE(alloc->pages[i], NURSERY_PAGE);
- size_t alsize = ROUND_UP(alloc->pages[i]->current_size, alignment);
- if (size <= pgsz - alsize) {
- void * addr = (char*)alloc->pages[i] + alsize;
-@@ -449,6 +533,7 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
- if (page == NULL) {
- return NULL;
- }
-+ SET_PAGE_TYPE(page, NURSERY_PAGE);
- alloc->pages[empty] = page;
- // Add header size and padding
- alloc->pages[empty]->current_size =
---
-GitLab
-
-
-From 4671c81888a8a3bd09140094cffa98ca8d83a3d7 Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Sat, 29 Jan 2022 10:41:18 -0500
-Subject: [PATCH 05/13] rts/m32: Free large objects back to the free page pool
-
-Not entirely convinced that this is worth doing.
-
-(cherry picked from commit 2d6f0b17e3ce9326abd43e187910db0a5e519efa)
----
- rts/linker/M32Alloc.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index 7fcf2fc0e02..6f1f8492d71 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -377,7 +377,7 @@ m32_allocator_unmap_list(struct m32_page_t *head)
- while (head != NULL) {
- ASSERT_VALID_PAGE(head);
- struct m32_page_t *next = m32_filled_page_get_next(head);
-- munmapForLinker((void *) head, head->filled_page.size, "m32_allocator_unmap_list");
-+ m32_release_page(head);
- head = next;
- }
- }
-@@ -392,10 +392,9 @@ void m32_allocator_free(m32_allocator *alloc)
- m32_allocator_unmap_list(alloc->protected_list);
-
- /* free partially-filled pages */
-- const size_t pgsz = getPageSize();
- for (int i=0; i < M32_MAX_PAGES; i++) {
- if (alloc->pages[i]) {
-- munmapForLinker(alloc->pages[i], pgsz, "m32_allocator_free");
-+ m32_release_page(alloc->pages[i]);
- }
- }
-
---
-GitLab
-
-
-From 13e7ebd81fa8144a756e327e24612e2e6a4cd074 Mon Sep 17 00:00:00 2001
-From: GHC GitLab CI <ghc-ci(a)gitlab-haskell.org>
-Date: Fri, 28 Jan 2022 21:05:53 -0500
-Subject: [PATCH 06/13] rts/m32: Increase size of free page pool to 256 pages
-
-(cherry picked from commit e96f50beec172f5ff95769842cb9be724363311c)
----
- rts/linker/M32Alloc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index 6f1f8492d71..46bf72f52ed 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -152,7 +152,7 @@ The allocator is *not* thread-safe.
- /* How many pages should we map at once when re-filling the free page pool? */
- #define M32_MAP_PAGES 32
- /* Upper bound on the number of pages to keep in the free page pool */
--#define M32_MAX_FREE_PAGE_POOL_SIZE 64
-+#define M32_MAX_FREE_PAGE_POOL_SIZE 256
-
- /* A utility to verify that a given address is "acceptable" for use by m32. */
- static bool
---
-GitLab
-
-
-From 5c31cd4ce13a980320fc44fd62c6984c7ed84ed2 Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Thu, 3 Feb 2022 10:06:35 -0500
-Subject: [PATCH 07/13] rts: Dump memory map on memory mapping failures
-
-Fixes #20992.
-
-(cherry picked from commit fc083b480adedf26d47f880402f111680ec34183)
----
- rts/Linker.c | 3 +
- rts/MemoryMap.c | 138 ++++++++++++++++++++++++++++++++++++++++++
- rts/MemoryMap.h | 13 ++++
- rts/linker/M32Alloc.c | 3 +
- rts/rts.cabal.in | 1 +
- 5 files changed, 158 insertions(+)
- create mode 100644 rts/MemoryMap.c
- create mode 100644 rts/MemoryMap.h
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 225457f24a9..4a59f187f24 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -33,6 +33,7 @@
- #include "linker/SymbolExtras.h"
- #include "PathUtils.h"
- #include "CheckUnload.h" // createOCSectionIndices
-+#include "MemoryMap.h"
-
- #if !defined(mingw32_HOST_OS)
- #include "posix/Signals.h"
-@@ -1146,6 +1147,7 @@ mmap_again:
- MAP_PRIVATE|tryMap32Bit|fixed|flags, fd, offset);
-
- if (result == MAP_FAILED) {
-+ reportMemoryMap();
- sysErrorBelch("mmap %" FMT_Word " bytes at %p",(W_)size,map_addr);
- errorBelch("Try specifying an address with +RTS -xm<addr> -RTS");
- return NULL;
-@@ -1168,6 +1170,7 @@ mmap_again:
- fixed = MAP_FIXED;
- goto mmap_again;
- #else
-+ reportMemoryMap();
- errorBelch("mmapForLinker: failed to mmap() memory below 2Gb; "
- "asked for %lu bytes at %p. "
- "Try specifying an address with +RTS -xm<addr> -RTS",
-diff --git a/rts/MemoryMap.c b/rts/MemoryMap.c
-new file mode 100644
-index 00000000000..99273b7dc69
---- /dev/null
-+++ b/rts/MemoryMap.c
-@@ -0,0 +1,138 @@
-+/* -----------------------------------------------------------------------------
-+ *
-+ * (c) The GHC Team, 1998-2004
-+ *
-+ * Memory-map dumping.
-+ *
-+ * This is intended to be used for reporting the process memory-map
-+ * in diagnostics when the RTS fails to map a block of memory.
-+ *
-+ * ---------------------------------------------------------------------------*/
-+
-+#include "PosixSource.h"
-+#include "Rts.h"
-+
-+#include <string.h>
-+
-+#if defined(darwin_HOST_OS)
-+#include <mach/mach.h>
-+#include <mach/mach_vm.h>
-+#include <mach/vm_region.h>
-+#include <mach/vm_statistics.h>
-+#endif
-+
-+#include "MemoryMap.h"
-+
-+#if defined(mingw32_HOST_OS)
-+
-+void reportMemoryMap() {
-+ debugBelch("\nMemory map:\n");
-+ uint8_t *addr = NULL;
-+ while (true) {
-+ MEMORY_BASIC_INFORMATION info;
-+ int res = VirtualQuery(addr, &info, sizeof(info));
-+ if (!res && GetLastError() == ERROR_INVALID_PARAMETER) {
-+ return;
-+ } else if (!res) {
-+ sysErrorBelch("VirtualQuery failed");
-+ return;
-+ }
-+
-+ if (info.State & MEM_FREE) {
-+ // free range
-+ } else {
-+ const char *protection;
-+ switch (info.Protect) {
-+ case PAGE_EXECUTE: protection = "--x"; break;
-+ case PAGE_EXECUTE_READ: protection = "r-x"; break;
-+ case PAGE_EXECUTE_READWRITE: protection = "rwx"; break;
-+ case PAGE_EXECUTE_WRITECOPY: protection = "rcx"; break;
-+ case PAGE_NOACCESS: protection = "---"; break;
-+ case PAGE_READONLY: protection = "r--"; break;
-+ case PAGE_READWRITE: protection = "rw-"; break;
-+ case PAGE_WRITECOPY: protection = "rc-"; break;
-+ default: protection = "???"; break;
-+ }
-+
-+ const char *type;
-+ switch (info.Type) {
-+ case MEM_IMAGE: type = "image"; break;
-+ case MEM_MAPPED: type = "mapped"; break;
-+ case MEM_PRIVATE: type = "private"; break;
-+ default: type = "unknown"; break;
-+ }
-+
-+ debugBelch("%08llx-%08llx %8zuK %3s (%s)\n",
-+ (uintptr_t) info.BaseAddress,
-+ (uintptr_t) info.BaseAddress + info.RegionSize,
-+ (size_t) info.RegionSize,
-+ protection, type);
-+ }
-+ addr = (uint8_t *) info.BaseAddress + info.RegionSize;
-+ }
-+}
-+
-+#elif defined(darwin_HOST_OS)
-+
-+void reportMemoryMap() {
-+ // Inspired by MacFUSE /proc implementation
-+ debugBelch("\nMemory map:\n");
-+ while (true) {
-+ vm_size_t vmsize;
-+ vm_address_t address;
-+ vm_region_basic_info_data_t info;
-+ vm_region_flavor_t flavor = VM_REGION_BASIC_INFO;
-+ memory_object_name_t object;
-+ mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT;
-+ kern_return_t kr =
-+ mach_vm_region(mach_task_self(), &address, &vmsize, flavor,
-+ (vm_region_info_t)&info, &info_count, &object);
-+ if (kr == KERN_SUCCESS) {
-+ debugBelch("%08lx-%08lx %8zuK %c%c%c/%c%c%c\n",
-+ address, (address + vmsize), (vmsize >> 10),
-+ (info.protection & VM_PROT_READ) ? 'r' : '-',
-+ (info.protection & VM_PROT_WRITE) ? 'w' : '-',
-+ (info.protection & VM_PROT_EXECUTE) ? 'x' : '-',
-+ (info.max_protection & VM_PROT_READ) ? 'r' : '-',
-+ (info.max_protection & VM_PROT_WRITE) ? 'w' : '-',
-+ (info.max_protection & VM_PROT_EXECUTE) ? 'x' : '-');
-+ address += vmsize;
-+ } else if (kr == KERN_INVALID_ADDRESS) {
-+ // We presumably reached the end of address space
-+ break;
-+ } else {
-+ debugBelch(" Error: %s\n", mach_error_string(kr));
-+ break;
-+ }
-+ }
-+}
-+
-+#else
-+
-+// Linux et al.
-+void reportMemoryMap() {
-+ debugBelch("\nMemory map:\n");
-+ FILE *f = fopen("/proc/self/maps", "r");
-+ if (f == NULL) {
-+ debugBelch(" Could not open /proc/self/maps\n");
-+ return;
-+ }
-+
-+ while (true) {
-+ char buf[256];
-+ size_t n = fread(buf, 1, sizeof(buf)-1, f);
-+ if (n <= 0) {
-+ debugBelch(" Error: %s\n", strerror(errno));
-+ break;
-+ }
-+ buf[n] = '\0';
-+ debugBelch("%s", buf);
-+ if (n < sizeof(buf)-1) {
-+ break;
-+ }
-+ }
-+ debugBelch("\n");
-+ fclose(f);
-+}
-+
-+#endif
-diff --git a/rts/MemoryMap.h b/rts/MemoryMap.h
-new file mode 100644
-index 00000000000..7d2c4a58b1d
---- /dev/null
-+++ b/rts/MemoryMap.h
-@@ -0,0 +1,13 @@
-+/* -----------------------------------------------------------------------------
-+ *
-+ * (c) The GHC Team, 1998-2004
-+ *
-+ * Memory-map dumping.
-+ *
-+ * This is intended to be used for reporting the process memory-map
-+ * in diagnostics when the RTS fails to map a block of memory.
-+ *
-+ * ---------------------------------------------------------------------------*/
-+
-+void reportMemoryMap(void);
-+
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index 46bf72f52ed..c0462d774b1 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -11,6 +11,7 @@
- #include "RtsUtils.h"
- #include "linker/M32Alloc.h"
- #include "LinkerInternals.h"
-+#include "MemoryMap.h"
-
- #include <inttypes.h>
- #include <stdlib.h>
-@@ -329,6 +330,7 @@ m32_alloc_page(void)
- const size_t map_sz = pgsz * M32_MAP_PAGES;
- uint8_t *chunk = mmapAnonForLinker(map_sz);
- if (! is_okay_address(chunk + map_sz)) {
-+ reportMemoryMap();
- barf("m32_alloc_page: failed to allocate pages within 4GB of program text (got %p)", chunk);
- }
- IF_DEBUG(sanity, memset(chunk, 0xaa, map_sz));
-@@ -481,6 +483,7 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
- sysErrorBelch("m32_alloc: Failed to map pages for %zd bytes", size);
- return NULL;
- } else if (! is_okay_address(page)) {
-+ reportMemoryMap();
- barf("m32_alloc: warning: Allocation of %zd bytes resulted in pages above 4GB (%p)",
- size, page);
- }
-diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
-index a2acf27cb5b..ed93800e574 100644
---- a/rts/rts.cabal.in
-+++ b/rts/rts.cabal.in
-@@ -475,6 +475,7 @@ library
- Libdw.c
- LibdwPool.c
- Linker.c
-+ MemoryMap.c
- Messages.c
- OldARMAtomic.c
- PathUtils.c
---
-GitLab
-
-
-From 268fbed33274f1ec1c4ff02b1afe2c55a4a9916a Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Thu, 28 Apr 2022 23:03:32 -0400
-Subject: [PATCH 08/13] rts/m32: Fix assertion failure
-
-This fixes an assertion failure in the m32 allocator due to the
-imprecisely specified preconditions of `m32_allocator_push_filled_list`.
-Specifically, the caller must ensure that the page type is set to filled
-prior to calling `m32_allocator_push_filled_list`.
-
-While this issue did result in an assertion failure in the debug RTS,
-the issue is in fact benign.
-
-(cherry picked from commit 37825ce283b6dbcb532f51fade090a69afc2d078)
----
- rts/linker/M32Alloc.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index c0462d774b1..baec1039d5f 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -409,6 +409,8 @@ void m32_allocator_free(m32_allocator *alloc)
- static void
- m32_allocator_push_filled_list(struct m32_page_t **head, struct m32_page_t *page)
- {
-+ ASSERT_PAGE_TYPE(page, FILLED_PAGE);
-+ // N.B. it's the caller's responsibility to set the pagetype to FILLED_PAGE
- m32_filled_page_set_next(page, *head);
- *head = page;
- }
-@@ -525,6 +527,7 @@ m32_alloc(struct m32_allocator_t *alloc, size_t size, size_t alignment)
-
- // If we haven't found an empty page, flush the most filled one
- if (empty == -1) {
-+ SET_PAGE_TYPE(alloc->pages[most_filled], FILLED_PAGE);
- m32_allocator_push_filled_list(&alloc->unprotected_list, alloc->pages[most_filled]);
- alloc->pages[most_filled] = NULL;
- empty = most_filled;
---
-GitLab
-
-
-From c8733945501ca6622f091a6f696de139bc5669e5 Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Mon, 7 Feb 2022 16:15:41 -0500
-Subject: [PATCH 09/13] rts: Rename MemoryMap.[ch] -> ReportMemoryMap.[ch]
-
-(cherry picked from commit 3df06922f03191310ebee0547de1782eeb6bda67)
----
- rts/Linker.c | 2 +-
- rts/{MemoryMap.c => ReportMemoryMap.c} | 2 +-
- rts/{MemoryMap.h => ReportMemoryMap.h} | 0
- rts/linker/M32Alloc.c | 2 +-
- rts/rts.cabal.in | 2 +-
- 5 files changed, 4 insertions(+), 4 deletions(-)
- rename rts/{MemoryMap.c => ReportMemoryMap.c} (99%)
- rename rts/{MemoryMap.h => ReportMemoryMap.h} (100%)
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 4a59f187f24..55f8621e2cd 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -33,7 +33,7 @@
- #include "linker/SymbolExtras.h"
- #include "PathUtils.h"
- #include "CheckUnload.h" // createOCSectionIndices
--#include "MemoryMap.h"
-+#include "ReportMemoryMap.h"
-
- #if !defined(mingw32_HOST_OS)
- #include "posix/Signals.h"
-diff --git a/rts/MemoryMap.c b/rts/ReportMemoryMap.c
-similarity index 99%
-rename from rts/MemoryMap.c
-rename to rts/ReportMemoryMap.c
-index 99273b7dc69..c30c80070ee 100644
---- a/rts/MemoryMap.c
-+++ b/rts/ReportMemoryMap.c
-@@ -21,7 +21,7 @@
- #include <mach/vm_statistics.h>
- #endif
-
--#include "MemoryMap.h"
-+#include "ReportMemoryMap.h"
-
- #if defined(mingw32_HOST_OS)
-
-diff --git a/rts/MemoryMap.h b/rts/ReportMemoryMap.h
-similarity index 100%
-rename from rts/MemoryMap.h
-rename to rts/ReportMemoryMap.h
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index baec1039d5f..b0a6ccfd58f 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -11,7 +11,7 @@
- #include "RtsUtils.h"
- #include "linker/M32Alloc.h"
- #include "LinkerInternals.h"
--#include "MemoryMap.h"
-+#include "ReportMemoryMap.h"
-
- #include <inttypes.h>
- #include <stdlib.h>
-diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
-index ed93800e574..77f3ee989dd 100644
---- a/rts/rts.cabal.in
-+++ b/rts/rts.cabal.in
-@@ -475,7 +475,7 @@ library
- Libdw.c
- LibdwPool.c
- Linker.c
-- MemoryMap.c
-+ ReportMemoryMap.c
- Messages.c
- OldARMAtomic.c
- PathUtils.c
---
-GitLab
-
-
-From 49e546b73bcef8cbab310685fd3d05f6b1d2a294 Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Mon, 7 Feb 2022 16:21:50 -0500
-Subject: [PATCH 10/13] rts: Move mmapForLinker and friends to linker/MMap.c
-
-They are not particularly related to linking.
-
-(cherry picked from commit e219ac826b05db833531028e0663f62f12eff010)
----
- rts/ExecPage.c | 2 +-
- rts/Linker.c | 252 +--------------------------------
- rts/LinkerInternals.h | 88 ------------
- rts/linker/Elf.c | 1 +
- rts/linker/LoadArchive.c | 1 +
- rts/linker/M32Alloc.c | 2 +-
- rts/linker/MMap.c | 290 ++++++++++++++++++++++++++++++++++++++
- rts/linker/MMap.h | 79 +++++++++++
- rts/linker/SymbolExtras.c | 1 +
- rts/linker/elf_got.c | 1 +
- rts/rts.cabal.in | 1 +
- 11 files changed, 377 insertions(+), 341 deletions(-)
- create mode 100644 rts/linker/MMap.c
- create mode 100644 rts/linker/MMap.h
-
-diff --git a/rts/ExecPage.c b/rts/ExecPage.c
-index 24d4d65bad4..0f83c8e1f59 100644
---- a/rts/ExecPage.c
-+++ b/rts/ExecPage.c
-@@ -6,8 +6,8 @@
- */
-
- #include "Rts.h"
--#include "LinkerInternals.h"
- #include "sm/OSMem.h"
-+#include "linker/MMap.h"
-
- ExecPage *allocateExecPage() {
- ExecPage *page = (ExecPage *) mmapAnonForLinker(getPageSize());
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 55f8621e2cd..0d836a37a46 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -31,6 +31,7 @@
- #include "linker/M32Alloc.h"
- #include "linker/CacheFlush.h"
- #include "linker/SymbolExtras.h"
-+#include "linker/MMap.h"
- #include "PathUtils.h"
- #include "CheckUnload.h" // createOCSectionIndices
- #include "ReportMemoryMap.h"
-@@ -199,8 +200,6 @@ Mutex linker_mutex;
- /* Generic wrapper function to try and Resolve and RunInit oc files */
- int ocTryLoad( ObjectCode* oc );
-
--static void *mmap_32bit_base = LINKER_LOAD_BASE;
--
- static void ghciRemoveSymbolTable(StrHashTable *table, const SymbolName* key,
- ObjectCode *owner)
- {
-@@ -1049,255 +1048,6 @@ resolveSymbolAddr (pathchar* buffer, int size,
- #endif /* OBJFORMAT_PEi386 */
- }
-
--static const char *memoryAccessDescription(MemoryAccess mode)
--{
-- switch (mode) {
-- case MEM_NO_ACCESS: return "no-access";
-- case MEM_READ_ONLY: return "read-only";
-- case MEM_READ_WRITE: return "read-write";
-- case MEM_READ_EXECUTE: return "read-execute";
-- default: barf("invalid MemoryAccess");
-- }
--}
--
--#if defined(mingw32_HOST_OS)
--
--//
--// Returns NULL on failure.
--//
--void *
--mmapAnonForLinker (size_t bytes)
--{
-- return VirtualAlloc(NULL, bytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
--}
--
--void
--munmapForLinker (void *addr, size_t bytes, const char *caller)
--{
-- if (VirtualFree(addr, 0, MEM_RELEASE) == 0) {
-- sysErrorBelch("munmapForLinker: %s: Failed to unmap %zd bytes at %p",
-- caller, bytes, addr);
-- }
--}
--
--/**
-- * Change the allowed access modes of a region of memory previously allocated
-- * with mmapAnonForLinker.
-- */
--void
--mprotectForLinker(void *start, size_t len, MemoryAccess mode)
--{
-- DWORD old;
-- if (len == 0) {
-- return;
-- }
-- DWORD prot;
-- switch (mode) {
-- case MEM_NO_ACCESS: prot = PAGE_NOACCESS; break;
-- case MEM_READ_ONLY: prot = PAGE_READONLY; break;
-- case MEM_READ_WRITE: prot = PAGE_READWRITE; break;
-- case MEM_READ_EXECUTE: prot = PAGE_EXECUTE_READ; break;
-- default: barf("invalid MemoryAccess");
-- }
--
-- if (VirtualProtect(start, len, prot, &old) == 0) {
-- sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-- len, start, memoryAccessDescription(mode));
-- ASSERT(false);
-- }
--}
--
--#elif RTS_LINKER_USE_MMAP
--//
--// Returns NULL on failure.
--//
--void *
--mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset)
--{
-- void *map_addr = NULL;
-- void *result;
-- size_t size;
-- uint32_t tryMap32Bit = RtsFlags.MiscFlags.linkerAlwaysPic
-- ? 0
-- : TRY_MAP_32BIT;
-- static uint32_t fixed = 0;
--
-- IF_DEBUG(linker, debugBelch("mmapForLinker: start\n"));
-- size = roundUpToPage(bytes);
--
--#if defined(MAP_LOW_MEM)
--mmap_again:
--#endif
--
-- if (mmap_32bit_base != NULL) {
-- map_addr = mmap_32bit_base;
-- }
--
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: \tprotection %#0x\n", prot));
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: \tflags %#0x\n",
-- MAP_PRIVATE | tryMap32Bit | fixed | flags));
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: \tsize %#0zx\n", bytes));
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: \tmap_addr %p\n", map_addr));
--
-- result = mmap(map_addr, size, prot,
-- MAP_PRIVATE|tryMap32Bit|fixed|flags, fd, offset);
--
-- if (result == MAP_FAILED) {
-- reportMemoryMap();
-- sysErrorBelch("mmap %" FMT_Word " bytes at %p",(W_)size,map_addr);
-- errorBelch("Try specifying an address with +RTS -xm<addr> -RTS");
-- return NULL;
-- }
--
--#if defined(MAP_LOW_MEM)
-- if (RtsFlags.MiscFlags.linkerAlwaysPic) {
-- /* make no attempt at mapping low memory if we are assuming PIC */
-- } else if (mmap_32bit_base != NULL) {
-- if (result != map_addr) {
-- if ((W_)result > 0x80000000) {
-- // oops, we were given memory over 2Gb
-- munmap(result,size);
--#if defined(freebsd_HOST_OS) || \
-- defined(kfreebsdgnu_HOST_OS) || \
-- defined(dragonfly_HOST_OS)
-- // Some platforms require MAP_FIXED. This is normally
-- // a bad idea, because MAP_FIXED will overwrite
-- // existing mappings.
-- fixed = MAP_FIXED;
-- goto mmap_again;
--#else
-- reportMemoryMap();
-- errorBelch("mmapForLinker: failed to mmap() memory below 2Gb; "
-- "asked for %lu bytes at %p. "
-- "Try specifying an address with +RTS -xm<addr> -RTS",
-- size, map_addr);
-- return NULL;
--#endif
-- } else {
-- // hmm, we were given memory somewhere else, but it's
-- // still under 2Gb so we can use it.
-- }
-- }
-- } else {
-- if ((W_)result > 0x80000000) {
-- // oops, we were given memory over 2Gb
-- // ... try allocating memory somewhere else?;
-- debugTrace(DEBUG_linker,
-- "MAP_32BIT didn't work; gave us %lu bytes at 0x%p",
-- bytes, result);
-- munmap(result, size);
--
-- // Set a base address and try again... (guess: 1Gb)
-- mmap_32bit_base = (void*)0x40000000;
-- goto mmap_again;
-- }
-- }
--#elif (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH))
-- // for aarch64 we need to make sure we stay within 4GB of the
-- // mmap_32bit_base, and we also do not want to update it.
-- if (result != map_addr) {
-- // upper limit 4GB - size of the object file - 1mb wiggle room.
-- if(llabs((uintptr_t)result - (uintptr_t)&stg_upd_frame_info) > (2<<32) - size - (2<<20)) {
-- // not within range :(
-- debugTrace(DEBUG_linker,
-- "MAP_32BIT didn't work; gave us %lu bytes at 0x%p",
-- bytes, result);
-- munmap(result, size);
-- // TODO: some abort/mmap_32bit_base recomputation based on
-- // if mmap_32bit_base is changed, or still at stg_upd_frame_info
-- goto mmap_again;
-- }
-- }
--#endif
--
-- if (mmap_32bit_base != NULL) {
-- // Next time, ask for memory right after our new mapping to maximize the
-- // chance that we get low memory.
-- mmap_32bit_base = (void*) ((uintptr_t)result + size);
-- }
--
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: mapped %" FMT_Word
-- " bytes starting at %p\n", (W_)size, result));
-- IF_DEBUG(linker,
-- debugBelch("mmapForLinker: done\n"));
--
-- return result;
--}
--
--/*
-- * Map read/write pages in low memory. Returns NULL on failure.
-- */
--void *
--mmapAnonForLinker (size_t bytes)
--{
-- return mmapForLinker (bytes, PROT_READ|PROT_WRITE, MAP_ANONYMOUS, -1, 0);
--}
--
--void munmapForLinker (void *addr, size_t bytes, const char *caller)
--{
-- int r = munmap(addr, bytes);
-- if (r == -1) {
-- // Should we abort here?
-- sysErrorBelch("munmap: %s", caller);
-- }
--}
--
--/* Note [Memory protection in the linker]
-- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- * For many years the linker would simply map all of its memory
-- * with PROT_READ|PROT_WRITE|PROT_EXEC. However operating systems have been
-- * becoming increasingly reluctant to accept this practice (e.g. #17353,
-- * #12657) and for good reason: writable code is ripe for exploitation.
-- *
-- * Consequently mmapForLinker now maps its memory with PROT_READ|PROT_WRITE.
-- * After the linker has finished filling/relocating the mapping it must then
-- * call mprotectForLinker on the sections of the mapping which
-- * contain executable code.
-- *
-- * Note that the m32 allocator handles protection of its allocations. For this
-- * reason the caller to m32_alloc() must tell the allocator whether the
-- * allocation needs to be executable. The caller must then ensure that they
-- * call m32_allocator_flush() after they are finished filling the region, which
-- * will cause the allocator to change the protection bits to
-- * PROT_READ|PROT_EXEC.
-- *
-- */
--
--/*
-- * Mark an portion of a mapping previously reserved by mmapForLinker
-- * as executable (but not writable).
-- */
--void mprotectForLinker(void *start, size_t len, MemoryAccess mode)
--{
-- if (len == 0) {
-- return;
-- }
-- IF_DEBUG(linker,
-- debugBelch("mprotectForLinker: protecting %" FMT_Word
-- " bytes starting at %p as %s\n",
-- (W_)len, start, memoryAccessDescription(mode)));
--
-- int prot;
-- switch (mode) {
-- case MEM_NO_ACCESS: prot = 0; break;
-- case MEM_READ_ONLY: prot = PROT_READ; break;
-- case MEM_READ_WRITE: prot = PROT_READ | PROT_WRITE; break;
-- case MEM_READ_EXECUTE: prot = PROT_READ | PROT_EXEC; break;
-- default: barf("invalid MemoryAccess");
-- }
--
-- if (mprotect(start, len, prot) == -1) {
-- sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-- len, start, memoryAccessDescription(mode));
-- }
--}
--#endif
--
- /*
- * Remove symbols from the symbol table, and free oc->symbols.
- * This operation is idempotent.
-diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h
-index 3e6b3df9dab..ccda39b0cf0 100644
---- a/rts/LinkerInternals.h
-+++ b/rts/LinkerInternals.h
-@@ -374,19 +374,6 @@ void exitLinker( void );
- void freeObjectCode (ObjectCode *oc);
- SymbolAddr* loadSymbol(SymbolName *lbl, RtsSymbolInfo *pinfo);
-
--/** Access modes for mprotectForLinker */
--typedef enum {
-- MEM_NO_ACCESS,
-- MEM_READ_ONLY,
-- MEM_READ_WRITE,
-- MEM_READ_EXECUTE,
--} MemoryAccess;
--
--void *mmapAnonForLinker (size_t bytes);
--void *mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset);
--void mprotectForLinker(void *start, size_t len, MemoryAccess mode);
--void munmapForLinker (void *addr, size_t bytes, const char *caller);
--
- void addProddableBlock ( ObjectCode* oc, void* start, int size );
- void checkProddableBlock (ObjectCode *oc, void *addr, size_t size );
- void freeProddableBlocks (ObjectCode *oc);
-@@ -441,65 +428,6 @@ resolveSymbolAddr (pathchar* buffer, int size,
- #define USE_CONTIGUOUS_MMAP 0
- #endif
-
--/* Link objects into the lower 2Gb on x86_64 and AArch64. GHC assumes the
-- * small memory model on this architecture (see gcc docs,
-- * -mcmodel=small).
-- *
-- * MAP_32BIT not available on OpenBSD/amd64
-- */
--#if defined(MAP_32BIT) && (defined(x86_64_HOST_ARCH) || (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)))
--#define MAP_LOW_MEM
--#define TRY_MAP_32BIT MAP_32BIT
--#else
--#define TRY_MAP_32BIT 0
--#endif
--
--#if defined(aarch64_HOST_ARCH)
--// On AArch64 MAP_32BIT is not available but we are still bound by the small
--// memory model. Consequently we still try using the MAP_LOW_MEM allocation
--// strategy.
--#define MAP_LOW_MEM
--#endif
--
--/*
-- * Note [MAP_LOW_MEM]
-- * ~~~~~~~~~~~~~~~~~~
-- * Due to the small memory model (see above), on x86_64 and AArch64 we have to
-- * map all our non-PIC object files into the low 2Gb of the address space (why
-- * 2Gb and not 4Gb? Because all addresses must be reachable using a 32-bit
-- * signed PC-relative offset). On x86_64 Linux we can do this using the
-- * MAP_32BIT flag to mmap(), however on other OSs (e.g. *BSD, see #2063, and
-- * also on Linux inside Xen, see #2512), we can't do this. So on these
-- * systems, we have to pick a base address in the low 2Gb of the address space
-- * and try to allocate memory from there.
-- *
-- * The same holds for aarch64, where the default, even with PIC, model
-- * is 4GB. The linker is free to emit AARCH64_ADR_PREL_PG_HI21
-- * relocations.
-- *
-- * We pick a default address based on the OS, but also make this
-- * configurable via an RTS flag (+RTS -xm)
-- */
--
--#if defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)
--// Try to use stg_upd_frame_info as the base. We need to be within +-4GB of that
--// address, otherwise we violate the aarch64 memory model. Any object we load
--// can potentially reference any of the ones we bake into the binary (and list)
--// in RtsSymbols. Thus we'll need to be within +-4GB of those,
--// stg_upd_frame_info is a good candidate as it's referenced often.
--#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
--#elif defined(x86_64_HOST_ARCH) && defined(mingw32_HOST_OS)
--// On Windows (which now uses high-entropy ASLR by default) we need to ensure
--// that we map code near the executable image. We use stg_upd_frame_info as a
--// proxy for the image location.
--#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
--#elif defined(MAP_32BIT) || DEFAULT_LINKER_ALWAYS_PIC
--// Try to use MAP_32BIT
--#define LINKER_LOAD_BASE ((void *) 0x0)
--#else
--// A guess: 1 GB.
--#define LINKER_LOAD_BASE ((void *) 0x40000000)
--#endif
-
- HsInt isAlreadyLoaded( pathchar *path );
- OStatus getObjectLoadStatus_ (pathchar *path);
-@@ -512,20 +440,4 @@ ObjectCode* mkOc( ObjectType type, pathchar *path, char *image, int imageSize,
- void initSegment(Segment *s, void *start, size_t size, SegmentProt prot, int n_sections);
- void freeSegments(ObjectCode *oc);
-
--/* MAP_ANONYMOUS is MAP_ANON on some systems,
-- e.g. OS X (before Sierra), OpenBSD etc */
--#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
--#define MAP_ANONYMOUS MAP_ANON
--#endif
--
--/* In order to simplify control flow a bit, some references to mmap-related
-- definitions are blocked off by a C-level if statement rather than a CPP-level
-- #if statement. Since those are dead branches when !RTS_LINKER_USE_MMAP, we
-- just stub out the relevant symbols here
--*/
--#if !RTS_LINKER_USE_MMAP
--#define munmap(x,y) /* nothing */
--#define MAP_ANONYMOUS 0
--#endif
--
- #include "EndPrivate.h"
-diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
-index 980d4b80f05..9956114264e 100644
---- a/rts/linker/Elf.c
-+++ b/rts/linker/Elf.c
-@@ -17,6 +17,7 @@
- #include "RtsSymbolInfo.h"
- #include "CheckUnload.h"
- #include "LinkerInternals.h"
-+#include "linker/MMap.h"
- #include "linker/Elf.h"
- #include "linker/CacheFlush.h"
- #include "linker/M32Alloc.h"
-diff --git a/rts/linker/LoadArchive.c b/rts/linker/LoadArchive.c
-index 041ebef4b61..f9282f197ff 100644
---- a/rts/linker/LoadArchive.c
-+++ b/rts/linker/LoadArchive.c
-@@ -7,6 +7,7 @@
- #include "LinkerInternals.h"
- #include "CheckUnload.h" // loaded_objects, insertOCSectionIndices
- #include "linker/M32Alloc.h"
-+#include "linker/MMap.h"
-
- /* Platform specific headers */
- #if defined(OBJFORMAT_PEi386)
-diff --git a/rts/linker/M32Alloc.c b/rts/linker/M32Alloc.c
-index b0a6ccfd58f..2592599d92b 100644
---- a/rts/linker/M32Alloc.c
-+++ b/rts/linker/M32Alloc.c
-@@ -10,7 +10,7 @@
- #include "sm/OSMem.h"
- #include "RtsUtils.h"
- #include "linker/M32Alloc.h"
--#include "LinkerInternals.h"
-+#include "linker/MMap.h"
- #include "ReportMemoryMap.h"
-
- #include <inttypes.h>
-diff --git a/rts/linker/MMap.c b/rts/linker/MMap.c
-new file mode 100644
-index 00000000000..c2edf78fd14
---- /dev/null
-+++ b/rts/linker/MMap.c
-@@ -0,0 +1,290 @@
-+#include "Rts.h"
-+
-+#include "sm/OSMem.h"
-+#include "linker/MMap.h"
-+#include "Trace.h"
-+#include "ReportMemoryMap.h"
-+
-+#if RTS_LINKER_USE_MMAP
-+#include <sys/mman.h>
-+#endif
-+
-+/* Link objects into the lower 2Gb on x86_64 and AArch64. GHC assumes the
-+ * small memory model on this architecture (see gcc docs,
-+ * -mcmodel=small).
-+ *
-+ * MAP_32BIT not available on OpenBSD/amd64
-+ */
-+#if defined(MAP_32BIT) && (defined(x86_64_HOST_ARCH) || (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)))
-+#define MAP_LOW_MEM
-+#define TRY_MAP_32BIT MAP_32BIT
-+#else
-+#define TRY_MAP_32BIT 0
-+#endif
-+
-+/* MAP_ANONYMOUS is MAP_ANON on some systems,
-+ e.g. OS X (before Sierra), OpenBSD etc */
-+#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-+#define MAP_ANONYMOUS MAP_ANON
-+#endif
-+
-+/* In order to simplify control flow a bit, some references to mmap-related
-+ definitions are blocked off by a C-level if statement rather than a CPP-level
-+ #if statement. Since those are dead branches when !RTS_LINKER_USE_MMAP, we
-+ just stub out the relevant symbols here
-+*/
-+#if !RTS_LINKER_USE_MMAP
-+#define munmap(x,y) /* nothing */
-+#define MAP_ANONYMOUS 0
-+#endif
-+
-+void *mmap_32bit_base = LINKER_LOAD_BASE;
-+
-+static const char *memoryAccessDescription(MemoryAccess mode)
-+{
-+ switch (mode) {
-+ case MEM_NO_ACCESS: return "no-access";
-+ case MEM_READ_ONLY: return "read-only";
-+ case MEM_READ_WRITE: return "read-write";
-+ case MEM_READ_EXECUTE: return "read-execute";
-+ default: barf("invalid MemoryAccess");
-+ }
-+}
-+
-+#if defined(mingw32_HOST_OS)
-+
-+//
-+// Returns NULL on failure.
-+//
-+void *
-+mmapAnonForLinker (size_t bytes)
-+{
-+ return VirtualAlloc(NULL, bytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
-+}
-+
-+void
-+munmapForLinker (void *addr, size_t bytes, const char *caller)
-+{
-+ if (VirtualFree(addr, 0, MEM_RELEASE) == 0) {
-+ sysErrorBelch("munmapForLinker: %s: Failed to unmap %zd bytes at %p",
-+ caller, bytes, addr);
-+ }
-+}
-+
-+/**
-+ * Change the allowed access modes of a region of memory previously allocated
-+ * with mmapAnonForLinker.
-+ */
-+void
-+mprotectForLinker(void *start, size_t len, MemoryAccess mode)
-+{
-+ DWORD old;
-+ if (len == 0) {
-+ return;
-+ }
-+ DWORD prot;
-+ switch (mode) {
-+ case MEM_NO_ACCESS: prot = PAGE_NOACCESS; break;
-+ case MEM_READ_ONLY: prot = PAGE_READONLY; break;
-+ case MEM_READ_WRITE: prot = PAGE_READWRITE; break;
-+ case MEM_READ_EXECUTE: prot = PAGE_EXECUTE_READ; break;
-+ default: barf("invalid MemoryAccess");
-+ }
-+
-+ if (VirtualProtect(start, len, prot, &old) == 0) {
-+ sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-+ len, start, memoryAccessDescription(mode));
-+ ASSERT(false);
-+ }
-+}
-+
-+#elif RTS_LINKER_USE_MMAP
-+//
-+// Returns NULL on failure.
-+//
-+void *
-+mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset)
-+{
-+ void *map_addr = NULL;
-+ void *result;
-+ size_t size;
-+ uint32_t tryMap32Bit = RtsFlags.MiscFlags.linkerAlwaysPic
-+ ? 0
-+ : TRY_MAP_32BIT;
-+ static uint32_t fixed = 0;
-+
-+ IF_DEBUG(linker, debugBelch("mmapForLinker: start\n"));
-+ size = roundUpToPage(bytes);
-+
-+#if defined(MAP_LOW_MEM)
-+mmap_again:
-+#endif
-+
-+ if (mmap_32bit_base != NULL) {
-+ map_addr = mmap_32bit_base;
-+ }
-+
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: \tprotection %#0x\n", prot));
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: \tflags %#0x\n",
-+ MAP_PRIVATE | tryMap32Bit | fixed | flags));
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: \tsize %#0zx\n", bytes));
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: \tmap_addr %p\n", map_addr));
-+
-+ result = mmap(map_addr, size, prot,
-+ MAP_PRIVATE|tryMap32Bit|fixed|flags, fd, offset);
-+
-+ if (result == MAP_FAILED) {
-+ reportMemoryMap();
-+ sysErrorBelch("mmap %" FMT_Word " bytes at %p",(W_)size,map_addr);
-+ errorBelch("Try specifying an address with +RTS -xm<addr> -RTS");
-+ return NULL;
-+ }
-+
-+#if defined(MAP_LOW_MEM)
-+ if (RtsFlags.MiscFlags.linkerAlwaysPic) {
-+ /* make no attempt at mapping low memory if we are assuming PIC */
-+ } else if (mmap_32bit_base != NULL) {
-+ if (result != map_addr) {
-+ if ((W_)result > 0x80000000) {
-+ // oops, we were given memory over 2Gb
-+ munmap(result,size);
-+#if defined(freebsd_HOST_OS) || \
-+ defined(kfreebsdgnu_HOST_OS) || \
-+ defined(dragonfly_HOST_OS)
-+ // Some platforms require MAP_FIXED. This is normally
-+ // a bad idea, because MAP_FIXED will overwrite
-+ // existing mappings.
-+ fixed = MAP_FIXED;
-+ goto mmap_again;
-+#else
-+ reportMemoryMap();
-+ errorBelch("mmapForLinker: failed to mmap() memory below 2Gb; "
-+ "asked for %lu bytes at %p. "
-+ "Try specifying an address with +RTS -xm<addr> -RTS",
-+ size, map_addr);
-+ return NULL;
-+#endif
-+ } else {
-+ // hmm, we were given memory somewhere else, but it's
-+ // still under 2Gb so we can use it.
-+ }
-+ }
-+ } else {
-+ if ((W_)result > 0x80000000) {
-+ // oops, we were given memory over 2Gb
-+ // ... try allocating memory somewhere else?;
-+ debugTrace(DEBUG_linker,
-+ "MAP_32BIT didn't work; gave us %lu bytes at 0x%p",
-+ bytes, result);
-+ munmap(result, size);
-+
-+ // Set a base address and try again... (guess: 1Gb)
-+ mmap_32bit_base = (void*)0x40000000;
-+ goto mmap_again;
-+ }
-+ }
-+#elif (defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH))
-+ // for aarch64 we need to make sure we stay within 4GB of the
-+ // mmap_32bit_base, and we also do not want to update it.
-+ if (result != map_addr) {
-+ // upper limit 4GB - size of the object file - 1mb wiggle room.
-+ if(llabs((uintptr_t)result - (uintptr_t)&stg_upd_frame_info) > (2<<32) - size - (2<<20)) {
-+ // not within range :(
-+ debugTrace(DEBUG_linker,
-+ "MAP_32BIT didn't work; gave us %lu bytes at 0x%p",
-+ bytes, result);
-+ munmap(result, size);
-+ // TODO: some abort/mmap_32bit_base recomputation based on
-+ // if mmap_32bit_base is changed, or still at stg_upd_frame_info
-+ goto mmap_again;
-+ }
-+ }
-+#endif
-+
-+ if (mmap_32bit_base != NULL) {
-+ // Next time, ask for memory right after our new mapping to maximize the
-+ // chance that we get low memory.
-+ mmap_32bit_base = (void*) ((uintptr_t)result + size);
-+ }
-+
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: mapped %" FMT_Word
-+ " bytes starting at %p\n", (W_)size, result));
-+ IF_DEBUG(linker,
-+ debugBelch("mmapForLinker: done\n"));
-+
-+ return result;
-+}
-+
-+/*
-+ * Map read/write pages in low memory. Returns NULL on failure.
-+ */
-+void *
-+mmapAnonForLinker (size_t bytes)
-+{
-+ return mmapForLinker (bytes, PROT_READ|PROT_WRITE, MAP_ANONYMOUS, -1, 0);
-+}
-+
-+void munmapForLinker (void *addr, size_t bytes, const char *caller)
-+{
-+ int r = munmap(addr, bytes);
-+ if (r == -1) {
-+ // Should we abort here?
-+ sysErrorBelch("munmap: %s", caller);
-+ }
-+}
-+
-+/* Note [Memory protection in the linker]
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+ * For many years the linker would simply map all of its memory
-+ * with PROT_READ|PROT_WRITE|PROT_EXEC. However operating systems have been
-+ * becoming increasingly reluctant to accept this practice (e.g. #17353,
-+ * #12657) and for good reason: writable code is ripe for exploitation.
-+ *
-+ * Consequently mmapForLinker now maps its memory with PROT_READ|PROT_WRITE.
-+ * After the linker has finished filling/relocating the mapping it must then
-+ * call mprotectForLinker on the sections of the mapping which
-+ * contain executable code.
-+ *
-+ * Note that the m32 allocator handles protection of its allocations. For this
-+ * reason the caller to m32_alloc() must tell the allocator whether the
-+ * allocation needs to be executable. The caller must then ensure that they
-+ * call m32_allocator_flush() after they are finished filling the region, which
-+ * will cause the allocator to change the protection bits to
-+ * PROT_READ|PROT_EXEC.
-+ *
-+ */
-+
-+/*
-+ * Mark an portion of a mapping previously reserved by mmapForLinker
-+ * as executable (but not writable).
-+ */
-+void mprotectForLinker(void *start, size_t len, MemoryAccess mode)
-+{
-+ if (len == 0) {
-+ return;
-+ }
-+ IF_DEBUG(linker,
-+ debugBelch("mprotectForLinker: protecting %" FMT_Word
-+ " bytes starting at %p as %s\n",
-+ (W_)len, start, memoryAccessDescription(mode)));
-+
-+ int prot;
-+ switch (mode) {
-+ case MEM_NO_ACCESS: prot = 0; break;
-+ case MEM_READ_ONLY: prot = PROT_READ; break;
-+ case MEM_READ_WRITE: prot = PROT_READ | PROT_WRITE; break;
-+ case MEM_READ_EXECUTE: prot = PROT_READ | PROT_EXEC; break;
-+ default: barf("invalid MemoryAccess");
-+ }
-+
-+ if (mprotect(start, len, prot) == -1) {
-+ sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-+ len, start, memoryAccessDescription(mode));
-+ }
-+}
-+#endif
-diff --git a/rts/linker/MMap.h b/rts/linker/MMap.h
-new file mode 100644
-index 00000000000..ed0baa68998
---- /dev/null
-+++ b/rts/linker/MMap.h
-@@ -0,0 +1,79 @@
-+#pragma once
-+
-+#include "BeginPrivate.h"
-+
-+#if defined(aarch64_HOST_ARCH)
-+// On AArch64 MAP_32BIT is not available but we are still bound by the small
-+// memory model. Consequently we still try using the MAP_LOW_MEM allocation
-+// strategy.
-+#define MAP_LOW_MEM
-+#endif
-+
-+/*
-+ * Note [MAP_LOW_MEM]
-+ * ~~~~~~~~~~~~~~~~~~
-+ * Due to the small memory model (see above), on x86_64 and AArch64 we have to
-+ * map all our non-PIC object files into the low 2Gb of the address space (why
-+ * 2Gb and not 4Gb? Because all addresses must be reachable using a 32-bit
-+ * signed PC-relative offset). On x86_64 Linux we can do this using the
-+ * MAP_32BIT flag to mmap(), however on other OSs (e.g. *BSD, see #2063, and
-+ * also on Linux inside Xen, see #2512), we can't do this. So on these
-+ * systems, we have to pick a base address in the low 2Gb of the address space
-+ * and try to allocate memory from there.
-+ *
-+ * The same holds for aarch64, where the default, even with PIC, model
-+ * is 4GB. The linker is free to emit AARCH64_ADR_PREL_PG_HI21
-+ * relocations.
-+ *
-+ * We pick a default address based on the OS, but also make this
-+ * configurable via an RTS flag (+RTS -xm)
-+ */
-+
-+#if defined(aarch64_TARGET_ARCH) || defined(aarch64_HOST_ARCH)
-+// Try to use stg_upd_frame_info as the base. We need to be within +-4GB of that
-+// address, otherwise we violate the aarch64 memory model. Any object we load
-+// can potentially reference any of the ones we bake into the binary (and list)
-+// in RtsSymbols. Thus we'll need to be within +-4GB of those,
-+// stg_upd_frame_info is a good candidate as it's referenced often.
-+#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
-+#elif defined(x86_64_HOST_ARCH) && defined(mingw32_HOST_OS)
-+// On Windows (which now uses high-entropy ASLR by default) we need to ensure
-+// that we map code near the executable image. We use stg_upd_frame_info as a
-+// proxy for the image location.
-+#define LINKER_LOAD_BASE ((void *) &stg_upd_frame_info)
-+#elif defined(MAP_32BIT) || DEFAULT_LINKER_ALWAYS_PIC
-+// Try to use MAP_32BIT
-+#define LINKER_LOAD_BASE ((void *) 0x0)
-+#else
-+// A guess: 1 GB.
-+#define LINKER_LOAD_BASE ((void *) 0x40000000)
-+#endif
-+
-+/** Access modes for mprotectForLinker */
-+typedef enum {
-+ MEM_NO_ACCESS,
-+ MEM_READ_ONLY,
-+ MEM_READ_WRITE,
-+ MEM_READ_EXECUTE,
-+} MemoryAccess;
-+
-+extern void *mmap_32bit_base;
-+
-+// Map read/write anonymous memory.
-+void *mmapAnonForLinker (size_t bytes);
-+
-+// Change protection of previous mapping memory.
-+void mprotectForLinker(void *start, size_t len, MemoryAccess mode);
-+
-+// Release a mapping.
-+void munmapForLinker (void *addr, size_t bytes, const char *caller);
-+
-+#if !defined(mingw32_HOST_OS)
-+// Map a file.
-+//
-+// Note that this not available on Windows since file mapping on Windows is
-+// sufficiently different to warrant its own interface.
-+void *mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset);
-+#endif
-+
-+#include "EndPrivate.h"
-diff --git a/rts/linker/SymbolExtras.c b/rts/linker/SymbolExtras.c
-index 5c04e9b3a87..88192d43d9c 100644
---- a/rts/linker/SymbolExtras.c
-+++ b/rts/linker/SymbolExtras.c
-@@ -10,6 +10,7 @@
- */
-
- #include "LinkerInternals.h"
-+#include "linker/MMap.h"
-
- #if defined(NEED_SYMBOL_EXTRAS)
- #if !defined(x86_64_HOST_ARCH) || !defined(mingw32_HOST_OS)
-diff --git a/rts/linker/elf_got.c b/rts/linker/elf_got.c
-index ae75329295b..eefdae34c68 100644
---- a/rts/linker/elf_got.c
-+++ b/rts/linker/elf_got.c
-@@ -1,5 +1,6 @@
- #include "Rts.h"
- #include "elf_got.h"
-+#include "linker/MMap.h"
-
- #include <string.h>
-
-diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
-index 77f3ee989dd..0a06414d95f 100644
---- a/rts/rts.cabal.in
-+++ b/rts/rts.cabal.in
-@@ -533,6 +533,7 @@ library
- linker/Elf.c
- linker/LoadArchive.c
- linker/M32Alloc.c
-+ linker/MMap.c
- linker/MachO.c
- linker/macho/plt.c
- linker/macho/plt_aarch64.c
---
-GitLab
-
-
-From 6deb4d0de5428e85446f2a6312dac9b23d69bca8 Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Mon, 7 Feb 2022 19:56:22 -0500
-Subject: [PATCH 11/13] rts/linker/MMap: Use MemoryAccess in mmapForLinker
-
-(cherry picked from commit 4d3a306dce59649b303ac7aba56758aff3dee077)
----
- rts/Linker.c | 5 ++---
- rts/linker/Elf.c | 2 +-
- rts/linker/MMap.c | 54 ++++++++++++++++++++++++++++++----------------
- rts/linker/MMap.h | 3 ++-
- rts/linker/MachO.c | 2 +-
- 5 files changed, 42 insertions(+), 24 deletions(-)
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 0d836a37a46..9754bf9f4f2 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -1353,10 +1353,9 @@ preloadObjectFile (pathchar *path)
- * See also the misalignment logic for darwin below.
- */
- #if defined(darwin_HOST_OS) || defined(openbsd_HOST_OS)
-- image = mmapForLinker(fileSize, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
-+ image = mmapForLinker(fileSize, MEM_READ_WRITE, MAP_PRIVATE, fd, 0);
- #else
-- image = mmapForLinker(fileSize, PROT_READ|PROT_WRITE|PROT_EXEC,
-- MAP_PRIVATE, fd, 0);
-+ image = mmapForLinker(fileSize, MEM_READ_WRITE_EXECUTE, MAP_PRIVATE, fd, 0);
- #endif
-
- if (image == MAP_FAILED) {
-diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
-index 9956114264e..9ae8b43cc4d 100644
---- a/rts/linker/Elf.c
-+++ b/rts/linker/Elf.c
-@@ -653,7 +653,7 @@ mapObjectFileSection (int fd, Elf_Word offset, Elf_Word size,
-
- pageOffset = roundDownToPage(offset);
- pageSize = roundUpToPage(offset-pageOffset+size);
-- p = mmapForLinker(pageSize, PROT_READ | PROT_WRITE, 0, fd, pageOffset);
-+ p = mmapForLinker(pageSize, MEM_READ_WRITE, 0, fd, pageOffset);
- if (p == NULL) return NULL;
- *mapped_size = pageSize;
- *mapped_offset = pageOffset;
-diff --git a/rts/linker/MMap.c b/rts/linker/MMap.c
-index c2edf78fd14..6226609604e 100644
---- a/rts/linker/MMap.c
-+++ b/rts/linker/MMap.c
-@@ -47,12 +47,28 @@ static const char *memoryAccessDescription(MemoryAccess mode)
- case MEM_READ_ONLY: return "read-only";
- case MEM_READ_WRITE: return "read-write";
- case MEM_READ_EXECUTE: return "read-execute";
-+ case MEM_READ_WRITE_EXECUTE:
-+ return "read-write-execute";
- default: barf("invalid MemoryAccess");
- }
- }
-
- #if defined(mingw32_HOST_OS)
-
-+static DWORD
-+memoryAccessToProt(MemoryAccess access)
-+{
-+ switch (access) {
-+ case MEM_NO_ACCESS: return PAGE_NOACCESS;
-+ case MEM_READ_ONLY: return PAGE_READONLY;
-+ case MEM_READ_WRITE: return PAGE_READWRITE;
-+ case MEM_READ_EXECUTE: return PAGE_EXECUTE_READ;
-+ case MEM_READ_WRITE_EXECUTE:
-+ return PAGE_EXECUTE_READWRITE;
-+ default: barf("invalid MemoryAccess");
-+ }
-+}
-+
- //
- // Returns NULL on failure.
- //
-@@ -82,14 +98,7 @@ mprotectForLinker(void *start, size_t len, MemoryAccess mode)
- if (len == 0) {
- return;
- }
-- DWORD prot;
-- switch (mode) {
-- case MEM_NO_ACCESS: prot = PAGE_NOACCESS; break;
-- case MEM_READ_ONLY: prot = PAGE_READONLY; break;
-- case MEM_READ_WRITE: prot = PAGE_READWRITE; break;
-- case MEM_READ_EXECUTE: prot = PAGE_EXECUTE_READ; break;
-- default: barf("invalid MemoryAccess");
-- }
-+ DWORD prot = memoryAccessToProt(mode);
-
- if (VirtualProtect(start, len, prot, &old) == 0) {
- sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-@@ -99,11 +108,26 @@ mprotectForLinker(void *start, size_t len, MemoryAccess mode)
- }
-
- #elif RTS_LINKER_USE_MMAP
-+
-+static int
-+memoryAccessToProt(MemoryAccess access)
-+{
-+ switch (access) {
-+ case MEM_NO_ACCESS: return 0;
-+ case MEM_READ_ONLY: return PROT_READ;
-+ case MEM_READ_WRITE: return PROT_READ | PROT_WRITE;
-+ case MEM_READ_EXECUTE: return PROT_READ | PROT_EXEC;
-+ case MEM_READ_WRITE_EXECUTE:
-+ return PROT_READ | PROT_WRITE | PROT_EXEC;
-+ default: barf("invalid MemoryAccess");
-+ }
-+}
-+
- //
- // Returns NULL on failure.
- //
- void *
--mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset)
-+mmapForLinker (size_t bytes, MemoryAccess access, uint32_t flags, int fd, int offset)
- {
- void *map_addr = NULL;
- void *result;
-@@ -112,6 +136,7 @@ mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset)
- ? 0
- : TRY_MAP_32BIT;
- static uint32_t fixed = 0;
-+ int prot = memoryAccessToProt(access);
-
- IF_DEBUG(linker, debugBelch("mmapForLinker: start\n"));
- size = roundUpToPage(bytes);
-@@ -226,7 +251,7 @@ mmap_again:
- void *
- mmapAnonForLinker (size_t bytes)
- {
-- return mmapForLinker (bytes, PROT_READ|PROT_WRITE, MAP_ANONYMOUS, -1, 0);
-+ return mmapForLinker (bytes, MEM_READ_WRITE, MAP_ANONYMOUS, -1, 0);
- }
-
- void munmapForLinker (void *addr, size_t bytes, const char *caller)
-@@ -273,14 +298,7 @@ void mprotectForLinker(void *start, size_t len, MemoryAccess mode)
- " bytes starting at %p as %s\n",
- (W_)len, start, memoryAccessDescription(mode)));
-
-- int prot;
-- switch (mode) {
-- case MEM_NO_ACCESS: prot = 0; break;
-- case MEM_READ_ONLY: prot = PROT_READ; break;
-- case MEM_READ_WRITE: prot = PROT_READ | PROT_WRITE; break;
-- case MEM_READ_EXECUTE: prot = PROT_READ | PROT_EXEC; break;
-- default: barf("invalid MemoryAccess");
-- }
-+ int prot = memoryAccessToProt(mode);
-
- if (mprotect(start, len, prot) == -1) {
- sysErrorBelch("mprotectForLinker: failed to protect %zd bytes at %p as %s",
-diff --git a/rts/linker/MMap.h b/rts/linker/MMap.h
-index ed0baa68998..9eebc3c4b20 100644
---- a/rts/linker/MMap.h
-+++ b/rts/linker/MMap.h
-@@ -55,6 +55,7 @@ typedef enum {
- MEM_READ_ONLY,
- MEM_READ_WRITE,
- MEM_READ_EXECUTE,
-+ MEM_READ_WRITE_EXECUTE,
- } MemoryAccess;
-
- extern void *mmap_32bit_base;
-@@ -73,7 +74,7 @@ void munmapForLinker (void *addr, size_t bytes, const char *caller);
- //
- // Note that this not available on Windows since file mapping on Windows is
- // sufficiently different to warrant its own interface.
--void *mmapForLinker (size_t bytes, uint32_t prot, uint32_t flags, int fd, int offset);
-+void *mmapForLinker (size_t bytes, MemoryAccess prot, uint32_t flags, int fd, int offset);
- #endif
-
- #include "EndPrivate.h"
-diff --git a/rts/linker/MachO.c b/rts/linker/MachO.c
-index d037c82f458..805731ba56c 100644
---- a/rts/linker/MachO.c
-+++ b/rts/linker/MachO.c
-@@ -1210,7 +1210,7 @@ ocGetNames_MachO(ObjectCode* oc)
- unsigned nstubs = numberOfStubsForSection(oc, sec_idx);
- unsigned stub_space = STUB_SIZE * nstubs;
-
-- void * mem = mmapForLinker(section->size+stub_space, PROT_READ | PROT_WRITE, MAP_ANON, -1, 0);
-+ void * mem = mmapForLinker(section->size+stub_space, MEM_READ_WRITE, MAP_ANON, -1, 0);
-
- if( mem == MAP_FAILED ) {
- sysErrorBelch("failed to mmap allocated memory to load section %d. "
---
-GitLab
-
-
-From 7bdb5766550257b5346dad65d4f946dac64739ad Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Sat, 5 Feb 2022 23:12:07 -0500
-Subject: [PATCH 12/13] rts/linker: Catch archives masquerading as object files
-
-Check the file's header to catch static archive bearing the `.o`
-extension, as may happen on Windows after the Clang refactoring.
-
-See #21068
----
- rts/Linker.c | 11 ++++++++++-
- rts/LinkerInternals.h | 4 ++++
- rts/linker/LoadArchive.c | 20 +++++++++++++++++++-
- 3 files changed, 33 insertions(+), 2 deletions(-)
-
-diff --git a/rts/Linker.c b/rts/Linker.c
-index 9754bf9f4f2..19545fd3db5 100644
---- a/rts/Linker.c
-+++ b/rts/Linker.c
-@@ -1394,7 +1394,7 @@ preloadObjectFile (pathchar *path)
-
- image = stgMallocBytes(fileSize, "loadObj(image)");
-
--#endif
-+#endif /* !defined(darwin_HOST_OS) */
-
- int n;
- n = fread ( image, 1, fileSize, f );
-@@ -1439,6 +1439,15 @@ static HsInt loadObj_ (pathchar *path)
- return 1; // success
- }
-
-+ if (isArchive(path)) {
-+ if (loadArchive_(path)) {
-+ return 1; // success
-+ } else {
-+ IF_DEBUG(linker,
-+ debugBelch("tried and failed to load %" PATH_FMT " as an archive\n", path));
-+ }
-+ }
-+
- ObjectCode *oc = preloadObjectFile(path);
- if (oc == NULL) return 0;
-
-diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h
-index ccda39b0cf0..f2c36e057a0 100644
---- a/rts/LinkerInternals.h
-+++ b/rts/LinkerInternals.h
-@@ -407,6 +407,10 @@ pathchar*
- resolveSymbolAddr (pathchar* buffer, int size,
- SymbolAddr* symbol, uintptr_t* top);
-
-+/* defined in LoadArchive.c */
-+bool isArchive (pathchar *path);
-+HsInt loadArchive_ (pathchar *path);
-+
- /*************************************************
- * Various bits of configuration
- *************************************************/
-diff --git a/rts/linker/LoadArchive.c b/rts/linker/LoadArchive.c
-index f9282f197ff..9804db38728 100644
---- a/rts/linker/LoadArchive.c
-+++ b/rts/linker/LoadArchive.c
-@@ -241,7 +241,7 @@ lookupGNUArchiveIndex(int gnuFileIndexSize, char **fileName_,
- return true;
- }
-
--static HsInt loadArchive_ (pathchar *path)
-+HsInt loadArchive_ (pathchar *path)
- {
- char *image = NULL;
- HsInt retcode = 0;
-@@ -631,3 +631,21 @@ HsInt loadArchive (pathchar *path)
- RELEASE_LOCK(&linker_mutex);
- return r;
- }
-+
-+bool isArchive (pathchar *path)
-+{
-+ static const char ARCHIVE_HEADER[] = "!<arch>\n";
-+ char buffer[10];
-+ FILE *f = pathopen(path, WSTR("rb"));
-+ if (f == NULL) {
-+ return false;
-+ }
-+
-+ size_t ret = fread(buffer, 1, sizeof(buffer), f);
-+ if (ret < sizeof(buffer)) {
-+ return false;
-+ }
-+ fclose(f);
-+ return strncmp(ARCHIVE_HEADER, buffer, sizeof(ARCHIVE_HEADER)-1) == 0;
-+}
-+
---
-GitLab
-
-
-From 69c02cbfaf8686ac7811f472aacb87415e29ce1f Mon Sep 17 00:00:00 2001
-From: Ben Gamari <ben(a)smart-cactus.org>
-Date: Mon, 7 Feb 2022 20:15:15 -0500
-Subject: [PATCH 13/13] linker: Don't use MAP_FIXED
-
-As noted in #21057, we really shouldn't be using MAP_FIXED. I would much
-rather have the process crash with a "failed to map" error than randomly
-overwrite existing mappings.
-
-Closes #21057.
-
-(cherry picked from commit 1db4f1fe7603c338ead0ac7e1ecfd0d8354d37bf)
----
- rts/linker/MMap.c | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/rts/linker/MMap.c b/rts/linker/MMap.c
-index 6226609604e..941dc86452c 100644
---- a/rts/linker/MMap.c
-+++ b/rts/linker/MMap.c
-@@ -177,13 +177,10 @@ mmap_again:
- if ((W_)result > 0x80000000) {
- // oops, we were given memory over 2Gb
- munmap(result,size);
--#if defined(freebsd_HOST_OS) || \
-- defined(kfreebsdgnu_HOST_OS) || \
-- defined(dragonfly_HOST_OS)
-- // Some platforms require MAP_FIXED. This is normally
-- // a bad idea, because MAP_FIXED will overwrite
-- // existing mappings.
-- fixed = MAP_FIXED;
-+#if defined(MAP_TRYFIXED)
-+ // Some platforms require MAP_FIXED. We use MAP_TRYFIXED since
-+ // MAP_FIXED will overwrite existing mappings.
-+ fixed = MAP_TRYFIXED;
- goto mmap_again;
- #else
- reportMemoryMap();
---
-GitLab
-
diff --git a/ghc9.2.spec b/ghc9.2.spec
index 6f39cd3..a6c49ec 100644
--- a/ghc9.2.spec
+++ b/ghc9.2.spec
@@ -67,12 +67,12 @@
%endif
Name: %{ghc_name}
-Version: 9.2.7
+Version: 9.2.8
# Since library subpackages are versioned:
# - release can only be reset if *all* library versions get bumped simultaneously
# (sometimes after a major release)
# - minor release numbers for a branch should be incremented monotonically
-Release: 17%{?dist}
+Release: 18%{?dist}
Summary: Glasgow Haskell Compiler
License: BSD-3-Clause and HaskellReport
@@ -88,8 +88,6 @@ Source7: runghc.man
# https://bugzilla.redhat.com/show_bug.cgi?id=2142238
ExcludeArch: armv7hl
-# https://gitlab.haskell.org/ghc/ghc/-/issues/19421 (m32_allocator_init)
-Patch0: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10453.patch
# absolute haddock path (was for html/libraries -> libraries)
Patch1: ghc-gen_contents_index-haddock-path.patch
Patch2: ghc-Cabal-install-PATH-warning.patch
@@ -405,7 +403,6 @@ Installing this package causes %{name}-*-prof packages corresponding to
%prep
%setup -q -n ghc-%{version} %{?with_testsuite:-b1}
-%patch -P0 -p1 -b .orig
%patch -P1 -p1 -b .orig
%patch -P3 -p1 -b .orig
@@ -973,6 +970,10 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%changelog
+* Mon May 29 2023 Jens Petersen <petersen(a)redhat.com> - 9.2.8-18
+- update to 9.2.8
+- https://downloads.haskell.org/~ghc/9.2.8/docs/html/users_guide/9.2.8-note...
+
* Thu May 25 2023 Jens Petersen <petersen(a)redhat.com> - 9.2.7-17
- include backport of 9.4 m32_allocator_init changes by Sylvain Henry (#2209162)
- SPDX migration of license tags
diff --git a/sources b/sources
index b8d237e..cb51a30 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ghc-9.2.7-src.tar.lz) = a36c560929a56c3268e5f5d7ba8e0d020db5e2ff99bbc61837b1f629a753af747f92d778d9f507a56d491d4e6ac4d229025c4610db202185fb461a54f00200d8
+SHA512 (ghc-9.2.8-src.tar.lz) = 93a567fd10a5f8bc0e8f3f6af40e0ebc5e4cdd42245cf7c6d28388263632610dea02e9794ae72911ee9b0072c12b921bc84ba9980bed4c25b7adcbe5984368b4
3 months, 4 weeks
Architecture specific change in rpms/python-PyMuPDF.git
by githook-noreply@fedoraproject.org
The package rpms/python-PyMuPDF.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-PyMuPDF.git/commit/?id=581....
Change:
+%ifarch s390 s390x
Thanks.
Full change:
============
commit 581c721f9b75a7449f3eb6a99da22e8d6b88a3e5
Author: Michael J Gruber <mjg(a)fedoraproject.org>
Date: Thu May 11 16:49:38 2023 +0200
Reenable test suite where possible
There are unclarified test suite failures on some architectures which
apparantly do not affect overall functionality. Reenable the test-suite
to catch problems at least on other architectures.
diff --git a/0001-test_pixmap-adjust-to-turbojpeg.patch b/0001-test_pixmap-adjust-to-turbojpeg.patch
new file mode 100644
index 0000000..1c653de
--- /dev/null
+++ b/0001-test_pixmap-adjust-to-turbojpeg.patch
@@ -0,0 +1,29 @@
+From 735ce0fb7bf1938ead530b7138499464c6127f96 Mon Sep 17 00:00:00 2001
+Message-ID: <735ce0fb7bf1938ead530b7138499464c6127f96.1683816092.git.mjg(a)fedoraproject.org>
+From: Michael J Gruber <mjg(a)fedoraproject.org>
+Date: Thu, 11 May 2023 16:40:03 +0200
+Subject: [PATCH] test_pixmap: adjust to turbojpeg
+
+Apparantly, different jpeg libraries decode the test jpg differently.
+Adjust to turbojpeg's color count until upstream uses an invariant
+format.
+---
+ tests/test_pixmap.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_pixmap.py b/tests/test_pixmap.py
+index 889858b..420245e 100644
+--- a/tests/test_pixmap.py
++++ b/tests/test_pixmap.py
+@@ -91,7 +91,7 @@ def test_setalpha():
+
+ def test_color_count():
+ pm = fitz.Pixmap(imgfile)
+- assert pm.color_count() == 40624
++ assert pm.color_count() == 39912
+
+ def test_memoryview():
+ pm = fitz.Pixmap(imgfile)
+--
+2.40.1.683.g916cfae490
+
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index cf2d5d8..745ffde 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -2,13 +2,14 @@
Name: python-%{pypi_name}
Version: 1.22.3
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
License: AGPL-3.0-or-later
URL: https://github.com/pymupdf/PyMuPDF
Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz
Patch0: 0001-fix-test_-font.patch
+Patch1: 0001-test_pixmap-adjust-to-turbojpeg.patch
BuildRequires: python3-devel
BuildRequires: python3-fonttools
@@ -69,8 +70,11 @@ rm -f %{buildroot}%{_prefix}/README.md
%check
# FIXME: Crashes with Aborted, corrupted double-linked list
+%ifarch s390 s390x
%pytest || :
-
+%else
+%pytest
+%endif
%files -n python3-%{pypi_name}
%license COPYING
@@ -81,6 +85,9 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Thu May 11 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.3-2
+- Reenable test suite where possible
+
* Thu May 11 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.3-1
- Update to new upstream release 1.22.3 (rhbz#2186919)
commit bd9137a67f1300eaef8fbcf91c862276d4a2c16d
Author: Michael J Gruber <mjg(a)fedoraproject.org>
Date: Thu May 11 15:55:11 2023 +0200
Update to new upstream release 1.22.3 (rhbz#2186919)
diff --git a/.gitignore b/.gitignore
index d193388..a0c4a9a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,4 @@
/PyMuPDF-1.22.0.tar.gz
/PyMuPDF-1.22.1.tar.gz
/PyMuPDF-1.22.2.tar.gz
+/PyMuPDF-1.22.3.tar.gz
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index 6176da1..cf2d5d8 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -1,7 +1,7 @@
%global pypi_name PyMuPDF
Name: python-%{pypi_name}
-Version: 1.22.2
+Version: 1.22.3
Release: 1%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
@@ -15,7 +15,7 @@ BuildRequires: python3-fonttools
BuildRequires: python3-pillow
BuildRequires: python3-pytest
BuildRequires: python3-sphinx
-BuildRequires: python3-sphinx_rtd_theme
+BuildRequires: python3-furo
BuildRequires: rst2pdf
BuildRequires: gcc gcc-c++
BuildRequires: swig
@@ -81,6 +81,9 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Thu May 11 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.3-1
+- Update to new upstream release 1.22.3 (rhbz#2186919)
+
* Fri Apr 28 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.2-1
- Update to new upstream release 1.22.2 (rhbz#2186919)
diff --git a/sources b/sources
index fa6ba7c..ae1696b 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (PyMuPDF-1.22.2.tar.gz) = 09f8f6c06fdd1d2474abd43d4e6c80b1857da9f6c879c04a225a1f7844e22935ddbefcde3bae95bd73ad0acf8a8f0956ee86e9122c64d905bd28bd760b6e14b0
+SHA512 (PyMuPDF-1.22.3.tar.gz) = 7e08d20ffbe3c7d6fde099e9466ed8ac94edddcd996eca0fec003f6f09af7237ec7843a6e6cf2e71302e39cc0bd74a9d5eb3c84086fb5fc4406cd2024b191a40
commit c79841e037c673cfec6943df5cfe749c029e22cf
Author: Michael J Gruber <mjg(a)fedoraproject.org>
Date: Fri Apr 28 07:15:54 2023 +0200
Update to new upstream release 1.22.2 (rhbz#2186919)
diff --git a/.gitignore b/.gitignore
index 6387bad..d193388 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,3 +69,4 @@
/PyMuPDF-1.21.1.tar.gz
/PyMuPDF-1.22.0.tar.gz
/PyMuPDF-1.22.1.tar.gz
+/PyMuPDF-1.22.2.tar.gz
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index 1e8934f..6176da1 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -1,7 +1,7 @@
%global pypi_name PyMuPDF
Name: python-%{pypi_name}
-Version: 1.22.1
+Version: 1.22.2
Release: 1%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
@@ -81,6 +81,9 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Fri Apr 28 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.2-1
+- Update to new upstream release 1.22.2 (rhbz#2186919)
+
* Mon Apr 24 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.1-1
- Update to new upstream release 1.22.1 (rhbz#2186919)
- Minor bug fixes
diff --git a/sources b/sources
index 9734920..fa6ba7c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (PyMuPDF-1.22.1.tar.gz) = 0c3289a4722fd6d8194bd3abbca352df851fbd15067fb433a3e921cfe0adf34f2b22bb39b46867ec5dae9380bfe263635bdb6d9e803f56764078339397201811
+SHA512 (PyMuPDF-1.22.2.tar.gz) = 09f8f6c06fdd1d2474abd43d4e6c80b1857da9f6c879c04a225a1f7844e22935ddbefcde3bae95bd73ad0acf8a8f0956ee86e9122c64d905bd28bd760b6e14b0
commit b120c5e76ae607f37b2ce37a04ceb1a8e35d0ed1
Author: Michael J Gruber <mjg(a)fedoraproject.org>
Date: Mon Apr 24 21:32:01 2023 +0200
Update to new upstream release 1.22.1 (rhbz#2186919)
diff --git a/.gitignore b/.gitignore
index 03c75f1..6387bad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -68,3 +68,4 @@
/PyMuPDF-1.21.0.tar.gz
/PyMuPDF-1.21.1.tar.gz
/PyMuPDF-1.22.0.tar.gz
+/PyMuPDF-1.22.1.tar.gz
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index 740959c..1e8934f 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -1,7 +1,7 @@
%global pypi_name PyMuPDF
Name: python-%{pypi_name}
-Version: 1.22.0
+Version: 1.22.1
Release: 1%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
@@ -81,6 +81,10 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Mon Apr 24 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.1-1
+- Update to new upstream release 1.22.1 (rhbz#2186919)
+- Minor bug fixes
+
* Sat Apr 15 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.0-1
- Update to new upstream release 1.22.0 (rhbz#2186919)
- Text extraction now includes glyphs that overlap with clip rect, not just those contained entirely.
diff --git a/sources b/sources
index da29068..9734920 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (PyMuPDF-1.22.0.tar.gz) = ea5a105d17c6bda6f87e13ca18db292396aaa7f0dd15f41bfc9aa40e97aab8e3dbb28db12f357b7a252af4d97151e1f851f143f4490df858ccdacdd08764fd7f
+SHA512 (PyMuPDF-1.22.1.tar.gz) = 0c3289a4722fd6d8194bd3abbca352df851fbd15067fb433a3e921cfe0adf34f2b22bb39b46867ec5dae9380bfe263635bdb6d9e803f56764078339397201811
commit 509ae8fbb9a82b8e79faec59f3fc28a95170af61
Author: Michael J Gruber <mjg(a)fedoraproject.org>
Date: Sat Apr 15 14:09:54 2023 +0200
Update to new upstream release 1.22.0 (rhbz#2186919)
diff --git a/.gitignore b/.gitignore
index f237bdd..03c75f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,3 +67,4 @@
/PyMuPDF-1.20.2.tar.gz
/PyMuPDF-1.21.0.tar.gz
/PyMuPDF-1.21.1.tar.gz
+/PyMuPDF-1.22.0.tar.gz
diff --git a/0001-fix-FTBFS-against-system-mupdf.patch b/0001-fix-FTBFS-against-system-mupdf.patch
deleted file mode 100644
index 5bc8ae8..0000000
--- a/0001-fix-FTBFS-against-system-mupdf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 99762987327a1de774b2180490c3f45db648883e Mon Sep 17 00:00:00 2001
-Message-Id: <99762987327a1de774b2180490c3f45db648883e.1667948785.git.mjg(a)fedoraproject.org>
-From: Michael J Gruber <mjg(a)fedoraproject.org>
-Date: Wed, 9 Nov 2022 00:06:21 +0100
-Subject: [PATCH] fix FTBFS against system mupdf
-
-Signed-off-by: Michael J Gruber <mjg(a)fedoraproject.org>
----
- setup.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/setup.py b/setup.py
-index d687d39..55be4fc 100644
---- a/setup.py
-+++ b/setup.py
-@@ -534,6 +534,7 @@ if ('-h' not in sys.argv and '--help' not in sys.argv
- mupdf_local += '/'
- log( f'mupdf_local={mupdf_local!r}')
- unix_build_dir = None
-+ unix_build_type = None
-
- # Force clean build of MuPDF.
- #
---
-2.38.1.500.g6f45862117
-
diff --git a/0001-fix-test_-font.patch b/0001-fix-test_-font.patch
new file mode 100644
index 0000000..807d2c3
--- /dev/null
+++ b/0001-fix-test_-font.patch
@@ -0,0 +1,43 @@
+From 35b5f8489385ea84a5dc0300cd216feee9772415 Mon Sep 17 00:00:00 2001
+Message-ID: <35b5f8489385ea84a5dc0300cd216feee9772415.1681574102.git.mjg(a)fedoraproject.org>
+From: Michael J Gruber <mjg(a)fedoraproject.org>
+Date: Sat, 15 Apr 2023 17:53:27 +0200
+Subject: [PATCH] fix test_*font
+
+Depending on build options and system, noto fonts may or may not be
+present. Thus font tests expecting them may fail for the wrong reason.
+
+Adjust the tests to use the fallback font instead.
+---
+ tests/test_general.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/test_general.py b/tests/test_general.py
+index 68da7fd..c5d45d3 100644
+--- a/tests/test_general.py
++++ b/tests/test_general.py
+@@ -121,9 +121,9 @@ def test_bug1971():
+ doc.close()
+
+ def test_default_font():
+- f = fitz.Font()
+- assert str(f) == "Font('Noto Serif Regular')"
+- assert repr(f) == "Font('Noto Serif Regular')"
++ f = fitz.Font(ordering=0)
++ assert str(f) == "Font('Droid Sans Fallback Regular')"
++ assert repr(f) == "Font('Droid Sans Fallback Regular')"
+
+ def test_add_ink_annot():
+ import math
+@@ -186,7 +186,7 @@ def test_get_text_dict():
+ json.dumps( blocks, indent=4)
+
+ def test_font():
+- font = fitz.Font()
++ font = fitz.Font(ordering=0)
+ print(repr(font))
+ bbox = font.glyph_bbox( 65)
+ print( f'bbox={bbox!r}')
+--
+2.40.0.414.g17ff5447bb
+
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index bbbe05e..740959c 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -1,14 +1,14 @@
%global pypi_name PyMuPDF
Name: python-%{pypi_name}
-Version: 1.21.1
-Release: 6%{?dist}
+Version: 1.22.0
+Release: 1%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
License: AGPL-3.0-or-later
URL: https://github.com/pymupdf/PyMuPDF
Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz
-Patch0: 0001-fix-FTBFS-against-system-mupdf.patch
+Patch0: 0001-fix-test_-font.patch
BuildRequires: python3-devel
BuildRequires: python3-fonttools
@@ -81,6 +81,11 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Sat Apr 15 2023 Michael J Gruber <mjg(a)fedoraproject.org> - 1.22.0-1
+- Update to new upstream release 1.22.0 (rhbz#2186919)
+- Text extraction now includes glyphs that overlap with clip rect, not just those contained entirely.
+- Compatibility with mupdf 1.22.0, various bug fixes.
+
* Thu Apr 06 2023 Sandro Mani <manisandro(a)gmail.com> - 1.21.1-6
- Rebuild (tesseract)
diff --git a/sources b/sources
index b1fd2b9..da29068 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (PyMuPDF-1.21.1.tar.gz) = 2c6917d055a1a964c954970ba60df8121d127c2127544ae3dfdb5f6c5c1c4e94d41a179490179ba9a88e5db8bc522d81dbea196a4f4ec46c348279c4bc50e8ba
+SHA512 (PyMuPDF-1.22.0.tar.gz) = ea5a105d17c6bda6f87e13ca18db292396aaa7f0dd15f41bfc9aa40e97aab8e3dbb28db12f357b7a252af4d97151e1f851f143f4490df858ccdacdd08764fd7f
commit 5fa5a31569023a6338c1aa93bf7223e76470be9a
Author: Sandro Mani <manisandro(a)gmail.com>
Date: Thu Apr 6 23:30:37 2023 +0200
Rebuild (tesseract)
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index 6a3661b..bbbe05e 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -2,7 +2,7 @@
Name: python-%{pypi_name}
Version: 1.21.1
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
License: AGPL-3.0-or-later
@@ -81,6 +81,9 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Thu Apr 06 2023 Sandro Mani <manisandro(a)gmail.com> - 1.21.1-6
+- Rebuild (tesseract)
+
* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.21.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
commit 66ff8d7fa5430801ee38b7889aa72c4032e0bec2
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 10:49:38 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/python-PyMuPDF.spec b/python-PyMuPDF.spec
index f4eff39..6a3661b 100644
--- a/python-PyMuPDF.spec
+++ b/python-PyMuPDF.spec
@@ -2,7 +2,7 @@
Name: python-%{pypi_name}
Version: 1.21.1
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Python binding for MuPDF - a lightweight PDF and XPS viewer
License: AGPL-3.0-or-later
@@ -81,6 +81,9 @@ rm -f %{buildroot}%{_prefix}/README.md
%doc docs_built/* README.md
%changelog
+* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.21.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
* Fri Dec 23 2022 Sandro Mani <manisandro(a)gmail.com> - 1.21.1-4
- Rebuild (tesseract)
4 months
Architecture specific change in rpms/ghc9.2.git
by githook-noreply@fedoraproject.org
The package rpms/ghc9.2.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/ghc9.2.git/commit/?id=28fa9246a9c....
Change:
+%ifarch armv7hl %{ix86}
Thanks.
Full change:
============
commit 28fa9246a9c556807206cb4a818639a1837f9be9
Author: Jens Petersen <petersen(a)redhat.com>
Date: Tue May 30 10:11:38 2023 +0800
disable haddocks also here
following the main ghc 9.2 package
diff --git a/ghc9.2.spec b/ghc9.2.spec
index a6c49ec..25d7134 100644
--- a/ghc9.2.spec
+++ b/ghc9.2.spec
@@ -35,7 +35,7 @@
%bcond_without ghc_prof
# https://gitlab.haskell.org/ghc/ghc/-/issues/19754
# https://github.com/haskell/haddock/issues/1384
-%ifarch armv7hl
+%ifarch armv7hl %{ix86}
%undefine with_haddock
%else
%bcond_without haddock
@@ -289,7 +289,8 @@ Installing this package causes %{name}-*-doc packages corresponding to
Summary: GHC library documentation indexing
License: BSD-3-Clause
Requires: %{name}-compiler = %{version}-%{release}
-BuildArch: noarch
+# due to disabled haddock archs
+#BuildArch: noarch
%description doc-index
The package enables re-indexing of installed library documention.
@@ -297,7 +298,8 @@ The package enables re-indexing of installed library documention.
%package filesystem
Summary: Shared directories for Haskell documentation
-BuildArch: noarch
+# due to disabled haddock archs
+#BuildArch: noarch
%description filesystem
This package provides some common directories used for
4 months
[Report] Packages Restricting Arches
by root
Package no longer excluding arches (4)
==================================
- rust-cbindgen
- rust-dbus
- rust-dirs-sys
- rust-git2
List of packages currently excluding arches (1532)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: %{gap_arches} noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr32
ExclusiveArch: %{java_arches} noarch
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-fileupload
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt5_qtwebengine_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- belle-sip
ExclusiveArch: %{java_arches}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: aarch64 x86_64
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- catatonit
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %{golang_arches_future}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{java_arches}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- 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
- credentials-fetcher
ExclusiveArch: x86_64 aarch64 s390x
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches_future}
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc4
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
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: aarch64 x86_64
- embree3
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- firecracker
ExclusiveArch: aarch64 x86_64
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{java_arches}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{java_arches}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap
ExclusiveArch: %{gap_arches}
- gap-pkg-ace
ExclusiveArch: %{gap_arches}
- gap-pkg-aclib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-alnuth
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-atlasrep
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autodoc
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-automata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autpgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-browse
ExclusiveArch: %{gap_arches}
- gap-pkg-caratinterface
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-circle
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-cohomolo
ExclusiveArch: %{gap_arches}
- gap-pkg-congruence
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-corelg
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crime
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crisp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crypting
ExclusiveArch: %{gap_arches}
- gap-pkg-cryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crystcat
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ctbllib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-curlinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-cvec
ExclusiveArch: %{gap_arches}
- gap-pkg-datastructures
ExclusiveArch: %{gap_arches}
- gap-pkg-design
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-digraphs
ExclusiveArch: %{gap_arches}
- gap-pkg-edim
ExclusiveArch: %{gap_arches}
- gap-pkg-factint
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ferret
ExclusiveArch: %{gap_arches}
- gap-pkg-fga
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fining
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-float
ExclusiveArch: %{gap_arches}
- gap-pkg-format
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-forms
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fr
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-francy
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-gbnp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-genss
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grape
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-groupoids
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grpconst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-guava
ExclusiveArch: %{gap_arches}
- gap-pkg-hap
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hapcryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hecke
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-images
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-io
ExclusiveArch: %{gap_arches}
- gap-pkg-irredsol
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-json
ExclusiveArch: %{gap_arches}
- gap-pkg-jupyterkernel
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-jupyterviz
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-laguna
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liealgdb
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liepring
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liering
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-loops
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-lpres
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-mapclass
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-nq
ExclusiveArch: %{gap_arches}
- gap-pkg-openmath
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-orb
ExclusiveArch: %{gap_arches}
- gap-pkg-polenta
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polycyclic
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polymaking
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-primgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-profiling
ExclusiveArch: %{gap_arches}
- gap-pkg-qpa
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-quagroup
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-radiroot
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-recog
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-repsn
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-resclasses
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-scscp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-semigroups
ExclusiveArch: %{gap_arches}
- gap-pkg-singular
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sla
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallsemi
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sonata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sophus
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-spinsym
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-standardff
ExclusiveArch: %{gap_arches}
- gap-pkg-tomlib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-toric
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-transgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-utils
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-uuid
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-xmod
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-zeromqinterface
ExclusiveArch: %{gap_arches}
- gappalib-coq
ExclusiveArch: %{java_arches}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_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}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- 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-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}}
- 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}}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- 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}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hibernate-jpa-2.1-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- i3status-rs
ExclusiveArch: %{rust_arches}
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- 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
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches}
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jcommon
ExclusiveArch: %{java_arches} noarch
- jcommon-serializer
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches}
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jpcap
ExclusiveArch: %java_arches
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- julia
ExclusiveArch: x86_64
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x %{arm} aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- 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-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-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: x86_64 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}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ldc1.30
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- 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 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- lujavrite
ExclusiveArch: %{java_arches}
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- matrix-synapse
ExclusiveArch: %{rust_arches}
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-bundle-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maven2
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: x86_64 %{ix86}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mirrorlist-server
ExclusiveArch: %{rust_arches}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- modulemaker-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- 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
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{golang_arches_future}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
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-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} 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
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- oidn
ExclusiveArch: x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openpgl
ExclusiveArch: aarch64 x86_64
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- optee_client
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- paflib
ExclusiveArch: ppc %{power64}
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- 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
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-active-collections
ExclusiveArch: %{java_arches} noarch
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- pomchecker
ExclusiveArch: %{java_arches} noarch
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-damo
ExclusiveArch: x86_64 aarch64 ppc64le s390x noarch
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-pyqt6-webengine
ExclusiveArch: aarch64 x86_64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatengine
ExclusiveArch: x86_64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- 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}
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-opencl
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-macros
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-actix-service
ExclusiveArch: %{rust_arches}
- rust-actix-tls
ExclusiveArch: %{rust_arches}
- rust-aes0.7
ExclusiveArch: %{rust_arches}
- rust-aliasable
ExclusiveArch: %{rust_arches}
- rust-aparato
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-arrayvec0.5
ExclusiveArch: %{rust_arches}
- rust-ascii-canvas
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-askama_derive
ExclusiveArch: %{rust_arches}
- rust-askama_escape
ExclusiveArch: %{rust_arches}
- rust-assert-json-diff
ExclusiveArch: %{rust_arches}
- rust-async-std
ExclusiveArch: %{rust_arches}
- rust-asyncgit
ExclusiveArch: %{rust_arches}
- rust-atomic-traits
ExclusiveArch: %{rust_arches}
- rust-autocfg
ExclusiveArch: %{rust_arches}
- rust-aws-nitro-enclaves-cose
ExclusiveArch: %{rust_arches}
- rust-az
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-benfred-read-process-memory
ExclusiveArch: %{rust_arches}
- rust-binascii
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer0.9
ExclusiveArch: %{rust_arches}
- rust-block-padding0.2
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-btrd
ExclusiveArch: %{rust_arches}
- rust-bugreport
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-capnp-rpc
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cargo-c
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cdylib-link-lines
ExclusiveArch: %{rust_arches}
- rust-charset
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-ciborium
ExclusiveArch: %{rust_arches}
- rust-ciborium-io
ExclusiveArch: %{rust_arches}
- rust-ciborium-ll
ExclusiveArch: %{rust_arches}
- rust-cint
ExclusiveArch: %{rust_arches}
- rust-cipher0.3
ExclusiveArch: %{rust_arches}
- rust-clap-verbosity-flag
ExclusiveArch: %{rust_arches}
- rust-clap2
ExclusiveArch: %{rust_arches}
- rust-clap_generate
ExclusiveArch: %{rust_arches}
- rust-clap_generate_fig
ExclusiveArch: %{rust_arches}
- rust-clircle
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-comfy-table
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-conhash
ExclusiveArch: %{rust_arches}
- rust-console0.14
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-const_fn
ExclusiveArch: %{rust_arches}
- rust-cookie-factory
ExclusiveArch: %{rust_arches}
- rust-cookie_store
ExclusiveArch: %{rust_arches}
- rust-copydeps
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-count-zeroes
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc32fast
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossterm0.19
ExclusiveArch: %{rust_arches}
- rust-crosstermion
ExclusiveArch: %{rust_arches}
- rust-crypto-bigint
ExclusiveArch: %{rust_arches}
- rust-cryptoki
ExclusiveArch: %{rust_arches}
- rust-cryptoki-sys
ExclusiveArch: %{rust_arches}
- rust-csscolorparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-ctr0.8
ExclusiveArch: %{rust_arches}
- rust-custom_error
ExclusiveArch: %{rust_arches}
- rust-darling0.12
ExclusiveArch: %{rust_arches}
- rust-darling_core0.12
ExclusiveArch: %{rust_arches}
- rust-darling_macro0.12
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding-macro-internal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-der
ExclusiveArch: %{rust_arches}
- rust-der_derive
ExclusiveArch: %{rust_arches}
- rust-derive_more
ExclusiveArch: %{rust_arches}
- rust-des
ExclusiveArch: %{rust_arches}
- rust-des0.7
ExclusiveArch: %{rust_arches}
- rust-diesel
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difflib
ExclusiveArch: %{rust_arches}
- rust-digest0.9
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-directories3
ExclusiveArch: %{rust_arches}
- rust-diskonaut
ExclusiveArch: %{rust_arches}
- rust-dns-lookup
ExclusiveArch: %{rust_arches}
- rust-downcast
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-dua-cli
ExclusiveArch: %{rust_arches}
- rust-dummy
ExclusiveArch: %{rust_arches}
- rust-edit
ExclusiveArch: %{rust_arches}
- rust-enquote
ExclusiveArch: %{rust_arches}
- rust-enumflags2_0.6
ExclusiveArch: %{rust_arches}
- rust-enumflags2_derive0.6
ExclusiveArch: %{rust_arches}
- rust-enumset
ExclusiveArch: %{rust_arches}
- rust-enumset_derive
ExclusiveArch: %{rust_arches}
- rust-env_logger0.8
ExclusiveArch: %{rust_arches}
- rust-escape_string
ExclusiveArch: %{rust_arches}
- rust-escargot
ExclusiveArch: %{rust_arches}
- rust-esphome
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-exitfailure
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-fake
ExclusiveArch: %{rust_arches}
- rust-fedora
ExclusiveArch: %{rust_arches}
- rust-femme
ExclusiveArch: %{rust_arches}
- rust-filedescriptor
ExclusiveArch: %{rust_arches}
- rust-filetreelist
ExclusiveArch: %{rust_arches}
- rust-find-crate
ExclusiveArch: %{rust_arches}
- rust-findshlibs
ExclusiveArch: %{rust_arches}
- rust-firestorm
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-fixedbitset0.2
ExclusiveArch: %{rust_arches}
- rust-flume
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-format-bytes
ExclusiveArch: %{rust_arches}
- rust-format-bytes-macros
ExclusiveArch: %{rust_arches}
- rust-fscommon
ExclusiveArch: %{rust_arches}
- rust-fslock
ExclusiveArch: %{rust_arches}
- rust-futf
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gethostname
ExclusiveArch: %{rust_arches}
- rust-getset
ExclusiveArch: %{rust_arches}
- rust-gettext-rs
ExclusiveArch: %{rust_arches}
- rust-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gh-emoji
ExclusiveArch: %{rust_arches}
- rust-gif
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git-delta
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-git2_0.13
ExclusiveArch: %{rust_arches}
- rust-gitui
ExclusiveArch: %{rust_arches}
- rust-glam
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.11
ExclusiveArch: %{rust_arches}
- rust-hashbrown0.9
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-heck0.3
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hex-literal0.2
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hkdf0.11
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-hmac0.11
ExclusiveArch: %{rust_arches}
- rust-http-body
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-httpdate
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-ifcfg-devname
ExclusiveArch: %{rust_arches}
- rust-im-rc
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-impls
ExclusiveArch: %{rust_arches}
- rust-indenter
ExclusiveArch: %{rust_arches}
- rust-indicatif0.15
ExclusiveArch: %{rust_arches}
- rust-inferno
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inlinable_string
ExclusiveArch: %{rust_arches}
- rust-inout
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-inventory-impl
ExclusiveArch: %{rust_arches}
- rust-inventory0.1
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-ipnetwork0.17
ExclusiveArch: %{rust_arches}
- rust-is_ci
ExclusiveArch: %{rust_arches}
- rust-is_debug
ExclusiveArch: %{rust_arches}
- rust-is_executable
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itoa0.4
ExclusiveArch: %{rust_arches}
- rust-josekit
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-json5
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-konst
ExclusiveArch: %{rust_arches}
- rust-konst_macro_rules
ExclusiveArch: %{rust_arches}
- rust-konst_proc_macros
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lev_distance
ExclusiveArch: %{rust_arches}
- rust-libseccomp-sys
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-libsodium-sys
ExclusiveArch: %{rust_arches}
- rust-libsystemd
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-linreg
ExclusiveArch: %{rust_arches}
- rust-linux_proc
ExclusiveArch: %{rust_arches}
- rust-local-channel
ExclusiveArch: %{rust_arches}
- rust-local-encoding
ExclusiveArch: %{rust_arches}
- rust-local-waker
ExclusiveArch: %{rust_arches}
- rust-local_ipaddress
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-madvr_parse
ExclusiveArch: %{rust_arches}
- rust-mailparse
ExclusiveArch: %{rust_arches}
- rust-mbox
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md-5_0.9
ExclusiveArch: %{rust_arches}
- rust-memcached-rs
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap2_0.3
ExclusiveArch: %{rust_arches}
- rust-memmem
ExclusiveArch: %{rust_arches}
- rust-micro-timer
ExclusiveArch: %{rust_arches}
- rust-micro-timer-macros
ExclusiveArch: %{rust_arches}
- rust-minimal-lexical
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio0.7
ExclusiveArch: %{rust_arches}
- rust-mockall_double
ExclusiveArch: %{rust_arches}
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-navi
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nix0.22
ExclusiveArch: %{rust_arches}
- rust-num-bigint-dig
ExclusiveArch: %{rust_arches}
- rust-num-bigint0.3
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-num0.3
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-oid
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssl-kdf
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-os-release
ExclusiveArch: %{rust_arches}
- rust-os_display
ExclusiveArch: %{rust_arches}
- rust-os_pipe0.9
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-overload
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-palette_derive
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot0.11
ExclusiveArch: %{rust_arches}
- rust-passwd
ExclusiveArch: %{rust_arches}
- rust-pathdiff
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pem-rfc7468
ExclusiveArch: %{rust_arches}
- rust-pem0.8
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-petgraph0.5
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf0.8
ExclusiveArch: %{rust_arches}
- rust-phf_macros
ExclusiveArch: %{rust_arches}
- rust-phf_macros0.8
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-phf_shared0.8
ExclusiveArch: %{rust_arches}
- rust-picky-asn1
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-der
ExclusiveArch: %{rust_arches}
- rust-picky-asn1-x509
ExclusiveArch: %{rust_arches}
- rust-pid
ExclusiveArch: %{rust_arches}
- rust-pin-project-lite
ExclusiveArch: %{rust_arches}
- rust-pkcs1
ExclusiveArch: %{rust_arches}
- rust-pkcs5
ExclusiveArch: %{rust_arches}
- rust-pkcs8
ExclusiveArch: %{rust_arches}
- rust-png0.16
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions0.7
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-proc-macro-crate0.1
ExclusiveArch: %{rust_arches}
- rust-process_control
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost-types
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-psa-crypto
ExclusiveArch: %{rust_arches}
- rust-psa-crypto-sys
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-python-launcher
ExclusiveArch: %{rust_arches}
- rust-quick-xml0.22
ExclusiveArch: %{rust_arches}
- rust-quickcheck_macros
ExclusiveArch: %{rust_arches}
- rust-r2d2
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_distr
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-random
ExclusiveArch: %{rust_arches}
- rust-rav1e
ExclusiveArch: %{rust_arches}
- rust-rd-agent
ExclusiveArch: %{rust_arches}
- rust-rd-agent-intf
ExclusiveArch: %{rust_arches}
- rust-rd-hashd
ExclusiveArch: %{rust_arches}
- rust-rd-hashd-intf
ExclusiveArch: %{rust_arches}
- rust-rd-util
ExclusiveArch: %{rust_arches}
- rust-resctl-bench
ExclusiveArch: %{rust_arches}
- rust-resctl-bench-intf
ExclusiveArch: %{rust_arches}
- rust-resctl-demo
ExclusiveArch: %{rust_arches}
- rust-retry
ExclusiveArch: %{rust_arches}
- rust-rle-decode-fast
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmpv
ExclusiveArch: %{rust_arches}
- rust-rpick
ExclusiveArch: %{rust_arches}
- rust-rsa
ExclusiveArch: %{rust_arches}
- rust-rustc_version0.3
ExclusiveArch: %{rust_arches}
- rust-rustcat
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-rustls-pemfile
ExclusiveArch: %{rust_arches}
- rust-salsa20
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-scrypt
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-secret-service
ExclusiveArch: %{rust_arches}
- rust-semver0.11
ExclusiveArch: %{rust_arches}
- rust-sequoia-openpgp-mt
ExclusiveArch: %{rust_arches}
- rust-sequoia-sqv
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_with
ExclusiveArch: %{rust_arches}
- rust-serde_with_macros
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-serial_test0.5
ExclusiveArch: %{rust_arches}
- rust-serial_test_derive0.5
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sha-1_0.9
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha1_0.6
ExclusiveArch: %{rust_arches}
- rust-sha1_smol
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-sha2_0.9
ExclusiveArch: %{rust_arches}
- rust-sha3_0.9
ExclusiveArch: %{rust_arches}
- rust-shadow-rs
ExclusiveArch: %{rust_arches}
- rust-sharded-slab
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shellexpand
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal
ExclusiveArch: %{rust_arches}
- rust-signal-hook-mio
ExclusiveArch: %{rust_arches}
- rust-signature
ExclusiveArch: %{rust_arches}
- rust-signature_derive
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-similar-asserts
ExclusiveArch: %{rust_arches}
- rust-simple_asn1
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-term
ExclusiveArch: %{rust_arches}
- rust-smallbitvec
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-snake_case
ExclusiveArch: %{rust_arches}
- rust-spin0.5
ExclusiveArch: %{rust_arches}
- rust-spki
ExclusiveArch: %{rust_arches}
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-statrs
ExclusiveArch: %{rust_arches}
- rust-str_stack
ExclusiveArch: %{rust_arches}
- rust-streebog
ExclusiveArch: %{rust_arches}
- rust-streebog0.9
ExclusiveArch: %{rust_arches}
- rust-strict
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-strip-ansi-escapes
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-strum
ExclusiveArch: %{rust_arches}
- rust-strum0.21
ExclusiveArch: %{rust_arches}
- rust-strum_macros
ExclusiveArch: %{rust_arches}
- rust-strum_macros0.21
ExclusiveArch: %{rust_arches}
- rust-sval
ExclusiveArch: %{rust_arches}
- rust-sval_derive
ExclusiveArch: %{rust_arches}
- rust-sval_json
ExclusiveArch: %{rust_arches}
- rust-svg
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-syntect4
ExclusiveArch: %{rust_arches}
- rust-sysinfo0.19
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-temp_testdir
ExclusiveArch: %{rust_arches}
- rust-temptree
ExclusiveArch: %{rust_arches}
- rust-tendril
ExclusiveArch: %{rust_arches}
- rust-tera
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termbg
ExclusiveArch: %{rust_arches}
- rust-textwrap0.11
ExclusiveArch: %{rust_arches}
- rust-textwrap0.14
ExclusiveArch: %{rust_arches}
- rust-tiff
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-tiger
ExclusiveArch: %{rust_arches}
- rust-time-macros0.1
ExclusiveArch: %{rust_arches}
- rust-time0.2
ExclusiveArch: %{rust_arches}
- rust-timebomb
ExclusiveArch: %{rust_arches}
- rust-tiny_http
ExclusiveArch: %{rust_arches}
- rust-tiny_http0.6
ExclusiveArch: %{rust_arches}
- rust-tinyvec
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio-compat
ExclusiveArch: %{rust_arches}
- rust-tokio-util0.6
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tower-service
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tracing-log
ExclusiveArch: %{rust_arches}
- rust-trash
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-config
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-highlight
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-loader
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-tags
ExclusiveArch: %{rust_arches}
- rust-ttf-parser0.12
ExclusiveArch: %{rust_arches}
- rust-tui-react
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-typed-arena1
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-uefi-run
ExclusiveArch: %{rust_arches}
- rust-unicode-linebreak
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-utf8-width
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-uucore_procs
ExclusiveArch: %{rust_arches}
- rust-uuid0.8
ExclusiveArch: %{rust_arches}
- rust-v_frame
ExclusiveArch: %{rust_arches}
- rust-value-bag
ExclusiveArch: %{rust_arches}
- rust-varbincode
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-vhost-user-backend
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-webbrowser
ExclusiveArch: %{rust_arches}
- rust-weezl
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-xcb
ExclusiveArch: %{rust_arches}
- rust-xkbcommon
ExclusiveArch: %{rust_arches}
- rust-xxhash-c-sys
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-yansi
ExclusiveArch: %{rust_arches}
- rust-z85
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zmq-sys
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- 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
- sequence-library
ExclusiveArch: %{java_arches} noarch
- serp
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- shaman
ExclusiveArch: %{java_arches} noarch
- 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
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{golang_arches_future}
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- 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}
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{java_arches}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- writer2latex
ExclusiveArch: %{java_arches}
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: %{gap_arches}
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmpcore
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_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
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: %{qt5_qtwebengine_arches}
- zenon
ExclusiveArch: %{java_arches}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
4 months
Architecture specific change in rpms/rust-git2.git
by githook-noreply@fedoraproject.org
The package rpms/rust-git2.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-git2.git/commit/?id=85de0f81....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 85de0f817bb532008326e4f4bbd0aa26e7ec8bc6
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Tue May 30 00:57:10 2023 +0200
Update to version 0.16.1
diff --git a/.gitignore b/.gitignore
index ebda4b5..1214d74 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@
/git2-0.13.24.crate
/git2-0.13.25.crate
/git2-0.14.4.crate
+/git2-0.16.1.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index 786dd6b..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-git2
-
-The rust-git2 package
\ No newline at end of file
diff --git a/rust-git2.spec b/rust-git2.spec
index 3293a23..3ba9388 100644
--- a/rust-git2.spec
+++ b/rust-git2.spec
@@ -1,27 +1,24 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate git2
-Name: rust-%{crate}
-Version: 0.14.4
+Name: rust-git2
+Version: 0.16.1
Release: %autorelease
Summary: Bindings to libgit2 for interoperating with git repositories
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/git2
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Bindings to libgit2 for interoperating with git repositories. This library is
-both threadsafe and memory safe and allows both reading and writing git
-repositories.}
+Bindings to libgit2 for interoperating with git repositories. This
+library is both threadsafe and memory safe and allows both reading and
+writing git repositories.}
%description %{_description}
diff --git a/.rust2rpm.conf b/rust2rpm.conf
similarity index 83%
rename from .rust2rpm.conf
rename to rust2rpm.conf
index 0415a4b..28b4869 100644
--- a/.rust2rpm.conf
+++ b/rust2rpm.conf
@@ -1,5 +1,5 @@
[DEFAULT]
-buildrequires =
+testrequires =
/usr/bin/git
unwanted-features =
vendored-openssl
diff --git a/sources b/sources
index 7617361..e244f15 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (git2-0.14.4.crate) = 05a5894eb90e5371525222f69321c2376f6b8e0306a04ff05a9917005ca77a86b6100ec19338e47265599f3a61603511991ea8664e7c64702a580841ef98963a
+SHA512 (git2-0.16.1.crate) = 4963798b6d9fc087a4394515b0f6da0a9e01fcbc220dc3d1880a277ea0487083ac05c0bc3a52a537885eb065a9b2209658a199835457b38c94e45395ad8d6252
commit 69b98d2dd0ea28c6525c710a2a401dd47653b1cc
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 23:06:14 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
4 months
Architecture specific change in rpms/rust-git2.git
by githook-noreply@fedoraproject.org
The package rpms/rust-git2.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-git2.git/commit/?id=85de0f81....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 85de0f817bb532008326e4f4bbd0aa26e7ec8bc6
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Tue May 30 00:57:10 2023 +0200
Update to version 0.16.1
diff --git a/.gitignore b/.gitignore
index ebda4b5..1214d74 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,4 @@
/git2-0.13.24.crate
/git2-0.13.25.crate
/git2-0.14.4.crate
+/git2-0.16.1.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index 786dd6b..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-git2
-
-The rust-git2 package
\ No newline at end of file
diff --git a/rust-git2.spec b/rust-git2.spec
index 3293a23..3ba9388 100644
--- a/rust-git2.spec
+++ b/rust-git2.spec
@@ -1,27 +1,24 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate git2
-Name: rust-%{crate}
-Version: 0.14.4
+Name: rust-git2
+Version: 0.16.1
Release: %autorelease
Summary: Bindings to libgit2 for interoperating with git repositories
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/git2
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-
BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Bindings to libgit2 for interoperating with git repositories. This library is
-both threadsafe and memory safe and allows both reading and writing git
-repositories.}
+Bindings to libgit2 for interoperating with git repositories. This
+library is both threadsafe and memory safe and allows both reading and
+writing git repositories.}
%description %{_description}
diff --git a/.rust2rpm.conf b/rust2rpm.conf
similarity index 83%
rename from .rust2rpm.conf
rename to rust2rpm.conf
index 0415a4b..28b4869 100644
--- a/.rust2rpm.conf
+++ b/rust2rpm.conf
@@ -1,5 +1,5 @@
[DEFAULT]
-buildrequires =
+testrequires =
/usr/bin/git
unwanted-features =
vendored-openssl
diff --git a/sources b/sources
index 7617361..e244f15 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (git2-0.14.4.crate) = 05a5894eb90e5371525222f69321c2376f6b8e0306a04ff05a9917005ca77a86b6100ec19338e47265599f3a61603511991ea8664e7c64702a580841ef98963a
+SHA512 (git2-0.16.1.crate) = 4963798b6d9fc087a4394515b0f6da0a9e01fcbc220dc3d1880a277ea0487083ac05c0bc3a52a537885eb065a9b2209658a199835457b38c94e45395ad8d6252
4 months
Architecture specific change in rpms/rust-dirs.git
by githook-noreply@fedoraproject.org
The package rpms/rust-dirs.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-dirs.git/commit/?id=36a94555....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 2591b8fd741a607246dbcba2229e12d42678b15f
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon May 29 18:01:14 2023 +0200
Update to version 5.0.1; Fixes RHBZ#2179647
diff --git a/.gitignore b/.gitignore
index db11365..67e328f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/dirs-3.0.1.crate
/dirs-3.0.2.crate
/dirs-4.0.0.crate
+/dirs-5.0.1.crate
diff --git a/rust-dirs.spec b/rust-dirs.spec
index 9ef93cf..59cd541 100644
--- a/rust-dirs.spec
+++ b/rust-dirs.spec
@@ -5,7 +5,7 @@
%global crate dirs
Name: rust-dirs
-Version: 4.0.0
+Version: 5.0.1
Release: %autorelease
Summary: Platform abstractions for common directories
diff --git a/sources b/sources
index 114d3f2..5971982 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dirs-4.0.0.crate) = be582e5045f1916fb6b918c8e8c5907b4b663534025e4227ea4828e2aa9fe7fbcb3c48f1f0d08d163ba684aa4404076ac210e7f14766a09b9ed89a2825121b3b
+SHA512 (dirs-5.0.1.crate) = cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1
commit 36a9455589ff026aff35de1d43ea3ffbf6ded9ec
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu May 25 13:30:22 2023 +0200
Regenerate with rust2rpm v24
diff --git a/README.md b/README.md
deleted file mode 100644
index 53f6e06..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-dirs
-
-The rust-dirs package
\ No newline at end of file
diff --git a/rust-dirs.spec b/rust-dirs.spec
index 6a819f9..9ef93cf 100644
--- a/rust-dirs.spec
+++ b/rust-dirs.spec
@@ -1,32 +1,26 @@
-# Generated by rust2rpm 18
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate dirs
-Name: rust-%{crate}
+Name: rust-dirs
Version: 4.0.0
Release: %autorelease
Summary: Platform abstractions for common directories
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/dirs
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Tiny low-level library that provides platform-specific standard locations of
-directories for config, cache and other data on Linux, Windows, macOS and Redox
-by leveraging the mechanisms defined by the XDG base/user directory
-specifications on Linux, the Known Folder API on Windows, and the Standard
-Directory guidelines on macOS.}
+A tiny low-level library that provides platform-specific standard
+locations of directories for config, cache and other data on Linux,
+Windows, macOS and Redox by leveraging the mechanisms defined by the XDG
+base/user directory specifications on Linux, the Known Folder API on
+Windows, and the Standard Directory guidelines on macOS.}
%description %{_description}
@@ -36,13 +30,14 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE-APACHE LICENSE-MIT
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -50,11 +45,11 @@ 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.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/rust2rpm.conf b/rust2rpm.conf
new file mode 100644
index 0000000..7446e56
--- /dev/null
+++ b/rust2rpm.conf
@@ -0,0 +1,2 @@
+[DEFAULT]
+summary = Platform abstractions for common directories
commit e47ce93b8f8ef339bccadd6bec81582fb2f57287
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 22:32:29 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
4 months
Architecture specific change in rpms/rust-dirs.git
by githook-noreply@fedoraproject.org
The package rpms/rust-dirs.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-dirs.git/commit/?id=36a94555....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 2591b8fd741a607246dbcba2229e12d42678b15f
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon May 29 18:01:14 2023 +0200
Update to version 5.0.1; Fixes RHBZ#2179647
diff --git a/.gitignore b/.gitignore
index db11365..67e328f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/dirs-3.0.1.crate
/dirs-3.0.2.crate
/dirs-4.0.0.crate
+/dirs-5.0.1.crate
diff --git a/rust-dirs.spec b/rust-dirs.spec
index 9ef93cf..59cd541 100644
--- a/rust-dirs.spec
+++ b/rust-dirs.spec
@@ -5,7 +5,7 @@
%global crate dirs
Name: rust-dirs
-Version: 4.0.0
+Version: 5.0.1
Release: %autorelease
Summary: Platform abstractions for common directories
diff --git a/sources b/sources
index 114d3f2..5971982 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dirs-4.0.0.crate) = be582e5045f1916fb6b918c8e8c5907b4b663534025e4227ea4828e2aa9fe7fbcb3c48f1f0d08d163ba684aa4404076ac210e7f14766a09b9ed89a2825121b3b
+SHA512 (dirs-5.0.1.crate) = cfc329518e85a25c296521b9aeb6e5d5f60b4525aa786ebfa8b9f198446a1ff5892160d1bb4790d7f3fc4a0abdb5921b2e4896e271a3fc3a3225897313b77bd1
commit 36a9455589ff026aff35de1d43ea3ffbf6ded9ec
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Thu May 25 13:30:22 2023 +0200
Regenerate with rust2rpm v24
diff --git a/README.md b/README.md
deleted file mode 100644
index 53f6e06..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-dirs
-
-The rust-dirs package
\ No newline at end of file
diff --git a/rust-dirs.spec b/rust-dirs.spec
index 6a819f9..9ef93cf 100644
--- a/rust-dirs.spec
+++ b/rust-dirs.spec
@@ -1,32 +1,26 @@
-# Generated by rust2rpm 18
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate dirs
-Name: rust-%{crate}
+Name: rust-dirs
Version: 4.0.0
Release: %autorelease
Summary: Platform abstractions for common directories
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/dirs
Source: %{crates_source}
-ExclusiveArch: %{rust_arches}
-%if %{__cargo_skip_build}
-BuildArch: noarch
-%endif
-
-BuildRequires: rust-packaging
+BuildRequires: rust-packaging >= 21
%global _description %{expand:
-Tiny low-level library that provides platform-specific standard locations of
-directories for config, cache and other data on Linux, Windows, macOS and Redox
-by leveraging the mechanisms defined by the XDG base/user directory
-specifications on Linux, the Known Folder API on Windows, and the Standard
-Directory guidelines on macOS.}
+A tiny low-level library that provides platform-specific standard
+locations of directories for config, cache and other data on Linux,
+Windows, macOS and Redox by leveraging the mechanisms defined by the XDG
+base/user directory specifications on Linux, the Known Folder API on
+Windows, and the Standard Directory guidelines on macOS.}
%description %{_description}
@@ -36,13 +30,14 @@ BuildArch: noarch
%description devel %{_description}
-This package contains library source intended for building other packages
-which use "%{crate}" crate.
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
%files devel
-%license LICENSE-APACHE LICENSE-MIT
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE-APACHE
+%license %{crate_instdir}/LICENSE-MIT
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
@@ -50,11 +45,11 @@ 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.
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
diff --git a/rust2rpm.conf b/rust2rpm.conf
new file mode 100644
index 0000000..7446e56
--- /dev/null
+++ b/rust2rpm.conf
@@ -0,0 +1,2 @@
+[DEFAULT]
+summary = Platform abstractions for common directories
4 months
Architecture specific change in rpms/rust-dirs-sys.git
by githook-noreply@fedoraproject.org
The package rpms/rust-dirs-sys.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-dirs-sys.git/commit/?id=858b....
Change:
-ExclusiveArch: %{rust_arches}
Thanks.
Full change:
============
commit 858b3d806e3ce481052c8821f4bda05cf584a7e8
Author: Fabio Valentini <decathorpe(a)gmail.com>
Date: Mon May 29 18:01:40 2023 +0200
Update to version 0.4.1; Fixes RHBZ#2175300
diff --git a/.gitignore b/.gitignore
index e680020..f9aaade 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
/dirs-sys-0.3.5.crate
/dirs-sys-0.3.6.crate
/dirs-sys-0.3.7.crate
+/dirs-sys-0.4.1.crate
diff --git a/README.md b/README.md
deleted file mode 100644
index 14baabd..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# rust-dirs-sys
-
-The rust-dirs-sys package
\ No newline at end of file
diff --git a/dirs-sys-fix-metadata-auto.diff b/dirs-sys-fix-metadata-auto.diff
new file mode 100644
index 0000000..f328b6d
--- /dev/null
+++ b/dirs-sys-fix-metadata-auto.diff
@@ -0,0 +1,21 @@
+--- dirs-sys-0.4.1/Cargo.toml 1970-01-01T00:00:01+00:00
++++ dirs-sys-0.4.1/Cargo.toml 2023-05-29T15:54:19.970348+00:00
+@@ -21,18 +21,6 @@
+ [dependencies.option-ext]
+ version = "0.2.0"
+
+-[target."cfg(target_os = \"redox\")".dependencies.redox_users]
+-version = "0.4"
+-default-features = false
+-
+ [target."cfg(unix)".dependencies.libc]
+ version = "0.2"
+
+-[target."cfg(windows)".dependencies.windows-sys]
+-version = "0.48.0"
+-features = [
+- "Win32_UI_Shell",
+- "Win32_Foundation",
+- "Win32_Globalization",
+- "Win32_System_Com",
+-]
diff --git a/dirs-sys-fix-metadata.diff b/dirs-sys-fix-metadata.diff
deleted file mode 100644
index 987c7b5..0000000
--- a/dirs-sys-fix-metadata.diff
+++ /dev/null
@@ -1,14 +0,0 @@
---- dirs-sys-0.3.7/Cargo.toml 1970-01-01T00:00:01+00:00
-+++ dirs-sys-0.3.7/Cargo.toml 2022-03-21T11:40:37.707994+00:00
-@@ -17,11 +17,5 @@
- readme = "README.md"
- license = "MIT OR Apache-2.0"
- repository = "https://github.com/dirs-dev/dirs-sys-rs"
--[target."cfg(target_os = \"redox\")".dependencies.redox_users]
--version = "0.4"
--default-features = false
- [target."cfg(unix)".dependencies.libc]
- version = "0.2"
--[target."cfg(windows)".dependencies.winapi]
--version = "0.3"
--features = ["knownfolders", "objbase", "shlobj", "winbase", "winerror"]
diff --git a/rust-dirs-sys.spec b/rust-dirs-sys.spec
index 4b59eed..d872d44 100644
--- a/rust-dirs-sys.spec
+++ b/rust-dirs-sys.spec
@@ -1,23 +1,19 @@
-# Generated by rust2rpm 21
+# Generated by rust2rpm 24
%bcond_without check
%global debug_package %{nil}
%global crate dirs-sys
-Name: rust-%{crate}
-Version: 0.3.7
+Name: rust-dirs-sys
+Version: 0.4.1
Release: %autorelease
Summary: System-level helper functions for the dirs and directories crates
-# Upstream license specification: MIT OR Apache-2.0
-License: MIT or ASL 2.0
+License: MIT OR Apache-2.0
URL: https://crates.io/crates/dirs-sys
Source: %{crates_source}
-# Initial patched metadata
-# * drop windows- and redox OS-specific dependencies
-Patch0: dirs-sys-fix-metadata.diff
-
-ExclusiveArch: %{rust_arches}
+# Automatically generated patch to strip foreign dependencies
+Patch: dirs-sys-fix-metadata-auto.diff
BuildRequires: rust-packaging >= 21
diff --git a/sources b/sources
index 8fd9baa..b22a425 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dirs-sys-0.3.7.crate) = e630964e4c452950a475c10a490b49b2979dd7dfda48172b905cc789153ae4a0ba2d7d91f690705cbfff23737c4b4a339eb0c49e922efd7d68a92fe6368a929f
+SHA512 (dirs-sys-0.4.1.crate) = 53c7c8bc76d7211d08a0e6b25caaed12eeb7283cb4b352c12311db3c796794330943259a08e48ff9d3a280917920a088e5aede32677a4b2f9f819c2dca6adb9a
commit a8207d04a8d02e9dfb4b69a606dc97d592b9abba
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 22:32:49 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
4 months