Architecture specific change in rpms/wlmaker.git
by githook-noreply@fedoraproject.org
The package rpms/wlmaker.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/wlmaker.git/commit/?id=c0d69c3622....
Change:
+ExcludeArch: %{ix86} ppc64le
Thanks.
Full change:
============
commit c0d69c362243cb4faf9e91d7c600d6b266b3ffda
Author: Davide Cavalca <dcavalca(a)fedoraproject.org>
Date: Sat Apr 20 07:52:13 2024 -0700
Initial import; Fixes: RHBZ#2276172
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..000321b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/libbase-27aae1898bcc9bd125f260c42c370896159afbee.tar.gz
+/wlmaker-0.2.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..c8dc766
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (libbase-27aae1898bcc9bd125f260c42c370896159afbee.tar.gz) = ed3f2e94f1ebb8d8e44567702aefe21ea50c4025536e0b4974b4d428ef0f6ee433bab570b36a6a5c7b2471c440f2e13050bd2fc29a551e9dc2570e80bd8c16f1
+SHA512 (wlmaker-0.2.tar.gz) = 2f576a8301f97b9df8944531704b01ea95f4e8520d2679bf1a712c9653a21c31924d90d11f3f7b38b73a6d3d2d5e5f18590d158368ab50f5243d8dc7f80f77f5
diff --git a/wlmaker.spec b/wlmaker.spec
new file mode 100644
index 0000000..c056bd7
--- /dev/null
+++ b/wlmaker.spec
@@ -0,0 +1,116 @@
+# libbase is a utility library from the same upstream that is only used by this
+# project and is statically linked into the build
+%global libbase_commit 27aae1898bcc9bd125f260c42c370896159afbee
+%global libbase_url https://github.com/phkaeser/libbase
+
+%bcond docs 1
+
+Name: wlmaker
+Version: 0.2
+Release: %autorelease
+Summary: Wayland compositor inspired by Window Maker
+
+License: Apache-2.0
+URL: https://github.com/phkaeser/wlmaker
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+Source1: %{libbase_url}/archive/%{libbase_commit}/libbase-%{libbase_commit}.tar.gz
+
+# i686: https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+# ppc64le: https://github.com/phkaeser/libbase/issues/7
+ExcludeArch: %{ix86} ppc64le
+
+BuildRequires: cmake
+BuildRequires: gcc
+BuildRequires: sed
+%if %{with docs}
+BuildRequires: doxygen
+BuildRequires: plantuml
+%endif
+
+# For libbase
+BuildRequires: ncurses-devel
+BuildRequires: pkgconfig(cairo) >= 1.16.0
+
+# For wlmaker
+BuildRequires: pkgconfig(wayland-client) >= 1.22.0
+BuildRequires: pkgconfig(wayland-protocols) >= 1.31
+BuildRequires: pkgconfig(wayland-server) >= 1.22.0
+BuildRequires: pkgconfig(wlroots) >= 0.17
+BuildRequires: pkgconfig(xcb) >= 1.14
+BuildRequires: pkgconfig(xkbcommon) >= 1.0.3
+
+# These are currently hardcoded in the dock
+Recommends: chromium
+Recommends: firefox
+Recommends: foot
+
+%if %{with docs}
+Suggests: %{name}-doc = %{version}-%{release}
+%endif
+
+%description
+Wayland Maker is a Wayland compositor inspired by Window Maker.
+
+Key features:
+- Compositor for windows in stacking mode.
+- Supports multiple workspaces.
+- Appearance inspired by Window Maker, following the look and feel of NeXTSTEP.
+- Easy to use, lightweight, low gimmicks and fast.
+- Dock and clip, to be extended for dockable apps.
+
+%package doc
+Summary: Developer documentation for %{name}
+BuildArch: noarch
+
+%description doc
+This package provides additional developer documentation for %{name}.
+
+%prep
+%autosetup -p1 -b 1
+
+# Drop bundled dependencies
+rm -r dependencies
+
+# Ensure libbase can be found; we move instead of symlinking because the build
+# uses relative paths for the includes and that confuses things
+rm -r submodules/libbase
+mv ../libbase-%{libbase_commit}/ submodules/libbase
+
+# Relax wayland version requirement
+# https://github.com/phkaeser/wlmaker/issues/23
+sed -i 's/1.22.90/1.22.0/g' CMakeLists.txt
+
+# Do not abort on warnings
+sed -i 's/-Werror//' CMakeLists.txt submodules/libbase/CMakeLists.txt
+
+# Use chromium instead of google-chrome
+sed -i 's/google-chrome/chromium-browser/' src/dock.c
+
+%build
+%cmake -Dconfig_OPTIM=ON
+%cmake_build
+%if %{with docs}
+%cmake_build --target doc
+%endif
+
+%install
+%cmake_install
+
+%check
+%ctest
+
+%files
+%license LICENSE
+%doc README.md CODE_OF_CONDUCT.md CONTRIBUTING.md doc/ROADMAP.md
+%{_bindir}/wlmaker
+%{_bindir}/wlmclock
+%{_datadir}/icons/%{name}/
+
+%if %{with docs}
+%files doc
+%license LICENSE
+%doc %{_vpath_builddir}/doc/html/
+%endif
+
+%changelog
+%autochangelog
1 month, 1 week
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2222)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 389-ds-base
ExcludeArch: i686
- 4ti2
ExcludeArch: %{ix86}
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le riscv64
- AcetoneISO
ExcludeArch: ppc %{power64} s390x
- Agda
ExcludeArch: %{ix86} armv7hl
- Agda-stdlib
ExcludeArch: armv7hl %{ix86}
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- COPASI
ExcludeArch: %{ix86}
- CardManager
ExclusiveArch: %{java_arches} noarch
- CuraEngine
ExcludeArch: %{ix86}
- E
ExcludeArch: %{ix86}
- GAPDoc
ExcludeArch: %{ix86}
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- HPCombi
ExclusiveArch: x86_64 %{arm64}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- IQmol
ExcludeArch: %{ix86}
- JUnitParams
ExclusiveArch: %{java_arches} noarch
- L-function
ExcludeArch: %{ix86}
- LabPlot
ExcludeArch: sparc64 s390 s390x
- MUSIC
ExcludeArch: %{ix86}
- Macaulay2
ExcludeArch: %{ix86} ppc64le
- Maelstrom
ExcludeArch: %{ix86}
- Mars
ExclusiveArch: %{java_arches} noarch
- NiaAML-GUI
ExcludeArch: %{ix86}
- OpenColorIO
ExcludeArch: i686
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExcludeArch: i686
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- Pencil2D
ExcludeArch: %{ix86}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- ProDy
ExcludeArch: ppc64 s390x
- R-IRkernel
ExcludeArch: %{ix86}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-ape
ExcludeArch: %{ix86}
- R-igraph
ExcludeArch: %{ix86}
- R-kernlab
ExcludeArch: %{ix86} s390x
- R-rJava
ExclusiveArch: %{java_arches}
- Random123
ExcludeArch: mips64r2 mips32r2 s390
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- Singular
ExcludeArch: %{ix86}
- TOPCOM
ExcludeArch: %{ix86}
- VulkanMemoryAllocator
ExcludeArch: %{ix86}
- WoeUSB
ExcludeArch: s390x
- YafaRay
ExclusiveArch: %{ix86} x86_64
- Zim
ExcludeArch: %{ix86}
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- abiword
ExcludeArch: %{ix86}
- abrt-java-connector
ExcludeArch: %{ix86}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpica-tools
ExcludeArch: i686 armv7hl
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64 riscv64
- act
ExcludeArch: %{ix86}
- admeshgui
ExcludeArch: %{ix86}
- aemu
ExcludeArch: %{ix86} %{power64} s390x
- agenda
ExcludeArch: %{ix86}
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alienarena
ExcludeArch: s390x
- alizams
ExcludeArch: %{power64} %{ix86} s390x
- alt-ergo
ExcludeArch: %{ix86}
- american-fuzzy-lop
ExclusiveArch: x86_64
- amg4psblas
ExcludeArch: %{ix86}
- android-tools
ExcludeArch: ppc ppc64 s390x ppc64le
- anet
ExclusiveArch: %{GPRbuild_arches}
- ansible-collection-microsoft-sql
ExcludeArch: i686
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- ant-contrib
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr3
ExclusiveArch: %{java_arches}
- 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-configuration
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jexl
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-commons-vfs
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-logging-parent
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}
- appeditor
ExcludeArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- apricots
ExcludeArch: ppc64le aarch64
- apron
ExcludeArch: %{ix86}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- arbor
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
- arc-theme
ExcludeArch: %{ix86}
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt6_qtwebengine_arches}
- arm-none-eabi-binutils-cs
ExcludeArch: %{ix86}
- arm-none-eabi-gcc-cs
ExcludeArch: %{ix86}
- arm-trusted-firmware
ExclusiveArch: aarch64
- arpwatch
ExcludeArch: %{ix86}
- asahi-installer
ExcludeArch: s390x
- asdcplib
ExcludeArch: %{ix86} %{arm}
- asmjit
ExclusiveArch: aarch64 x86_64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- astromenace
ExcludeArch: ppc64 s390x
- astrometry-tycho2
ExcludeArch: s390x
- asv
ExcludeArch: %{ix86}
- atinject
ExclusiveArch: %{java_arches} noarch
- atlantik
ExcludeArch: %{ix86}
- atomic-queue
ExcludeArch: %{ix86}
- aubit4gl
ExcludeArch: i686 s390x ppc64le
- audacity
ExcludeArch: %{ix86} s390x
- audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- aunit
ExclusiveArch: %{GPRbuild_arches}
- auryn
ExcludeArch: %{ix86}
- auto
ExclusiveArch: %{java_arches} noarch
- autolink-java
ExclusiveArch: noarch %{java_arches}
- avgtime
ExclusiveArch: %{ldc_arches}
- avr-gcc
ExcludeArch: %{ix86}
- aws
ExclusiveArch: %GPRbuild_arches
- awscli2
ExcludeArch: s390x
- azove
ExcludeArch: %{ix86}
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x riscv64
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl riscv64
- bcel
ExclusiveArch: %{java_arches} noarch
- bcftools
ExcludeArch: s390x
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- bear
ExcludeArch: %{ix86}
- bear-factory
ExcludeArch: ppc64le
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips} riscv64
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- bigloo
ExcludeArch: %{ix86}
- binaryen
ExcludeArch: ppc64 s390x
- binutils
ExcludeArch: aarch64-linux-gnu aarch64-redhat-linux
ExcludeArch: ppc64le-linux-gnu ppc64le-redhat-linux
ExcludeArch: s390x-linux-gnu s390x-redhat-linux
ExcludeArch: x86_64-linux-gnu x86_64-redhat-linux i686-linux-gnu i686-redhat-linux
- biosdevname
ExclusiveArch: %{ix86} x86_64
- biosig4c++
ExcludeArch: %{ix86}
- blake3
ExcludeArch: %{ix86}
- blender
ExcludeArch: %{ix86} %{arm}
- bless
ExclusiveArch: %mono_arches
- bliss
ExcludeArch: %{ix86}
- blueprint-compiler
ExcludeArch: s390x
- bluez-hcidump
ExcludeArch: s390 s390x
- bochs
ExcludeArch: s390x i686
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- boinc-client
ExcludeArch: s390x
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bootc
ExcludeArch: %{ix86}
- bottles
ExcludeArch: s390x
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bout++
ExcludeArch: %{ix86}
- bowtie
ExcludeArch: i686 armv7hl
- bowtie2
ExcludeArch: %{ix86} %{arm} s390x
- box64
ExclusiveArch: aarch64 riscv64 ppc64le x86_64
- boxes
ExcludeArch: %{ix86}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- breakid
ExcludeArch: %{ix86}
- brewtarget
ExcludeArch: %{ix86}
- brial
ExcludeArch: %{ix86}
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- busybox
ExcludeArch: i686 s390x
- bwping
ExcludeArch: %{ix86}
- byebyebios
ExclusiveArch: x86_64
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- caddy
ExclusiveArch: %{golang_arches}
ExclusiveArch: %{golang_arches_future}
- cadical
ExcludeArch: %{ix86}
- caffe
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64 riscv64
- calibre
ExclusiveArch: aarch64 x86_64
- calligra
ExcludeArch: %{ix86}
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- cantera
ExcludeArch: %{ix86}
- carat
ExcludeArch: %{ix86}
- casc
ExcludeArch: %{ix86}
- cataclysm-dda
ExcludeArch: i686
- catatonit
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- ccdciel
ExclusiveArch: %{fpc_arches}
ExcludeArch: %{ix86}
- ccluster
ExcludeArch: %{ix86}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- cdrdao
ExcludeArch: s390 s390x
- ceph
ExcludeArch: i686 armv7hl
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- ceres-solver
ExcludeArch: ppc64
- cfn-lint
ExcludeArch: %{ix86}
- cglib
ExclusiveArch: %{java_arches} noarch
- cgreen
ExcludeArch: s390x
- chatterino2
ExcludeArch: %{ix86}
- chatty
ExcludeArch: i686
- checkpointctl
ExclusiveArch: %{golang_arches_future}
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64 ppc64le
ExclusiveArch: x86_64 aarch64
- cinnamon
ExcludeArch: %{ix86}
- cinnamon-control-center
ExcludeArch: %{ix86}
- cinnamon-desktop
ExcludeArch: %{ix86}
- cinnamon-menus
ExcludeArch: %{ix86}
- cinnamon-screensaver
ExcludeArch: %{ix86}
- cinnamon-session
ExcludeArch: %{ix86}
- cinnamon-settings-daemon
ExcludeArch: %{ix86}
- cjdns
ExclusiveArch: %{nodejs_arches}
- cjs
ExcludeArch: %{ix86}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- cld2
ExcludeArch: ppc64 s390x
- clibs-list
ExcludeArch: %{ix86}
- 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
- cloudcompare
ExcludeArch: %{ix86}
- clover2
ExcludeArch: armv7hl
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coan
ExcludeArch: ppc64 s390x
- coccinelle
ExcludeArch: %{ix86}
- cocoalib
ExcludeArch: %{ix86}
- codeblocks
ExcludeArch: %{ix86}
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- cohomCalg
ExcludeArch: %{ix86}
- coin-or-Alps
ExcludeArch: %{ix86}
- coin-or-Bcp
ExcludeArch: %{ix86}
- coin-or-Bcps
ExcludeArch: %{ix86}
- coin-or-Blis
ExcludeArch: %{ix86}
- coin-or-Bonmin
ExcludeArch: %{ix86}
- coin-or-CoinMP
ExcludeArch: %{ix86}
- coin-or-Couenne
ExcludeArch: %{ix86}
- coin-or-Dip
ExcludeArch: %{ix86}
- coin-or-FlopC++
ExcludeArch: %{ix86}
- coin-or-HiGHS
ExcludeArch: %{ix86}
- coin-or-Ipopt
ExcludeArch: %{ix86}
- coin-or-OS
ExcludeArch: %{ix86}
- coin-or-SYMPHONY
ExcludeArch: %{ix86}
- coin-or-lemon
ExcludeArch: %{ix86}
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- compiz-plugins-experimental
ExcludeArch: s390 s390x
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- containers-common
ExclusiveArch: %{golang_arches} noarch
- contour-terminal
ExclusiveArch: x86_64 aarch64
- contractor
ExcludeArch: %{ix86}
- conu
ExcludeArch: ppc64
- coolreader
ExcludeArch: %{ix86}
- coq
ExclusiveArch: %{ocaml_native_compiler}
- corectrl
ExcludeArch: %{ix86}
- cortado
ExclusiveArch: %{java_arches} noarch
- coxeter
ExcludeArch: %{ix86}
- cpp-hocon
ExcludeArch: %{ix86}
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cpuinfo
ExclusiveArch: x86_64 aarch64
- cqrlog
ExclusiveArch: %{fpc_arches}
- cramjam-cli
ExcludeArch: %{ix86}
- 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
- crest
ExcludeArch: 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}
ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64
- cryfs
ExcludeArch: i686
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- cryptominisat
ExcludeArch: %{ix86}
- csdp
ExcludeArch: %{ix86}
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cura
ExcludeArch: %{ix86}
- cura-fdm-materials
ExcludeArch: %{ix86}
- cvc5
ExcludeArch: %{ix86}
- cxsc
ExcludeArch: %{ix86}
- daggy
ExcludeArch: s390x
- dapl
ExcludeArch: s390, armv7hl
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExcludeArch: armv7hl i686 s390x
- dbus-parsec
ExcludeArch: ppc64le s390x
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- ddccontrol
ExcludeArch: s390 s390x
- ddcutil
ExcludeArch: s390 s390x
- ddd
ExcludeArch: %{ix86}
- ddnet
ExcludeArch: s390x
- 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}
- dhall
ExcludeArch: %{ix86}
- dhall-json
ExcludeArch: %{ix86}
- dialect
ExcludeArch: s390x
- diffoscope
ExcludeArch: %{ix86}
- dippi
ExcludeArch: %{ix86}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dl_poly
ExcludeArch: i686
- dlib
ExcludeArch: ppc64le
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- dnsdist
ExcludeArch: %{ix86} #1994125
ExcludeArch: armv7hl #1994125
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
ExcludeArch: i686
- dolfin
ExcludeArch: %{ix86}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dosbox-staging
ExcludeArch: %{ix86}
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet8.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dovecot
ExcludeArch: %{ix86}
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dragonbox
ExcludeArch: %{ix86}
- drat-trim
ExcludeArch: %{ix86}
- drat2er
ExcludeArch: %{ix86}
- dub
ExclusiveArch: %{ldc_arches}
- duperemove
ExcludeArch: %{ix86}
- dvdauthor
ExcludeArch: %{ix86}
- dvgrab
ExcludeArch: s390 s390x
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e-antic
ExcludeArch: %{ix86}
- e00compr
ExcludeArch: %{ix86}
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- eccodes
ExcludeArch: i686
- ecj
ExclusiveArch: %{java_arches} noarch
- eclib
ExcludeArch: %{ix86}
- eclipse-swt
ExclusiveArch: %{java_arches}
- ecryptfs-utils
ExcludeArch: %{ix86}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edac-utils
ExcludeArch: %{ix86}
- edflib
ExcludeArch: s390x %{ix86}
- edk2
ExclusiveArch: x86_64 aarch64 riscv64
- edwin-fonts
ExcludeArch: %{ix86}
- eegdev
ExcludeArch: %{ix86}
- eegview
ExcludeArch: %{ix86}
- efax
ExcludeArch: s390 s390x
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- electron-cash
ExcludeArch: %{ix86}
- electrum
ExcludeArch: %{ix86}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 aarch64 %{arm} %{power64}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-common-proofgeneral
ExcludeArch: %{ix86}
- emacs-company-mode
ExcludeArch: %{ix86}
- emacs-iedit
ExcludeArch: %{ix86}
- 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 riscv64
- eot-utils
ExcludeArch: %{ix86}
- ergo
ExcludeArch: %{ix86}
- eric
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- espresso
ExcludeArch: s390x i686 armv7hl
- 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
- f3d
ExcludeArch: %{ix86}
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fbreader
ExcludeArch: %{ix86}
ExcludeArch: armv7hl
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fcitx5-mozc
ExcludeArch: ppc ppc64 sparcv9 sparc64 s390x
- fcoe-utils
ExcludeArch: ppc s390
ExcludeArch: %{ix86}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- fido-device-onboard
ExcludeArch: %{ix86}
- filedrop
ExclusiveArch: %{java_arches} noarch
- filezilla
ExcludeArch: s390x
- firecracker
ExclusiveArch: aarch64 x86_64
- firefox
ExcludeArch: i686
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- flang
ExcludeArch: i686 s390x
- flashrom
ExcludeArch: s390 s390x
- flatbuffers
ExcludeArch: %{ix86}
- flatpak
ExcludeArch: %{ix86}
- flatpak-builder
ExcludeArch: %{ix86}
- flatpak-module-tools
ExcludeArch: i386 i686
- flexmark-java
ExclusiveArch: noarch %{java_arches}
- flickcurl
ExcludeArch: %{ix86}
- flint
ExcludeArch: %{ix86}
- flocq
ExclusiveArch: %{ocaml_native_compiler}
- floppy-support
ExcludeArch: %{arm} aarch64 s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- flterm
ExcludeArch: s390 s390x sparcv9
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- fmidi
ExcludeArch: %{ix86}
- folly
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fotocx
ExcludeArch: %{ix86}
- foxi
ExclusiveArch: x86_64 aarch64
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- fprintd
ExcludeArch: s390 s390x
- fractal
ExcludeArch: %{ix86}
- fragments
ExcludeArch: %{ix86}
- frama-c
ExclusiveArch: %{ocaml_native_compiler}
- free42
ExcludeArch: %{ix86}
- freecol
ExclusiveArch: %{java_arches} noarch
- freedink
ExcludeArch: s390x
- freedink-dfarc
ExcludeArch: s390x
- freefem++
ExcludeArch: %{ix86}
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- freetennis
ExcludeArch: sparc64 s390 s390x %{ix86}
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64 riscv64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExcludeArch: %{ix86}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le riscv64
- gambas3
ExcludeArch: i686
- gap
ExcludeArch: %{ix86}
- gap-pkg-ace
ExcludeArch: %{ix86}
- gap-pkg-aclib
ExcludeArch: %{ix86}
- gap-pkg-alnuth
ExcludeArch: %{ix86}
- gap-pkg-anupq
ExcludeArch: %{ix86}
- gap-pkg-atlasrep
ExcludeArch: %{ix86}
- gap-pkg-autodoc
ExcludeArch: %{ix86}
- gap-pkg-automata
ExcludeArch: %{ix86}
- gap-pkg-autpgrp
ExcludeArch: %{ix86}
- gap-pkg-browse
ExcludeArch: %{ix86}
- gap-pkg-caratinterface
ExcludeArch: %{ix86}
- gap-pkg-circle
ExcludeArch: %{ix86}
- gap-pkg-cohomolo
ExcludeArch: %{ix86}
- gap-pkg-congruence
ExcludeArch: %{ix86}
- gap-pkg-corelg
ExcludeArch: %{ix86}
- gap-pkg-crime
ExcludeArch: %{ix86}
- gap-pkg-crisp
ExcludeArch: %{ix86}
- gap-pkg-crypting
ExcludeArch: %{ix86}
- gap-pkg-cryst
ExcludeArch: %{ix86}
- gap-pkg-crystcat
ExcludeArch: %{ix86}
- gap-pkg-ctbllib
ExcludeArch: %{ix86}
- gap-pkg-curlinterface
ExcludeArch: %{ix86}
- gap-pkg-cvec
ExcludeArch: %{ix86}
- gap-pkg-datastructures
ExcludeArch: %{ix86}
- gap-pkg-design
ExcludeArch: %{ix86}
- gap-pkg-digraphs
ExcludeArch: %{ix86}
- gap-pkg-edim
ExcludeArch: %{ix86}
- gap-pkg-factint
ExcludeArch: %{ix86}
- gap-pkg-ferret
ExcludeArch: %{ix86}
- gap-pkg-fga
ExcludeArch: %{ix86}
- gap-pkg-fining
ExcludeArch: %{ix86}
- gap-pkg-float
ExcludeArch: %{ix86}
- gap-pkg-format
ExcludeArch: %{ix86}
- gap-pkg-forms
ExcludeArch: %{ix86}
- gap-pkg-fplsa
ExcludeArch: %{ix86}
- gap-pkg-fr
ExcludeArch: %{ix86}
- gap-pkg-francy
ExcludeArch: %{ix86}
- gap-pkg-gbnp
ExcludeArch: %{ix86}
- gap-pkg-genss
ExcludeArch: %{ix86}
- gap-pkg-grape
ExcludeArch: %{ix86}
- gap-pkg-groupoids
ExcludeArch: %{ix86}
- gap-pkg-grpconst
ExcludeArch: %{ix86}
- gap-pkg-guava
ExcludeArch: %{ix86}
- gap-pkg-hap
ExcludeArch: %{ix86}
- gap-pkg-hapcryst
ExcludeArch: %{ix86}
- gap-pkg-hecke
ExcludeArch: %{ix86}
- gap-pkg-images
ExcludeArch: %{ix86}
- gap-pkg-io
ExcludeArch: %{ix86}
- gap-pkg-irredsol
ExcludeArch: %{ix86}
- gap-pkg-json
ExcludeArch: %{ix86}
- gap-pkg-jupyterkernel
ExcludeArch: %{ix86}
- gap-pkg-jupyterviz
ExcludeArch: %{ix86}
- gap-pkg-laguna
ExcludeArch: %{ix86}
- gap-pkg-liealgdb
ExcludeArch: %{ix86}
- gap-pkg-liepring
ExcludeArch: %{ix86}
- gap-pkg-liering
ExcludeArch: %{ix86}
- gap-pkg-loops
ExcludeArch: %{ix86}
- gap-pkg-lpres
ExcludeArch: %{ix86}
- gap-pkg-mapclass
ExcludeArch: %{ix86}
- gap-pkg-nautytracesinterface
ExcludeArch: %{ix86}
- gap-pkg-nq
ExcludeArch: %{ix86}
- gap-pkg-openmath
ExcludeArch: %{ix86}
- gap-pkg-orb
ExcludeArch: %{ix86}
- gap-pkg-permut
ExcludeArch: %{ix86}
- gap-pkg-polenta
ExcludeArch: %{ix86}
- gap-pkg-polycyclic
ExcludeArch: %{ix86}
- gap-pkg-polymaking
ExcludeArch: %{ix86}
- gap-pkg-primgrp
ExcludeArch: %{ix86}
- gap-pkg-profiling
ExcludeArch: %{ix86}
- gap-pkg-qpa
ExcludeArch: %{ix86}
- gap-pkg-quagroup
ExcludeArch: %{ix86}
- gap-pkg-radiroot
ExcludeArch: %{ix86}
- gap-pkg-recog
ExcludeArch: %{ix86}
- gap-pkg-repsn
ExcludeArch: %{ix86}
- gap-pkg-resclasses
ExcludeArch: %{ix86}
- gap-pkg-scscp
ExcludeArch: %{ix86}
- gap-pkg-semigroups
ExcludeArch: %{ix86}
- gap-pkg-singular
ExcludeArch: %{ix86}
- gap-pkg-sla
ExcludeArch: %{ix86}
- gap-pkg-smallgrp
ExcludeArch: %{ix86}
- gap-pkg-smallsemi
ExcludeArch: %{ix86}
- gap-pkg-sonata
ExcludeArch: %{ix86}
- gap-pkg-sophus
ExcludeArch: %{ix86}
- gap-pkg-spinsym
ExcludeArch: %{ix86}
- gap-pkg-standardff
ExcludeArch: %{ix86}
- gap-pkg-tomlib
ExcludeArch: %{ix86}
- gap-pkg-toric
ExcludeArch: %{ix86}
- gap-pkg-transgrp
ExcludeArch: %{ix86}
- gap-pkg-utils
ExcludeArch: %{ix86}
- gap-pkg-uuid
ExcludeArch: %{ix86}
- gap-pkg-xmod
ExcludeArch: %{ix86}
- gap-pkg-zeromqinterface
ExcludeArch: %{ix86}
- gappa
ExcludeArch: %{ix86}
- gappalib-coq
ExclusiveArch: %{ocaml_native_compiler}
- gauche
ExcludeArch: armv7hl
- gbrainy
ExclusiveArch: %mono_arches
- gcl
ExcludeArch: s390x
- gdb
ExclusiveArch: %{ix86} x86_64
ExcludeArch: aarch64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gdl
ExcludeArch: %{ix86}
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- gearmand
ExcludeArch: ppc
- geeqie
ExcludeArch: %{ix86}
- gfan
ExcludeArch: %{ix86}
- gfs2-utils
ExcludeArch: %{ix86}
- gfxstream
ExcludeArch: %{ix86} %{power64} s390x
- ghc
ExcludeArch: armv7hl
- ghc-cborg
ExcludeArch: %{ix86}
- ghc-cborg-json
ExcludeArch: %{ix86}
- ghc-gi-gtk
ExcludeArch: armv7hl
- ghc-serialise
ExcludeArch: %{ix86}
- ghc9.10
ExcludeArch: armv7hl
- ghc9.2
ExcludeArch: armv7hl
- ghc9.4
ExcludeArch: armv7hl
- ghc9.6
ExcludeArch: armv7hl
- ghc9.8
ExcludeArch: armv7hl
- ghdl
ExclusiveArch: %{GNAT_arches}
ExcludeArch: armv7hl %{ix86}
- ghostwriter
ExclusiveArch: %{qt6_qtwebengine_arches}
- gimp-fourier-plugin
ExcludeArch: %{ix86}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-lfs
ExcludeArch: %{ix86}
- 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
- gkrellm-wifi
ExcludeArch: s390 s390x
- glava
ExcludeArch: %{ix86}
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gloo
ExcludeArch: i686
- glycin-loaders
ExcludeArch: %{ix86}
- gmult
ExcludeArch: %{ix86}
- gn
ExcludeArch: %{ix86}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
ExcludeArch: s390x
- gnofract4d
ExcludeArch: %{ix86}
- gnome-applets
ExcludeArch: %{ix86}
- gnome-bluetooth
ExcludeArch: s390 s390x
- gnome-bluetooth3.34
ExcludeArch: s390 s390x
- gnome-boxes
ExclusiveArch: x86_64
- gnome-chemistry-utils
ExcludeArch: %{ix86}
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- gnome-flashback
ExcludeArch: %{ix86}
- gnome-hexgl
ExcludeArch: i686
- gnome-initial-setup
ExcludeArch: %{ix86}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-monitor-config
ExcludeArch: %{ix86}
- gnome-panel
ExcludeArch: %{ix86}
- gnome-rdp
ExclusiveArch: %{mono_arches}
ExcludeArch: %{ix86}
- gnome-session
ExcludeArch: %{ix86}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-shell
ExcludeArch: %{ix86}
- gnome-software
ExcludeArch: %{ix86}
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnome-terminal
ExcludeArch: %{ix86}
- gnu-efi
ExclusiveArch: %{efi}
- gnucash
ExcludeArch: %{ix86}
ExcludeArch: ppc64 s390x
- gnumeric
ExcludeArch: %{ix86}
- 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}}
- godot
ExcludeArch: s390x
- godot3
ExcludeArch: ppc64 ppc64le s390x
- goffice
ExcludeArch: %{ix86}
- golang
ExclusiveArch: %{golang_arches}
- golang-entgo-ent
ExcludeArch: %{arm32} %{ix86}
- golang-github-ebitengine-purego
ExcludeArch: ppc64le s390x
- golang-github-elliotchance-orderedmap
ExcludeArch: aarch64
ExcludeArch: ppc64le
ExcludeArch: s390x
- golang-github-facebookincubator-nvdtools
ExcludeArch: i686 armv7hl
- golang-github-google-goterm
ExcludeArch: ppc64le s390x
- golang-helm-3
ExcludeArch: armv7hl aarch64
- golang-tinygo-x-llvm
ExcludeArch: %{ix86}
- goldendict-ng
ExclusiveArch: aarch64 x86_64
- google-compute-engine-guest-configs
ExcludeArch: %{ix86}
- google-cpu_features
ExcludeArch: s390x
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guest-agent
ExcludeArch: ppc64le s390x
- google-guice
ExclusiveArch: %{java_arches} noarch
- google-osconfig-agent
ExcludeArch: ppc64le s390x
- gotcha
ExcludeArch: %{ix86}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gource
ExcludeArch: ppc64le
- goverlay
ExclusiveArch: %{fpc_arches}
- gpaste
ExcludeArch: %{ix86}
- gpaw
ExcludeArch: ppc64
ExcludeArch: %{ix86}
- gperftools
ExcludeArch: s390
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- gr-air-modes
ExcludeArch: %{ix86}
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- greenboot
ExcludeArch: s390x
- gretl
ExcludeArch: %{ix86}
- gromacs
ExcludeArch: i686 armv7hl s390x
- grub-customizer
ExcludeArch: s390 s390x %{arm}
- grub2
ExcludeArch: s390 s390x %{ix86}
- grub2-breeze-theme
ExcludeArch: s390 s390x %{arm}
- grubby
ExcludeArch: %{ix86}
- gsequencer
ExcludeArch: i686
- gthree
ExcludeArch: i686
- gthumb
ExcludeArch: s390x
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gtkhash
ExcludeArch: %{ix86}
- gtkwave
ExcludeArch: s390x
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- gvisor-tap-vsock
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64 riscv64
- harmonyseq
ExcludeArch: %{ix86}
- harvey
ExcludeArch: %{ix86}
- hashcat
ExcludeArch: ppc64 s390x
- hawtjni
ExclusiveArch: %{java_arches} noarch
- haxe
ExcludeArch: %{ix86}
- hcloud
ExcludeArch: %{ix86}
- heaptrack
ExcludeArch: s390 s390x
- hedgewars
ExclusiveArch: %{fpc_arches}
ExcludeArch: ppc64le
- helix
ExcludeArch: %{ix86}
- hevea
ExcludeArch: %{ix86}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- highfive
ExcludeArch: %{ix86}
- hipblas
ExclusiveArch: x86_64
- hipcub
ExclusiveArch: x86_64
- hipfft
ExclusiveArch: x86_64
- hipify
ExclusiveArch: x86_64
- hiprand
ExclusiveArch: x86_64
- hipsolver
ExclusiveArch: x86_64
- hipsparse
ExclusiveArch: x86_64
- hmmer
ExcludeArch: aarch64 ppc64le s390x
- honggfuzz
ExcludeArch: %{arm} %{power64} s390 s390x
- howl
ExcludeArch: ppc64le s390x
ExcludeArch: %{ix86}
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hydrapaper
ExcludeArch: s390x
- hyena
ExclusiveArch: %{mono_arches}
- hyperhdr
ExcludeArch: %{ix86}
- hyperrogue
ExcludeArch: armv7hl
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- hyprcursor
ExcludeArch: %{ix86}
- hyprland
ExcludeArch: %{ix86}
- hyprlang
ExcludeArch: %{ix86}
- i2c-tools
ExcludeArch: s390 s390x
- ibsim
ExcludeArch: s390 %{arm}
- ibus-typing-booster
ExcludeArch: ppc64 s390x
- icecat
ExcludeArch: %{arm}
ExcludeArch: s390x
- icedtea-web
ExclusiveArch: %{java_arches}
- icu4j
ExclusiveArch: %{java_arches} noarch
- ignition
ExcludeArch: %{ix86}
- iir1
ExcludeArch: %{ix86}
- ike-scan
ExcludeArch: %{ix86}
- ilua
ExcludeArch: %{ix86}
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- iml
ExcludeArch: %{ix86}
- 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
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExcludeArch: s390x ppc64le
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
- intel-lpmd
ExclusiveArch: x86_64
- intel-media-driver-free
ExclusiveArch: i686 x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-metee
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipe
ExcludeArch: %{ix86}
- ipmctl
ExclusiveArch: x86_64
- irda-utils
ExcludeArch: s390 s390x
- irqbalance
ExcludeArch: s390 s390x
- isa-l
ExcludeArch: %{ix86}
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jack-mixer
ExcludeArch: armv7hl
ExcludeArch: i686
- 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-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-mail1
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}
ExcludeArch: %{ix86}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-11-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-17-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-21-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-21-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- 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}
ExcludeArch: %{ix86}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- 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
- jblas
ExcludeArch: %{ix86}
- 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
- 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
- jedit
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetbrains-annotations
ExclusiveArch: noarch %{java_arches}
- 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}
- jo
ExcludeArch: %{ix86}
- 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
- jpilot
ExcludeArch: s390, s390x
- jpilot-backup
ExcludeArch: s390 s390x
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsoup
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
ExcludeArch: i686
- 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
- kaffeine
ExcludeArch: %{ix86}
- kaidan
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- kata-containers
ExcludeArch: %{arm} %{ix86} s390 s390x
ExcludeArch: ppc64le
- kawa
ExcludeArch: i686
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kcm_wacomtablet
ExcludeArch: s390 s390x
- kcov
ExcludeArch: s390 s390x
- kdenlive
ExcludeArch: %{ix86}
- keepass
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- keepassxc
ExcludeArch: s390x
- kernel
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le
- kernelshark
ExcludeArch: %{ix86} %{arm}
- keydb
ExcludeArch: %{ix86}
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
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}
- khelpcenter
ExclusiveArch: %{qt6_qtwebengine_arches}
- kicad
ExclusiveArch: x86_64 aarch64 ppc64le
- kissat
ExcludeArch: %{ix86}
- kitty
ExcludeArch: %{ix86}
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- kokkos
ExcludeArch: i686 armv7hl
- kpilot
ExcludeArch: s390 s390x
- krita
ExcludeArch: %{ix86}
- ksensors
ExcludeArch: s390 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- ladspa-autotalent-plugins
ExcludeArch: %{ix86}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- latte-integrale
ExcludeArch: %{ix86}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- lcd4linux
ExcludeArch: s390 s390x
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ledmon
ExcludeArch: %{ix86}
- leland-fonts
ExcludeArch: %{ix86}
- lfortran
ExclusiveArch: x86_64
- lfsc
ExcludeArch: %{ix86}
- lib3mf
ExcludeArch: %{ix86}
- libCombine
ExcludeArch: %{ix86}
- libaiff
ExcludeArch: %{ix86}
- libarcus
ExcludeArch: %{ix86}
- libarrow
ExcludeArch: %{ix86} %{arm}
- libavc1394
ExcludeArch: s390 s390x
- libbase
ExclusiveArch: %{java_arches} noarch
- libcamera
ExcludeArch: s390x ppc64le
- libcamera-apps
ExcludeArch: %{power64} s390x
- libcint
ExcludeArch: %{power64}
- libcircle
ExcludeArch: %{ix86}
- libcpuid
ExcludeArch: aarch64 %arm ppc64le ppc64 s390x
- libcrystalhd
ExcludeArch: s390 s390x
- libcxx
ExcludeArch: ppc64 ppc64le
- libdc1394
ExcludeArch: s390 s390x
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdigidocpp
ExcludeArch: %{ix86}
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libffado
ExcludeArch: s390 s390x
- libfilezilla
ExcludeArch: s390x
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libfprint
ExcludeArch: s390 s390x
- libguestfs
ExcludeArch: %{ix86}
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- libhomfly
ExcludeArch: %{ix86}
- libibcommon
ExcludeArch: s390 s390x
- libica
ExclusiveArch: s390 s390x
- libiec61883
ExcludeArch: s390 s390x
- libinsane
ExcludeArch: %{ix86}
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libldac
ExcludeArch: s390x
- libloader
ExclusiveArch: %{java_arches} noarch
- libnuml
ExcludeArch: %{ix86}
- libnxz
ExclusiveArch: ppc64le
- libobjc2
ExcludeArch: armv7hl i686 ppc64le s390x
- libocxl
ExclusiveArch: ppc64le
- libomp17
ExcludeArch: s390x
- libopenshot
ExcludeArch: ppc64le
- libopenshot-audio
ExcludeArch: ppc64le
- liborc
ExcludeArch: i686 armv7hl
- libpoly
ExcludeArch: %{ix86}
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libraw1394
ExcludeArch: s390 s390x
- libreoffice
ExcludeArch: %{ix86}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
ExcludeArch: aarch64 s390x
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- libretro-pcsx-rearmed
ExcludeArch: armv7hl
- librtas
ExclusiveArch: %{power64}
- libsavitar
ExcludeArch: %{ix86}
- libsedml
ExcludeArch: %{ix86}
- libsemigroups
ExcludeArch: %{ix86}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libsonata
ExcludeArch: %{ix86}
- libtracecmd
ExcludeArch: %{ix86} %{arm}
- libunibreak
ExcludeArch: %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunifex
ExcludeArch: i686
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64 riscv64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libva-nvidia-driver
ExclusiveArch: %{x86_64} %{ix86} %{arm64} ppc64le
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libvpl
ExclusiveArch: x86_64
- libx86
ExcludeArch: ppc %{power64} s390 s390x %{sparc} aarch64 armv7hl
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- liferea
ExcludeArch: %{ix86}
- linbox
ExcludeArch: %{ix86}
- linux-system-roles
ExcludeArch: i686
- liquidctl
ExcludeArch: s390 s390x
- lite-xl
ExcludeArch: %{ix86}
- llama-cpp
ExclusiveArch: x86_64 aarch64
- lld13
ExcludeArch: s390x
- lld15
ExcludeArch: s390x
- lld16
ExcludeArch: s390x
- lld17
ExcludeArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- llvm-bolt
ExcludeArch: s390x ppc64le i686
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- loupe
ExcludeArch: %{ix86}
- love
ExcludeArch: ppc ppc64 s390x
- lrmi
ExclusiveArch: %{ix86}
- lsp-plugins
ExcludeArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExcludeArch: riscv64 ppc64 ppc64le
- lucene
ExclusiveArch: %{java_arches} noarch
- luckybackup
ExcludeArch: %{ix86}
- lujavrite
ExclusiveArch: %{java_arches}
- luminance-hdr
ExcludeArch: %{ix86}
- lusol
ExcludeArch: %{ix86}
- luxcorerender
ExclusiveArch: x86_64
- lzfse
ExcludeArch: s390x
- m4rie
ExcludeArch: %{ix86}
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-airnow
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-onthisday
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-singlestock
ExclusiveArch: %{nodejs_arches} noarch
- makemusic-finale-fonts
ExcludeArch: %{ix86}
- mame
ExcludeArch: %{arm} %{ix86}
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mapnik
ExcludeArch: ppc ppc64 s390 s390x
- marcsabatella-campania-fonts
ExcludeArch: %{ix86}
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- mate-applets
ExcludeArch: i386 i686
- 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
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcqd
ExcludeArch: %{ix86}
- 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}
- merkuro
ExclusiveArch: %{qt6_qtwebengine_arches}
- meshlab
ExclusiveArch: aarch64 x86_64
ExcludeArch: %{ix86}
- metamath
ExcludeArch: %{ix86}
- mfem
ExcludeArch: %{ix86}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64 riscv64
- 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-qt6-qtlocation
ExcludeArch: s390x
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- miopen
ExclusiveArch: x86_64
- mirrormanager2
ExcludeArch: %{ix86}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mlir
ExcludeArch: i686
- mlpack
ExcludeArch: s390
- mmapper
ExcludeArch: %{ix86}
- mmlib
ExcludeArch: %{ix86}
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_gnutls
ExcludeArch: %{ix86} %{arm}
- mod_mono
ExclusiveArch: %mono_arches
- mod_proxy_cluster
ExcludeArch: i686 i386
- modello
ExclusiveArch: %{java_arches} noarch
- moditect
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}
- mold
ExcludeArch: %{ix86}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- 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
ExcludeArch: armv7hl
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- moose
ExcludeArch: s390x
- morphio
ExcludeArch: %{ix86}
- mozc
ExcludeArch: ppc ppc64 sparcv9 sparc64 s390x
- mozilla-ublock-origin
ExcludeArch: ppc64 s390x
- mp
ExcludeArch: %{ix86}
- mpark-patterns
ExcludeArch: %{ix86}
- mpi4py
ExcludeArch: %{ix86}
- mpibash
ExcludeArch: %{ix86}
- mpris-scrobbler
ExcludeArch: s390x
- mpsolve
ExcludeArch: %{ix86}
- mrchem
ExcludeArch: s390x
- mrcpp
ExcludeArch: s390x
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msolve
ExcludeArch: %{ix86}
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mstflint
ExcludeArch: s390 s390x %{arm}
- msv
ExclusiveArch: %{java_arches} noarch
- mt32emu
ExcludeArch: %{ix86}
- muffin
ExcludeArch: %{ix86}
- mumble
ExcludeArch: %{ix86}
- mupen64plus
ExcludeArch: s390x
- musescore
ExcludeArch: %{ix86}
- musl
ExcludeArch: s390
- mvfst
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- 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
ExcludeArch: %{ix86}
- naga
ExclusiveArch: %{java_arches} noarch
- nagios-plugins-check-updates
ExcludeArch: %{ix86}
- nant
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExcludeArch: i686
- ncl
ExcludeArch: %{ix86}
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- nemo
ExcludeArch: %{ix86}
- nemo-extensions
ExcludeArch: %{ix86}
- nest
ExcludeArch: %{ix86}
- netatalk
ExcludeArch: aarch64 s390x
- netavark
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- netcdf-fortran
ExcludeArch: %{ix86}
- netdata
ExcludeArch: s390x
- netgen-mesher
ExcludeArch: %{ix86}
- neuron
ExcludeArch: mips64r2 mips32r2
ExcludeArch: %{ix86}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- nextcloud-client
ExcludeArch: %{ix86}
ExcludeArch: ppc64 ppc64le s390x
- 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-cjs-module-lexer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le riscv64 noarch
- nodejs-colors
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
- nodejs-undici
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le riscv64 noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- normaliz
ExcludeArch: %{ix86}
- not-ocamlfind
ExcludeArch: %{ix86}
- notejot
ExcludeArch: %{ix86}
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- ntfs2btrfs
ExcludeArch: ppc64 s390x
- nuget
ExclusiveArch: %{mono_arches}
- numactl
ExcludeArch: s390 %{arm}
- numatop
ExclusiveArch: x86_64 ppc64le
- numptyphysics
ExcludeArch: ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- nut
ExcludeArch: s390 s390x
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExcludeArch: %{ix86} s390x
ExcludeArch: s390x
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-cef
ExclusiveArch: x86_64 aarch64
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- obs-studio-plugin-vkcapture
ExcludeArch: s390x
- ocaml
ExcludeArch: %{ix86}
- ocaml-SDL
ExcludeArch: %{ix86}
- ocaml-alcotest
ExcludeArch: %{ix86}
- ocaml-astring
ExcludeArch: %{ix86}
- ocaml-atd
ExcludeArch: %{ix86}
- ocaml-augeas
ExcludeArch: %{ix86}
- ocaml-autoconf
ExcludeArch: %{ix86}
- ocaml-base
ExcludeArch: %{ix86}
- ocaml-base64
ExcludeArch: %{ix86}
- ocaml-benchmark
ExcludeArch: %{ix86}
- ocaml-bigarray-compat
ExcludeArch: %{ix86}
- ocaml-bin-prot
ExcludeArch: %{ix86}
- ocaml-biniou
ExcludeArch: %{ix86}
- ocaml-bisect-ppx
ExcludeArch: %{ix86}
- ocaml-bos
ExcludeArch: %{ix86}
- ocaml-cairo
ExcludeArch: %{ix86}
- ocaml-calendar
ExcludeArch: %{ix86}
- ocaml-camlbz2
ExcludeArch: %{ix86}
- ocaml-camlidl
ExcludeArch: %{ix86}
- ocaml-camlimages
ExcludeArch: %{ix86}
- ocaml-camlp-streams
ExcludeArch: %{ix86}
- ocaml-camlp5
ExcludeArch: %{ix86}
- ocaml-camlp5-buildscripts
ExcludeArch: %{ix86}
- ocaml-camomile
ExcludeArch: %{ix86}
- ocaml-cinaps
ExcludeArch: %{ix86}
- ocaml-cmdliner
ExcludeArch: %{ix86}
- ocaml-compiler-libs-janestreet
ExcludeArch: %{ix86}
- ocaml-cppo
ExcludeArch: %{ix86}
- ocaml-crunch
ExcludeArch: %{ix86}
- ocaml-cryptokit
ExcludeArch: %{ix86}
- ocaml-csexp
ExcludeArch: %{ix86}
- ocaml-csv
ExcludeArch: %{ix86}
- ocaml-ctypes
ExcludeArch: %{ix86}
- ocaml-cudf
ExcludeArch: %{ix86}
- ocaml-curl
ExcludeArch: %{ix86}
- ocaml-curses
ExcludeArch: %{ix86}
- ocaml-dbus
ExcludeArch: %{ix86}
- ocaml-dose3
ExcludeArch: %{ix86}
- ocaml-dune
ExcludeArch: %{ix86}
- ocaml-easy-format
ExcludeArch: %{ix86}
- ocaml-expat
ExcludeArch: %{ix86}
- ocaml-extlib
ExcludeArch: %{ix86}
- ocaml-facile
ExcludeArch: %{ix86}
- ocaml-fieldslib
ExcludeArch: %{ix86}
- ocaml-fileutils
ExcludeArch: %{ix86}
- ocaml-findlib
ExcludeArch: %{ix86}
- ocaml-fmt
ExcludeArch: %{ix86}
- ocaml-fpath
ExcludeArch: %{ix86}
- ocaml-gen
ExcludeArch: %{ix86}
- ocaml-gettext
ExcludeArch: %{ix86}
- ocaml-graphics
ExcludeArch: %{ix86}
- ocaml-gsl
ExcludeArch: %{ix86}
ExcludeArch: armv7hl
- ocaml-integers
ExcludeArch: %{ix86}
- ocaml-jane-street-headers
ExcludeArch: %{ix86}
- ocaml-jst-config
ExcludeArch: %{ix86}
- ocaml-lablgl
ExcludeArch: %{ix86}
- ocaml-lablgtk
ExcludeArch: %{ix86}
- ocaml-lablgtk3
ExcludeArch: %{ix86}
- ocaml-labltk
ExcludeArch: %{ix86}
- ocaml-lacaml
ExcludeArch: %{ix86}
- ocaml-lambda-term
ExcludeArch: %{ix86}
- ocaml-libvirt
ExcludeArch: %{ix86}
- ocaml-logs
ExcludeArch: %{ix86}
- ocaml-luv
ExcludeArch: %{ix86}
- ocaml-lwt
ExcludeArch: %{ix86}
- ocaml-markup
ExcludeArch: %{ix86}
- ocaml-mccs
ExcludeArch: %{ix86}
- ocaml-mdx
ExcludeArch: %{ix86}
- ocaml-menhir
ExcludeArch: %{ix86}
- ocaml-merlin
ExcludeArch: %{ix86}
- ocaml-mew
ExcludeArch: %{ix86}
- ocaml-mew-vi
ExcludeArch: %{ix86}
- ocaml-mlgmpidl
ExcludeArch: %{ix86}
- ocaml-mlmpfr
ExcludeArch: %{ix86}
- ocaml-mtime
ExcludeArch: %{ix86}
- ocaml-mysql
ExcludeArch: %{ix86}
- ocaml-num
ExcludeArch: %{ix86}
- ocaml-obuild
ExcludeArch: %{ix86}
- ocaml-ocamlbuild
ExcludeArch: %{ix86}
- ocaml-ocamlgraph
ExcludeArch: %{ix86}
- ocaml-ocamlnet
ExcludeArch: %{ix86}
- ocaml-ocp-indent
ExcludeArch: %{ix86}
- ocaml-ocplib-endian
ExcludeArch: %{ix86}
- ocaml-ocplib-simplex
ExcludeArch: %{ix86}
- ocaml-octavius
ExcludeArch: %{ix86}
- ocaml-odoc
ExcludeArch: %{ix86}
- ocaml-omake
ExcludeArch: %{ix86}
- ocaml-opam-file-format
ExcludeArch: %{ix86}
- ocaml-ounit
ExcludeArch: %{ix86}
- ocaml-parmap
ExcludeArch: %{ix86}
- ocaml-parsexp
ExcludeArch: %{ix86}
- ocaml-pcre
ExcludeArch: %{ix86}
- ocaml-pcre2
ExcludeArch: %{ix86}
- ocaml-perl4caml
ExcludeArch: %{ix86}
- ocaml-postgresql
ExcludeArch: %{ix86}
- ocaml-pp
ExcludeArch: %{ix86}
- ocaml-ppx-assert
ExcludeArch: %{ix86}
- ocaml-ppx-base
ExcludeArch: %{ix86}
- ocaml-ppx-cold
ExcludeArch: %{ix86}
- ocaml-ppx-compare
ExcludeArch: %{ix86}
- ocaml-ppx-custom-printf
ExcludeArch: %{ix86}
- ocaml-ppx-derivers
ExcludeArch: %{ix86}
- ocaml-ppx-deriving
ExcludeArch: %{ix86}
- ocaml-ppx-deriving-yaml
ExcludeArch: %{ix86}
- ocaml-ppx-deriving-yojson
ExcludeArch: %{ix86}
- ocaml-ppx-enumerate
ExcludeArch: %{ix86}
- ocaml-ppx-expect
ExcludeArch: %{ix86}
- ocaml-ppx-fields-conv
ExcludeArch: %{ix86}
- ocaml-ppx-globalize
ExcludeArch: %{ix86}
- ocaml-ppx-hash
ExcludeArch: %{ix86}
- ocaml-ppx-here
ExcludeArch: %{ix86}
- ocaml-ppx-import
ExcludeArch: %{ix86}
- ocaml-ppx-inline-test
ExcludeArch: %{ix86}
- ocaml-ppx-js-style
ExcludeArch: %{ix86}
- ocaml-ppx-let
ExcludeArch: %{ix86}
- ocaml-ppx-optcomp
ExcludeArch: %{ix86}
- ocaml-ppx-sexp-conv
ExcludeArch: %{ix86}
- ocaml-ppx-stable-witness
ExcludeArch: %{ix86}
- ocaml-ppx-variants-conv
ExcludeArch: %{ix86}
- ocaml-ppxlib
ExcludeArch: %{ix86}
- ocaml-psmt2-frontend
ExcludeArch: %{ix86}
- ocaml-ptime
ExcludeArch: %{ix86}
- ocaml-ptmap
ExcludeArch: %{ix86}
- ocaml-pyml
ExcludeArch: %{ix86}
- ocaml-qcheck
ExcludeArch: %{ix86}
- ocaml-qtest
ExcludeArch: %{ix86}
- ocaml-re
ExcludeArch: %{ix86}
- ocaml-react
ExcludeArch: %{ix86}
- ocaml-res
ExcludeArch: %{ix86}
- ocaml-result
ExcludeArch: %{ix86}
- ocaml-rresult
ExcludeArch: %{ix86}
- ocaml-sedlex
ExcludeArch: %{ix86}
- ocaml-sexplib
ExcludeArch: %{ix86}
- ocaml-sexplib0
ExcludeArch: %{ix86}
- ocaml-sha
ExcludeArch: %{ix86}
- ocaml-sqlite
ExcludeArch: %{ix86}
- ocaml-ssl
ExcludeArch: %{ix86}
- ocaml-stdcompat
ExcludeArch: %{ix86}
- ocaml-stdio
ExcludeArch: %{ix86}
- ocaml-stdlib-random
ExcludeArch: %{ix86}
- ocaml-time-now
ExcludeArch: %{ix86}
- ocaml-topkg
ExcludeArch: %{ix86}
- ocaml-trie
ExcludeArch: %{ix86}
- ocaml-tyxml
ExcludeArch: %{ix86}
- ocaml-unionfind
ExcludeArch: %{ix86}
- ocaml-uucd
ExcludeArch: %{ix86}
- ocaml-uucp
ExcludeArch: %{ix86}
- ocaml-uunf
ExcludeArch: %{ix86}
- ocaml-uuseg
ExcludeArch: %{ix86}
- ocaml-uutf
ExcludeArch: %{ix86}
- ocaml-variantslib
ExcludeArch: %{ix86}
- ocaml-version
ExcludeArch: %{ix86}
- ocaml-xml-light
ExcludeArch: %{ix86}
- ocaml-xmlm
ExcludeArch: %{ix86}
- ocaml-xmlrpc-light
ExcludeArch: %{ix86}
- ocaml-yaml
ExcludeArch: %{ix86}
- ocaml-yojson
ExcludeArch: %{ix86}
- ocaml-zarith
ExcludeArch: %{ix86}
- ocaml-zed
ExcludeArch: %{ix86}
- ocaml-zip
ExcludeArch: %{ix86}
- ocaml-zmq
ExcludeArch: %{ix86}
- ocamlify
ExcludeArch: %{ix86}
- ocamlmod
ExcludeArch: %{ix86}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- ocrmypdf
ExcludeArch: %{ix86}
- octave-communications
ExcludeArch: s390x
- octave-iso2mesh
ExcludeArch: armv7hl
- octave-signal
ExcludeArch: s390x
- oidc-agent
ExcludeArch: %{ix86}
- oidn
ExclusiveArch: x86_64
- 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
- onnx
ExcludeArch: s390x
- onnxruntime
ExcludeArch: s390x %{arm} %{ix86}
- oomd
ExcludeArch: i686 armv7hl
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- opam
ExcludeArch: %{ix86}
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- opencsg
ExcludeArch: %{ix86}
- opengrm-ngram
ExcludeArch: %{ix86}
- 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}
- openmeeg
ExcludeArch: s390x
- openmpi
ExcludeArch: %{ix86}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- openni
ExclusiveArch: x86_64 %{arm}
- openni-primesense
ExclusiveArch: x86_64 %{arm}
- openobex
ExcludeArch: s390 s390x
- openoffice.org-diafilter
ExclusiveArch: %{java_arches}
- openpgl
ExclusiveArch: aarch64 x86_64
- openrgb
ExcludeArch: %{ix86}
- openscad
ExcludeArch: %{ix86}
- openshadinglanguage
ExcludeArch: %{ix86} %{arm}
- openshot
ExcludeArch: ppc64le
- opensm
ExcludeArch: s390 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- opentype-sanitizer
ExcludeArch: %{ix86}
- openvdb
ExcludeArch: i686
- openvkl
ExclusiveArch: aarch64 x86_64
- optee_client
ExclusiveArch: aarch64
- optee_os
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- os-autoinst
ExcludeArch: %{arm}
- osbuild-composer
ExcludeArch: i686 armv7hl
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- osm2pgsql
ExcludeArch: %{ix86}
- osslsigncode
ExcludeArch: i686
- ostree
ExcludeArch: %{ix86}
- otf2
ExcludeArch: i686 s390x
- oz
ExcludeArch: %{ix86}
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- paperwork
ExcludeArch: %{ix86}
- papi
ExcludeArch: s390 s390x
- papilo
ExcludeArch: %{ix86}
- paraview
ExcludeArch: %{ix86}
- pari-nftables
ExcludeArch: %{ix86}
- parlaylib
ExcludeArch: aarch64 s390x arm-hfp ppc64le i686
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcem
ExcludeArch: armv7hl i686 ppc64le s390x
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcg-cpp
ExcludeArch: %{ix86}
- pcm
ExclusiveArch: %{ix86} x86_64
- pcp
ExcludeArch: %{ix86}
- pcp2pdf
ExcludeArch: %{ix86}
- pdbg
ExclusiveArch: ppc64le
- pdfarranger
ExcludeArch: %{ix86}
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pdns
ExcludeArch: %{arm} %{ix86}
- pdns-recursor
ExcludeArch: %{arm} %{ix86}
- pdqsort
ExcludeArch: %{ix86}
- pengupop
ExcludeArch: s390x
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perftest
ExcludeArch: s390 %{arm}
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-LMDB_File
ExcludeArch: armv7hl i686
- perl-Math-Int128
ExcludeArch: %{arm32} %{ix86}
- perl-MaxMind-DB-Reader-XS
ExcludeArch: %{arm} %{ix86}
- perl-MongoDB
ExcludeArch: ppc %{sparc} s390
- perl-Net-Works
ExcludeArch: %{arm32} %{ix86}
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- perl-threads-lite
ExcludeArch: aarch64 ppc ppc64 ppc64le
- permlib
ExcludeArch: %{ix86}
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm} riscv64
- pesign-test-app
ExclusiveArch: x86_64
- petpvc
ExcludeArch: %{ix86}
- pf-bb-config
ExcludeArch: s390x
- pgadmin4
ExcludeArch: i686 armv7hl s390x ppc64le
- phd2
ExcludeArch: %{ix86}
- phosh
ExcludeArch: i686
- php-ast
ExcludeArch: %{ix86}
- php-facedetect
ExcludeArch: %{ix86}
- php-geos
ExcludeArch: %{ix86}
- php-libvirt
ExcludeArch: %{ix86}
- php-maxminddb
ExcludeArch: %{ix86}
- php-pecl-amqp
ExcludeArch: %{ix86}
- php-pecl-apcu
ExcludeArch: %{ix86}
- php-pecl-apfd
ExcludeArch: %{ix86}
- php-pecl-dio
ExcludeArch: %{ix86}
- php-pecl-ds
ExcludeArch: %{ix86}
- php-pecl-event
ExcludeArch: %{ix86}
- php-pecl-fann
ExcludeArch: %{ix86}
- php-pecl-gearman
ExcludeArch: %{ix86}
- php-pecl-geoip
ExcludeArch: %{ix86}
- php-pecl-gmagick
ExcludeArch: %{ix86}
- php-pecl-http
ExcludeArch: %{ix86}
- php-pecl-igbinary
ExcludeArch: %{ix86}
- php-pecl-imagick
ExcludeArch: %{ix86}
- php-pecl-inotify
ExcludeArch: %{ix86}
- php-pecl-ip2location
ExcludeArch: %{ix86}
- php-pecl-json-post
ExcludeArch: %{ix86}
- php-pecl-krb5
ExcludeArch: %{ix86}
- php-pecl-lzf
ExcludeArch: %{ix86}
- php-pecl-mailparse
ExcludeArch: %{ix86}
- php-pecl-mcrypt
ExcludeArch: %{ix86}
- php-pecl-memcache
ExcludeArch: %{ix86}
- php-pecl-memcached
ExcludeArch: %{ix86}
- php-pecl-mongodb
ExcludeArch: %{ix86}
- php-pecl-msgpack
ExcludeArch: %{ix86}
- php-pecl-oauth
ExcludeArch: %{ix86}
- php-pecl-pcov
ExcludeArch: %{ix86}
- php-pecl-pq
ExcludeArch: %{ix86}
- php-pecl-raphf
ExcludeArch: %{ix86}
- php-pecl-redis5
ExcludeArch: %{ix86}
- php-pecl-rpminfo
ExcludeArch: %{ix86}
- php-pecl-rrd
ExcludeArch: %{ix86}
- php-pecl-selinux
ExcludeArch: %{ix86}
- php-pecl-ssdeep
ExcludeArch: %{ix86}
- php-pecl-ssh2
ExcludeArch: %{ix86}
- php-pecl-uopz
ExcludeArch: %{ix86}
- php-pecl-uuid
ExcludeArch: %{ix86}
- php-pecl-var-representation
ExcludeArch: %{ix86}
- php-pecl-xattr
ExcludeArch: %{ix86}
- php-pecl-xdebug3
ExcludeArch: %{ix86}
- php-pecl-xmldiff
ExcludeArch: %{ix86}
- php-pecl-xmlrpc
ExcludeArch: %{ix86}
- php-pecl-yac
ExcludeArch: %{ix86}
- php-pecl-zip
ExcludeArch: %{ix86}
- php-phpiredis
ExcludeArch: %{ix86}
- php-smbclient
ExcludeArch: %{ix86}
- php-zmq
ExcludeArch: %{ix86}
- php-zstd
ExcludeArch: %{ix86}
- picard
ExcludeArch: ppc64
- picocli
ExclusiveArch: %{java_arches} noarch
- pigeonascent
ExcludeArch: ppc64le
ExcludeArch: s390x
- pilot-link
ExcludeArch: s390 s390x
- pinta
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- pioneer
ExclusiveArch: %{ix86} x86_64
- pl
ExcludeArch: %{ix86}
- planets
ExcludeArch: %{ix86}
- plantri
ExcludeArch: %{ix86}
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- plasma-disks
ExcludeArch: %{ix86}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plee-the-bear
ExcludeArch: %{power64}
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-build-api0
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-testing
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- plexus-xml
ExclusiveArch: %{java_arches} noarch
- pmix
ExcludeArch: %{ix86}
- pngcheck
ExcludeArch: %{ix86}
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- polymake
ExcludeArch: %{ix86}
- polyml
ExcludeArch: %{ix86}
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- postgresql-pgpool-II
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- powerstat
ExclusiveArch: %{ix86} x86_64
- ppc64-diag
ExclusiveArch: ppc %{power64}
- ppl
ExcludeArch: %{ix86}
- pplite
ExcludeArch: %{ix86}
- prestopalette
ExcludeArch: i686
- printer-driver-brlaser
ExcludeArch: %{ix86}
- procdump
ExcludeArch: ppc64le
- 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
- prooftree
ExcludeArch: %{ix86}
- proxmark3
ExcludeArch: ppc64le s390x
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- proxysql
ExcludeArch: %{power64} s390x
- prrte
ExcludeArch: %{ix86}
- prusa-slicer
ExcludeArch: %{ix86}
- psblas3
ExcludeArch: %{ix86}
- purple-telegram
ExcludeArch: s390x
ExcludeArch: ppc64
- pveclib
ExclusiveArch: ppc %{power64}
- pygrib
ExcludeArch: i686
ExcludeArch: armv7hl
- pygsl
ExcludeArch: %{ix86}
- pyosmium
ExcludeArch: %{ix86}
- pypy
ExcludeArch: %{ix86}
- pypy3.10
ExcludeArch: %{ix86}
- pypy3.9
ExcludeArch: %{ix86}
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ZEO
ExcludeArch: %{ix86}
- python-ZODB3
ExcludeArch: %{ix86}
- python-aioresponses
ExcludeArch: s390x
- python-ast-monitor
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- python-astroplan
ExcludeArch: %{ix86}
- python-astroscrappy
ExcludeArch: %{ix86}
- python-asyncmy
ExcludeArch: %{ix86}
- python-aws-sam-translator
ExcludeArch: %{ix86}
- python-awscrt
ExcludeArch: s390x
- python-bitstruct
ExcludeArch: s390x
- python-blosc2
ExcludeArch: %{ix86}
- python-bluepyopt
ExcludeArch: s390x %{ix86} %{power64}
- python-chaospy
ExcludeArch: %{ix86} %{arm32}
- python-colorthief
ExcludeArch: %{ix86}
- python-compreffor
ExcludeArch: %{ix86}
- python-contextualbandits
ExcludeArch: %{ix86}
- python-cradox
ExcludeArch: i686 armv7hl
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-cvxopt
ExcludeArch: %{ix86}
- python-cyipopt
ExcludeArch: %{ix86}
- python-dask
ExcludeArch: %{ix86}
- python-databases
ExcludeArch: %{ix86}
- python-devicely
ExcludeArch: s390x
- python-dijitso
ExcludeArch: i686
- python-dipy
ExcludeArch: %{ix86} s390x
- python-ducc0
ExcludeArch: %{ix86}
- python-earthpy
ExcludeArch: %{ix86}
- python-eccodes
ExcludeArch: i686
ExcludeArch: armv7hl
- python-efel
ExcludeArch: s390x
- python-elephant
ExcludeArch: s390x
ExcludeArch: %{ix86}
- python-ephyviewer
ExcludeArch: s390x %{ix86}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64
- python-fastavro
ExcludeArch: %{arm32} %{ix86}
- python-folium
ExcludeArch: %{ix86}
- python-formulaic
ExcludeArch: %{ix86}
- python-fsleyes
ExcludeArch: %{ix86}
- python-fsleyes-props
ExcludeArch: %{ix86}
- python-fslpy
ExcludeArch: %{ix86}
- python-gbinder
ExcludeArch: %{ix86}
- python-giacpy
ExcludeArch: aarch64 %{power64} s390x
- python-graph-tool
ExcludeArch: %{ix86}
- python-hdfs
ExcludeArch: %{ix86}
- python-healpy
ExcludeArch: %{ix86} %{arm}
- python-heapdict
ExcludeArch: %{ix86}
- python-img2pdf
ExcludeArch: s390x
- python-intbitset
ExcludeArch: s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jnius
ExclusiveArch: %{java_arches}
ExclusiveArch: %{java_arches}
- python-json-minify
ExcludeArch: %{ix86}
- python-jupymake
ExcludeArch: %{ix86}
- python-jupyter-c-kernel
ExcludeArch: %{ix86}
- python-jupyter-kernel-singular
ExcludeArch: %{ix86}
- python-jupyter-polymake
ExcludeArch: %{ix86}
- python-jupyter-sphinx
ExcludeArch: %{ix86}
- python-lazy-ops
ExcludeArch: %{ix86}
- python-lfpy
ExcludeArch: mips64r2 mips32r2
ExcludeArch: %{power64} %{ix86} armv7hl
- python-llama-cpp-python
ExclusiveArch: x86_64 aarch64
- python-mapnik
ExcludeArch: ppc ppc64 s390 s390x
- python-missingno
ExcludeArch: %{ix86}
- python-mne
ExcludeArch: %{ix86}
- python-mne-bids
ExcludeArch: %{ix86}
- python-mplcairo
ExcludeArch: %{ix86}
- python-mplcursors
ExcludeArch: %{ix86}
- python-music21
ExcludeArch: %{ix86}
- python-ndindex
ExcludeArch: %{ix86}
- python-neatdend
ExcludeArch: %{ix86}
- python-neo
ExcludeArch: s390x
- python-netpyne
ExcludeArch: %{ix86}
- python-neurom
ExcludeArch: %{ix86}
- python-neurotune
ExcludeArch: %{ix86}
- python-nifti-mrs
ExcludeArch: %{ix86}
- python-nilearn
ExcludeArch: %{ix86}
- python-numpoly
ExcludeArch: %{ix86}
- python-octave-kernel
ExcludeArch: %{ix86}
- python-openoffice
ExclusiveArch: noarch x86_64
- python-openpaperwork-core
ExcludeArch: %{ix86}
- python-openpaperwork-gtk
ExcludeArch: %{ix86}
- python-opentype-sanitizer
ExcludeArch: %{ix86}
- python-pandas-flavor
ExcludeArch: %{ix86}
- python-papermill
ExcludeArch: %{ix86}
- python-paperwork-backend
ExcludeArch: %{ix86}
- python-pari-jupyter
ExcludeArch: %{ix86}
- python-pep8-naming
ExcludeArch: %{ix86}
- python-phyghtmap
ExcludeArch: %{ix86}
- python-pingouin
ExcludeArch: %{ix86}
- python-plotnine
ExcludeArch: %{ix86}
- python-pplpy
ExcludeArch: %{ix86}
- python-primecountpy
ExcludeArch: %{ix86}
- python-psycopg3
ExcludeArch: %{ix86}
- python-pyahocorasick
ExclusiveArch: x86_64 %{arm64} ppc64le riscv64
- python-pybids
ExcludeArch: %{ix86}
- python-pybv
ExcludeArch: %{ix86}
- python-pyedflib
ExcludeArch: s390x
- python-pyfastnoisesimd
ExcludeArch: %{ix86}
- python-pyfiglet
ExcludeArch: %{ix86}
- python-pykdtree
ExcludeArch: %{ix86}
- python-pyliblzfse
ExcludeArch: s390x
- python-pymapvbvd
ExcludeArch: s390x
- python-pymatreader
ExcludeArch: %{ix86}
ExcludeArch: s390x
- python-pynn
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
- python-pyocr
ExcludeArch: %{ix86}
- python-pypet
ExcludeArch: %{ix86}
ExcludeArch: s390x
- python-pyphi
ExcludeArch: s390x
- python-pypillowfight
ExcludeArch: %{ix86}
- python-pyqt6-webengine
ExclusiveArch: %{qt6_qtwebengine_arches}
- python-pyriemann
ExcludeArch: %{ix86}
- python-pyroaring
ExcludeArch: %{ix86}
- python-pyscf
ExcludeArch: %{power64}
- python-pyshtools
ExcludeArch: %{ix86}
- python-pysingular
ExcludeArch: %{ix86}
- python-pyswarms
ExcludeArch: %{ix86}
- python-pyswip
ExcludeArch: %{ix86}
- python-pytest-arraydiff
ExcludeArch: %{ix86}
- python-pytest-tornado
ExcludeArch: %{ix86}
- python-pyvat
ExcludeArch: %{ix86}
- python-ratinabox
ExcludeArch: %{ix86}
- python-recordclass
ExcludeArch: %{ix86}
- python-reproject
ExcludeArch: %{ix86}
- python-ruffus
ExcludeArch: %{ix86}
- python-scikit-learn
ExcludeArch: %{ix86}
- python-sgp4
ExcludeArch: %{ix86}
- python-simplebayes
ExcludeArch: %{ix86}
- python-sklearn-genetic-opt
ExcludeArch: %{ix86}
- python-statsmodels
ExcludeArch: %{ix86}
- python-steps
ExcludeArch: %{ix86}
- python-tables
ExcludeArch: %{ix86}
- python-tdlib
ExcludeArch: %{ix86}
- python-tensile
ExclusiveArch: x86_64
- python-tensordict
ExclusiveArch: x86_64 aarch64
- python-tkrzw
ExcludeArch: i686
- python-torch
ExclusiveArch: x86_64 aarch64
- python-torchaudio
ExclusiveArch: x86_64 aarch64
- python-torchdata
ExclusiveArch: x86_64 aarch64
- python-torchtext
ExclusiveArch: x86_64 aarch64
- python-torchvision
ExclusiveArch: x86_64 aarch64
- python-traitsui
ExcludeArch: ppc64le
- python-trimesh
ExcludeArch: %{ix86}
- python-uranium
ExcludeArch: %{ix86}
- python-willow
ExcludeArch: %{ix86}
- python-xattr
ExcludeArch: %{ix86}
- python-xbout
ExcludeArch: %{ix86}
- python-xmp-toolkit
ExcludeArch: %{ix86}
- python-zeep
ExcludeArch: s390x
- python-zict
ExcludeArch: %{ix86}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qalculate-qt
ExcludeArch: %{ix86}
- qatengine
ExclusiveArch: x86_64
- qatlib
ExcludeArch: %{arm} aarch64 %{power64} s390x i686
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64 riscv64
- qbittorrent
ExcludeArch: %{ix86}
- qbs
ExcludeArch: i686
- qcas
ExcludeArch: aarch64 %{power64} s390x
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdigidoc
ExcludeArch: %{ix86}
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qflipper
ExcludeArch: %{ix86}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qoauth
ExcludeArch: ppc64
- qownnotes
ExcludeArch: %{ix86}
- qpdfview
ExcludeArch: s390x
- qperf
ExcludeArch: %{arm}
- qsopt-ex
ExcludeArch: %{ix86}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt6-qtquick3dphysics
ExclusiveArch: aarch64 i686 x86_64
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- qt6ct
ExcludeArch: s390x
- qtile
ExcludeArch: %{ix86}
- quantum-espresso
ExclusiveArch: x86_64 aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
ExcludeArch: %{arm32}
- racket
ExcludeArch: %{arm} s390x
ExcludeArch: ppc64le
- rasdaemon
ExcludeArch: s390 s390x
- rccl
ExclusiveArch: x86_64
- rdma-core
ExcludeArch: %{arm}
- realtime-tests
ExcludeArch: %{arm}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64 s390x
- redeclipse
ExcludeArch: %{ix86}
- redict
ExcludeArch: %{ix86}
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- relaxng-datatype-java
ExclusiveArch: %{java_arches} noarch
- remake
ExcludeArch: %{ix86}
- renderdoc
ExclusiveArch: x86_64 aarch64
- 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}
ExcludeArch: armv7hl
- retroarch
ExcludeArch: %{ix86}
ExcludeArch: s390x
- retsnoop
ExclusiveArch: %{rust_arches}
ExcludeArch: armv7hl
- rhino
ExclusiveArch: %{java_arches} noarch
ExcludeArch: %{ix86}
- rhythmbox
ExcludeArch: s390 s390x
- rhythmbox-alternative-toolbar
ExcludeArch: s390 s390x
- rhythmbox-ampache
ExcludeArch: s390 s390x
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocalution
ExclusiveArch: x86_64
- rocblas
ExclusiveArch: x86_64
- rocclr
ExclusiveArch: x86_64
- rocfft
ExclusiveArch: x86_64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-core
ExclusiveArch: x86_64
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-rpm-macros
ExclusiveArch: x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-smi
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rocprim
ExclusiveArch: x86_64
- rocrand
ExclusiveArch: x86_64
- rocsolver
ExclusiveArch: x86_64
- rocsparse
ExclusiveArch: x86_64
- rocthrust
ExclusiveArch: x86_64
- roctracer
ExclusiveArch: x86_64
- rpi-imager
ExcludeArch: s390x
- rpm-ostree
ExclusiveArch: %{rust_arches}
ExcludeArch: %{ix86}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt6_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubiks
ExcludeArch: %{ix86}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- ruff
ExcludeArch: %{ix86}
- ruff-lsp
ExcludeArch: %{ix86}
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-bankstown-lv2
ExcludeArch: ppc64le s390x
- rust-below
ExcludeArch: %{arm32} %{ix86}
- rust-below-btrfs
ExcludeArch: %{arm32} %{ix86}
- rust-below-config
ExcludeArch: %{arm32} %{ix86}
- rust-below-dump
ExcludeArch: %{arm32} %{ix86}
- rust-below-model
ExcludeArch: %{arm32} %{ix86}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-crypto-auditing-agent
ExcludeArch: i386 i686
- rust-ct-logs
ExcludeArch: ppc64le s390x
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExcludeArch: %{ix86}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lv2
ExcludeArch: ppc64le s390x
- rust-lv2-atom
ExcludeArch: ppc64le s390x
- rust-lv2-core
ExcludeArch: ppc64le s390x
- rust-lv2-midi
ExcludeArch: ppc64le s390x
- rust-lv2-state
ExcludeArch: ppc64le s390x
- rust-lv2-sys
ExcludeArch: ppc64le s390x
- rust-lv2-time
ExcludeArch: ppc64le s390x
- rust-lv2-units
ExcludeArch: ppc64le s390x
- rust-lv2-urid
ExcludeArch: ppc64le s390x
- rust-lv2-worker
ExcludeArch: ppc64le s390x
- rust-msru
ExclusiveArch: x86_64
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nu
ExcludeArch: %{ix86}
- rust-oci-spec
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-prefixdevname
ExcludeArch: %{ix86}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-probe
ExcludeArch: ppc64le s390x
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scx_layered
ExcludeArch: %{ix86}
- rust-scx_rustland
ExcludeArch: %{ix86}
- rust-scx_rusty
ExcludeArch: %{ix86}
- rust-scx_utils
ExcludeArch: %{ix86}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExcludeArch: %{ix86} %{arm} s390x
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-snphost
ExclusiveArch: x86_64
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-tiny-dfr
ExcludeArch: %{ix86}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-vhost-device-scmi
ExcludeArch: s390x
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rust-virtio-queue
ExcludeArch: i686
- rust-vm-memory
ExcludeArch: %{ix86}
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zincati
ExcludeArch: armv7hl i686
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- rustup
ExclusiveArch: x86_64 aarch64
- rutabaga-gfx-ffi
ExclusiveArch: x86_64 aarch64
- s390utils
ExcludeArch: %{ix86}
- sac
ExclusiveArch: %{java_arches} noarch
- safeint
ExcludeArch: %{ix86}
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sandia-omega-h
ExcludeArch: %{ix86} s390x
- sat4j
ExclusiveArch: %{java_arches} noarch
- sayonara
ExcludeArch: %{ix86}
- sbcl
ExclusiveArch: %{ix86} x86_64 aarch64 %{power64}
- 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
- scalasca
ExcludeArch: s390 s390x armv7hl i686
- scannotation
ExclusiveArch: %{java_arches} noarch
- scip
ExcludeArch: %{ix86}
- scorep
ExcludeArch: s390 s390x armv7hl i686
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- sdubby
ExclusiveArch: %{efi}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt6_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- sedutil
ExcludeArch: ppc ppc64 s390 s390x
- sentencepiece
ExcludeArch: s390x
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequeler
ExcludeArch: %{ix86}
- sequence-library
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- setserial
ExcludeArch: s390 s390x
- sfnt2woff-zopfli
ExcludeArch: %{ix86}
- sharedmeataxe
ExcludeArch: %{ix86}
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
ExcludeArch: %{ix86}
ExcludeArch: %{arm}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigil
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- sigul
ExclusiveArch: x86_64
ExcludeArch: %{ix86}
- simdutf
ExcludeArch: s390 s390x
- singularity-ce
ExclusiveArch: %{go_arches}
ExcludeArch: %{ix86}
- sirocco
ExcludeArch: %{ix86}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- ski
ExcludeArch: %{ix86}
ExcludeArch: aarch64
- skopeo
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- skychart
ExclusiveArch: %{fpc_arches}
ExcludeArch: %{ix86}
- slapi-nis
ExcludeArch: %{ix86}
- sleef
ExcludeArch: %{ix86}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slic3r
ExcludeArch: %{ix86}
ExcludeArch: ppc ppc64 s390 s390x %{ix86}
ExcludeArch: ppc ppc64 s390 s390x
- slick-greeter
ExcludeArch: %{ix86}
- slimdata
ExcludeArch: ppc64 ppc sparcv9 sparc64
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- slurm
ExcludeArch: armv7hl
ExcludeArch: i686
- smartmontools
ExcludeArch: %{ix86}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snapshot
ExcludeArch: %{ix86}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soplex
ExcludeArch: %{ix86}
- sound-juicer
ExcludeArch: s390 s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sourcextractor++
ExcludeArch: %{ix86}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
ExcludeArch: %{ix86}
- spasm
ExcludeArch: %{ix86}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- speed-dreams
ExcludeArch: s390x
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- spyder
ExcludeArch: %{ix86}
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
ExcludeArch: ppc64le
ExcludeArch: s390x
- squirrel
ExcludeArch: %{ix86}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- stats-collect
ExclusiveArch: %{ix86} x86_64 noarch
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- statserial
ExcludeArch: s390 s390x
- steinberg-bravura-fonts
ExcludeArch: %{ix86}
- steinberg-petaluma-fonts
ExcludeArch: %{ix86}
- stellarium
ExcludeArch: armv7hl
- stlsplit
ExcludeArch: %{ix86}
- stp
ExcludeArch: %{ix86}
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
ExcludeArch: i686
- stratisd
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
- 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
ExcludeArch: %{ix86}
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- supertux
ExcludeArch: s390x
- suricata
ExcludeArch: ppc64le i686
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swiftlint
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- symfpu
ExcludeArch: %{ix86}
- symmetrica
ExcludeArch: %{ix86}
- sympol
ExcludeArch: %{ix86}
- sympow
ExcludeArch: %{ix86}
- synfig
ExcludeArch: ppc64le
- synfigstudio
ExcludeArch: ppc64le
- 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
- 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
- tcmu-runner
ExcludeArch: i686 armv7hl
- tdlib
ExclusiveArch: x86_64 aarch64
- teem
ExcludeArch: %{ix86}
- templates_parser
ExclusiveArch: %GPRbuild_arches
- terminology
ExcludeArch: s390x
- terminus-fonts
ExcludeArch: %{grub2_exclude_arches}
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- texmaker
ExclusiveArch: %{qt6_qtwebengine_arches}
ExcludeArch: ppc64 ppc64le s390x
- thermald
ExclusiveArch: %{ix86} x86_64
- thunderbird
ExcludeArch: armv7hl
ExcludeArch: s390x
- tiled
ExcludeArch: %{ix86}
- tilix
ExclusiveArch: %{ldc_arches}
- tinygo
ExcludeArch: ppc64le s390x
ExcludeArch: %{ix86}
- tokodon
ExclusiveArch: %{qt6_qtwebengine_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-jakartaee-migration
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- trace-cmd
ExcludeArch: %{ix86} %{arm}
- trafficserver
ExcludeArch: %{arm} %{ix86} s390x
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- trojita
ExcludeArch: ppc64 ppc64le s390x
- trunk
ExcludeArch: %{ix86}
- truth
ExclusiveArch: %{java_arches} noarch
- tth
ExcludeArch: %{ix86}
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- tuxguitar
ExcludeArch: s390 %{arm} %{ix86}
- tvtime
ExcludeArch: s390 s390x
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- tzdata
ExcludeArch: i686
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- uboot-tools
ExcludeArch: s390x
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- ugrep
ExcludeArch: %{ix86}
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- unicorn
ExcludeArch: s390x
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usbip
ExcludeArch: s390x
- usd
ExclusiveArch: aarch64 x86_64
- usnic-tools
ExcludeArch: %{arm}
- utop
ExcludeArch: %{ix86}
- uwsgi
ExcludeArch: %{ix86}
- v-hacd
ExcludeArch: %{ix86}
- 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
- valkey
ExcludeArch: %{ix86}
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vdr-tvscraper
ExcludeArch: armv7hl
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- viking
ExcludeArch: s390 s390x
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-perl-support
ExcludeArch: %{ix86}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- vinci
ExcludeArch: %{ix86}
- virt-p2v
ExclusiveArch: x86_64
- virt-top
ExcludeArch: %{ix86}
ExcludeArch: %{power64}
- virt-v2v
ExcludeArch: %{ix86}
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- visidata
ExcludeArch: %{ix86}
- visualboyadvance-m
ExcludeArch: %{ix86}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vkmark
ExcludeArch: s390x
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- votca
ExcludeArch: %{ix86}
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- warzone2100
ExcludeArch: %{ix86}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- whatip
ExcludeArch: s390x
- whipper
ExcludeArch: s390x
- whisper-cpp
ExclusiveArch: x86_64 aarch64 ppc64le
- why3
ExclusiveArch: %{ocaml_native_compiler}
- widevine-installer
ExclusiveArch: aarch64
- wildcard
ExcludeArch: %{ix86} s390x
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- wine-mono
ExcludeArch: %{power64} s390x s390
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExcludeArch: ppc64 ppc64le
- woff
ExcludeArch: %{ix86}
- workrave
ExcludeArch: %{ix86}
- 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
- x2gokdrive
ExcludeArch: %{ix86}
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xapps
ExcludeArch: %{ix86}
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xdg-desktop-portal
ExcludeArch: %{ix86}
- xdg-desktop-portal-gnome
ExcludeArch: %{ix86}
- xdg-desktop-portal-gtk
ExcludeArch: %{ix86}
- xdg-desktop-portal-hyprland
ExcludeArch: %{ix86}
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xed
ExcludeArch: %{ix86}
- xen
ExclusiveArch: x86_64 aarch64
- xephem
ExcludeArch: %{ix86}
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xeus
ExcludeArch: %{ix86}
- xeus-zmq
ExcludeArch: %{ix86}
- xfce4-sensors-plugin
ExcludeArch: s390 s390x
- xgap
ExcludeArch: %{ix86}
- xiphos
ExcludeArch: ppc64
- 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
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_arches}
- xnnpack
ExclusiveArch: x86_64 aarch64
- xnvme
ExcludeArch: %{ix86}
- xorg-x11-drv-amdgpu
ExcludeArch: s390 s390x
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-ati
ExcludeArch: s390 s390x
- xorg-x11-drv-fbdev
ExcludeArch: s390 s390x
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-nouveau
ExcludeArch: s390 s390x
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-qxl
ExcludeArch: s390 s390x
- xorg-x11-drv-synaptics
ExcludeArch: s390 s390x
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xreader
ExcludeArch: %{ix86}
- xrgears
ExcludeArch: %{ix86}
- xsensors
ExcludeArch: %{ix86}
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xtb
ExcludeArch: s390x
- xtensor-python
ExcludeArch: armv7hl ppc64le s390x
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches}
- yices
ExcludeArch: %{ix86}
- yle-dl
ExcludeArch: %{ix86}
- yosys
ExcludeArch: %{ix86}
ExcludeArch: s390x
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: aarch64 x86_64
- zenon
ExclusiveArch: %{ocaml_native_compiler}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zfs-fuse
ExcludeArch: s390 s390x aarch64
- zig
ExclusiveArch: %{zig_arches}
- zile
ExcludeArch: ppc64le
- zimpl
ExcludeArch: %{ix86}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
- zstr
ExcludeArch: %{ix86}
- zxcvbn-c
ExcludeArch: %{ix86}
- zycore-c
ExcludeArch: s390x
- zydis
ExcludeArch: s390x
1 month, 2 weeks
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2222)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 389-ds-base
ExcludeArch: i686
- 4ti2
ExcludeArch: %{ix86}
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le riscv64
- AcetoneISO
ExcludeArch: ppc %{power64} s390x
- Agda
ExcludeArch: %{ix86} armv7hl
- Agda-stdlib
ExcludeArch: armv7hl %{ix86}
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- COPASI
ExcludeArch: %{ix86}
- CardManager
ExclusiveArch: %{java_arches} noarch
- CuraEngine
ExcludeArch: %{ix86}
- E
ExcludeArch: %{ix86}
- GAPDoc
ExcludeArch: %{ix86}
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- HPCombi
ExclusiveArch: x86_64 %{arm64}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- IQmol
ExcludeArch: %{ix86}
- JUnitParams
ExclusiveArch: %{java_arches} noarch
- L-function
ExcludeArch: %{ix86}
- LabPlot
ExcludeArch: sparc64 s390 s390x
- MUSIC
ExcludeArch: %{ix86}
- Macaulay2
ExcludeArch: %{ix86} ppc64le
- Maelstrom
ExcludeArch: %{ix86}
- Mars
ExclusiveArch: %{java_arches} noarch
- NiaAML-GUI
ExcludeArch: %{ix86}
- OpenColorIO
ExcludeArch: i686
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExcludeArch: i686
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- Pencil2D
ExcludeArch: %{ix86}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- ProDy
ExcludeArch: ppc64 s390x
- R-IRkernel
ExcludeArch: %{ix86}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-ape
ExcludeArch: %{ix86}
- R-igraph
ExcludeArch: %{ix86}
- R-kernlab
ExcludeArch: %{ix86} s390x
- R-rJava
ExclusiveArch: %{java_arches}
- Random123
ExcludeArch: mips64r2 mips32r2 s390
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- Singular
ExcludeArch: %{ix86}
- TOPCOM
ExcludeArch: %{ix86}
- VulkanMemoryAllocator
ExcludeArch: %{ix86}
- WoeUSB
ExcludeArch: s390x
- YafaRay
ExclusiveArch: %{ix86} x86_64
- Zim
ExcludeArch: %{ix86}
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- abiword
ExcludeArch: %{ix86}
- abrt-java-connector
ExcludeArch: %{ix86}
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpica-tools
ExcludeArch: i686 armv7hl
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64 riscv64
- act
ExcludeArch: %{ix86}
- admeshgui
ExcludeArch: %{ix86}
- aemu
ExcludeArch: %{ix86} %{power64} s390x
- agenda
ExcludeArch: %{ix86}
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- alienarena
ExcludeArch: s390x
- alizams
ExcludeArch: %{power64} %{ix86} s390x
- alt-ergo
ExcludeArch: %{ix86}
- american-fuzzy-lop
ExclusiveArch: x86_64
- amg4psblas
ExcludeArch: %{ix86}
- android-tools
ExcludeArch: ppc ppc64 s390x ppc64le
- anet
ExclusiveArch: %{GPRbuild_arches}
- ansible-collection-microsoft-sql
ExcludeArch: i686
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- ant-contrib
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr3
ExclusiveArch: %{java_arches}
- 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-configuration
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jexl
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-commons-vfs
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-logging-parent
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}
- appeditor
ExcludeArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- apricots
ExcludeArch: ppc64le aarch64
- apron
ExcludeArch: %{ix86}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- arbor
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
- arc-theme
ExcludeArch: %{ix86}
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt6_qtwebengine_arches}
- arm-none-eabi-binutils-cs
ExcludeArch: %{ix86}
- arm-none-eabi-gcc-cs
ExcludeArch: %{ix86}
- arm-trusted-firmware
ExclusiveArch: aarch64
- arpwatch
ExcludeArch: %{ix86}
- asahi-installer
ExcludeArch: s390x
- asdcplib
ExcludeArch: %{ix86} %{arm}
- asmjit
ExclusiveArch: aarch64 x86_64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- astromenace
ExcludeArch: ppc64 s390x
- astrometry-tycho2
ExcludeArch: s390x
- asv
ExcludeArch: %{ix86}
- atinject
ExclusiveArch: %{java_arches} noarch
- atlantik
ExcludeArch: %{ix86}
- atomic-queue
ExcludeArch: %{ix86}
- aubit4gl
ExcludeArch: i686 s390x ppc64le
- audacity
ExcludeArch: %{ix86} s390x
- audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- aunit
ExclusiveArch: %{GPRbuild_arches}
- auryn
ExcludeArch: %{ix86}
- auto
ExclusiveArch: %{java_arches} noarch
- autolink-java
ExclusiveArch: noarch %{java_arches}
- avgtime
ExclusiveArch: %{ldc_arches}
- avr-gcc
ExcludeArch: %{ix86}
- aws
ExclusiveArch: %GPRbuild_arches
- awscli2
ExcludeArch: s390x
- azove
ExcludeArch: %{ix86}
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x riscv64
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl riscv64
- bcel
ExclusiveArch: %{java_arches} noarch
- bcftools
ExcludeArch: s390x
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- bear
ExcludeArch: %{ix86}
- bear-factory
ExcludeArch: ppc64le
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips} riscv64
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- bigloo
ExcludeArch: %{ix86}
- binaryen
ExcludeArch: ppc64 s390x
- binutils
ExcludeArch: aarch64-linux-gnu aarch64-redhat-linux
ExcludeArch: ppc64le-linux-gnu ppc64le-redhat-linux
ExcludeArch: s390x-linux-gnu s390x-redhat-linux
ExcludeArch: x86_64-linux-gnu x86_64-redhat-linux i686-linux-gnu i686-redhat-linux
- biosdevname
ExclusiveArch: %{ix86} x86_64
- biosig4c++
ExcludeArch: %{ix86}
- blake3
ExcludeArch: %{ix86}
- blender
ExcludeArch: %{ix86} %{arm}
- bless
ExclusiveArch: %mono_arches
- bliss
ExcludeArch: %{ix86}
- blueprint-compiler
ExcludeArch: s390x
- bluez-hcidump
ExcludeArch: s390 s390x
- bochs
ExcludeArch: s390x i686
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- boinc-client
ExcludeArch: s390x
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bootc
ExcludeArch: %{ix86}
- bottles
ExcludeArch: s390x
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- bout++
ExcludeArch: %{ix86}
- bowtie
ExcludeArch: i686 armv7hl
- bowtie2
ExcludeArch: %{ix86} %{arm} s390x
- box64
ExclusiveArch: aarch64 riscv64 ppc64le x86_64
- boxes
ExcludeArch: %{ix86}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- breakid
ExcludeArch: %{ix86}
- brewtarget
ExcludeArch: %{ix86}
- brial
ExcludeArch: %{ix86}
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- busybox
ExcludeArch: i686 s390x
- bwping
ExcludeArch: %{ix86}
- byebyebios
ExclusiveArch: x86_64
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- caddy
ExclusiveArch: %{golang_arches}
ExclusiveArch: %{golang_arches_future}
- cadical
ExcludeArch: %{ix86}
- caffe
ExclusiveArch: x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64 riscv64
- calibre
ExclusiveArch: aarch64 x86_64
- calligra
ExcludeArch: %{ix86}
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- cantera
ExcludeArch: %{ix86}
- carat
ExcludeArch: %{ix86}
- casc
ExcludeArch: %{ix86}
- cataclysm-dda
ExcludeArch: i686
- catatonit
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- ccdciel
ExclusiveArch: %{fpc_arches}
ExcludeArch: %{ix86}
- ccluster
ExcludeArch: %{ix86}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- cdrdao
ExcludeArch: s390 s390x
- ceph
ExcludeArch: i686 armv7hl
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- ceres-solver
ExcludeArch: ppc64
- cfn-lint
ExcludeArch: %{ix86}
- cglib
ExclusiveArch: %{java_arches} noarch
- cgreen
ExcludeArch: s390x
- chatterino2
ExcludeArch: %{ix86}
- chatty
ExcludeArch: i686
- checkpointctl
ExclusiveArch: %{golang_arches_future}
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64 ppc64le
ExclusiveArch: x86_64 aarch64
- cinnamon
ExcludeArch: %{ix86}
- cinnamon-control-center
ExcludeArch: %{ix86}
- cinnamon-desktop
ExcludeArch: %{ix86}
- cinnamon-menus
ExcludeArch: %{ix86}
- cinnamon-screensaver
ExcludeArch: %{ix86}
- cinnamon-session
ExcludeArch: %{ix86}
- cinnamon-settings-daemon
ExcludeArch: %{ix86}
- cjdns
ExclusiveArch: %{nodejs_arches}
- cjs
ExcludeArch: %{ix86}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- cld2
ExcludeArch: ppc64 s390x
- clibs-list
ExcludeArch: %{ix86}
- 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
- cloudcompare
ExcludeArch: %{ix86}
- clover2
ExcludeArch: armv7hl
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coan
ExcludeArch: ppc64 s390x
- coccinelle
ExcludeArch: %{ix86}
- cocoalib
ExcludeArch: %{ix86}
- codeblocks
ExcludeArch: %{ix86}
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- cohomCalg
ExcludeArch: %{ix86}
- coin-or-Alps
ExcludeArch: %{ix86}
- coin-or-Bcp
ExcludeArch: %{ix86}
- coin-or-Bcps
ExcludeArch: %{ix86}
- coin-or-Blis
ExcludeArch: %{ix86}
- coin-or-Bonmin
ExcludeArch: %{ix86}
- coin-or-CoinMP
ExcludeArch: %{ix86}
- coin-or-Couenne
ExcludeArch: %{ix86}
- coin-or-Dip
ExcludeArch: %{ix86}
- coin-or-FlopC++
ExcludeArch: %{ix86}
- coin-or-HiGHS
ExcludeArch: %{ix86}
- coin-or-Ipopt
ExcludeArch: %{ix86}
- coin-or-OS
ExcludeArch: %{ix86}
- coin-or-SYMPHONY
ExcludeArch: %{ix86}
- coin-or-lemon
ExcludeArch: %{ix86}
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- compiz-plugins-experimental
ExcludeArch: s390 s390x
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- containers-common
ExclusiveArch: %{golang_arches} noarch
- contour-terminal
ExclusiveArch: x86_64 aarch64
- contractor
ExcludeArch: %{ix86}
- conu
ExcludeArch: ppc64
- coolreader
ExcludeArch: %{ix86}
- coq
ExclusiveArch: %{ocaml_native_compiler}
- corectrl
ExcludeArch: %{ix86}
- cortado
ExclusiveArch: %{java_arches} noarch
- coxeter
ExcludeArch: %{ix86}
- cpp-hocon
ExcludeArch: %{ix86}
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cpuinfo
ExclusiveArch: x86_64 aarch64
- cqrlog
ExclusiveArch: %{fpc_arches}
- cramjam-cli
ExcludeArch: %{ix86}
- 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
- crest
ExcludeArch: 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}
ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64
- cryfs
ExcludeArch: i686
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- cryptominisat
ExcludeArch: %{ix86}
- csdp
ExcludeArch: %{ix86}
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cura
ExcludeArch: %{ix86}
- cura-fdm-materials
ExcludeArch: %{ix86}
- cvc5
ExcludeArch: %{ix86}
- cxsc
ExcludeArch: %{ix86}
- daggy
ExcludeArch: s390x
- dapl
ExcludeArch: s390, armv7hl
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExcludeArch: armv7hl i686 s390x
- dbus-parsec
ExcludeArch: ppc64le s390x
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- ddccontrol
ExcludeArch: s390 s390x
- ddcutil
ExcludeArch: s390 s390x
- ddd
ExcludeArch: %{ix86}
- ddnet
ExcludeArch: s390x
- 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}
- dhall
ExcludeArch: %{ix86}
- dhall-json
ExcludeArch: %{ix86}
- dialect
ExcludeArch: s390x
- diffoscope
ExcludeArch: %{ix86}
- dippi
ExcludeArch: %{ix86}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dl_poly
ExcludeArch: i686
- dlib
ExcludeArch: ppc64le
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- dnsdist
ExcludeArch: %{ix86} #1994125
ExcludeArch: armv7hl #1994125
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
ExcludeArch: i686
- dolfin
ExcludeArch: %{ix86}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dosbox-staging
ExcludeArch: %{ix86}
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet8.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dovecot
ExcludeArch: %{ix86}
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dragonbox
ExcludeArch: %{ix86}
- drat-trim
ExcludeArch: %{ix86}
- drat2er
ExcludeArch: %{ix86}
- dub
ExclusiveArch: %{ldc_arches}
- duperemove
ExcludeArch: %{ix86}
- dvdauthor
ExcludeArch: %{ix86}
- dvgrab
ExcludeArch: s390 s390x
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e-antic
ExcludeArch: %{ix86}
- e00compr
ExcludeArch: %{ix86}
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- eccodes
ExcludeArch: i686
- ecj
ExclusiveArch: %{java_arches} noarch
- eclib
ExcludeArch: %{ix86}
- eclipse-swt
ExclusiveArch: %{java_arches}
- ecryptfs-utils
ExcludeArch: %{ix86}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edac-utils
ExcludeArch: %{ix86}
- edflib
ExcludeArch: s390x %{ix86}
- edk2
ExclusiveArch: x86_64 aarch64 riscv64
- edwin-fonts
ExcludeArch: %{ix86}
- eegdev
ExcludeArch: %{ix86}
- eegview
ExcludeArch: %{ix86}
- efax
ExcludeArch: s390 s390x
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- electron-cash
ExcludeArch: %{ix86}
- electrum
ExcludeArch: %{ix86}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 aarch64 %{arm} %{power64}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-common-proofgeneral
ExcludeArch: %{ix86}
- emacs-company-mode
ExcludeArch: %{ix86}
- emacs-iedit
ExcludeArch: %{ix86}
- 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 riscv64
- eot-utils
ExcludeArch: %{ix86}
- ergo
ExcludeArch: %{ix86}
- eric
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- espresso
ExcludeArch: s390x i686 armv7hl
- 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
- f3d
ExcludeArch: %{ix86}
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fbreader
ExcludeArch: %{ix86}
ExcludeArch: armv7hl
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fcitx5-mozc
ExcludeArch: ppc ppc64 sparcv9 sparc64 s390x
- fcoe-utils
ExcludeArch: ppc s390
ExcludeArch: %{ix86}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- fido-device-onboard
ExcludeArch: %{ix86}
- filedrop
ExclusiveArch: %{java_arches} noarch
- filezilla
ExcludeArch: s390x
- firecracker
ExclusiveArch: aarch64 x86_64
- firefox
ExcludeArch: i686
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- flang
ExcludeArch: i686 s390x
- flashrom
ExcludeArch: s390 s390x
- flatbuffers
ExcludeArch: %{ix86}
- flatpak
ExcludeArch: %{ix86}
- flatpak-builder
ExcludeArch: %{ix86}
- flatpak-module-tools
ExcludeArch: i386 i686
- flexmark-java
ExclusiveArch: noarch %{java_arches}
- flickcurl
ExcludeArch: %{ix86}
- flint
ExcludeArch: %{ix86}
- flocq
ExclusiveArch: %{ocaml_native_compiler}
- floppy-support
ExcludeArch: %{arm} aarch64 s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- flterm
ExcludeArch: s390 s390x sparcv9
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- fmidi
ExcludeArch: %{ix86}
- folly
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fotocx
ExcludeArch: %{ix86}
- foxi
ExclusiveArch: x86_64 aarch64
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- fprintd
ExcludeArch: s390 s390x
- fractal
ExcludeArch: %{ix86}
- fragments
ExcludeArch: %{ix86}
- frama-c
ExclusiveArch: %{ocaml_native_compiler}
- free42
ExcludeArch: %{ix86}
- freecol
ExclusiveArch: %{java_arches} noarch
- freedink
ExcludeArch: s390x
- freedink-dfarc
ExcludeArch: s390x
- freefem++
ExcludeArch: %{ix86}
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- freetennis
ExcludeArch: sparc64 s390 s390x %{ix86}
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64 riscv64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExcludeArch: %{ix86}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le riscv64
- gambas3
ExcludeArch: i686
- gap
ExcludeArch: %{ix86}
- gap-pkg-ace
ExcludeArch: %{ix86}
- gap-pkg-aclib
ExcludeArch: %{ix86}
- gap-pkg-alnuth
ExcludeArch: %{ix86}
- gap-pkg-anupq
ExcludeArch: %{ix86}
- gap-pkg-atlasrep
ExcludeArch: %{ix86}
- gap-pkg-autodoc
ExcludeArch: %{ix86}
- gap-pkg-automata
ExcludeArch: %{ix86}
- gap-pkg-autpgrp
ExcludeArch: %{ix86}
- gap-pkg-browse
ExcludeArch: %{ix86}
- gap-pkg-caratinterface
ExcludeArch: %{ix86}
- gap-pkg-circle
ExcludeArch: %{ix86}
- gap-pkg-cohomolo
ExcludeArch: %{ix86}
- gap-pkg-congruence
ExcludeArch: %{ix86}
- gap-pkg-corelg
ExcludeArch: %{ix86}
- gap-pkg-crime
ExcludeArch: %{ix86}
- gap-pkg-crisp
ExcludeArch: %{ix86}
- gap-pkg-crypting
ExcludeArch: %{ix86}
- gap-pkg-cryst
ExcludeArch: %{ix86}
- gap-pkg-crystcat
ExcludeArch: %{ix86}
- gap-pkg-ctbllib
ExcludeArch: %{ix86}
- gap-pkg-curlinterface
ExcludeArch: %{ix86}
- gap-pkg-cvec
ExcludeArch: %{ix86}
- gap-pkg-datastructures
ExcludeArch: %{ix86}
- gap-pkg-design
ExcludeArch: %{ix86}
- gap-pkg-digraphs
ExcludeArch: %{ix86}
- gap-pkg-edim
ExcludeArch: %{ix86}
- gap-pkg-factint
ExcludeArch: %{ix86}
- gap-pkg-ferret
ExcludeArch: %{ix86}
- gap-pkg-fga
ExcludeArch: %{ix86}
- gap-pkg-fining
ExcludeArch: %{ix86}
- gap-pkg-float
ExcludeArch: %{ix86}
- gap-pkg-format
ExcludeArch: %{ix86}
- gap-pkg-forms
ExcludeArch: %{ix86}
- gap-pkg-fplsa
ExcludeArch: %{ix86}
- gap-pkg-fr
ExcludeArch: %{ix86}
- gap-pkg-francy
ExcludeArch: %{ix86}
- gap-pkg-gbnp
ExcludeArch: %{ix86}
- gap-pkg-genss
ExcludeArch: %{ix86}
- gap-pkg-grape
ExcludeArch: %{ix86}
- gap-pkg-groupoids
ExcludeArch: %{ix86}
- gap-pkg-grpconst
ExcludeArch: %{ix86}
- gap-pkg-guava
ExcludeArch: %{ix86}
- gap-pkg-hap
ExcludeArch: %{ix86}
- gap-pkg-hapcryst
ExcludeArch: %{ix86}
- gap-pkg-hecke
ExcludeArch: %{ix86}
- gap-pkg-images
ExcludeArch: %{ix86}
- gap-pkg-io
ExcludeArch: %{ix86}
- gap-pkg-irredsol
ExcludeArch: %{ix86}
- gap-pkg-json
ExcludeArch: %{ix86}
- gap-pkg-jupyterkernel
ExcludeArch: %{ix86}
- gap-pkg-jupyterviz
ExcludeArch: %{ix86}
- gap-pkg-laguna
ExcludeArch: %{ix86}
- gap-pkg-liealgdb
ExcludeArch: %{ix86}
- gap-pkg-liepring
ExcludeArch: %{ix86}
- gap-pkg-liering
ExcludeArch: %{ix86}
- gap-pkg-loops
ExcludeArch: %{ix86}
- gap-pkg-lpres
ExcludeArch: %{ix86}
- gap-pkg-mapclass
ExcludeArch: %{ix86}
- gap-pkg-nautytracesinterface
ExcludeArch: %{ix86}
- gap-pkg-nq
ExcludeArch: %{ix86}
- gap-pkg-openmath
ExcludeArch: %{ix86}
- gap-pkg-orb
ExcludeArch: %{ix86}
- gap-pkg-permut
ExcludeArch: %{ix86}
- gap-pkg-polenta
ExcludeArch: %{ix86}
- gap-pkg-polycyclic
ExcludeArch: %{ix86}
- gap-pkg-polymaking
ExcludeArch: %{ix86}
- gap-pkg-primgrp
ExcludeArch: %{ix86}
- gap-pkg-profiling
ExcludeArch: %{ix86}
- gap-pkg-qpa
ExcludeArch: %{ix86}
- gap-pkg-quagroup
ExcludeArch: %{ix86}
- gap-pkg-radiroot
ExcludeArch: %{ix86}
- gap-pkg-recog
ExcludeArch: %{ix86}
- gap-pkg-repsn
ExcludeArch: %{ix86}
- gap-pkg-resclasses
ExcludeArch: %{ix86}
- gap-pkg-scscp
ExcludeArch: %{ix86}
- gap-pkg-semigroups
ExcludeArch: %{ix86}
- gap-pkg-singular
ExcludeArch: %{ix86}
- gap-pkg-sla
ExcludeArch: %{ix86}
- gap-pkg-smallgrp
ExcludeArch: %{ix86}
- gap-pkg-smallsemi
ExcludeArch: %{ix86}
- gap-pkg-sonata
ExcludeArch: %{ix86}
- gap-pkg-sophus
ExcludeArch: %{ix86}
- gap-pkg-spinsym
ExcludeArch: %{ix86}
- gap-pkg-standardff
ExcludeArch: %{ix86}
- gap-pkg-tomlib
ExcludeArch: %{ix86}
- gap-pkg-toric
ExcludeArch: %{ix86}
- gap-pkg-transgrp
ExcludeArch: %{ix86}
- gap-pkg-utils
ExcludeArch: %{ix86}
- gap-pkg-uuid
ExcludeArch: %{ix86}
- gap-pkg-xmod
ExcludeArch: %{ix86}
- gap-pkg-zeromqinterface
ExcludeArch: %{ix86}
- gappa
ExcludeArch: %{ix86}
- gappalib-coq
ExclusiveArch: %{ocaml_native_compiler}
- gauche
ExcludeArch: armv7hl
- gbrainy
ExclusiveArch: %mono_arches
- gcl
ExcludeArch: s390x
- gdb
ExclusiveArch: %{ix86} x86_64
ExcludeArch: aarch64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gdl
ExcludeArch: %{ix86}
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- gearmand
ExcludeArch: ppc
- geeqie
ExcludeArch: %{ix86}
- gfan
ExcludeArch: %{ix86}
- gfs2-utils
ExcludeArch: %{ix86}
- gfxstream
ExcludeArch: %{ix86} %{power64} s390x
- ghc
ExcludeArch: armv7hl
- ghc-cborg
ExcludeArch: %{ix86}
- ghc-cborg-json
ExcludeArch: %{ix86}
- ghc-gi-gtk
ExcludeArch: armv7hl
- ghc-serialise
ExcludeArch: %{ix86}
- ghc9.10
ExcludeArch: armv7hl
- ghc9.2
ExcludeArch: armv7hl
- ghc9.4
ExcludeArch: armv7hl
- ghc9.6
ExcludeArch: armv7hl
- ghc9.8
ExcludeArch: armv7hl
- ghdl
ExclusiveArch: %{GNAT_arches}
ExcludeArch: armv7hl %{ix86}
- ghostwriter
ExclusiveArch: %{qt6_qtwebengine_arches}
- gimp-fourier-plugin
ExcludeArch: %{ix86}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-lfs
ExcludeArch: %{ix86}
- 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
- gkrellm-wifi
ExcludeArch: s390 s390x
- glava
ExcludeArch: %{ix86}
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gloo
ExcludeArch: i686
- glycin-loaders
ExcludeArch: %{ix86}
- gmult
ExcludeArch: %{ix86}
- gn
ExcludeArch: %{ix86}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
ExcludeArch: s390x
- gnofract4d
ExcludeArch: %{ix86}
- gnome-applets
ExcludeArch: %{ix86}
- gnome-bluetooth
ExcludeArch: s390 s390x
- gnome-bluetooth3.34
ExcludeArch: s390 s390x
- gnome-boxes
ExclusiveArch: x86_64
- gnome-chemistry-utils
ExcludeArch: %{ix86}
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- gnome-flashback
ExcludeArch: %{ix86}
- gnome-hexgl
ExcludeArch: i686
- gnome-initial-setup
ExcludeArch: %{ix86}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-monitor-config
ExcludeArch: %{ix86}
- gnome-panel
ExcludeArch: %{ix86}
- gnome-rdp
ExclusiveArch: %{mono_arches}
ExcludeArch: %{ix86}
- gnome-session
ExcludeArch: %{ix86}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-shell
ExcludeArch: %{ix86}
- gnome-software
ExcludeArch: %{ix86}
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnome-terminal
ExcludeArch: %{ix86}
- gnu-efi
ExclusiveArch: %{efi}
- gnucash
ExcludeArch: %{ix86}
ExcludeArch: ppc64 s390x
- gnumeric
ExcludeArch: %{ix86}
- 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}}
- godot
ExcludeArch: s390x
- godot3
ExcludeArch: ppc64 ppc64le s390x
- goffice
ExcludeArch: %{ix86}
- golang
ExclusiveArch: %{golang_arches}
- golang-entgo-ent
ExcludeArch: %{arm32} %{ix86}
- golang-github-ebitengine-purego
ExcludeArch: ppc64le s390x
- golang-github-elliotchance-orderedmap
ExcludeArch: aarch64
ExcludeArch: ppc64le
ExcludeArch: s390x
- golang-github-facebookincubator-nvdtools
ExcludeArch: i686 armv7hl
- golang-github-google-goterm
ExcludeArch: ppc64le s390x
- golang-helm-3
ExcludeArch: armv7hl aarch64
- golang-tinygo-x-llvm
ExcludeArch: %{ix86}
- goldendict-ng
ExclusiveArch: aarch64 x86_64
- google-compute-engine-guest-configs
ExcludeArch: %{ix86}
- google-cpu_features
ExcludeArch: s390x
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guest-agent
ExcludeArch: ppc64le s390x
- google-guice
ExclusiveArch: %{java_arches} noarch
- google-osconfig-agent
ExcludeArch: ppc64le s390x
- gotcha
ExcludeArch: %{ix86}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gource
ExcludeArch: ppc64le
- goverlay
ExclusiveArch: %{fpc_arches}
- gpaste
ExcludeArch: %{ix86}
- gpaw
ExcludeArch: ppc64
ExcludeArch: %{ix86}
- gperftools
ExcludeArch: s390
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- gr-air-modes
ExcludeArch: %{ix86}
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- greenboot
ExcludeArch: s390x
- gretl
ExcludeArch: %{ix86}
- gromacs
ExcludeArch: i686 armv7hl s390x
- grub-customizer
ExcludeArch: s390 s390x %{arm}
- grub2
ExcludeArch: s390 s390x %{ix86}
- grub2-breeze-theme
ExcludeArch: s390 s390x %{arm}
- grubby
ExcludeArch: %{ix86}
- gsequencer
ExcludeArch: i686
- gthree
ExcludeArch: i686
- gthumb
ExcludeArch: s390x
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gtkhash
ExcludeArch: %{ix86}
- gtkwave
ExcludeArch: s390x
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- gvisor-tap-vsock
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64 riscv64
- harmonyseq
ExcludeArch: %{ix86}
- harvey
ExcludeArch: %{ix86}
- hashcat
ExcludeArch: ppc64 s390x
- hawtjni
ExclusiveArch: %{java_arches} noarch
- haxe
ExcludeArch: %{ix86}
- hcloud
ExcludeArch: %{ix86}
- heaptrack
ExcludeArch: s390 s390x
- hedgewars
ExclusiveArch: %{fpc_arches}
ExcludeArch: ppc64le
- helix
ExcludeArch: %{ix86}
- hevea
ExcludeArch: %{ix86}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- highfive
ExcludeArch: %{ix86}
- hipblas
ExclusiveArch: x86_64
- hipcub
ExclusiveArch: x86_64
- hipfft
ExclusiveArch: x86_64
- hipify
ExclusiveArch: x86_64
- hiprand
ExclusiveArch: x86_64
- hipsolver
ExclusiveArch: x86_64
- hipsparse
ExclusiveArch: x86_64
- hmmer
ExcludeArch: aarch64 ppc64le s390x
- honggfuzz
ExcludeArch: %{arm} %{power64} s390 s390x
- howl
ExcludeArch: ppc64le s390x
ExcludeArch: %{ix86}
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hydrapaper
ExcludeArch: s390x
- hyena
ExclusiveArch: %{mono_arches}
- hyperhdr
ExcludeArch: %{ix86}
- hyperrogue
ExcludeArch: armv7hl
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- hyprcursor
ExcludeArch: %{ix86}
- hyprland
ExcludeArch: %{ix86}
- hyprlang
ExcludeArch: %{ix86}
- i2c-tools
ExcludeArch: s390 s390x
- ibsim
ExcludeArch: s390 %{arm}
- ibus-typing-booster
ExcludeArch: ppc64 s390x
- icecat
ExcludeArch: %{arm}
ExcludeArch: s390x
- icedtea-web
ExclusiveArch: %{java_arches}
- icu4j
ExclusiveArch: %{java_arches} noarch
- ignition
ExcludeArch: %{ix86}
- iir1
ExcludeArch: %{ix86}
- ike-scan
ExcludeArch: %{ix86}
- ilua
ExcludeArch: %{ix86}
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- iml
ExcludeArch: %{ix86}
- 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
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExcludeArch: s390x ppc64le
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
- intel-lpmd
ExclusiveArch: x86_64
- intel-media-driver-free
ExclusiveArch: i686 x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-metee
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipe
ExcludeArch: %{ix86}
- ipmctl
ExclusiveArch: x86_64
- irda-utils
ExcludeArch: s390 s390x
- irqbalance
ExcludeArch: s390 s390x
- isa-l
ExcludeArch: %{ix86}
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jack-mixer
ExcludeArch: armv7hl
ExcludeArch: i686
- 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-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-mail1
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}
ExcludeArch: %{ix86}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-11-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-17-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-21-openjdk
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- java-21-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- 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}
ExcludeArch: %{ix86}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
ExcludeArch: %{ix86}
- 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
- jblas
ExcludeArch: %{ix86}
- 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
- 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
- jedit
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetbrains-annotations
ExclusiveArch: noarch %{java_arches}
- 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}
- jo
ExcludeArch: %{ix86}
- 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
- jpilot
ExcludeArch: s390, s390x
- jpilot-backup
ExcludeArch: s390 s390x
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsoup
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
ExcludeArch: i686
- 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
- kaffeine
ExcludeArch: %{ix86}
- kaidan
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- kata-containers
ExcludeArch: %{arm} %{ix86} s390 s390x
ExcludeArch: ppc64le
- kawa
ExcludeArch: i686
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kcm_wacomtablet
ExcludeArch: s390 s390x
- kcov
ExcludeArch: s390 s390x
- kdenlive
ExcludeArch: %{ix86}
- keepass
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- keepassxc
ExcludeArch: s390x
- kernel
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le
- kernelshark
ExcludeArch: %{ix86} %{arm}
- keydb
ExcludeArch: %{ix86}
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
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}
- khelpcenter
ExclusiveArch: %{qt6_qtwebengine_arches}
- kicad
ExclusiveArch: x86_64 aarch64 ppc64le
- kissat
ExcludeArch: %{ix86}
- kitty
ExcludeArch: %{ix86}
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- kokkos
ExcludeArch: i686 armv7hl
- kpilot
ExcludeArch: s390 s390x
- krita
ExcludeArch: %{ix86}
- ksensors
ExcludeArch: s390 s390x
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- ladspa-autotalent-plugins
ExcludeArch: %{ix86}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- latte-integrale
ExcludeArch: %{ix86}
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- lcd4linux
ExcludeArch: s390 s390x
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ledmon
ExcludeArch: %{ix86}
- leland-fonts
ExcludeArch: %{ix86}
- lfortran
ExclusiveArch: x86_64
- lfsc
ExcludeArch: %{ix86}
- lib3mf
ExcludeArch: %{ix86}
- libCombine
ExcludeArch: %{ix86}
- libaiff
ExcludeArch: %{ix86}
- libarcus
ExcludeArch: %{ix86}
- libarrow
ExcludeArch: %{ix86} %{arm}
- libavc1394
ExcludeArch: s390 s390x
- libbase
ExclusiveArch: %{java_arches} noarch
- libcamera
ExcludeArch: s390x ppc64le
- libcamera-apps
ExcludeArch: %{power64} s390x
- libcint
ExcludeArch: %{power64}
- libcircle
ExcludeArch: %{ix86}
- libcpuid
ExcludeArch: aarch64 %arm ppc64le ppc64 s390x
- libcrystalhd
ExcludeArch: s390 s390x
- libcxx
ExcludeArch: ppc64 ppc64le
- libdc1394
ExcludeArch: s390 s390x
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdigidocpp
ExcludeArch: %{ix86}
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libffado
ExcludeArch: s390 s390x
- libfilezilla
ExcludeArch: s390x
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libfprint
ExcludeArch: s390 s390x
- libguestfs
ExcludeArch: %{ix86}
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- libhomfly
ExcludeArch: %{ix86}
- libibcommon
ExcludeArch: s390 s390x
- libica
ExclusiveArch: s390 s390x
- libiec61883
ExcludeArch: s390 s390x
- libinsane
ExcludeArch: %{ix86}
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libldac
ExcludeArch: s390x
- libloader
ExclusiveArch: %{java_arches} noarch
- libnuml
ExcludeArch: %{ix86}
- libnxz
ExclusiveArch: ppc64le
- libobjc2
ExcludeArch: armv7hl i686 ppc64le s390x
- libocxl
ExclusiveArch: ppc64le
- libomp17
ExcludeArch: s390x
- libopenshot
ExcludeArch: ppc64le
- libopenshot-audio
ExcludeArch: ppc64le
- liborc
ExcludeArch: i686 armv7hl
- libpoly
ExcludeArch: %{ix86}
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libraw1394
ExcludeArch: s390 s390x
- libreoffice
ExcludeArch: %{ix86}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
ExcludeArch: aarch64 s390x
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- libretro-pcsx-rearmed
ExcludeArch: armv7hl
- librtas
ExclusiveArch: %{power64}
- libsavitar
ExcludeArch: %{ix86}
- libsedml
ExcludeArch: %{ix86}
- libsemigroups
ExcludeArch: %{ix86}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libsonata
ExcludeArch: %{ix86}
- libtracecmd
ExcludeArch: %{ix86} %{arm}
- libunibreak
ExcludeArch: %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunifex
ExcludeArch: i686
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64 riscv64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libva-nvidia-driver
ExclusiveArch: %{x86_64} %{ix86} %{arm64} ppc64le
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libvpl
ExclusiveArch: x86_64
- libx86
ExcludeArch: ppc %{power64} s390 s390x %{sparc} aarch64 armv7hl
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- liferea
ExcludeArch: %{ix86}
- linbox
ExcludeArch: %{ix86}
- linux-system-roles
ExcludeArch: i686
- liquidctl
ExcludeArch: s390 s390x
- lite-xl
ExcludeArch: %{ix86}
- llama-cpp
ExclusiveArch: x86_64 aarch64
- lld13
ExcludeArch: s390x
- lld15
ExcludeArch: s390x
- lld16
ExcludeArch: s390x
- lld17
ExcludeArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- llvm-bolt
ExcludeArch: s390x ppc64le i686
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- loupe
ExcludeArch: %{ix86}
- love
ExcludeArch: ppc ppc64 s390x
- lrmi
ExclusiveArch: %{ix86}
- lsp-plugins
ExcludeArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExcludeArch: riscv64 ppc64 ppc64le
- lucene
ExclusiveArch: %{java_arches} noarch
- luckybackup
ExcludeArch: %{ix86}
- lujavrite
ExclusiveArch: %{java_arches}
- luminance-hdr
ExcludeArch: %{ix86}
- lusol
ExcludeArch: %{ix86}
- luxcorerender
ExclusiveArch: x86_64
- lzfse
ExcludeArch: s390x
- m4rie
ExcludeArch: %{ix86}
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-airnow
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-onthisday
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-singlestock
ExclusiveArch: %{nodejs_arches} noarch
- makemusic-finale-fonts
ExcludeArch: %{ix86}
- mame
ExcludeArch: %{arm} %{ix86}
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mapnik
ExcludeArch: ppc ppc64 s390 s390x
- marcsabatella-campania-fonts
ExcludeArch: %{ix86}
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- mate-applets
ExcludeArch: i386 i686
- 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
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcqd
ExcludeArch: %{ix86}
- 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}
- merkuro
ExclusiveArch: %{qt6_qtwebengine_arches}
- meshlab
ExclusiveArch: aarch64 x86_64
ExcludeArch: %{ix86}
- metamath
ExcludeArch: %{ix86}
- mfem
ExcludeArch: %{ix86}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64 riscv64
- 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-qt6-qtlocation
ExcludeArch: s390x
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- miopen
ExclusiveArch: x86_64
- mirrormanager2
ExcludeArch: %{ix86}
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mlir
ExcludeArch: i686
- mlpack
ExcludeArch: s390
- mmapper
ExcludeArch: %{ix86}
- mmlib
ExcludeArch: %{ix86}
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_gnutls
ExcludeArch: %{ix86} %{arm}
- mod_mono
ExclusiveArch: %mono_arches
- mod_proxy_cluster
ExcludeArch: i686 i386
- modello
ExclusiveArch: %{java_arches} noarch
- moditect
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}
- mold
ExcludeArch: %{ix86}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- 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
ExcludeArch: armv7hl
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- moose
ExcludeArch: s390x
- morphio
ExcludeArch: %{ix86}
- mozc
ExcludeArch: ppc ppc64 sparcv9 sparc64 s390x
- mozilla-ublock-origin
ExcludeArch: ppc64 s390x
- mp
ExcludeArch: %{ix86}
- mpark-patterns
ExcludeArch: %{ix86}
- mpi4py
ExcludeArch: %{ix86}
- mpibash
ExcludeArch: %{ix86}
- mpris-scrobbler
ExcludeArch: s390x
- mpsolve
ExcludeArch: %{ix86}
- mrchem
ExcludeArch: s390x
- mrcpp
ExcludeArch: s390x
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msolve
ExcludeArch: %{ix86}
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mstflint
ExcludeArch: s390 s390x %{arm}
- msv
ExclusiveArch: %{java_arches} noarch
- mt32emu
ExcludeArch: %{ix86}
- muffin
ExcludeArch: %{ix86}
- mumble
ExcludeArch: %{ix86}
- mupen64plus
ExcludeArch: s390x
- musescore
ExcludeArch: %{ix86}
- musl
ExcludeArch: s390
- mvfst
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- 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
ExcludeArch: %{ix86}
- naga
ExclusiveArch: %{java_arches} noarch
- nagios-plugins-check-updates
ExcludeArch: %{ix86}
- nant
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExcludeArch: i686
- ncl
ExcludeArch: %{ix86}
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- nemo
ExcludeArch: %{ix86}
- nemo-extensions
ExcludeArch: %{ix86}
- nest
ExcludeArch: %{ix86}
- netatalk
ExcludeArch: aarch64 s390x
- netavark
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- netcdf-fortran
ExcludeArch: %{ix86}
- netdata
ExcludeArch: s390x
- netgen-mesher
ExcludeArch: %{ix86}
- neuron
ExcludeArch: mips64r2 mips32r2
ExcludeArch: %{ix86}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- nextcloud-client
ExcludeArch: %{ix86}
ExcludeArch: ppc64 ppc64le s390x
- 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-cjs-module-lexer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le riscv64 noarch
- nodejs-colors
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
- nodejs-undici
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le riscv64 noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- normaliz
ExcludeArch: %{ix86}
- not-ocamlfind
ExcludeArch: %{ix86}
- notejot
ExcludeArch: %{ix86}
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- ntfs2btrfs
ExcludeArch: ppc64 s390x
- nuget
ExclusiveArch: %{mono_arches}
- numactl
ExcludeArch: s390 %{arm}
- numatop
ExclusiveArch: x86_64 ppc64le
- numptyphysics
ExcludeArch: ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
ExcludeArch: armv7hl
- nut
ExcludeArch: s390 s390x
- nvml
ExclusiveArch: x86_64 ppc64le
- nwchem
ExcludeArch: %{ix86} s390x
ExcludeArch: s390x
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-cef
ExclusiveArch: x86_64 aarch64
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- obs-studio-plugin-vkcapture
ExcludeArch: s390x
- ocaml
ExcludeArch: %{ix86}
- ocaml-SDL
ExcludeArch: %{ix86}
- ocaml-alcotest
ExcludeArch: %{ix86}
- ocaml-astring
ExcludeArch: %{ix86}
- ocaml-atd
ExcludeArch: %{ix86}
- ocaml-augeas
ExcludeArch: %{ix86}
- ocaml-autoconf
ExcludeArch: %{ix86}
- ocaml-base
ExcludeArch: %{ix86}
- ocaml-base64
ExcludeArch: %{ix86}
- ocaml-benchmark
ExcludeArch: %{ix86}
- ocaml-bigarray-compat
ExcludeArch: %{ix86}
- ocaml-bin-prot
ExcludeArch: %{ix86}
- ocaml-biniou
ExcludeArch: %{ix86}
- ocaml-bisect-ppx
ExcludeArch: %{ix86}
- ocaml-bos
ExcludeArch: %{ix86}
- ocaml-cairo
ExcludeArch: %{ix86}
- ocaml-calendar
ExcludeArch: %{ix86}
- ocaml-camlbz2
ExcludeArch: %{ix86}
- ocaml-camlidl
ExcludeArch: %{ix86}
- ocaml-camlimages
ExcludeArch: %{ix86}
- ocaml-camlp-streams
ExcludeArch: %{ix86}
- ocaml-camlp5
ExcludeArch: %{ix86}
- ocaml-camlp5-buildscripts
ExcludeArch: %{ix86}
- ocaml-camomile
ExcludeArch: %{ix86}
- ocaml-cinaps
ExcludeArch: %{ix86}
- ocaml-cmdliner
ExcludeArch: %{ix86}
- ocaml-compiler-libs-janestreet
ExcludeArch: %{ix86}
- ocaml-cppo
ExcludeArch: %{ix86}
- ocaml-crunch
ExcludeArch: %{ix86}
- ocaml-cryptokit
ExcludeArch: %{ix86}
- ocaml-csexp
ExcludeArch: %{ix86}
- ocaml-csv
ExcludeArch: %{ix86}
- ocaml-ctypes
ExcludeArch: %{ix86}
- ocaml-cudf
ExcludeArch: %{ix86}
- ocaml-curl
ExcludeArch: %{ix86}
- ocaml-curses
ExcludeArch: %{ix86}
- ocaml-dbus
ExcludeArch: %{ix86}
- ocaml-dose3
ExcludeArch: %{ix86}
- ocaml-dune
ExcludeArch: %{ix86}
- ocaml-easy-format
ExcludeArch: %{ix86}
- ocaml-expat
ExcludeArch: %{ix86}
- ocaml-extlib
ExcludeArch: %{ix86}
- ocaml-facile
ExcludeArch: %{ix86}
- ocaml-fieldslib
ExcludeArch: %{ix86}
- ocaml-fileutils
ExcludeArch: %{ix86}
- ocaml-findlib
ExcludeArch: %{ix86}
- ocaml-fmt
ExcludeArch: %{ix86}
- ocaml-fpath
ExcludeArch: %{ix86}
- ocaml-gen
ExcludeArch: %{ix86}
- ocaml-gettext
ExcludeArch: %{ix86}
- ocaml-graphics
ExcludeArch: %{ix86}
- ocaml-gsl
ExcludeArch: %{ix86}
ExcludeArch: armv7hl
- ocaml-integers
ExcludeArch: %{ix86}
- ocaml-jane-street-headers
ExcludeArch: %{ix86}
- ocaml-jst-config
ExcludeArch: %{ix86}
- ocaml-lablgl
ExcludeArch: %{ix86}
- ocaml-lablgtk
ExcludeArch: %{ix86}
- ocaml-lablgtk3
ExcludeArch: %{ix86}
- ocaml-labltk
ExcludeArch: %{ix86}
- ocaml-lacaml
ExcludeArch: %{ix86}
- ocaml-lambda-term
ExcludeArch: %{ix86}
- ocaml-libvirt
ExcludeArch: %{ix86}
- ocaml-logs
ExcludeArch: %{ix86}
- ocaml-luv
ExcludeArch: %{ix86}
- ocaml-lwt
ExcludeArch: %{ix86}
- ocaml-markup
ExcludeArch: %{ix86}
- ocaml-mccs
ExcludeArch: %{ix86}
- ocaml-mdx
ExcludeArch: %{ix86}
- ocaml-menhir
ExcludeArch: %{ix86}
- ocaml-merlin
ExcludeArch: %{ix86}
- ocaml-mew
ExcludeArch: %{ix86}
- ocaml-mew-vi
ExcludeArch: %{ix86}
- ocaml-mlgmpidl
ExcludeArch: %{ix86}
- ocaml-mlmpfr
ExcludeArch: %{ix86}
- ocaml-mtime
ExcludeArch: %{ix86}
- ocaml-mysql
ExcludeArch: %{ix86}
- ocaml-num
ExcludeArch: %{ix86}
- ocaml-obuild
ExcludeArch: %{ix86}
- ocaml-ocamlbuild
ExcludeArch: %{ix86}
- ocaml-ocamlgraph
ExcludeArch: %{ix86}
- ocaml-ocamlnet
ExcludeArch: %{ix86}
- ocaml-ocp-indent
ExcludeArch: %{ix86}
- ocaml-ocplib-endian
ExcludeArch: %{ix86}
- ocaml-ocplib-simplex
ExcludeArch: %{ix86}
- ocaml-octavius
ExcludeArch: %{ix86}
- ocaml-odoc
ExcludeArch: %{ix86}
- ocaml-omake
ExcludeArch: %{ix86}
- ocaml-opam-file-format
ExcludeArch: %{ix86}
- ocaml-ounit
ExcludeArch: %{ix86}
- ocaml-parmap
ExcludeArch: %{ix86}
- ocaml-parsexp
ExcludeArch: %{ix86}
- ocaml-pcre
ExcludeArch: %{ix86}
- ocaml-pcre2
ExcludeArch: %{ix86}
- ocaml-perl4caml
ExcludeArch: %{ix86}
- ocaml-postgresql
ExcludeArch: %{ix86}
- ocaml-pp
ExcludeArch: %{ix86}
- ocaml-ppx-assert
ExcludeArch: %{ix86}
- ocaml-ppx-base
ExcludeArch: %{ix86}
- ocaml-ppx-cold
ExcludeArch: %{ix86}
- ocaml-ppx-compare
ExcludeArch: %{ix86}
- ocaml-ppx-custom-printf
ExcludeArch: %{ix86}
- ocaml-ppx-derivers
ExcludeArch: %{ix86}
- ocaml-ppx-deriving
ExcludeArch: %{ix86}
- ocaml-ppx-deriving-yaml
ExcludeArch: %{ix86}
- ocaml-ppx-deriving-yojson
ExcludeArch: %{ix86}
- ocaml-ppx-enumerate
ExcludeArch: %{ix86}
- ocaml-ppx-expect
ExcludeArch: %{ix86}
- ocaml-ppx-fields-conv
ExcludeArch: %{ix86}
- ocaml-ppx-globalize
ExcludeArch: %{ix86}
- ocaml-ppx-hash
ExcludeArch: %{ix86}
- ocaml-ppx-here
ExcludeArch: %{ix86}
- ocaml-ppx-import
ExcludeArch: %{ix86}
- ocaml-ppx-inline-test
ExcludeArch: %{ix86}
- ocaml-ppx-js-style
ExcludeArch: %{ix86}
- ocaml-ppx-let
ExcludeArch: %{ix86}
- ocaml-ppx-optcomp
ExcludeArch: %{ix86}
- ocaml-ppx-sexp-conv
ExcludeArch: %{ix86}
- ocaml-ppx-stable-witness
ExcludeArch: %{ix86}
- ocaml-ppx-variants-conv
ExcludeArch: %{ix86}
- ocaml-ppxlib
ExcludeArch: %{ix86}
- ocaml-psmt2-frontend
ExcludeArch: %{ix86}
- ocaml-ptime
ExcludeArch: %{ix86}
- ocaml-ptmap
ExcludeArch: %{ix86}
- ocaml-pyml
ExcludeArch: %{ix86}
- ocaml-qcheck
ExcludeArch: %{ix86}
- ocaml-qtest
ExcludeArch: %{ix86}
- ocaml-re
ExcludeArch: %{ix86}
- ocaml-react
ExcludeArch: %{ix86}
- ocaml-res
ExcludeArch: %{ix86}
- ocaml-result
ExcludeArch: %{ix86}
- ocaml-rresult
ExcludeArch: %{ix86}
- ocaml-sedlex
ExcludeArch: %{ix86}
- ocaml-sexplib
ExcludeArch: %{ix86}
- ocaml-sexplib0
ExcludeArch: %{ix86}
- ocaml-sha
ExcludeArch: %{ix86}
- ocaml-sqlite
ExcludeArch: %{ix86}
- ocaml-ssl
ExcludeArch: %{ix86}
- ocaml-stdcompat
ExcludeArch: %{ix86}
- ocaml-stdio
ExcludeArch: %{ix86}
- ocaml-stdlib-random
ExcludeArch: %{ix86}
- ocaml-time-now
ExcludeArch: %{ix86}
- ocaml-topkg
ExcludeArch: %{ix86}
- ocaml-trie
ExcludeArch: %{ix86}
- ocaml-tyxml
ExcludeArch: %{ix86}
- ocaml-unionfind
ExcludeArch: %{ix86}
- ocaml-uucd
ExcludeArch: %{ix86}
- ocaml-uucp
ExcludeArch: %{ix86}
- ocaml-uunf
ExcludeArch: %{ix86}
- ocaml-uuseg
ExcludeArch: %{ix86}
- ocaml-uutf
ExcludeArch: %{ix86}
- ocaml-variantslib
ExcludeArch: %{ix86}
- ocaml-version
ExcludeArch: %{ix86}
- ocaml-xml-light
ExcludeArch: %{ix86}
- ocaml-xmlm
ExcludeArch: %{ix86}
- ocaml-xmlrpc-light
ExcludeArch: %{ix86}
- ocaml-yaml
ExcludeArch: %{ix86}
- ocaml-yojson
ExcludeArch: %{ix86}
- ocaml-zarith
ExcludeArch: %{ix86}
- ocaml-zed
ExcludeArch: %{ix86}
- ocaml-zip
ExcludeArch: %{ix86}
- ocaml-zmq
ExcludeArch: %{ix86}
- ocamlify
ExcludeArch: %{ix86}
- ocamlmod
ExcludeArch: %{ix86}
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- ocrmypdf
ExcludeArch: %{ix86}
- octave-communications
ExcludeArch: s390x
- octave-iso2mesh
ExcludeArch: armv7hl
- octave-signal
ExcludeArch: s390x
- oidc-agent
ExcludeArch: %{ix86}
- oidn
ExclusiveArch: x86_64
- 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
- onnx
ExcludeArch: s390x
- onnxruntime
ExcludeArch: s390x %{arm} %{ix86}
- oomd
ExcludeArch: i686 armv7hl
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- opam
ExcludeArch: %{ix86}
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- opencsg
ExcludeArch: %{ix86}
- opengrm-ngram
ExcludeArch: %{ix86}
- 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}
- openmeeg
ExcludeArch: s390x
- openmpi
ExcludeArch: %{ix86}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- openni
ExclusiveArch: x86_64 %{arm}
- openni-primesense
ExclusiveArch: x86_64 %{arm}
- openobex
ExcludeArch: s390 s390x
- openoffice.org-diafilter
ExclusiveArch: %{java_arches}
- openpgl
ExclusiveArch: aarch64 x86_64
- openrgb
ExcludeArch: %{ix86}
- openscad
ExcludeArch: %{ix86}
- openshadinglanguage
ExcludeArch: %{ix86} %{arm}
- openshot
ExcludeArch: ppc64le
- opensm
ExcludeArch: s390 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- opentype-sanitizer
ExcludeArch: %{ix86}
- openvdb
ExcludeArch: i686
- openvkl
ExclusiveArch: aarch64 x86_64
- optee_client
ExclusiveArch: aarch64
- optee_os
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- os-autoinst
ExcludeArch: %{arm}
- osbuild-composer
ExcludeArch: i686 armv7hl
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- osm2pgsql
ExcludeArch: %{ix86}
- osslsigncode
ExcludeArch: i686
- ostree
ExcludeArch: %{ix86}
- otf2
ExcludeArch: i686 s390x
- oz
ExcludeArch: %{ix86}
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- paperwork
ExcludeArch: %{ix86}
- papi
ExcludeArch: s390 s390x
- papilo
ExcludeArch: %{ix86}
- paraview
ExcludeArch: %{ix86}
- pari-nftables
ExcludeArch: %{ix86}
- parlaylib
ExcludeArch: aarch64 s390x arm-hfp ppc64le i686
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcem
ExcludeArch: armv7hl i686 ppc64le s390x
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcg-cpp
ExcludeArch: %{ix86}
- pcm
ExclusiveArch: %{ix86} x86_64
- pcp
ExcludeArch: %{ix86}
- pcp2pdf
ExcludeArch: %{ix86}
- pdbg
ExclusiveArch: ppc64le
- pdfarranger
ExcludeArch: %{ix86}
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pdns
ExcludeArch: %{arm} %{ix86}
- pdns-recursor
ExcludeArch: %{arm} %{ix86}
- pdqsort
ExcludeArch: %{ix86}
- pengupop
ExcludeArch: s390x
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perftest
ExcludeArch: s390 %{arm}
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-LMDB_File
ExcludeArch: armv7hl i686
- perl-Math-Int128
ExcludeArch: %{arm32} %{ix86}
- perl-MaxMind-DB-Reader-XS
ExcludeArch: %{arm} %{ix86}
- perl-MongoDB
ExcludeArch: ppc %{sparc} s390
- perl-Net-Works
ExcludeArch: %{arm32} %{ix86}
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- perl-threads-lite
ExcludeArch: aarch64 ppc ppc64 ppc64le
- permlib
ExcludeArch: %{ix86}
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm} riscv64
- pesign-test-app
ExclusiveArch: x86_64
- petpvc
ExcludeArch: %{ix86}
- pf-bb-config
ExcludeArch: s390x
- pgadmin4
ExcludeArch: i686 armv7hl s390x ppc64le
- phd2
ExcludeArch: %{ix86}
- phosh
ExcludeArch: i686
- php-ast
ExcludeArch: %{ix86}
- php-facedetect
ExcludeArch: %{ix86}
- php-geos
ExcludeArch: %{ix86}
- php-libvirt
ExcludeArch: %{ix86}
- php-maxminddb
ExcludeArch: %{ix86}
- php-pecl-amqp
ExcludeArch: %{ix86}
- php-pecl-apcu
ExcludeArch: %{ix86}
- php-pecl-apfd
ExcludeArch: %{ix86}
- php-pecl-dio
ExcludeArch: %{ix86}
- php-pecl-ds
ExcludeArch: %{ix86}
- php-pecl-event
ExcludeArch: %{ix86}
- php-pecl-fann
ExcludeArch: %{ix86}
- php-pecl-gearman
ExcludeArch: %{ix86}
- php-pecl-geoip
ExcludeArch: %{ix86}
- php-pecl-gmagick
ExcludeArch: %{ix86}
- php-pecl-http
ExcludeArch: %{ix86}
- php-pecl-igbinary
ExcludeArch: %{ix86}
- php-pecl-imagick
ExcludeArch: %{ix86}
- php-pecl-inotify
ExcludeArch: %{ix86}
- php-pecl-ip2location
ExcludeArch: %{ix86}
- php-pecl-json-post
ExcludeArch: %{ix86}
- php-pecl-krb5
ExcludeArch: %{ix86}
- php-pecl-lzf
ExcludeArch: %{ix86}
- php-pecl-mailparse
ExcludeArch: %{ix86}
- php-pecl-mcrypt
ExcludeArch: %{ix86}
- php-pecl-memcache
ExcludeArch: %{ix86}
- php-pecl-memcached
ExcludeArch: %{ix86}
- php-pecl-mongodb
ExcludeArch: %{ix86}
- php-pecl-msgpack
ExcludeArch: %{ix86}
- php-pecl-oauth
ExcludeArch: %{ix86}
- php-pecl-pcov
ExcludeArch: %{ix86}
- php-pecl-pq
ExcludeArch: %{ix86}
- php-pecl-raphf
ExcludeArch: %{ix86}
- php-pecl-redis5
ExcludeArch: %{ix86}
- php-pecl-rpminfo
ExcludeArch: %{ix86}
- php-pecl-rrd
ExcludeArch: %{ix86}
- php-pecl-selinux
ExcludeArch: %{ix86}
- php-pecl-ssdeep
ExcludeArch: %{ix86}
- php-pecl-ssh2
ExcludeArch: %{ix86}
- php-pecl-uopz
ExcludeArch: %{ix86}
- php-pecl-uuid
ExcludeArch: %{ix86}
- php-pecl-var-representation
ExcludeArch: %{ix86}
- php-pecl-xattr
ExcludeArch: %{ix86}
- php-pecl-xdebug3
ExcludeArch: %{ix86}
- php-pecl-xmldiff
ExcludeArch: %{ix86}
- php-pecl-xmlrpc
ExcludeArch: %{ix86}
- php-pecl-yac
ExcludeArch: %{ix86}
- php-pecl-zip
ExcludeArch: %{ix86}
- php-phpiredis
ExcludeArch: %{ix86}
- php-smbclient
ExcludeArch: %{ix86}
- php-zmq
ExcludeArch: %{ix86}
- php-zstd
ExcludeArch: %{ix86}
- picard
ExcludeArch: ppc64
- picocli
ExclusiveArch: %{java_arches} noarch
- pigeonascent
ExcludeArch: ppc64le
ExcludeArch: s390x
- pilot-link
ExcludeArch: s390 s390x
- pinta
ExclusiveArch: %mono_arches
ExcludeArch: armv7hl
- pioneer
ExclusiveArch: %{ix86} x86_64
- pl
ExcludeArch: %{ix86}
- planets
ExcludeArch: %{ix86}
- plantri
ExcludeArch: %{ix86}
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- plasma-disks
ExcludeArch: %{ix86}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plee-the-bear
ExcludeArch: %{power64}
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-build-api0
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-testing
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- plexus-xml
ExclusiveArch: %{java_arches} noarch
- pmix
ExcludeArch: %{ix86}
- pngcheck
ExcludeArch: %{ix86}
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- polymake
ExcludeArch: %{ix86}
- polyml
ExcludeArch: %{ix86}
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- postgresql-pgpool-II
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- powerstat
ExclusiveArch: %{ix86} x86_64
- ppc64-diag
ExclusiveArch: ppc %{power64}
- ppl
ExcludeArch: %{ix86}
- pplite
ExcludeArch: %{ix86}
- prestopalette
ExcludeArch: i686
- printer-driver-brlaser
ExcludeArch: %{ix86}
- procdump
ExcludeArch: ppc64le
- 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
- prooftree
ExcludeArch: %{ix86}
- proxmark3
ExcludeArch: ppc64le s390x
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- proxysql
ExcludeArch: %{power64} s390x
- prrte
ExcludeArch: %{ix86}
- prusa-slicer
ExcludeArch: %{ix86}
- psblas3
ExcludeArch: %{ix86}
- purple-telegram
ExcludeArch: s390x
ExcludeArch: ppc64
- pveclib
ExclusiveArch: ppc %{power64}
- pygrib
ExcludeArch: i686
ExcludeArch: armv7hl
- pygsl
ExcludeArch: %{ix86}
- pyosmium
ExcludeArch: %{ix86}
- pypy
ExcludeArch: %{ix86}
- pypy3.10
ExcludeArch: %{ix86}
- pypy3.9
ExcludeArch: %{ix86}
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ZEO
ExcludeArch: %{ix86}
- python-ZODB3
ExcludeArch: %{ix86}
- python-aioresponses
ExcludeArch: s390x
- python-ast-monitor
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- python-astroplan
ExcludeArch: %{ix86}
- python-astroscrappy
ExcludeArch: %{ix86}
- python-asyncmy
ExcludeArch: %{ix86}
- python-aws-sam-translator
ExcludeArch: %{ix86}
- python-awscrt
ExcludeArch: s390x
- python-bitstruct
ExcludeArch: s390x
- python-blosc2
ExcludeArch: %{ix86}
- python-bluepyopt
ExcludeArch: s390x %{ix86} %{power64}
- python-chaospy
ExcludeArch: %{ix86} %{arm32}
- python-colorthief
ExcludeArch: %{ix86}
- python-compreffor
ExcludeArch: %{ix86}
- python-contextualbandits
ExcludeArch: %{ix86}
- python-cradox
ExcludeArch: i686 armv7hl
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-cvxopt
ExcludeArch: %{ix86}
- python-cyipopt
ExcludeArch: %{ix86}
- python-dask
ExcludeArch: %{ix86}
- python-databases
ExcludeArch: %{ix86}
- python-devicely
ExcludeArch: s390x
- python-dijitso
ExcludeArch: i686
- python-dipy
ExcludeArch: %{ix86} s390x
- python-ducc0
ExcludeArch: %{ix86}
- python-earthpy
ExcludeArch: %{ix86}
- python-eccodes
ExcludeArch: i686
ExcludeArch: armv7hl
- python-efel
ExcludeArch: s390x
- python-elephant
ExcludeArch: s390x
ExcludeArch: %{ix86}
- python-ephyviewer
ExcludeArch: s390x %{ix86}
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64
- python-fastavro
ExcludeArch: %{arm32} %{ix86}
- python-folium
ExcludeArch: %{ix86}
- python-formulaic
ExcludeArch: %{ix86}
- python-fsleyes
ExcludeArch: %{ix86}
- python-fsleyes-props
ExcludeArch: %{ix86}
- python-fslpy
ExcludeArch: %{ix86}
- python-gbinder
ExcludeArch: %{ix86}
- python-giacpy
ExcludeArch: aarch64 %{power64} s390x
- python-graph-tool
ExcludeArch: %{ix86}
- python-hdfs
ExcludeArch: %{ix86}
- python-healpy
ExcludeArch: %{ix86} %{arm}
- python-heapdict
ExcludeArch: %{ix86}
- python-img2pdf
ExcludeArch: s390x
- python-intbitset
ExcludeArch: s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jnius
ExclusiveArch: %{java_arches}
ExclusiveArch: %{java_arches}
- python-json-minify
ExcludeArch: %{ix86}
- python-jupymake
ExcludeArch: %{ix86}
- python-jupyter-c-kernel
ExcludeArch: %{ix86}
- python-jupyter-kernel-singular
ExcludeArch: %{ix86}
- python-jupyter-polymake
ExcludeArch: %{ix86}
- python-jupyter-sphinx
ExcludeArch: %{ix86}
- python-lazy-ops
ExcludeArch: %{ix86}
- python-lfpy
ExcludeArch: mips64r2 mips32r2
ExcludeArch: %{power64} %{ix86} armv7hl
- python-llama-cpp-python
ExclusiveArch: x86_64 aarch64
- python-mapnik
ExcludeArch: ppc ppc64 s390 s390x
- python-missingno
ExcludeArch: %{ix86}
- python-mne
ExcludeArch: %{ix86}
- python-mne-bids
ExcludeArch: %{ix86}
- python-mplcairo
ExcludeArch: %{ix86}
- python-mplcursors
ExcludeArch: %{ix86}
- python-music21
ExcludeArch: %{ix86}
- python-ndindex
ExcludeArch: %{ix86}
- python-neatdend
ExcludeArch: %{ix86}
- python-neo
ExcludeArch: s390x
- python-netpyne
ExcludeArch: %{ix86}
- python-neurom
ExcludeArch: %{ix86}
- python-neurotune
ExcludeArch: %{ix86}
- python-nifti-mrs
ExcludeArch: %{ix86}
- python-nilearn
ExcludeArch: %{ix86}
- python-numpoly
ExcludeArch: %{ix86}
- python-octave-kernel
ExcludeArch: %{ix86}
- python-openoffice
ExclusiveArch: noarch x86_64
- python-openpaperwork-core
ExcludeArch: %{ix86}
- python-openpaperwork-gtk
ExcludeArch: %{ix86}
- python-opentype-sanitizer
ExcludeArch: %{ix86}
- python-pandas-flavor
ExcludeArch: %{ix86}
- python-papermill
ExcludeArch: %{ix86}
- python-paperwork-backend
ExcludeArch: %{ix86}
- python-pari-jupyter
ExcludeArch: %{ix86}
- python-pep8-naming
ExcludeArch: %{ix86}
- python-phyghtmap
ExcludeArch: %{ix86}
- python-pingouin
ExcludeArch: %{ix86}
- python-plotnine
ExcludeArch: %{ix86}
- python-pplpy
ExcludeArch: %{ix86}
- python-primecountpy
ExcludeArch: %{ix86}
- python-psycopg3
ExcludeArch: %{ix86}
- python-pyahocorasick
ExclusiveArch: x86_64 %{arm64} ppc64le riscv64
- python-pybids
ExcludeArch: %{ix86}
- python-pybv
ExcludeArch: %{ix86}
- python-pyedflib
ExcludeArch: s390x
- python-pyfastnoisesimd
ExcludeArch: %{ix86}
- python-pyfiglet
ExcludeArch: %{ix86}
- python-pykdtree
ExcludeArch: %{ix86}
- python-pyliblzfse
ExcludeArch: s390x
- python-pymapvbvd
ExcludeArch: s390x
- python-pymatreader
ExcludeArch: %{ix86}
ExcludeArch: s390x
- python-pynn
ExcludeArch: mips64r2 mips32r2 s390x %{ix86}
- python-pyocr
ExcludeArch: %{ix86}
- python-pypet
ExcludeArch: %{ix86}
ExcludeArch: s390x
- python-pyphi
ExcludeArch: s390x
- python-pypillowfight
ExcludeArch: %{ix86}
- python-pyqt6-webengine
ExclusiveArch: %{qt6_qtwebengine_arches}
- python-pyriemann
ExcludeArch: %{ix86}
- python-pyroaring
ExcludeArch: %{ix86}
- python-pyscf
ExcludeArch: %{power64}
- python-pyshtools
ExcludeArch: %{ix86}
- python-pysingular
ExcludeArch: %{ix86}
- python-pyswarms
ExcludeArch: %{ix86}
- python-pyswip
ExcludeArch: %{ix86}
- python-pytest-arraydiff
ExcludeArch: %{ix86}
- python-pytest-tornado
ExcludeArch: %{ix86}
- python-pyvat
ExcludeArch: %{ix86}
- python-ratinabox
ExcludeArch: %{ix86}
- python-recordclass
ExcludeArch: %{ix86}
- python-reproject
ExcludeArch: %{ix86}
- python-ruffus
ExcludeArch: %{ix86}
- python-scikit-learn
ExcludeArch: %{ix86}
- python-sgp4
ExcludeArch: %{ix86}
- python-simplebayes
ExcludeArch: %{ix86}
- python-sklearn-genetic-opt
ExcludeArch: %{ix86}
- python-statsmodels
ExcludeArch: %{ix86}
- python-steps
ExcludeArch: %{ix86}
- python-tables
ExcludeArch: %{ix86}
- python-tdlib
ExcludeArch: %{ix86}
- python-tensile
ExclusiveArch: x86_64
- python-tensordict
ExclusiveArch: x86_64 aarch64
- python-tkrzw
ExcludeArch: i686
- python-torch
ExclusiveArch: x86_64 aarch64
- python-torchaudio
ExclusiveArch: x86_64 aarch64
- python-torchdata
ExclusiveArch: x86_64 aarch64
- python-torchtext
ExclusiveArch: x86_64 aarch64
- python-torchvision
ExclusiveArch: x86_64 aarch64
- python-traitsui
ExcludeArch: ppc64le
- python-trimesh
ExcludeArch: %{ix86}
- python-uranium
ExcludeArch: %{ix86}
- python-willow
ExcludeArch: %{ix86}
- python-xattr
ExcludeArch: %{ix86}
- python-xbout
ExcludeArch: %{ix86}
- python-xmp-toolkit
ExcludeArch: %{ix86}
- python-zeep
ExcludeArch: s390x
- python-zict
ExcludeArch: %{ix86}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qalculate-qt
ExcludeArch: %{ix86}
- qatengine
ExclusiveArch: x86_64
- qatlib
ExcludeArch: %{arm} aarch64 %{power64} s390x i686
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64 riscv64
- qbittorrent
ExcludeArch: %{ix86}
- qbs
ExcludeArch: i686
- qcas
ExcludeArch: aarch64 %{power64} s390x
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdigidoc
ExcludeArch: %{ix86}
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qflipper
ExcludeArch: %{ix86}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qoauth
ExcludeArch: ppc64
- qownnotes
ExcludeArch: %{ix86}
- qpdfview
ExcludeArch: s390x
- qperf
ExcludeArch: %{arm}
- qsopt-ex
ExcludeArch: %{ix86}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt6-qtquick3dphysics
ExclusiveArch: aarch64 i686 x86_64
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- qt6ct
ExcludeArch: s390x
- qtile
ExcludeArch: %{ix86}
- quantum-espresso
ExclusiveArch: x86_64 aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
ExcludeArch: %{arm32}
- racket
ExcludeArch: %{arm} s390x
ExcludeArch: ppc64le
- rasdaemon
ExcludeArch: s390 s390x
- rccl
ExclusiveArch: x86_64
- rdma-core
ExcludeArch: %{arm}
- realtime-tests
ExcludeArch: %{arm}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64 s390x
- redeclipse
ExcludeArch: %{ix86}
- redict
ExcludeArch: %{ix86}
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- relaxng-datatype-java
ExclusiveArch: %{java_arches} noarch
- remake
ExcludeArch: %{ix86}
- renderdoc
ExclusiveArch: x86_64 aarch64
- 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}
ExcludeArch: armv7hl
- retroarch
ExcludeArch: %{ix86}
ExcludeArch: s390x
- retsnoop
ExclusiveArch: %{rust_arches}
ExcludeArch: armv7hl
- rhino
ExclusiveArch: %{java_arches} noarch
ExcludeArch: %{ix86}
- rhythmbox
ExcludeArch: s390 s390x
- rhythmbox-alternative-toolbar
ExcludeArch: s390 s390x
- rhythmbox-ampache
ExcludeArch: s390 s390x
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocalution
ExclusiveArch: x86_64
- rocblas
ExclusiveArch: x86_64
- rocclr
ExclusiveArch: x86_64
- rocfft
ExclusiveArch: x86_64
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-core
ExclusiveArch: x86_64
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-rpm-macros
ExclusiveArch: x86_64
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-smi
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rocprim
ExclusiveArch: x86_64
- rocrand
ExclusiveArch: x86_64
- rocsolver
ExclusiveArch: x86_64
- rocsparse
ExclusiveArch: x86_64
- rocthrust
ExclusiveArch: x86_64
- roctracer
ExclusiveArch: x86_64
- rpi-imager
ExcludeArch: s390x
- rpm-ostree
ExclusiveArch: %{rust_arches}
ExcludeArch: %{ix86}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt6_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubiks
ExcludeArch: %{ix86}
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- ruff
ExcludeArch: %{ix86}
- ruff-lsp
ExcludeArch: %{ix86}
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-bankstown-lv2
ExcludeArch: ppc64le s390x
- rust-below
ExcludeArch: %{arm32} %{ix86}
- rust-below-btrfs
ExcludeArch: %{arm32} %{ix86}
- rust-below-config
ExcludeArch: %{arm32} %{ix86}
- rust-below-dump
ExcludeArch: %{arm32} %{ix86}
- rust-below-model
ExcludeArch: %{arm32} %{ix86}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-crypto-auditing-agent
ExcludeArch: i386 i686
- rust-ct-logs
ExcludeArch: ppc64le s390x
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-bindings
ExcludeArch: %{ix86}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-lv2
ExcludeArch: ppc64le s390x
- rust-lv2-atom
ExcludeArch: ppc64le s390x
- rust-lv2-core
ExcludeArch: ppc64le s390x
- rust-lv2-midi
ExcludeArch: ppc64le s390x
- rust-lv2-state
ExcludeArch: ppc64le s390x
- rust-lv2-sys
ExcludeArch: ppc64le s390x
- rust-lv2-time
ExcludeArch: ppc64le s390x
- rust-lv2-units
ExcludeArch: ppc64le s390x
- rust-lv2-urid
ExcludeArch: ppc64le s390x
- rust-lv2-worker
ExcludeArch: ppc64le s390x
- rust-msru
ExclusiveArch: x86_64
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-nu
ExcludeArch: %{ix86}
- rust-oci-spec
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
ExcludeArch: %{ix86}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-prefixdevname
ExcludeArch: %{ix86}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-probe
ExcludeArch: ppc64le s390x
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-scx_layered
ExcludeArch: %{ix86}
- rust-scx_rustland
ExcludeArch: %{ix86}
- rust-scx_rusty
ExcludeArch: %{ix86}
- rust-scx_utils
ExcludeArch: %{ix86}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-sequoia-octopus-librnp
ExcludeArch: %{ix86} %{arm} s390x
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-snphost
ExclusiveArch: x86_64
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-tiny-dfr
ExcludeArch: %{ix86}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-vhost-device-scmi
ExcludeArch: s390x
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rust-virtio-queue
ExcludeArch: i686
- rust-vm-memory
ExcludeArch: %{ix86}
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zincati
ExcludeArch: armv7hl i686
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- rustup
ExclusiveArch: x86_64 aarch64
- rutabaga-gfx-ffi
ExclusiveArch: x86_64 aarch64
- s390utils
ExcludeArch: %{ix86}
- sac
ExclusiveArch: %{java_arches} noarch
- safeint
ExcludeArch: %{ix86}
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sandia-omega-h
ExcludeArch: %{ix86} s390x
- sat4j
ExclusiveArch: %{java_arches} noarch
- sayonara
ExcludeArch: %{ix86}
- sbcl
ExclusiveArch: %{ix86} x86_64 aarch64 %{power64}
- 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
- scalasca
ExcludeArch: s390 s390x armv7hl i686
- scannotation
ExclusiveArch: %{java_arches} noarch
- scip
ExcludeArch: %{ix86}
- scorep
ExcludeArch: s390 s390x armv7hl i686
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- sdubby
ExclusiveArch: %{efi}
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt6_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- sedutil
ExcludeArch: ppc ppc64 s390 s390x
- sentencepiece
ExcludeArch: s390x
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequeler
ExcludeArch: %{ix86}
- sequence-library
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- setserial
ExcludeArch: s390 s390x
- sfnt2woff-zopfli
ExcludeArch: %{ix86}
- sharedmeataxe
ExcludeArch: %{ix86}
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
ExcludeArch: %{ix86}
ExcludeArch: %{arm}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigil
ExclusiveArch: %{qt5_qtwebengine_arches}
ExcludeArch: %{ix86}
- sigul
ExclusiveArch: x86_64
ExcludeArch: %{ix86}
- simdutf
ExcludeArch: s390 s390x
- singularity-ce
ExclusiveArch: %{go_arches}
ExcludeArch: %{ix86}
- sirocco
ExcludeArch: %{ix86}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- ski
ExcludeArch: %{ix86}
ExcludeArch: aarch64
- skopeo
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- skychart
ExclusiveArch: %{fpc_arches}
ExcludeArch: %{ix86}
- slapi-nis
ExcludeArch: %{ix86}
- sleef
ExcludeArch: %{ix86}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slic3r
ExcludeArch: %{ix86}
ExcludeArch: ppc ppc64 s390 s390x %{ix86}
ExcludeArch: ppc ppc64 s390 s390x
- slick-greeter
ExcludeArch: %{ix86}
- slimdata
ExcludeArch: ppc64 ppc sparcv9 sparc64
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- slurm
ExcludeArch: armv7hl
ExcludeArch: i686
- smartmontools
ExcludeArch: %{ix86}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snapshot
ExcludeArch: %{ix86}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soplex
ExcludeArch: %{ix86}
- sound-juicer
ExcludeArch: s390 s390x
- soup-sharp
ExclusiveArch: %{mono_arches}
- sourcextractor++
ExcludeArch: %{ix86}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
ExcludeArch: %{ix86}
- spasm
ExcludeArch: %{ix86}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- speed-dreams
ExcludeArch: s390x
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 riscv64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- spyder
ExcludeArch: %{ix86}
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
ExcludeArch: ppc64le
ExcludeArch: s390x
- squirrel
ExcludeArch: %{ix86}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- stats-collect
ExclusiveArch: %{ix86} x86_64 noarch
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- statserial
ExcludeArch: s390 s390x
- steinberg-bravura-fonts
ExcludeArch: %{ix86}
- steinberg-petaluma-fonts
ExcludeArch: %{ix86}
- stellarium
ExcludeArch: armv7hl
- stlsplit
ExcludeArch: %{ix86}
- stp
ExcludeArch: %{ix86}
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
ExcludeArch: i686
- stratisd
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
- 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
ExcludeArch: %{ix86}
ExclusiveArch: %{kernel_arches}
ExcludeArch: %{power64}
- supertux
ExcludeArch: s390x
- suricata
ExcludeArch: ppc64le i686
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swiftlint
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- symfpu
ExcludeArch: %{ix86}
- symmetrica
ExcludeArch: %{ix86}
- sympol
ExcludeArch: %{ix86}
- sympow
ExcludeArch: %{ix86}
- synfig
ExcludeArch: ppc64le
- synfigstudio
ExcludeArch: ppc64le
- 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
- 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
- tcmu-runner
ExcludeArch: i686 armv7hl
- tdlib
ExclusiveArch: x86_64 aarch64
- teem
ExcludeArch: %{ix86}
- templates_parser
ExclusiveArch: %GPRbuild_arches
- terminology
ExcludeArch: s390x
- terminus-fonts
ExcludeArch: %{grub2_exclude_arches}
- ternimal
ExclusiveArch: %{rust_arches}
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- texmaker
ExclusiveArch: %{qt6_qtwebengine_arches}
ExcludeArch: ppc64 ppc64le s390x
- thermald
ExclusiveArch: %{ix86} x86_64
- thunderbird
ExcludeArch: armv7hl
ExcludeArch: s390x
- tiled
ExcludeArch: %{ix86}
- tilix
ExclusiveArch: %{ldc_arches}
- tinygo
ExcludeArch: ppc64le s390x
ExcludeArch: %{ix86}
- tokodon
ExclusiveArch: %{qt6_qtwebengine_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-jakartaee-migration
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- trace-cmd
ExcludeArch: %{ix86} %{arm}
- trafficserver
ExcludeArch: %{arm} %{ix86} s390x
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- trojita
ExcludeArch: ppc64 ppc64le s390x
- trunk
ExcludeArch: %{ix86}
- truth
ExclusiveArch: %{java_arches} noarch
- tth
ExcludeArch: %{ix86}
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- tuxguitar
ExcludeArch: s390 %{arm} %{ix86}
- tvtime
ExcludeArch: s390 s390x
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- tzdata
ExcludeArch: i686
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- uboot-tools
ExcludeArch: s390x
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- ugrep
ExcludeArch: %{ix86}
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- unicorn
ExcludeArch: s390x
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usbip
ExcludeArch: s390x
- usd
ExclusiveArch: aarch64 x86_64
- usnic-tools
ExcludeArch: %{arm}
- utop
ExcludeArch: %{ix86}
- uwsgi
ExcludeArch: %{ix86}
- v-hacd
ExcludeArch: %{ix86}
- 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
- valkey
ExcludeArch: %{ix86}
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vdr-tvscraper
ExcludeArch: armv7hl
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- viking
ExcludeArch: s390 s390x
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-perl-support
ExcludeArch: %{ix86}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- vinci
ExcludeArch: %{ix86}
- virt-p2v
ExclusiveArch: x86_64
- virt-top
ExcludeArch: %{ix86}
ExcludeArch: %{power64}
- virt-v2v
ExcludeArch: %{ix86}
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
ExcludeArch: i686
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- visidata
ExcludeArch: %{ix86}
- visualboyadvance-m
ExcludeArch: %{ix86}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vkmark
ExcludeArch: s390x
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- votca
ExcludeArch: %{ix86}
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- warzone2100
ExcludeArch: %{ix86}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- whatip
ExcludeArch: s390x
- whipper
ExcludeArch: s390x
- whisper-cpp
ExclusiveArch: x86_64 aarch64 ppc64le
- why3
ExclusiveArch: %{ocaml_native_compiler}
- widevine-installer
ExclusiveArch: aarch64
- wildcard
ExcludeArch: %{ix86} s390x
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- wine-mono
ExcludeArch: %{power64} s390x s390
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExcludeArch: ppc64 ppc64le
- woff
ExcludeArch: %{ix86}
- workrave
ExcludeArch: %{ix86}
- 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
- x2gokdrive
ExcludeArch: %{ix86}
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xapps
ExcludeArch: %{ix86}
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xdg-desktop-portal
ExcludeArch: %{ix86}
- xdg-desktop-portal-gnome
ExcludeArch: %{ix86}
- xdg-desktop-portal-gtk
ExcludeArch: %{ix86}
- xdg-desktop-portal-hyprland
ExcludeArch: %{ix86}
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xed
ExcludeArch: %{ix86}
- xen
ExclusiveArch: x86_64 aarch64
- xephem
ExcludeArch: %{ix86}
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xeus
ExcludeArch: %{ix86}
- xeus-zmq
ExcludeArch: %{ix86}
- xfce4-sensors-plugin
ExcludeArch: s390 s390x
- xgap
ExcludeArch: %{ix86}
- xiphos
ExcludeArch: ppc64
- 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
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_arches}
- xnnpack
ExclusiveArch: x86_64 aarch64
- xnvme
ExcludeArch: %{ix86}
- xorg-x11-drv-amdgpu
ExcludeArch: s390 s390x
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-ati
ExcludeArch: s390 s390x
- xorg-x11-drv-fbdev
ExcludeArch: s390 s390x
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-nouveau
ExcludeArch: s390 s390x
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-qxl
ExcludeArch: s390 s390x
- xorg-x11-drv-synaptics
ExcludeArch: s390 s390x
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xreader
ExcludeArch: %{ix86}
- xrgears
ExcludeArch: %{ix86}
- xsensors
ExcludeArch: %{ix86}
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xtb
ExcludeArch: s390x
- xtensor-python
ExcludeArch: armv7hl ppc64le s390x
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches}
- yices
ExcludeArch: %{ix86}
- yle-dl
ExcludeArch: %{ix86}
- yosys
ExcludeArch: %{ix86}
ExcludeArch: s390x
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: aarch64 x86_64
- zenon
ExclusiveArch: %{ocaml_native_compiler}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zfs-fuse
ExcludeArch: s390 s390x aarch64
- zig
ExclusiveArch: %{zig_arches}
- zile
ExcludeArch: ppc64le
- zimpl
ExcludeArch: %{ix86}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zola
ExclusiveArch: %{rust_arches}
- zstr
ExcludeArch: %{ix86}
- zxcvbn-c
ExcludeArch: %{ix86}
- zycore-c
ExcludeArch: s390x
- zydis
ExcludeArch: s390x
1 month, 2 weeks
Architecture specific change in rpms/why3.git
by githook-noreply@fedoraproject.org
The package rpms/why3.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/why3.git/commit/?id=0e4b6bbc827f7....
Change:
-%ifnarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 0e4b6bbc827f7a260d64a4417162c790195c5910
Author: Jerry James <loganjerry(a)gmail.com>
Date: Thu Apr 18 12:18:03 2024 -0600
Version 1.7.2
diff --git a/sources b/sources
index 8b5ff60..a941d8e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (why3-1.7.1.tar.gz) = 3b1636e9459aced943a6b895aa7a6db3552adcf9878c2fa2b67913d6b555b67b00f6f1c9b28ffa80cbdf3fa01007aa7f8c9c4fa6c8c56dee579955cf5d57980b
+SHA512 (why3-1.7.2.tar.gz) = 7e80671480ce0dc3c69514bea2836f5899c686b43a4e8607c27d28e63f78150150dc45fcac5760dbee9721d363e456b1dcaeb1501fc9f63f360722a1021f675f
diff --git a/why3.spec b/why3.spec
index 5eb7f9a..2d47fb0 100644
--- a/why3.spec
+++ b/why3.spec
@@ -6,17 +6,14 @@ ExclusiveArch: %{ocaml_native_compiler}
# enabling it for now. We abide by their wishes. Revisit this decision each
# release.
-%ifnarch %{ocaml_native_compiler}
-%global debug_package %{nil}
-%endif
-
Name: why3
-Version: 1.7.1
+Version: 1.7.2
Release: 1%{?dist}
Summary: Software verification platform
License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
URL: https://why3.lri.fr/
+VCS: https://gitlab.inria.fr/why3/why3
Source0: https://why3.gitlabpages.inria.fr/releases/%{name}-%{version}.tar.gz
# Desktop file written by Jerry James
Source1: fr.lri.%{name}.desktop
@@ -182,12 +179,12 @@ cd -
%endif
# Install the bash completion file
-mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
-cp -p share/bash/%{name} %{buildroot}%{_datadir}/bash-completion/completions
+mkdir -p %{buildroot}%{bash_completions_dir}
+cp -p share/bash/%{name} %{buildroot}%{bash_completions_dir}
# Install the zsh completion file
-mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
-cp -p share/zsh/_why3 %{buildroot}%{_datadir}/zsh/site-functions
+mkdir -p %{buildroot}%{zsh_completions_dir}
+cp -p share/zsh/_why3 %{buildroot}%{zsh_completions_dir}
# Install the LaTeX style
mkdir -p %{buildroot}%{_texmf}/tex/latex/why3
@@ -239,16 +236,16 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%license LICENSE
%{_bindir}/%{name}
%{_bindir}/isabelle_client
+%{bash_completions_dir}/why3
+%{zsh_completions_dir}/_why3
%{_datadir}/%{name}/
%{_datadir}/applications/fr.lri.%{name}.desktop
-%{_datadir}/bash-completion/completions/why3
%{_datadir}/gtksourceview-3.0/language-specs/%{name}.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}c.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}py.lang
%{_datadir}/icons/hicolor/scalable/%{name}.svg
%{_datadir}/vim/vimfiles/ftdetect/%{name}.vim
%{_datadir}/vim/vimfiles/syntax/%{name}.vim
-%{_datadir}/zsh/site-functions/_why3
%{_texmf}/tex/latex/why3/
%{_libdir}/%{name}/
%{_metainfodir}/fr.lri.%{name}.metainfo.xml
@@ -286,6 +283,9 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%files all
%changelog
+* Thu Apr 18 2024 Jerry James <loganjerry(a)gmail.com> - 1.7.2-1
+- Version 1.7.2
+
* Fri Feb 2 2024 Jerry James <loganjerry(a)gmail.com> - 1.7.1-1
- Version 1.7.1
1 month, 2 weeks
Architecture specific change in rpms/python-pyqt6-webengine.git
by githook-noreply@fedoraproject.org
The package rpms/python-pyqt6-webengine.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-pyqt6-webengine.git/commit....
Change:
+ExclusiveArch: %{qt6_qtwebengine_arches}
Thanks.
Full change:
============
commit 4e74815d6af649f10d0141f2187b07dbc4453195
Author: Jan Grulich <jgrulich(a)redhat.com>
Date: Mon Apr 8 14:59:33 2024 +0200
Rebuild (qt6)
commit d32ad9ba6753d2fb19c1ec6faa8672f24b9b2848
Author: Yaakov Selkowitz <yselkowi(a)redhat.com>
Date: Wed Feb 21 14:05:23 2024 -0500
Use %qt6_qtwebengine_arches
This macro is now correctly defined in EPEL 9 and all stable Fedora
branches.
diff --git a/python-pyqt6-webengine.spec b/python-pyqt6-webengine.spec
index d7fd672..16c350f 100644
--- a/python-pyqt6-webengine.spec
+++ b/python-pyqt6-webengine.spec
@@ -8,8 +8,7 @@ License: GPL-3.0-only
Url: https://www.riverbankcomputing.com/software/pyqtwebengine/
Source0: %pypi_source
-# %%{qt6_qtwebengine_arches} is not yet defined
-ExclusiveArch: aarch64 x86_64
+ExclusiveArch: %{qt6_qtwebengine_arches}
## downstream patches
1 month, 2 weeks
Architecture specific change in rpms/why3.git
by githook-noreply@fedoraproject.org
The package rpms/why3.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/why3.git/commit/?id=8000f2ad4af14....
Change:
-%ifnarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 8000f2ad4af141f76026c5822c8ec889dba63864
Author: Jerry James <loganjerry(a)gmail.com>
Date: Thu Apr 18 09:47:00 2024 -0600
Version 1.7.2
diff --git a/sources b/sources
index 8b5ff60..a941d8e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (why3-1.7.1.tar.gz) = 3b1636e9459aced943a6b895aa7a6db3552adcf9878c2fa2b67913d6b555b67b00f6f1c9b28ffa80cbdf3fa01007aa7f8c9c4fa6c8c56dee579955cf5d57980b
+SHA512 (why3-1.7.2.tar.gz) = 7e80671480ce0dc3c69514bea2836f5899c686b43a4e8607c27d28e63f78150150dc45fcac5760dbee9721d363e456b1dcaeb1501fc9f63f360722a1021f675f
diff --git a/why3.spec b/why3.spec
index ef5a413..33b01f7 100644
--- a/why3.spec
+++ b/why3.spec
@@ -6,17 +6,14 @@ ExclusiveArch: %{ocaml_native_compiler}
# enabling it for now. We abide by their wishes. Revisit this decision each
# release.
-%ifnarch %{ocaml_native_compiler}
-%global debug_package %{nil}
-%endif
-
Name: why3
-Version: 1.7.1
-Release: 3%{?dist}
+Version: 1.7.2
+Release: 1%{?dist}
Summary: Software verification platform
License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
URL: https://why3.lri.fr/
+VCS: https://gitlab.inria.fr/why3/why3
Source0: https://why3.gitlabpages.inria.fr/releases/%{name}-%{version}.tar.gz
# Desktop file written by Jerry James
Source1: fr.lri.%{name}.desktop
@@ -24,7 +21,7 @@ Source1: fr.lri.%{name}.desktop
Source2: fr.lri.%{name}.metainfo.xml
BuildRequires: coq
-BuildRequires: emacs-nox
+BuildRequires: emacs-nw
BuildRequires: emacs-proofgeneral
BuildRequires: flocq
BuildRequires: graphviz
@@ -186,8 +183,8 @@ mkdir -p %{buildroot}%{bash_completions_dir}
cp -p share/bash/%{name} %{buildroot}%{bash_completions_dir}
# Install the zsh completion file
-mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
-cp -p share/zsh/_why3 %{buildroot}%{_datadir}/zsh/site-functions
+mkdir -p %{buildroot}%{zsh_completions_dir}
+cp -p share/zsh/_why3 %{buildroot}%{zsh_completions_dir}
# Install the LaTeX style
mkdir -p %{buildroot}%{_texmf}/tex/latex/why3
@@ -239,16 +236,16 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%license LICENSE
%{_bindir}/%{name}
%{_bindir}/isabelle_client
+%{bash_completions_dir}/why3
+%{zsh_completions_dir}/_why3
%{_datadir}/%{name}/
%{_datadir}/applications/fr.lri.%{name}.desktop
-%{bash_completions_dir}/why3
%{_datadir}/gtksourceview-3.0/language-specs/%{name}.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}c.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}py.lang
%{_datadir}/icons/hicolor/scalable/%{name}.svg
%{_datadir}/vim/vimfiles/ftdetect/%{name}.vim
%{_datadir}/vim/vimfiles/syntax/%{name}.vim
-%{_datadir}/zsh/site-functions/_why3
%{_texmf}/tex/latex/why3/
%{_libdir}/%{name}/
%{_metainfodir}/fr.lri.%{name}.metainfo.xml
@@ -286,6 +283,9 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%files all
%changelog
+* Thu Apr 18 2024 Jerry James <loganjerry(a)gmail.com> - 1.7.2-1
+- Version 1.7.2
+
* Mon Mar 25 2024 Richard W.M. Jones <rjones(a)redhat.com> - 1.7.1-3
- Use %%{bash_completions_dir} macro
commit 44636b45553fd57d03d62ea25cc84cca28214877
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Mon Mar 25 11:19:18 2024 +0000
Use %{bash_completions_dir} macro
diff --git a/why3.spec b/why3.spec
index af6117c..ef5a413 100644
--- a/why3.spec
+++ b/why3.spec
@@ -12,7 +12,7 @@ ExclusiveArch: %{ocaml_native_compiler}
Name: why3
Version: 1.7.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Software verification platform
License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception
@@ -182,8 +182,8 @@ cd -
%endif
# Install the bash completion file
-mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
-cp -p share/bash/%{name} %{buildroot}%{_datadir}/bash-completion/completions
+mkdir -p %{buildroot}%{bash_completions_dir}
+cp -p share/bash/%{name} %{buildroot}%{bash_completions_dir}
# Install the zsh completion file
mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
@@ -241,7 +241,7 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%{_bindir}/isabelle_client
%{_datadir}/%{name}/
%{_datadir}/applications/fr.lri.%{name}.desktop
-%{_datadir}/bash-completion/completions/why3
+%{bash_completions_dir}/why3
%{_datadir}/gtksourceview-3.0/language-specs/%{name}.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}c.lang
%{_datadir}/gtksourceview-3.0/language-specs/%{name}py.lang
@@ -286,6 +286,9 @@ chmod 0755 %{buildroot}%{_bindir}/* \
%files all
%changelog
+* Mon Mar 25 2024 Richard W.M. Jones <rjones(a)redhat.com> - 1.7.1-3
+- Use %%{bash_completions_dir} macro
+
* Fri Feb 2 2024 Jerry James <loganjerry(a)gmail.com> - 1.7.1-2
- Build again because koji ran out of disk space
1 month, 2 weeks
Architecture specific change in rpms/annobin.git
by githook-noreply@fedoraproject.org
The package rpms/annobin.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/annobin.git/commit/?id=df38c5938d....
Change:
+%ifnarch risv64
Thanks.
Full change:
============
commit df38c5938d650bae35836bab706f0f4b6540d5c5
Author: Nick Clifton <nickc(a)redhat.com>
Date: Thu Apr 18 15:16:34 2024 +0100
GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884)
diff --git a/annobin.spec b/annobin.spec
index 6725802..bee07ab 100644
--- a/annobin.spec
+++ b/annobin.spec
@@ -1,7 +1,7 @@
Name: annobin
Summary: Annotate and examine compiled binary files
-Version: 12.46
+Version: 12.49
Release: 1%{?dist}
License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later
URL: https://sourceware.org/annobin/
@@ -363,30 +363,29 @@ CONFIG_ARGS="$CONFIG_ARGS --without-tests"
%if %{without annocheck}
CONFIG_ARGS="$CONFIG_ARGS --without-annocheck"
%else
-# Fedora supports AArch64's -mbranch-protection=bti, RHEL does not.
-%if 0%{?fedora} != 0
export CFLAGS="$CFLAGS -DAARCH64_BRANCH_PROTECTION_SUPPORTED=1"
%endif
-%endif
%set_build_flags
export CFLAGS="$CFLAGS $RPM_OPT_FLAGS %build_cflags"
export LDFLAGS="$LDFLAGS %build_ldflags"
-# Set target-specific security options to be used when building the
-# Clang and LLVM plugins. FIXME: There should be a better way to do
-# this.
+# Set target-specific options to be used when building the Clang and LLVM plugins.
+# FIXME: There should be a better way to do this.
%ifarch %{ix86} x86_64
export CLANG_TARGET_OPTIONS="-fcf-protection"
%endif
-
%ifarch aarch64
-%if 0%{?fedora} != 0
export CLANG_TARGET_OPTIONS="-mbranch-protection=standard"
%endif
+%ifnarch risv64
+export CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS -flto"
%endif
+# Override the default fortification level used by the Clang and LLVM plugins.
+export PLUGIN_FORTIFY_OPTION="-D_FORTIFY_SOURCE=3"
+
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log
%make_build
@@ -419,12 +418,14 @@ rm %{_tmppath}/tmp_annobin.so
%if %{with clangplugin}
cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so
-make -C clang-plugin all CXXFLAGS="$OPTS $BUILD_FLAGS"
+# To enable verbose more in the plugin append the following: ANNOBIN="verbose"
+make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS"
%endif
%if %{with llvmplugin}
cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so
-make -C llvm-plugin all CXXFLAGS="$OPTS $BUILD_FLAGS"
+# To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true"
+make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS"
%endif
# endif for %%if {with_plugin_rebuild}
@@ -529,6 +530,15 @@ make check
#---------------------------------------------------------------------------------
%changelog
+* Thu Apr 18 2024 Nick Clifton <nickc(a)redhat.com> - 12.49-1
+- GCC Plugin: Disable active check for -Wimplicit-int for non-C sources. (#2275884)
+- Annocheck: Ignore stack checks for AMD GPU binaries.
+- Annocheck: Do not produce FAIL result for i686 binaries in the RHEL-10 profile.
+- Annocheck: Test for __stack_chk_guard being writeable.
+- Annocheck: Update heuristics for detecting glibc code in executables. (RHEL-30579)
+- Clang & LLVM Plugins: Allow environment to override fortification level. (RHEL-30579)
+- Spec File: Override fortification level and set it to 3.
+
* Mon Mar 25 2024 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 12.46-1
- Annocheck: Improve detection of -mbranch-protection option.
- Clang Plugin: Add global-file-syms option.
diff --git a/sources b/sources
index bc5c161..2838410 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (annobin-12.46.tar.xz) = 6805298e1168dbdd287e706a5d58de0cf06d715b40254f33d757b356b5655f0d1ddc519c478b836c7b8ee89813982b35fc5bec6384a010e40e0d56888d6eb5b2
+SHA512 (annobin-12.49.tar.xz) = 830e041b351a56be4c13a2962d358b59c174fc79448461e23e7e7b085bd0848cda0e36bbefb3ec83f4ed9041f776b20bf50bd7771a898ca6a78e2d3d91ad3b3c
1 month, 2 weeks
Architecture specific change in rpms/libdigidocpp.git
by githook-noreply@fedoraproject.org
The package rpms/libdigidocpp.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/libdigidocpp.git/commit/?id=f3947....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit d4bb01753079fa3a2cfe2dae9575dfdb758beeb8
Author: Dmitri Smirnov <dmitri(a)smirnov.ee>
Date: Thu Apr 18 12:35:50 2024 +0200
3.17.0 release
diff --git a/.gitignore b/.gitignore
index 7fcca56..abc46c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,4 @@
/libdigidocpp-3.14.12.tar.gz
/libdigidocpp-3.15.0.tar.gz
/libdigidocpp-3.16.0.tar.gz
+/libdigidocpp-3.17.0.tar.gz
diff --git a/libdigidocpp.spec b/libdigidocpp.spec
index a510cdd..68e0f41 100644
--- a/libdigidocpp.spec
+++ b/libdigidocpp.spec
@@ -1,7 +1,7 @@
Name: libdigidocpp
-Version: 3.16.0
-Release: 7%{?dist}
+Version: 3.17.0
+Release: 1%{?dist}
Summary: Library offers creating, signing and verification of digitally signed documents
License: LGPLv2+
@@ -126,6 +126,9 @@ rm -rf src/minizip
%changelog
+* Thu Apr 18 2024 Dmitri Smirnov <dmitri(a)smirnov.ee> - 3.17.0-1
+- 3.17.0 release
+
* Tue Feb 13 2024 Benjamin A. Beasley <code(a)musicinmybrain.net> - 3.16.0-7
- Drop i686 support (leaf package)
diff --git a/sources b/sources
index 96a7f4e..beefa95 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (libdigidocpp-3.16.0.tar.gz) = 9dd785456aa0d45a3296dd02b2d4d7578f0a0312cccb09eeae70a0b65a9b7068ebd06bac6bbed1ffa0aa84c0e3002fd8d450428488093462551163895938e46b
+SHA512 (libdigidocpp-3.17.0.tar.gz) = f8da1d2aa667806ead1ae589e963fa94fe25c8b2d6f4c0f1d70f77f6a2832d93afe30ee0824094c206a658380a2f71c70cbc49f20f3480b2af8d9015daaabe4e
commit f3947b1527bc1fda714a56e1ede8dce3160fb703
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue Feb 13 15:31:47 2024 -0500
Drop i686 support (leaf package)
https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
diff --git a/libdigidocpp.spec b/libdigidocpp.spec
index 0d128d6..a510cdd 100644
--- a/libdigidocpp.spec
+++ b/libdigidocpp.spec
@@ -1,13 +1,15 @@
Name: libdigidocpp
Version: 3.16.0
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: Library offers creating, signing and verification of digitally signed documents
License: LGPLv2+
URL: https://github.com/open-eid/libdigidocpp
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
BuildRequires: make
%if 0%{?el7}
@@ -124,6 +126,9 @@ rm -rf src/minizip
%changelog
+* Tue Feb 13 2024 Benjamin A. Beasley <code(a)musicinmybrain.net> - 3.16.0-7
+- Drop i686 support (leaf package)
+
* Mon Jan 29 2024 Lukas Javorsky <ljavorsk(a)redhat.com> - 3.16.0-6
- Build with system minizip-ng-compat
- Add missing zlib.h include in ZipSerialize.cpp
1 month, 2 weeks
Architecture specific change in rpms/httpd.git
by githook-noreply@fedoraproject.org
The package rpms/httpd.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/httpd.git/commit/?id=df3d3d115151....
Change:
-%ifarch aarch64
Thanks.
Full change:
============
commit 18d75f8ac92bf26459fbfddc3046b299951c2310
Author: Joe Orton <jorton(a)redhat.com>
Date: Wed Apr 17 16:57:13 2024 +0100
Revert "- Updated Systemd security settings (closes #3) (Rahul Sundaram)"
This reverts commit dee54cd734ac9fb909a122b141005210c218dbfd.
diff --git a/httpd.service b/httpd.service
index b75e28c..c5b5e08 100644
--- a/httpd.service
+++ b/httpd.service
@@ -26,25 +26,8 @@ ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
# Send SIGWINCH for graceful stop
KillSignal=SIGWINCH
KillMode=mixed
-DevicePolicy=closed
-KeyringMode=private
-LockPersonality=yes
-MemoryDenyWriteExecute=yes
-OOMPolicy=continue
-PrivateDevices=yes
PrivateTmp=true
-ProtectClock=yes
-ProtectControlGroups=yes
-ProtectHome=read-only
-ProtectHostname=yes
-ProtectKernelLogs=yes
-ProtectKernelModules=yes
-ProtectKernelTunables=yes
-ProtectSystem=yes
-RestrictNamespaces=yes
-RestrictRealtime=yes
-RestrictSUIDSGID=yes
-SystemCallArchitectures=native
+OOMPolicy=continue
[Install]
WantedBy=multi-user.target
diff --git a/httpd.service.xml b/httpd.service.xml
index 3ddbc9e..7dfdb97 100644
--- a/httpd.service.xml
+++ b/httpd.service.xml
@@ -231,16 +231,7 @@ Wants=network-online.target</programlisting>
<refsect2>
<title>Process policies and restrictions</title>
- <para>The <command>httpd.service</command> unit enables a
- variety of sandboxing options. Many of these prevent the service
- from changing the system configuration - such as
- <emphasis>ProtectClock</emphasis> and
- <emphasis>ProtectKernelModules</emphasis>. See
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- and
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for more information on these options. Particular notice should
- be taken of the following:
+ <para>The httpd service uses the following options:
<itemizedlist>
<listitem><para><emphasis>PrivateTmp</emphasis> is enabled by
@@ -256,14 +247,13 @@ Wants=network-online.target</programlisting>
the policy to <emphasis>continue</emphasis>, httpd will
continue to run (and recover) if a single child is terminated
because of excess memory consumption.</para></listitem>
+ </itemizedlist>
- <listitem><para><emphasis>ProtectHome</emphasis> is set to
- <emphasis>read-only</emphasis> by default. CGI scripts run via
- <emphasis>UserDir</emphasis> will not be able modify any
- content in <filename>/home</filename> by
- default.</para></listitem>
- </itemizedlist></para>
-
+ See
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ and
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for more information.</para>
</refsect2>
<refsect2>
diff --git a/httpd.spec b/httpd.spec
index 864c8b7..9498533 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -834,10 +834,6 @@ exit $rv
* Thu Mar 28 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-8
- rebuild to fix changelog ordering
-* Thu Mar 7 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
-- Update Systemd security settings as part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening
-- updated httpd.service(5) (Joe Orton)
-
* Wed Jan 24 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.4.58-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/httpd@.service b/httpd@.service
index 8b20b90..84424fb 100644
--- a/httpd@.service
+++ b/httpd@.service
@@ -19,25 +19,8 @@ ExecReload=/usr/sbin/httpd $OPTIONS -k graceful -f conf/%i.conf
# Send SIGWINCH for graceful stop
KillSignal=SIGWINCH
KillMode=mixed
-DevicePolicy=closed
-KeyringMode=private
-LockPersonality=yes
-MemoryDenyWriteExecute=yes
-OOMPolicy=continue
-PrivateDevices=yes
PrivateTmp=true
-ProtectClock=yes
-ProtectControlGroups=yes
-ProtectHome=read-only
-ProtectHostname=yes
-ProtectKernelLogs=yes
-ProtectKernelModules=yes
-ProtectKernelTunables=yes
-ProtectSystem=yes
-RestrictNamespaces=yes
-RestrictRealtime=yes
-RestrictSUIDSGID=yes
-SystemCallArchitectures=native
+OOMPolicy=continue
[Install]
WantedBy=multi-user.target
commit c83c1cdcee789c8f509204448b8b1f7c62295c49
Author: Michal Srb <msrb(a)redhat.com>
Date: Wed Apr 17 15:36:18 2024 +0000
Fix rpminspect.yaml syntax
Any entries in the upstream inspection block that contain wildcards for glob(7) specification need to be wrapped in single quotes.
We are also changing the badfuncs block to allow the specific function in mod_proxy.so rather than ignoring the entire file.
Thanks to David Cantrell who discovered this problem (in OSCI-6724) and proposed the fix.
diff --git a/rpminspect.yaml b/rpminspect.yaml
index 17e48d1..7696d42 100644
--- a/rpminspect.yaml
+++ b/rpminspect.yaml
@@ -2,20 +2,21 @@
badfuncs:
# mod_proxy uses inet_ntoa (safely) for IPv4 address matching,
# and APR interfaces for IPv6 addresses.
- ignore:
- - /usr/lib*/httpd/modules/mod_proxy.so
+ allowed:
+ /usr/lib*/httpd/modules/mod_proxy.so:
+ - inet_ntoa
upstream:
ignore:
- - *.xml
- - *.service
- - *.socket
- - *.conf
- - *.sysconf
- - *.tmpfiles
- - README.*
- - *.sysusers
- - *.png
- - httpd-ssl-*
+ - '*.xml'
+ - '*.service'
+ - '*.socket'
+ - '*.conf'
+ - '*.sysconf'
+ - '*.tmpfiles'
+ - 'README.*'
+ - '*.sysusers'
+ - '*.png'
+ - 'httpd-ssl-*'
- config.layout
- - action*.sh
- - apachectl.*
+ - 'action*.sh'
+ - 'apachectl.*'
commit 26cf4a8749501f156c4984ec9c4f6f17449ee09a
Author: Joe Orton <jorton(a)redhat.com>
Date: Mon Apr 15 09:03:50 2024 +0100
mod_ssl: add DH param handling fix (r1916863)
diff --git a/httpd-2.4.59-r1916863.patch b/httpd-2.4.59-r1916863.patch
new file mode 100644
index 0000000..162662c
--- /dev/null
+++ b/httpd-2.4.59-r1916863.patch
@@ -0,0 +1,54 @@
+# ./pullrev.sh 1916863
+http://svn.apache.org/viewvc?view=revision&revision=1916863
+
+Upstream-Status: in trunk, not proposed for 2.4.x
+
+--- httpd-2.4.59/modules/ssl/ssl_engine_init.c
++++ httpd-2.4.59/modules/ssl/ssl_engine_init.c
+@@ -1416,6 +1416,7 @@
+ const char *vhost_id = mctx->sc->vhost_id, *key_id, *certfile, *keyfile;
+ int i;
+ EVP_PKEY *pkey;
++ int custom_dh_done = 0;
+ #ifdef HAVE_ECC
+ EC_GROUP *ecgroup = NULL;
+ int curve_nid = 0;
+@@ -1591,14 +1592,14 @@
+ */
+ certfile = APR_ARRAY_IDX(mctx->pks->cert_files, 0, const char *);
+ if (certfile && !modssl_is_engine_id(certfile)) {
+- int done = 0, num_bits = 0;
++ int num_bits = 0;
+ #if OPENSSL_VERSION_NUMBER < 0x30000000L
+ DH *dh = modssl_dh_from_file(certfile);
+ if (dh) {
+ num_bits = DH_bits(dh);
+ SSL_CTX_set_tmp_dh(mctx->ssl_ctx, dh);
+ DH_free(dh);
+- done = 1;
++ custom_dh_done = 1;
+ }
+ #else
+ pkey = modssl_dh_pkey_from_file(certfile);
+@@ -1608,18 +1609,18 @@
+ EVP_PKEY_free(pkey);
+ }
+ else {
+- done = 1;
++ custom_dh_done = 1;
+ }
+ }
+ #endif
+- if (done) {
++ if (custom_dh_done) {
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02540)
+ "Custom DH parameters (%d bits) for %s loaded from %s",
+ num_bits, vhost_id, certfile);
+ }
+ }
+ #if !MODSSL_USE_OPENSSL_PRE_1_1_API
+- else {
++ if (!custom_dh_done) {
+ /* If no parameter is manually configured, enable auto
+ * selection. */
+ SSL_CTX_set_dh_auto(mctx->ssl_ctx, 1);
diff --git a/httpd.spec b/httpd.spec
index 7bb8b5a..864c8b7 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.59
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -101,6 +101,7 @@ Patch37: httpd-2.4.54-selinux.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
Patch60: httpd-2.4.43-enable-sslv3.patch
+Patch61: httpd-2.4.59-r1916863.patch
# Security fixes
# Patch200: ...
@@ -824,6 +825,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Mon Apr 15 2024 Joe Orton <jorton(a)redhat.com> - 2.4.59-2
+- mod_ssl: add DH param handling fix (r1916863)
+
* Fri Apr 5 2024 Joe Orton <jorton(a)redhat.com> - 2.4.59-1
- update to 2.4.59
diff --git a/pullrev.sh b/pullrev.sh
index 7ace161..f21a7fb 100755
--- a/pullrev.sh
+++ b/pullrev.sh
@@ -6,8 +6,8 @@ if [ $# -lt 1 ]; then
fi
repo="https://svn.apache.org/repos/asf/httpd/httpd/trunk"
-repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
-ver=2.4.58
+#repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
+ver=2.4.59
prefix="httpd-${ver}"
suffix="${SUFFIX:-r$1${2:++}}"
fn="${prefix}-${suffix}.patch"
commit 9ee4b1c3240908f7f663a0534198e600a4bc6cbc
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Apr 5 09:22:35 2024 +0100
update to 2.4.59
diff --git a/.gitignore b/.gitignore
index cc7babc..bdad39b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,3 +49,4 @@ x86_64
/httpd-2.4.56.tar.bz2.asc
/httpd-2.4.57.tar.bz2.asc
/httpd-2.4.58.tar.bz2.asc
+/httpd-2.4.59.tar.bz2.asc
diff --git a/httpd-2.4.43-r1861793+.patch b/httpd-2.4.43-r1861793+.patch
deleted file mode 100644
index 89d0328..0000000
--- a/httpd-2.4.43-r1861793+.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-
-Upstream-Status: proposed for 2.4.59
-
---- httpd-2.4.43/configure.in.r1861793+
-+++ httpd-2.4.43/configure.in
-@@ -465,6 +465,28 @@
- AC_SEARCH_LIBS(crypt, crypt)
- CRYPT_LIBS="$LIBS"
- APACHE_SUBST(CRYPT_LIBS)
-+
-+if test "$ac_cv_search_crypt" != "no"; then
-+ # Test crypt() with the SHA-512 test vector from https://akkadia.org/drepper/SHA-crypt.txt
-+ AC_CACHE_CHECK([whether crypt() supports SHA-2], [ap_cv_crypt_sha2], [
-+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
-+#include <crypt.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#define PASSWD_0 "Hello world!"
-+#define SALT_0 "\$6\$saltstring"
-+#define EXPECT_0 "\$6\$saltstring\$svn8UoSVapNtMuq1ukKS4tPQd8iKwSMHWjl/O817G3uBnIFNjnQJu" \
-+ "esI68u4OTLiBFdcbYEdFCoEOfaS35inz1"
-+]], [char *result = crypt(PASSWD_0, SALT_0);
-+ if (!result) return 1;
-+ if (strcmp(result, EXPECT_0)) return 2;
-+])], [ap_cv_crypt_sha2=yes], [ap_cv_crypt_sha2=no])])
-+ if test "$ap_cv_crypt_sha2" = yes; then
-+ AC_DEFINE([HAVE_CRYPT_SHA2], 1, [Define if crypt() supports SHA-2 hashes])
-+ fi
-+fi
-+
- LIBS="$saved_LIBS"
-
- dnl See Comment #Spoon
---- httpd-2.4.43/docs/man/htpasswd.1.r1861793+
-+++ httpd-2.4.43/docs/man/htpasswd.1
-@@ -27,16 +27,16 @@
- .SH "SYNOPSIS"
-
- .PP
--\fB\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR\fR
-+\fB\fBhtpasswd\fR [ -\fBc\fR ] [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR\fR
-
- .PP
--\fB\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR\fR
-+\fB\fBhtpasswd\fR -\fBb\fR [ -\fBc\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] [ -\fBD\fR ] [ -\fBv\fR ] \fIpasswdfile\fR \fIusername\fR \fIpassword\fR\fR
-
- .PP
--\fB\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR\fR
-+\fB\fBhtpasswd\fR -\fBn\fR [ -\fBi\fR ] [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR\fR
-
- .PP
--\fB\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR\fR
-+\fB\fBhtpasswd\fR -\fBnb\fR [ -\fBm\fR | -\fBB\fR | -\fB2\fR | -\fB5\fR | -\fBd\fR | -\fBs\fR | -\fBp\fR ] [ -\fBr\fR \fIrounds\fR ] [ -\fBC\fR \fIcost\fR ] \fIusername\fR \fIpassword\fR\fR
-
-
- .SH "SUMMARY"
-@@ -48,7 +48,7 @@
- Resources available from the Apache HTTP server can be restricted to just the users listed in the files created by \fBhtpasswd\fR\&. This program can only manage usernames and passwords stored in a flat-file\&. It can encrypt and display password information for use in other types of data stores, though\&. To use a DBM database see dbmmanage or htdbm\&.
-
- .PP
--\fBhtpasswd\fR encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's \fBcrypt()\fR routine\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with \fBcrypt()\fR\&.
-+\fBhtpasswd\fR encrypts passwords using either bcrypt, a version of MD5 modified for Apache, SHA-1, or the system's \fBcrypt()\fR routine\&. SHA-2-based hashes (SHA-256 and SHA-512) are supported for \fBcrypt()\fR\&. Files managed by \fBhtpasswd\fR may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with \fBcrypt()\fR\&.
-
- .PP
- This manual page only lists the command line arguments\&. For details of the directives necessary to configure user authentication in httpd see the Apache manual, which is part of the Apache distribution or can be found at http://httpd\&.apache\&.org/\&.
-@@ -73,17 +73,26 @@
- \fB-m\fR
- Use MD5 encryption for passwords\&. This is the default (since version 2\&.2\&.18)\&.
- .TP
-+\fB-2\fR
-+Use SHA-256 \fBcrypt()\fR based hashes for passwords\&. This is supported on most Unix platforms\&.
-+.TP
-+\fB-5\fR
-+Use SHA-512 \fBcrypt()\fR based hashes for passwords\&. This is supported on most Unix platforms\&.
-+.TP
- \fB-B\fR
- Use bcrypt encryption for passwords\&. This is currently considered to be very secure\&.
- .TP
- \fB-C\fR
- This flag is only allowed in combination with \fB-B\fR (bcrypt encryption)\&. It sets the computing time used for the bcrypt algorithm (higher is more secure but slower, default: 5, valid: 4 to 17)\&.
- .TP
-+\fB-r\fR
-+This flag is only allowed in combination with \fB-2\fR or \fB-5\fR\&. It sets the number of hash rounds used for the SHA-2 algorithms (higher is more secure but slower; the default is 5,000)\&.
-+.TP
- \fB-d\fR
- Use \fBcrypt()\fR encryption for passwords\&. This is not supported by the httpd server on Windows and Netware\&. This algorithm limits the password length to 8 characters\&. This algorithm is \fBinsecure\fR by today's standards\&. It used to be the default algorithm until version 2\&.2\&.17\&.
- .TP
- \fB-s\fR
--Use SHA encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&.
-+Use SHA-1 (160-bit) encryption for passwords\&. Facilitates migration from/to Netscape servers using the LDAP Directory Interchange Format (ldif)\&. This algorithm is \fBinsecure\fR by today's standards\&.
- .TP
- \fB-p\fR
- Use plaintext passwords\&. Though \fBhtpasswd\fR will support creation on all platforms, the httpd daemon will only accept plain text passwords on Windows and Netware\&.
-@@ -152,10 +161,13 @@
- When using the \fBcrypt()\fR algorithm, note that only the first 8 characters of the password are used to form the password\&. If the supplied password is longer, the extra characters will be silently discarded\&.
-
- .PP
--The SHA encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&.
-+The SHA-1 encryption format does not use salting: for a given password, there is only one encrypted representation\&. The \fBcrypt()\fR and MD5 formats permute the representation by prepending a random salt string, to make dictionary attacks against the passwords more difficult\&.
-+
-+.PP
-+The SHA-1 and \fBcrypt()\fR formats are insecure by today's standards\&.
-
- .PP
--The SHA and \fBcrypt()\fR formats are insecure by today's standards\&.
-+The SHA-2-based \fBcrypt()\fR formats (SHA-256 and SHA-512) are supported on most modern Unix systems, and follow the specification at https://www\&.akkadia\&.org/drepper/SHA-crypt\&.txt\&.
-
- .SH "RESTRICTIONS"
-
---- httpd-2.4.43/support/htpasswd.c.r1861793+
-+++ httpd-2.4.43/support/htpasswd.c
-@@ -109,17 +109,21 @@
- "for it." NL
- " -i Read password from stdin without verification (for script usage)." NL
- " -m Force MD5 encryption of the password (default)." NL
-- " -B Force bcrypt encryption of the password (very secure)." NL
-+ " -2 Force SHA-256 crypt() hash of the password (very secure)." NL
-+ " -5 Force SHA-512 crypt() hash of the password (very secure)." NL
-+ " -B Force bcrypt encryption of the password (very secure)." NL
- " -C Set the computing time used for the bcrypt algorithm" NL
- " (higher is more secure but slower, default: %d, valid: 4 to 17)." NL
-+ " -r Set the number of rounds used for the SHA-256, SHA-512 algorithms" NL
-+ " (higher is more secure but slower, default: 5000)." NL
- " -d Force CRYPT encryption of the password (8 chars max, insecure)." NL
-- " -s Force SHA encryption of the password (insecure)." NL
-+ " -s Force SHA-1 encryption of the password (insecure)." NL
- " -p Do not encrypt the password (plaintext, insecure)." NL
- " -D Delete the specified user." NL
- " -v Verify password for the specified user." NL
- "On other systems than Windows and NetWare the '-p' flag will "
- "probably not work." NL
-- "The SHA algorithm does not use a salt and is less secure than the "
-+ "The SHA-1 algorithm does not use a salt and is less secure than the "
- "MD5 algorithm." NL,
- BCRYPT_DEFAULT_COST
- );
-@@ -178,7 +182,7 @@
- if (rv != APR_SUCCESS)
- exit(ERR_SYNTAX);
-
-- while ((rv = apr_getopt(state, "cnmspdBbDiC:v", &opt, &opt_arg)) == APR_SUCCESS) {
-+ while ((rv = apr_getopt(state, "cnmspdBbDi25C:r:v", &opt, &opt_arg)) == APR_SUCCESS) {
- switch (opt) {
- case 'c':
- *mask |= APHTP_NEWFILE;
---- httpd-2.4.43/support/passwd_common.c.r1861793+
-+++ httpd-2.4.43/support/passwd_common.c
-@@ -179,16 +179,21 @@
- int mkhash(struct passwd_ctx *ctx)
- {
- char *pw;
-- char salt[16];
-+ char salt[17];
- apr_status_t rv;
- int ret = 0;
- #if CRYPT_ALGO_SUPPORTED
- char *cbuf;
- #endif
-+#ifdef HAVE_CRYPT_SHA2
-+ const char *setting;
-+ char method;
-+#endif
-
-- if (ctx->cost != 0 && ctx->alg != ALG_BCRYPT) {
-+ if (ctx->cost != 0 && ctx->alg != ALG_BCRYPT
-+ && ctx->alg != ALG_CRYPT_SHA256 && ctx->alg != ALG_CRYPT_SHA512 ) {
- apr_file_printf(errfile,
-- "Warning: Ignoring -C argument for this algorithm." NL);
-+ "Warning: Ignoring -C/-r argument for this algorithm." NL);
- }
-
- if (ctx->passwd == NULL) {
-@@ -246,6 +251,34 @@
- break;
- #endif /* CRYPT_ALGO_SUPPORTED */
-
-+#ifdef HAVE_CRYPT_SHA2
-+ case ALG_CRYPT_SHA256:
-+ case ALG_CRYPT_SHA512:
-+ ret = generate_salt(salt, 16, &ctx->errstr, ctx->pool);
-+ if (ret != 0)
-+ break;
-+
-+ method = ctx->alg == ALG_CRYPT_SHA256 ? '5': '6';
-+
-+ if (ctx->cost)
-+ setting = apr_psprintf(ctx->pool, "$%c$rounds=%d$%s",
-+ method, ctx->cost, salt);
-+ else
-+ setting = apr_psprintf(ctx->pool, "$%c$%s",
-+ method, salt);
-+
-+ cbuf = crypt(pw, setting);
-+ if (cbuf == NULL) {
-+ rv = APR_FROM_OS_ERROR(errno);
-+ ctx->errstr = apr_psprintf(ctx->pool, "crypt() failed: %pm", &rv);
-+ ret = ERR_PWMISMATCH;
-+ break;
-+ }
-+
-+ apr_cpystrn(ctx->out, cbuf, ctx->out_len - 1);
-+ break;
-+#endif /* HAVE_CRYPT_SHA2 */
-+
- #if BCRYPT_ALGO_SUPPORTED
- case ALG_BCRYPT:
- rv = apr_generate_random_bytes((unsigned char*)salt, 16);
-@@ -294,6 +327,19 @@
- case 's':
- ctx->alg = ALG_APSHA;
- break;
-+#ifdef HAVE_CRYPT_SHA2
-+ case '2':
-+ ctx->alg = ALG_CRYPT_SHA256;
-+ break;
-+ case '5':
-+ ctx->alg = ALG_CRYPT_SHA512;
-+ break;
-+#else
-+ case '2':
-+ case '5':
-+ ctx->errstr = "SHA-2 crypt() algorithms are not supported on this platform.";
-+ return ERR_ALG_NOT_SUPP;
-+#endif
- case 'p':
- ctx->alg = ALG_PLAIN;
- #if !PLAIN_ALGO_SUPPORTED
-@@ -324,11 +370,12 @@
- return ERR_ALG_NOT_SUPP;
- #endif
- break;
-- case 'C': {
-+ case 'C':
-+ case 'r': {
- char *endptr;
- long num = strtol(opt_arg, &endptr, 10);
- if (*endptr != '\0' || num <= 0) {
-- ctx->errstr = "argument to -C must be a positive integer";
-+ ctx->errstr = "argument to -C/-r must be a positive integer";
- return ERR_SYNTAX;
- }
- ctx->cost = num;
---- httpd-2.4.43/support/passwd_common.h.r1861793+
-+++ httpd-2.4.43/support/passwd_common.h
-@@ -28,6 +28,8 @@
- #include "apu_version.h"
- #endif
-
-+#include "ap_config_auto.h"
-+
- #define MAX_STRING_LEN 256
-
- #define ALG_PLAIN 0
-@@ -35,6 +37,8 @@
- #define ALG_APMD5 2
- #define ALG_APSHA 3
- #define ALG_BCRYPT 4
-+#define ALG_CRYPT_SHA256 5
-+#define ALG_CRYPT_SHA512 6
-
- #define BCRYPT_DEFAULT_COST 5
-
-@@ -84,7 +88,7 @@
- apr_size_t out_len;
- char *passwd;
- int alg;
-- int cost;
-+ int cost; /* cost for bcrypt, rounds for SHA-2 */
- enum {
- PW_PROMPT = 0,
- PW_ARG,
diff --git a/httpd-2.4.46-htcacheclean-dont-break.patch b/httpd-2.4.46-htcacheclean-dont-break.patch
deleted file mode 100644
index 919e9e3..0000000
--- a/httpd-2.4.46-htcacheclean-dont-break.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-Upstream-Status: r1915508, proposed for 2.4.59
-
-diff --git a/support/htcacheclean.c b/support/htcacheclean.c
-index 958ba6d..0a7fe3c 100644
---- a/support/htcacheclean.c
-+++ b/support/htcacheclean.c
-@@ -557,8 +557,6 @@ static int list_urls(char *path, apr_pool_t *pool, apr_off_t round)
- }
- }
- }
--
-- break;
- }
- }
- }
diff --git a/httpd-2.4.51-r1894152.patch b/httpd-2.4.51-r1894152.patch
deleted file mode 100644
index 20e6784..0000000
--- a/httpd-2.4.51-r1894152.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-# ./pullrev.sh 1894152
-http://svn.apache.org/viewvc?view=revision&revision=1894152
-
-Upstream-Status: merged for 2.4.59
-
---- httpd-2.4.51/modules/filters/mod_deflate.c.r1894152
-+++ httpd-2.4.51/modules/filters/mod_deflate.c
-@@ -835,6 +835,7 @@
- while (!APR_BRIGADE_EMPTY(bb))
- {
- apr_bucket *b;
-+ apr_status_t rv;
-
- /*
- * Optimization: If we are a HEAD request and bytes_sent is not zero
-@@ -914,8 +915,6 @@
- }
-
- if (APR_BUCKET_IS_FLUSH(e)) {
-- apr_status_t rv;
--
- /* flush the remaining data from the zlib buffers */
- zRC = flush_libz_buffer(ctx, c, f->c->bucket_alloc, deflate,
- Z_SYNC_FLUSH, NO_UPDATE_CRC);
-@@ -947,7 +946,12 @@
- }
-
- /* read */
-- apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
-+ rv = apr_bucket_read(e, &data, &len, APR_BLOCK_READ);
-+ if (rv) {
-+ ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, APLOGNO(10298)
-+ "failed reading from %s bucket", e->type->name);
-+ return rv;
-+ }
- if (!len) {
- apr_bucket_delete(e);
- continue;
diff --git a/httpd-2.4.54-gettid.patch b/httpd-2.4.54-gettid.patch
deleted file mode 100644
index 88c956d..0000000
--- a/httpd-2.4.54-gettid.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-
-Upstream-Status: everything but last hunk merged for 2.4.59
-
-From d4e5b6e1e5585d341d1e51f1ddc637c099111076 Mon Sep 17 00:00:00 2001
-From: Joe Orton <jorton(a)redhat.com>
-Date: Tue, 7 Jul 2020 09:48:01 +0100
-Subject: [PATCH] Check and use gettid() directly with glibc 2.30+.
-
-* configure.in: Check for gettid() and define HAVE_SYS_GETTID if
- gettid() is only usable via syscall().
-
-* server/log.c (log_tid): Use gettid() directly if available.
----
- configure.in | 14 +++++++++-----
- server/log.c | 8 ++++++--
- 2 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index 423d58d4b9a..60cbf7b7f81 100644
---- httpd-2.4.54/configure.in.gettid
-+++ httpd-2.4.54/configure.in
-@@ -502,22 +502,26 @@
- timegm \
- getpgid \
- fopen64 \
--getloadavg
-+getloadavg \
-+gettid
- )
-
- dnl confirm that a void pointer is large enough to store a long integer
- APACHE_CHECK_VOID_PTR_LEN
-
--AC_CACHE_CHECK([for gettid()], ac_cv_gettid,
-+if test $ac_cv_func_gettid = no; then
-+ # On Linux before glibc 2.30, gettid() is only usable via syscall()
-+ AC_CACHE_CHECK([for gettid() via syscall], ap_cv_gettid,
- [AC_TRY_RUN(#define _GNU_SOURCE
- #include <unistd.h>
- #include <sys/syscall.h>
- #include <sys/types.h>
- int main(int argc, char **argv) {
- pid_t t = syscall(SYS_gettid); return t == -1 ? 1 : 0; },
--[ac_cv_gettid=yes], [ac_cv_gettid=no], [ac_cv_gettid=no])])
--if test "$ac_cv_gettid" = "yes"; then
-- AC_DEFINE(HAVE_GETTID, 1, [Define if you have gettid()])
-+ [ap_cv_gettid=yes], [ap_cv_gettid=no], [ap_cv_gettid=no])])
-+ if test "$ap_cv_gettid" = "yes"; then
-+ AC_DEFINE(HAVE_SYS_GETTID, 1, [Define if you have gettid() via syscall()])
-+ fi
- fi
-
- dnl ## Check for the tm_gmtoff field in struct tm to get the timezone diffs
---- httpd-2.4.54/server/log.c.gettid
-+++ httpd-2.4.54/server/log.c
-@@ -55,7 +55,7 @@
- #include "ap_mpm.h"
- #include "ap_listen.h"
-
--#if HAVE_GETTID
-+#if HAVE_SYS_GETTID
- #include <sys/syscall.h>
- #include <sys/types.h>
- #endif
-@@ -627,14 +627,18 @@
- #if APR_HAS_THREADS
- int result;
- #endif
--#if HAVE_GETTID
-+#if defined(HAVE_GETTID) || defined(HAVE_SYS_GETTID)
- if (arg && *arg == 'g') {
-+#ifdef HAVE_GETTID
-+ pid_t tid = gettid();
-+#else
- pid_t tid = syscall(SYS_gettid);
-+#endif
- if (tid == -1)
- return 0;
- return apr_snprintf(buf, buflen, "%"APR_PID_T_FMT, tid);
- }
--#endif
-+#endif /* HAVE_GETTID || HAVE_SYS_GETTID */
- #if APR_HAS_THREADS
- if (ap_mpm_query(AP_MPMQ_IS_THREADED, &result) == APR_SUCCESS
- && result != AP_MPMQ_NOT_SUPPORTED)
-@@ -968,7 +972,7 @@
- #if APR_HAS_THREADS
- field_start = len;
- len += cpystrn(buf + len, ":tid ", buflen - len);
-- item_len = log_tid(info, NULL, buf + len, buflen - len);
-+ item_len = log_tid(info, "g", buf + len, buflen - len);
- if (!item_len)
- len = field_start;
- else
diff --git a/httpd-2.4.58-r1913912+.patch b/httpd-2.4.58-r1913912+.patch
deleted file mode 100644
index f8fd4a4..0000000
--- a/httpd-2.4.58-r1913912+.patch
+++ /dev/null
@@ -1,849 +0,0 @@
-# ./pullrev.sh 1913912 1915067
-
-http://svn.apache.org/viewvc?view=revision&revision=1913912
-http://svn.apache.org/viewvc?view=revision&revision=1915067
-
-Upstream-Status: merged for 2.4.59
-
---- httpd-2.4.58/modules/ssl/mod_ssl.c.r1913912
-+++ httpd-2.4.58/modules/ssl/mod_ssl.c
-@@ -25,8 +25,7 @@
- */
-
- #include "ssl_private.h"
--#include "mod_ssl.h"
--#include "mod_ssl_openssl.h"
-+
- #include "util_md5.h"
- #include "util_mutex.h"
- #include "ap_provider.h"
-@@ -75,11 +74,9 @@
- SSL_CMD_SRV(SessionCache, TAKE1,
- "SSL Session Cache storage "
- "('none', 'nonenotnull', 'dbm:/path/to/file')")
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
- SSL_CMD_SRV(CryptoDevice, TAKE1,
- "SSL external Crypto Device usage "
- "('builtin', '...')")
--#endif
- SSL_CMD_SRV(RandomSeed, TAKE23,
- "SSL Pseudo Random Number Generator (PRNG) seeding source "
- "('startup|connect builtin|file:/path|exec:/path [bytes]')")
---- httpd-2.4.58/modules/ssl/mod_ssl_openssl.h.r1913912
-+++ httpd-2.4.58/modules/ssl/mod_ssl_openssl.h
-@@ -30,14 +30,17 @@
-
- /* OpenSSL headers */
-
--#ifndef SSL_PRIVATE_H
- #include <openssl/opensslv.h>
--#if (OPENSSL_VERSION_NUMBER >= 0x10001000)
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000
-+#include <openssl/macros.h> /* for OPENSSL_API_LEVEL */
-+#endif
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000
- /* must be defined before including ssl.h */
- #define OPENSSL_NO_SSL_INTERN
- #endif
- #include <openssl/ssl.h>
--#endif
-+#include <openssl/evp.h>
-+#include <openssl/x509.h>
-
- /**
- * init_server hook -- allow SSL_CTX-specific initialization to be performed by
---- httpd-2.4.58/modules/ssl/ssl_engine_config.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_engine_config.c
-@@ -27,6 +27,7 @@
- damned if you don't.''
- -- Unknown */
- #include "ssl_private.h"
-+
- #include "util_mutex.h"
- #include "ap_provider.h"
-
-@@ -593,14 +594,15 @@
- return NULL;
- }
-
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
- const char *ssl_cmd_SSLCryptoDevice(cmd_parms *cmd,
- void *dcfg,
- const char *arg)
- {
- SSLModConfigRec *mc = myModConfig(cmd->server);
- const char *err;
-+#if MODSSL_HAVE_ENGINE_API
- ENGINE *e;
-+#endif
-
- if ((err = ap_check_cmd_context(cmd, GLOBAL_ONLY))) {
- return err;
-@@ -609,13 +611,16 @@
- if (strcEQ(arg, "builtin")) {
- mc->szCryptoDevice = NULL;
- }
-+#if MODSSL_HAVE_ENGINE_API
- else if ((e = ENGINE_by_id(arg))) {
- mc->szCryptoDevice = arg;
- ENGINE_free(e);
- }
-+#endif
- else {
- err = "SSLCryptoDevice: Invalid argument; must be one of: "
- "'builtin' (none)";
-+#if MODSSL_HAVE_ENGINE_API
- e = ENGINE_get_first();
- while (e) {
- err = apr_pstrcat(cmd->pool, err, ", '", ENGINE_get_id(e),
-@@ -624,12 +629,12 @@
- * on the 'old' e, per the docs in engine.h. */
- e = ENGINE_get_next(e);
- }
-+#endif
- return err;
- }
-
- return NULL;
- }
--#endif
-
- const char *ssl_cmd_SSLRandomSeed(cmd_parms *cmd,
- void *dcfg,
---- httpd-2.4.58/modules/ssl/ssl_engine_init.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_engine_init.c
-@@ -27,8 +27,7 @@
- see Recursive.''
- -- Unknown */
- #include "ssl_private.h"
--#include "mod_ssl.h"
--#include "mod_ssl_openssl.h"
-+
- #include "mpm_common.h"
- #include "mod_md.h"
-
-@@ -218,6 +217,16 @@
- }
- #endif
-
-+static APR_INLINE unsigned long modssl_runtime_lib_version(void)
-+{
-+#if MODSSL_USE_OPENSSL_PRE_1_1_API
-+ return SSLeay();
-+#else
-+ return OpenSSL_version_num();
-+#endif
-+}
-+
-+
- /*
- * Per-module initialization
- */
-@@ -225,18 +234,22 @@
- apr_pool_t *ptemp,
- server_rec *base_server)
- {
-+ unsigned long runtime_lib_version = modssl_runtime_lib_version();
- SSLModConfigRec *mc = myModConfig(base_server);
- SSLSrvConfigRec *sc;
- server_rec *s;
- apr_status_t rv;
- apr_array_header_t *pphrases;
-
-- if (SSLeay() < MODSSL_LIBRARY_VERSION) {
-+ AP_DEBUG_ASSERT(mc);
-+
-+ if (runtime_lib_version < MODSSL_LIBRARY_VERSION) {
- ap_log_error(APLOG_MARK, APLOG_WARNING, 0, base_server, APLOGNO(01882)
- "Init: this version of mod_ssl was compiled against "
-- "a newer library (%s, version currently loaded is %s)"
-+ "a newer library (%s (%s), version currently loaded is 0x%lX)"
- " - may result in undefined or erroneous behavior",
-- MODSSL_LIBRARY_TEXT, MODSSL_LIBRARY_DYNTEXT);
-+ MODSSL_LIBRARY_TEXT, MODSSL_LIBRARY_DYNTEXT,
-+ runtime_lib_version);
- }
-
- /* We initialize mc->pid per-process in the child init,
-@@ -313,11 +326,9 @@
- /*
- * SSL external crypto device ("engine") support
- */
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
- if ((rv = ssl_init_Engine(base_server, p)) != APR_SUCCESS) {
- return rv;
- }
--#endif
-
- ap_log_error(APLOG_MARK, APLOG_INFO, 0, base_server, APLOGNO(01883)
- "Init: Initialized %s library", MODSSL_LIBRARY_NAME);
-@@ -473,9 +484,9 @@
- * Support for external a Crypto Device ("engine"), usually
- * a hardware accelerator card for crypto operations.
- */
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
- apr_status_t ssl_init_Engine(server_rec *s, apr_pool_t *p)
- {
-+#if MODSSL_HAVE_ENGINE_API
- SSLModConfigRec *mc = myModConfig(s);
- ENGINE *e;
-
-@@ -507,10 +518,9 @@
-
- ENGINE_free(e);
- }
--
-+#endif
- return APR_SUCCESS;
- }
--#endif
-
- #ifdef HAVE_TLSEXT
- static apr_status_t ssl_init_ctx_tls_extensions(server_rec *s,
-@@ -1320,15 +1330,6 @@
- return 0;
- }
-
--static APR_INLINE int modssl_DH_bits(DH *dh)
--{
--#if OPENSSL_VERSION_NUMBER < 0x30000000L
-- return DH_bits(dh);
--#else
-- return BN_num_bits(DH_get0_p(dh));
--#endif
--}
--
- /* SSL_CTX_use_PrivateKey_file() can fail either because the private
- * key was encrypted, or due to a mismatch between an already-loaded
- * cert and the key - a common misconfiguration - from calling
-@@ -1354,15 +1355,10 @@
- SSLModConfigRec *mc = myModConfig(s);
- const char *vhost_id = mctx->sc->vhost_id, *key_id, *certfile, *keyfile;
- int i;
-- X509 *cert;
-- DH *dh;
-+ EVP_PKEY *pkey;
- #ifdef HAVE_ECC
-- EC_GROUP *ecparams = NULL;
-- int nid;
-- EC_KEY *eckey = NULL;
--#endif
--#ifndef HAVE_SSL_CONF_CMD
-- SSL *ssl;
-+ EC_GROUP *ecgroup = NULL;
-+ int curve_nid = 0;
- #endif
-
- /* no OpenSSL default prompts for any of the SSL_CTX_use_* calls, please */
-@@ -1373,7 +1369,7 @@
- (certfile = APR_ARRAY_IDX(mctx->pks->cert_files, i,
- const char *));
- i++) {
-- EVP_PKEY *pkey;
-+ X509 *cert = NULL;
- const char *engine_certfile = NULL;
-
- key_id = apr_psprintf(ptemp, "%s:%d", vhost_id, i);
-@@ -1416,8 +1412,6 @@
- if (modssl_is_engine_id(keyfile)) {
- apr_status_t rv;
-
-- cert = NULL;
--
- if ((rv = modssl_load_engine_keypair(s, ptemp, vhost_id,
- engine_certfile, keyfile,
- &cert, &pkey))) {
-@@ -1488,22 +1482,21 @@
- * assume that if SSL_CONF is available, it's OpenSSL 1.0.2 or later,
- * and SSL_CTX_get0_certificate is implemented.)
- */
-- if (!(cert = SSL_CTX_get0_certificate(mctx->ssl_ctx))) {
-+ cert = SSL_CTX_get0_certificate(mctx->ssl_ctx);
- #else
-- ssl = SSL_new(mctx->ssl_ctx);
-+ {
-+ SSL *ssl = SSL_new(mctx->ssl_ctx);
- if (ssl) {
- /* Workaround bug in SSL_get_certificate in OpenSSL 0.9.8y */
- SSL_set_connect_state(ssl);
- cert = SSL_get_certificate(ssl);
-+ SSL_free(ssl);
-+ }
- }
-- if (!ssl || !cert) {
- #endif
-+ if (!cert) {
- ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(02566)
- "Unable to retrieve certificate %s", key_id);
--#ifndef HAVE_SSL_CONF_CMD
-- if (ssl)
-- SSL_free(ssl);
--#endif
- return APR_EGENERAL;
- }
-
-@@ -1525,10 +1518,6 @@
- }
- #endif
-
--#ifndef HAVE_SSL_CONF_CMD
-- SSL_free(ssl);
--#endif
--
- ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, APLOGNO(02568)
- "Certificate and private key %s configured from %s and %s",
- key_id, certfile, keyfile);
-@@ -1538,15 +1527,33 @@
- * Try to read DH parameters from the (first) SSLCertificateFile
- */
- certfile = APR_ARRAY_IDX(mctx->pks->cert_files, 0, const char *);
-- if (certfile && !modssl_is_engine_id(certfile)
-- && (dh = ssl_dh_GetParamFromFile(certfile))) {
-- /* ### This should be replaced with SSL_CTX_set0_tmp_dh_pkey()
-- * for OpenSSL 3.0+. */
-+ if (certfile && !modssl_is_engine_id(certfile)) {
-+ int done = 0, num_bits = 0;
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
-+ DH *dh = modssl_dh_from_file(certfile);
-+ if (dh) {
-+ num_bits = DH_bits(dh);
- SSL_CTX_set_tmp_dh(mctx->ssl_ctx, dh);
-+ DH_free(dh);
-+ done = 1;
-+ }
-+#else
-+ pkey = modssl_dh_pkey_from_file(certfile);
-+ if (pkey) {
-+ num_bits = EVP_PKEY_get_bits(pkey);
-+ if (!SSL_CTX_set0_tmp_dh_pkey(mctx->ssl_ctx, pkey)) {
-+ EVP_PKEY_free(pkey);
-+ }
-+ else {
-+ done = 1;
-+ }
-+ }
-+#endif
-+ if (done) {
- ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02540)
- "Custom DH parameters (%d bits) for %s loaded from %s",
-- modssl_DH_bits(dh), vhost_id, certfile);
-- DH_free(dh);
-+ num_bits, vhost_id, certfile);
-+ }
- }
- #if !MODSSL_USE_OPENSSL_PRE_1_1_API
- else {
-@@ -1561,13 +1568,27 @@
- * Similarly, try to read the ECDH curve name from SSLCertificateFile...
- */
- if (certfile && !modssl_is_engine_id(certfile)
-- && (ecparams = ssl_ec_GetParamFromFile(certfile))
-- && (nid = EC_GROUP_get_curve_name(ecparams))
-- && (eckey = EC_KEY_new_by_curve_name(nid))) {
-+ && (ecgroup = modssl_ec_group_from_file(certfile))
-+ && (curve_nid = EC_GROUP_get_curve_name(ecgroup))) {
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
-+ EC_KEY *eckey = EC_KEY_new_by_curve_name(curve_nid);
-+ if (eckey) {
- SSL_CTX_set_tmp_ecdh(mctx->ssl_ctx, eckey);
-+ EC_KEY_free(eckey);
-+ }
-+ else {
-+ curve_nid = 0;
-+ }
-+#else
-+ if (!SSL_CTX_set1_curves(mctx->ssl_ctx, &curve_nid, 1)) {
-+ curve_nid = 0;
-+ }
-+#endif
-+ if (curve_nid) {
- ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02541)
- "ECDH curve %s for %s specified in %s",
-- OBJ_nid2sn(nid), vhost_id, certfile);
-+ OBJ_nid2sn(curve_nid), vhost_id, certfile);
-+ }
- }
- /*
- * ...otherwise, enable auto curve selection (OpenSSL 1.0.2)
-@@ -1575,18 +1596,20 @@
- * ECDH is always enabled in 1.1.0 unless excluded from SSLCipherList
- */
- #if MODSSL_USE_OPENSSL_PRE_1_1_API
-- else {
-+ if (!curve_nid) {
- #if defined(SSL_CTX_set_ecdh_auto)
- SSL_CTX_set_ecdh_auto(mctx->ssl_ctx, 1);
- #else
-- eckey = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
-+ EC_KEY *eckey = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
-+ if (eckey) {
- SSL_CTX_set_tmp_ecdh(mctx->ssl_ctx, eckey);
-+ EC_KEY_free(eckey);
-+ }
- #endif
- }
- #endif
- /* OpenSSL assures us that _free() is NULL-safe */
-- EC_KEY_free(eckey);
-- EC_GROUP_free(ecparams);
-+ EC_GROUP_free(ecgroup);
- #endif
-
- return APR_SUCCESS;
---- httpd-2.4.58/modules/ssl/ssl_engine_io.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_engine_io.c
-@@ -28,8 +28,7 @@
- core keeps dumping.''
- -- Unknown */
- #include "ssl_private.h"
--#include "mod_ssl.h"
--#include "mod_ssl_openssl.h"
-+
- #include "apr_date.h"
-
- APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ssl, SSL, int, proxy_post_handshake,
-@@ -2283,14 +2282,7 @@
- ssl_io_filter_cleanup, apr_pool_cleanup_null);
-
- if (APLOG_CS_IS_LEVEL(c, mySrvFromConn(c), APLOG_TRACE4)) {
-- BIO *rbio = SSL_get_rbio(ssl),
-- *wbio = SSL_get_wbio(ssl);
-- BIO_set_callback(rbio, ssl_io_data_cb);
-- BIO_set_callback_arg(rbio, (void *)ssl);
-- if (wbio && wbio != rbio) {
-- BIO_set_callback(wbio, ssl_io_data_cb);
-- BIO_set_callback_arg(wbio, (void *)ssl);
-- }
-+ modssl_set_io_callbacks(ssl);
- }
-
- return;
-@@ -2374,13 +2366,22 @@
- "+-------------------------------------------------------------------------+");
- }
-
--long ssl_io_data_cb(BIO *bio, int cmd,
-- const char *argp,
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+static long modssl_io_cb(BIO *bio, int cmd, const char *argp,
-+ size_t len, int argi, long argl, int rc,
-+ size_t *processed)
-+#else
-+static long modssl_io_cb(BIO *bio, int cmd, const char *argp,
- int argi, long argl, long rc)
-+#endif
- {
- SSL *ssl;
- conn_rec *c;
- server_rec *s;
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ (void)len;
-+ (void)processed;
-+#endif
-
- if ((ssl = (SSL *)BIO_get_callback_arg(bio)) == NULL)
- return rc;
-@@ -2402,7 +2403,7 @@
- "%s: %s %ld/%d bytes %s BIO#%pp [mem: %pp] %s",
- MODSSL_LIBRARY_NAME,
- (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "write" : "read"),
-- rc, argi, (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "to" : "from"),
-+ (long)rc, argi, (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "to" : "from"),
- bio, argp, dump);
- if (*dump != '\0' && argp != NULL)
- ssl_io_data_dump(c, s, argp, rc);
-@@ -2417,3 +2418,25 @@
- }
- return rc;
- }
-+
-+static APR_INLINE void set_bio_callback(BIO *bio, void *arg)
-+{
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ BIO_set_callback_ex(bio, modssl_io_cb);
-+#else
-+ BIO_set_callback(bio, modssl_io_cb);
-+#endif
-+ BIO_set_callback_arg(bio, arg);
-+}
-+
-+void modssl_set_io_callbacks(SSL *ssl)
-+{
-+ BIO *rbio = SSL_get_rbio(ssl),
-+ *wbio = SSL_get_wbio(ssl);
-+ if (rbio) {
-+ set_bio_callback(rbio, ssl);
-+ }
-+ if (wbio && wbio != rbio) {
-+ set_bio_callback(wbio, ssl);
-+ }
-+}
---- httpd-2.4.58/modules/ssl/ssl_engine_kernel.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_engine_kernel.c
-@@ -2581,6 +2581,7 @@
- sc->server->pks->service_unavailable : 0;
-
- ap_update_child_status_from_server(c->sbh, SERVER_BUSY_READ, c, s);
-+
- /*
- * There is one special filter callback, which is set
- * very early depending on the base_server's log level.
-@@ -2589,14 +2590,7 @@
- * we need to set that callback here.
- */
- if (APLOGtrace4(s)) {
-- BIO *rbio = SSL_get_rbio(ssl),
-- *wbio = SSL_get_wbio(ssl);
-- BIO_set_callback(rbio, ssl_io_data_cb);
-- BIO_set_callback_arg(rbio, (void *)ssl);
-- if (wbio && wbio != rbio) {
-- BIO_set_callback(wbio, ssl_io_data_cb);
-- BIO_set_callback_arg(wbio, (void *)ssl);
-- }
-+ modssl_set_io_callbacks(ssl);
- }
-
- return 1;
---- httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c
-@@ -30,6 +30,8 @@
- -- Clifford Stoll */
- #include "ssl_private.h"
-
-+#include <openssl/ui.h>
-+
- typedef struct {
- server_rec *s;
- apr_pool_t *p;
-@@ -606,8 +608,7 @@
- return (len);
- }
-
--
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
-+#if MODSSL_HAVE_ENGINE_API
-
- /* OpenSSL UI implementation for passphrase entry; largely duplicated
- * from ssl_pphrase_Handle_CB but adjusted for UI API. TODO: Might be
-@@ -831,7 +832,7 @@
- const char *certid, const char *keyid,
- X509 **pubkey, EVP_PKEY **privkey)
- {
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
-+#if MODSSL_HAVE_ENGINE_API
- const char *c, *scheme;
- ENGINE *e;
- UI_METHOD *ui_method = get_passphrase_ui(p);
---- httpd-2.4.58/modules/ssl/ssl_private.h.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_private.h
-@@ -83,16 +83,13 @@
-
- #include "ap_expr.h"
-
--/* OpenSSL headers */
--#include <openssl/opensslv.h>
--#if (OPENSSL_VERSION_NUMBER >= 0x10001000)
--/* must be defined before including ssl.h */
--#define OPENSSL_NO_SSL_INTERN
--#endif
--#if OPENSSL_VERSION_NUMBER >= 0x30000000
--#include <openssl/core_names.h>
-+/* keep first for compat API */
-+#ifndef OPENSSL_API_COMPAT
-+#define OPENSSL_API_COMPAT 0x10101000 /* for ENGINE_ API */
- #endif
--#include <openssl/ssl.h>
-+#include "mod_ssl_openssl.h"
-+
-+/* OpenSSL headers */
- #include <openssl/err.h>
- #include <openssl/x509.h>
- #include <openssl/pem.h>
-@@ -102,12 +99,23 @@
- #include <openssl/x509v3.h>
- #include <openssl/x509_vfy.h>
- #include <openssl/ocsp.h>
-+#include <openssl/dh.h>
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000
-+#include <openssl/core_names.h>
-+#endif
-
- /* Avoid tripping over an engine build installed globally and detected
- * when the user points at an explicit non-engine flavor of OpenSSL
- */
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
-+#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT) \
-+ && (OPENSSL_VERSION_NUMBER < 0x30000000 \
-+ || (defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL < 30000)) \
-+ && !defined(OPENSSL_NO_ENGINE)
- #include <openssl/engine.h>
-+#define MODSSL_HAVE_ENGINE_API 1
-+#endif
-+#ifndef MODSSL_HAVE_ENGINE_API
-+#define MODSSL_HAVE_ENGINE_API 0
- #endif
-
- #if (OPENSSL_VERSION_NUMBER < 0x0090801f)
-@@ -142,10 +150,18 @@
- * include most changes from OpenSSL >= 1.1 (new functions, macros,
- * deprecations, ...), so we have to work around this...
- */
--#define MODSSL_USE_OPENSSL_PRE_1_1_API (LIBRESSL_VERSION_NUMBER < 0x2070000f)
-+#if LIBRESSL_VERSION_NUMBER < 0x2070000f
-+#define MODSSL_USE_OPENSSL_PRE_1_1_API 1
-+#else
-+#define MODSSL_USE_OPENSSL_PRE_1_1_API 0
-+#endif
- #else /* defined(LIBRESSL_VERSION_NUMBER) */
--#define MODSSL_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
-+#define MODSSL_USE_OPENSSL_PRE_1_1_API 1
-+#else
-+#define MODSSL_USE_OPENSSL_PRE_1_1_API 0
- #endif
-+#endif /* defined(LIBRESSL_VERSION_NUMBER) */
-
- #if defined(OPENSSL_FIPS) || OPENSSL_VERSION_NUMBER >= 0x30000000L
- #define HAVE_FIPS
-@@ -211,7 +227,10 @@
- #endif
-
- /* Secure Remote Password */
--#if !defined(OPENSSL_NO_SRP) && defined(SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB)
-+#if !defined(OPENSSL_NO_SRP) \
-+ && (OPENSSL_VERSION_NUMBER < 0x30000000L \
-+ || (defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL < 30000)) \
-+ && defined(SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB)
- #define HAVE_SRP
- #include <openssl/srp.h>
- #endif
-@@ -254,6 +273,14 @@
- #endif
- #endif
-
-+/* those may be deprecated */
-+#ifndef X509_get_notBefore
-+#define X509_get_notBefore X509_getm_notBefore
-+#endif
-+#ifndef X509_get_notAfter
-+#define X509_get_notAfter X509_getm_notAfter
-+#endif
-+
- #if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
- #define HAVE_OPENSSL_KEYLOG
- #endif
-@@ -1019,7 +1046,7 @@
- /** I/O */
- void ssl_io_filter_init(conn_rec *, request_rec *r, SSL *);
- void ssl_io_filter_register(apr_pool_t *);
--long ssl_io_data_cb(BIO *, int, const char *, int, long, long);
-+void modssl_set_io_callbacks(SSL *ssl);
-
- /* ssl_io_buffer_fill fills the setaside buffering of the HTTP request
- * to allow an SSL renegotiation to take place. */
-@@ -1057,9 +1084,13 @@
- X509 **pubkey, EVP_PKEY **privkey);
-
- /** Diffie-Hellman Parameter Support */
--DH *ssl_dh_GetParamFromFile(const char *);
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
-+DH *modssl_dh_from_file(const char *);
-+#else
-+EVP_PKEY *modssl_dh_pkey_from_file(const char *);
-+#endif
- #ifdef HAVE_ECC
--EC_GROUP *ssl_ec_GetParamFromFile(const char *);
-+EC_GROUP *modssl_ec_group_from_file(const char *);
- #endif
-
- /* Store the EVP_PKEY key (serialized into DER) in the hash table with
---- httpd-2.4.58/modules/ssl/ssl_util.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_util.c
-@@ -476,7 +476,7 @@
-
- int modssl_is_engine_id(const char *name)
- {
--#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
-+#if MODSSL_HAVE_ENGINE_API
- /* ### Can handle any other special ENGINE key names here? */
- return strncmp(name, "pkcs11:", 7) == 0;
- #else
---- httpd-2.4.58/modules/ssl/ssl_util_ssl.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_util_ssl.c
-@@ -464,29 +464,52 @@
- ** _________________________________________________________________
- */
-
--DH *ssl_dh_GetParamFromFile(const char *file)
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
-+DH *modssl_dh_from_file(const char *file)
- {
-- DH *dh = NULL;
-+ DH *dh;
- BIO *bio;
-
- if ((bio = BIO_new_file(file, "r")) == NULL)
- return NULL;
- dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
- BIO_free(bio);
-- return (dh);
-+
-+ return dh;
-+}
-+#else
-+EVP_PKEY *modssl_dh_pkey_from_file(const char *file)
-+{
-+ EVP_PKEY *pkey;
-+ BIO *bio;
-+
-+ if ((bio = BIO_new_file(file, "r")) == NULL)
-+ return NULL;
-+ pkey = PEM_read_bio_Parameters(bio, NULL);
-+ BIO_free(bio);
-+
-+ return pkey;
- }
-+#endif
-
- #ifdef HAVE_ECC
--EC_GROUP *ssl_ec_GetParamFromFile(const char *file)
-+EC_GROUP *modssl_ec_group_from_file(const char *file)
- {
-- EC_GROUP *group = NULL;
-+ EC_GROUP *group;
- BIO *bio;
-
- if ((bio = BIO_new_file(file, "r")) == NULL)
- return NULL;
-+#if OPENSSL_VERSION_NUMBER < 0x30000000L
- group = PEM_read_bio_ECPKParameters(bio, NULL, NULL, NULL);
-+#else
-+ group = PEM_ASN1_read_bio((void *)d2i_ECPKParameters,
-+ PEM_STRING_ECPARAMETERS, bio,
-+ NULL, NULL, NULL);
-+#endif
- BIO_free(bio);
-- return (group);
-+
-+ return group;
- }
- #endif
-
---- httpd-2.4.58/modules/ssl/ssl_util_stapling.c.r1913912
-+++ httpd-2.4.58/modules/ssl/ssl_util_stapling.c
-@@ -29,9 +29,9 @@
- -- Alexei Sayle */
-
- #include "ssl_private.h"
-+
- #include "ap_mpm.h"
- #include "apr_thread_mutex.h"
--#include "mod_ssl_openssl.h"
-
- APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ssl, SSL, int, init_stapling_status,
- (server_rec *s, apr_pool_t *p,
---- httpd-2.4.58/support/ab.c.r1913912
-+++ httpd-2.4.58/support/ab.c
-@@ -166,13 +166,18 @@
-
- #if defined(HAVE_OPENSSL)
-
--#include <openssl/rsa.h>
-+#include <openssl/evp.h>
- #include <openssl/crypto.h>
- #include <openssl/x509.h>
- #include <openssl/pem.h>
- #include <openssl/err.h>
- #include <openssl/ssl.h>
- #include <openssl/rand.h>
-+#include <openssl/opensslv.h>
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+#include <openssl/core_names.h>
-+#endif
-+
- #define USE_SSL
-
- #define SK_NUM(x) sk_X509_num(x)
-@@ -555,22 +560,33 @@
- *
- */
- #ifdef USE_SSL
--static long ssl_print_cb(BIO *bio,int cmd,const char *argp,int argi,long argl,long ret)
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+static long ssl_print_cb(BIO *bio, int cmd, const char *argp,
-+ size_t len, int argi, long argl, int ret,
-+ size_t *processed)
-+#else
-+static long ssl_print_cb(BIO *bio, int cmd, const char *argp,
-+ int argi, long argl, long ret)
-+#endif
- {
- BIO *out;
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ (void)len;
-+ (void)processed;
-+#endif
-
- out=(BIO *)BIO_get_callback_arg(bio);
- if (out == NULL) return(ret);
-
- if (cmd == (BIO_CB_READ|BIO_CB_RETURN)) {
- BIO_printf(out,"read from %p [%p] (%d bytes => %ld (0x%lX))\n",
-- bio, argp, argi, ret, ret);
-+ bio, argp, argi, (long)ret, (long)ret);
- BIO_dump(out,(char *)argp,(int)ret);
- return(ret);
- }
- else if (cmd == (BIO_CB_WRITE|BIO_CB_RETURN)) {
- BIO_printf(out,"write to %p [%p] (%d bytes => %ld (0x%lX))\n",
-- bio, argp, argi, ret, ret);
-+ bio, argp, argi, (long)ret, (long)ret);
- BIO_dump(out,(char *)argp,(int)ret);
- }
- return ret;
-@@ -765,17 +781,29 @@
- break;
- #ifndef OPENSSL_NO_EC
- case EVP_PKEY_EC: {
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ size_t len;
-+ char cname[80];
-+ if (!EVP_PKEY_get_utf8_string_param(key, OSSL_PKEY_PARAM_GROUP_NAME,
-+ cname, sizeof(cname), &len)) {
-+ cname[0] = '?';
-+ len = 1;
-+ }
-+ cname[len] = '\0';
-+#else
- const char *cname = NULL;
- EC_KEY *ec = EVP_PKEY_get1_EC_KEY(key);
- int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));
- EC_KEY_free(ec);
- cname = EC_curve_nid2nist(nid);
-- if (!cname)
-+ if (!cname) {
- cname = OBJ_nid2sn(nid);
--
-+ if (!cname)
-+ cname = "?";
-+ }
-+#endif
- apr_snprintf(ssl_tmp_key, 128, "ECDH %s %d bits",
-- cname,
-- EVP_PKEY_bits(key));
-+ cname, EVP_PKEY_bits(key));
- break;
- }
- #endif
-@@ -1428,7 +1456,11 @@
- SSL_set_bio(c->ssl, bio, bio);
- SSL_set_connect_state(c->ssl);
- if (verbosity >= 4) {
-+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
-+ BIO_set_callback_ex(bio, ssl_print_cb);
-+#else
- BIO_set_callback(bio, ssl_print_cb);
-+#endif
- BIO_set_callback_arg(bio, (void *)bio_err);
- }
- #ifdef HAVE_TLSEXT
diff --git a/httpd-2.4.58-r1914013.patch b/httpd-2.4.58-r1914013.patch
deleted file mode 100644
index 02dcac3..0000000
--- a/httpd-2.4.58-r1914013.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# ./pullrev.sh 1914013
-http://svn.apache.org/viewvc?view=revision&revision=1914013
-
-Upstream-Status: merged for 2.4.59
-
---- httpd-2.4.58/modules/filters/mod_xml2enc.c
-+++ httpd-2.4.58/modules/filters/mod_xml2enc.c
-@@ -209,7 +209,7 @@
-
- /* to sniff, first we look for BOM */
- if (ctx->xml2enc == XML_CHAR_ENCODING_NONE) {
-- ctx->xml2enc = xmlDetectCharEncoding((const xmlChar*)ctx->buf,
-+ ctx->xml2enc = xmlDetectCharEncoding((const unsigned char*)ctx->buf,
- ctx->bytes);
- if (HAVE_ENCODING(ctx->xml2enc)) {
- ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01432)
diff --git a/httpd-2.4.59-gettid.patch b/httpd-2.4.59-gettid.patch
new file mode 100644
index 0000000..4857e37
--- /dev/null
+++ b/httpd-2.4.59-gettid.patch
@@ -0,0 +1,14 @@
+
+Upstream-Status: not pushed upstream
+
+--- httpd-2.4.54/server/log.c.gettid
++++ httpd-2.4.54/server/log.c
+@@ -968,7 +972,7 @@
+ #if APR_HAS_THREADS
+ field_start = len;
+ len += cpystrn(buf + len, ":tid ", buflen - len);
+- item_len = log_tid(info, NULL, buf + len, buflen - len);
++ item_len = log_tid(info, "g", buf + len, buflen - len);
+ if (!item_len)
+ len = field_start;
+ else
diff --git a/httpd-2.4.48-r1828172+.patch b/httpd-2.4.59-unifycgid.patch
similarity index 91%
rename from httpd-2.4.48-r1828172+.patch
rename to httpd-2.4.59-unifycgid.patch
index 5f3be4c..54216e0 100644
--- a/httpd-2.4.48-r1828172+.patch
+++ b/httpd-2.4.59-unifycgid.patch
@@ -1,14 +1,41 @@
https://github.com/apache/httpd/pull/209
-Upstream-Status: in trunk, not proposed for 2.4.x
-
+diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
+index ddacd4af19..6d4379d165 100644
+--- a/.github/workflows/linux.yml
++++ b/.github/workflows/linux.yml
+@@ -48,11 +48,11 @@ jobs:
+ - name: Shared MPMs, all-modules
+ config: --enable-mods-shared=reallyall --enable-mpms-shared=all
+ # -------------------------------------------------------------------------
+- - name: Event MPM, all-modules, mod_cgid only
+- config: --enable-mods-shared=reallyall --with-mpm=event --disable-cgi
++ - name: Event MPM, all-modules, mod_cgid fdpassing
++ config: --enable-mods-shared=reallyall --with-mpm=event --disable-cgi --enable-cgid-fdpassing
+ # -------------------------------------------------------------------------
+- - name: Event MPM, all-modules, no CMSG_DATA
+- config: --enable-mods-shared=reallyall --with-mpm=event ac_cv_have_decl_CMSG_DATA=no
++ - name: Event MPM, all-modules, mod_cgid w/o fdpassing
++ config: --enable-mods-shared=reallyall --with-mpm=event --disable-cgi
+ # -------------------------------------------------------------------------
+ - name: Default, all-modules + install
+ config: --enable-mods-shared=reallyall
+diff --git a/changes-entries/pr54221.txt b/changes-entries/pr54221.txt
+new file mode 100644
+index 0000000000..62b75ea4dd
+--- /dev/null
++++ b/changes-entries/pr54221.txt
+@@ -0,0 +1,3 @@
++ *) mod_cgid: Optional support for file descriptor passing, fixing
++ error log handling (configure --enable-cgid-fdpassing) on Unix
++ platforms. PR 54221. [Joe Orton]
diff --git a/modules/generators/cgi_common.h b/modules/generators/cgi_common.h
new file mode 100644
-index 0000000000..69df73ce68
+index 0000000000..66f9418f21
--- /dev/null
+++ b/modules/generators/cgi_common.h
-@@ -0,0 +1,629 @@
+@@ -0,0 +1,639 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
@@ -37,6 +64,7 @@ index 0000000000..69df73ce68
+
+#include "httpd.h"
+#include "util_filter.h"
++#include "util_script.h"
+
+static APR_OPTIONAL_FN_TYPE(ap_ssi_get_tag_and_value) *cgi_pfn_gtv;
+static APR_OPTIONAL_FN_TYPE(ap_ssi_parse_string) *cgi_pfn_ps;
@@ -439,9 +467,18 @@ index 0000000000..69df73ce68
+ char sbuf[MAX_STRING_LEN];
+ int ret;
+
-+ if ((ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
-+ APLOG_MODULE_INDEX)))
-+ {
++ ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
++ APLOG_MODULE_INDEX);
++
++ /* xCGI has its own body framing mechanism which we don't
++ * match against any provided Content-Length, so let the
++ * core determine C-L vs T-E based on what's actually sent.
++ */
++ if (!apr_table_get(r->subprocess_env, AP_TRUST_CGILIKE_CL_ENVVAR))
++ apr_table_unset(r->headers_out, "Content-Length");
++ apr_table_unset(r->headers_out, "Transfer-Encoding");
++
++ if (ret != OK) {
+ /* In the case of a timeout reading script output, clear
+ * the brigade to avoid a second attempt to read the
+ * output. */
@@ -659,10 +696,18 @@ index bf295217e0..086355353b 100644
+
APACHE_MODPATH_FINISH
diff --git a/modules/generators/mod_cgi.c b/modules/generators/mod_cgi.c
-index 7e4b126c10..421124a0cb 100644
+index 1f7778617e..3799b06ce3 100644
--- a/modules/generators/mod_cgi.c
+++ b/modules/generators/mod_cgi.c
-@@ -61,9 +61,6 @@
+@@ -48,7 +48,6 @@
+ #include "http_protocol.h"
+ #include "http_main.h"
+ #include "http_log.h"
+-#include "util_script.h"
+ #include "ap_mpm.h"
+ #include "mod_core.h"
+ #include "mod_cgi.h"
+@@ -61,9 +60,6 @@
module AP_MODULE_DECLARE_DATA cgi_module;
@@ -672,14 +717,10 @@ index 7e4b126c10..421124a0cb 100644
static APR_OPTIONAL_FN_TYPE(ap_cgi_build_command) *cgi_build_command;
/* Read and discard the data in the brigade produced by a CGI script */
-@@ -92,6 +89,15 @@ typedef struct {
- apr_size_t bufbytes;
- } cgi_server_conf;
+@@ -96,6 +92,11 @@ typedef struct {
+ apr_interval_time_t timeout;
+ } cgi_dirconf;
-+typedef struct {
-+ apr_interval_time_t timeout;
-+} cgi_dirconf;
-+
+#if APR_FILES_AS_SOCKETS
+#define WANT_CGI_BUCKET
+#endif
@@ -688,44 +729,7 @@ index 7e4b126c10..421124a0cb 100644
static void *create_cgi_config(apr_pool_t *p, server_rec *s)
{
cgi_server_conf *c =
-@@ -112,6 +118,12 @@ static void *merge_cgi_config(apr_pool_t *p, void *basev, void *overridesv)
- return overrides->logname ? overrides : base;
- }
-
-+static void *create_cgi_dirconf(apr_pool_t *p, char *dummy)
-+{
-+ cgi_dirconf *c = (cgi_dirconf *) apr_pcalloc(p, sizeof(cgi_dirconf));
-+ return c;
-+}
-+
- static const char *set_scriptlog(cmd_parms *cmd, void *dummy, const char *arg)
- {
- server_rec *s = cmd->server;
-@@ -150,6 +162,17 @@ static const char *set_scriptlog_buffer(cmd_parms *cmd, void *dummy,
- return NULL;
- }
-
-+static const char *set_script_timeout(cmd_parms *cmd, void *dummy, const char *arg)
-+{
-+ cgi_dirconf *dc = dummy;
-+
-+ if (ap_timeout_parameter_parse(arg, &dc->timeout, "s") != APR_SUCCESS) {
-+ return "CGIScriptTimeout has wrong format";
-+ }
-+
-+ return NULL;
-+}
-+
- static const command_rec cgi_cmds[] =
- {
- AP_INIT_TAKE1("ScriptLog", set_scriptlog, NULL, RSRC_CONF,
-@@ -158,67 +181,12 @@ AP_INIT_TAKE1("ScriptLogLength", set_scriptlog_length, NULL, RSRC_CONF,
- "the maximum length (in bytes) of the script debug log"),
- AP_INIT_TAKE1("ScriptLogBuffer", set_scriptlog_buffer, NULL, RSRC_CONF,
- "the maximum size (in bytes) to record of a POST request"),
-+AP_INIT_TAKE1("CGIScriptTimeout", set_script_timeout, NULL, RSRC_CONF | ACCESS_CONF,
-+ "The amount of time to wait between successful reads from "
-+ "the CGI script, in seconds."),
+@@ -185,64 +186,6 @@ AP_INIT_TAKE1("CGIScriptTimeout", set_script_timeout, NULL, RSRC_CONF | ACCESS_C
{NULL}
};
@@ -790,37 +794,7 @@ index 7e4b126c10..421124a0cb 100644
static int log_script(request_rec *r, cgi_server_conf * conf, int ret,
char *dbuf, const char *sbuf, apr_bucket_brigade *bb,
apr_file_t *script_err)
-@@ -466,23 +434,26 @@ static apr_status_t run_cgi_child(apr_file_t **script_out,
- apr_filepath_name_get(r->filename));
- }
- else {
-+ cgi_dirconf *dc = ap_get_module_config(r->per_dir_config, &cgi_module);
-+ apr_interval_time_t timeout = dc->timeout > 0 ? dc->timeout : r->server->timeout;
-+
- apr_pool_note_subprocess(p, procnew, APR_KILL_AFTER_TIMEOUT);
-
- *script_in = procnew->out;
- if (!*script_in)
- return APR_EBADF;
-- apr_file_pipe_timeout_set(*script_in, r->server->timeout);
-+ apr_file_pipe_timeout_set(*script_in, timeout);
-
- if (e_info->prog_type == RUN_AS_CGI) {
- *script_out = procnew->in;
- if (!*script_out)
- return APR_EBADF;
-- apr_file_pipe_timeout_set(*script_out, r->server->timeout);
-+ apr_file_pipe_timeout_set(*script_out, timeout);
-
- *script_err = procnew->err;
- if (!*script_err)
- return APR_EBADF;
-- apr_file_pipe_timeout_set(*script_err, r->server->timeout);
-+ apr_file_pipe_timeout_set(*script_err, timeout);
- }
- }
- }
-@@ -536,234 +507,30 @@ static apr_status_t default_build_command(const char **cmd, const char ***argv,
+@@ -563,230 +506,23 @@ static apr_status_t default_build_command(const char **cmd, const char ***argv,
return APR_SUCCESS;
}
@@ -963,11 +937,14 @@ index 7e4b126c10..421124a0cb 100644
- apr_size_t *len, apr_read_type_e block)
-{
- struct cgi_bucket_data *data = b->data;
-- apr_interval_time_t timeout;
+- apr_interval_time_t timeout = 0;
- apr_status_t rv;
- int gotdata = 0;
+- cgi_dirconf *dc = ap_get_module_config(data->r->per_dir_config, &cgi_module);
-
-- timeout = block == APR_NONBLOCK_READ ? 0 : data->r->server->timeout;
+- if (block != APR_NONBLOCK_READ) {
+- timeout = dc->timeout > 0 ? dc->timeout : data->r->server->timeout;
+- }
-
- do {
- const apr_pollfd_t *results;
@@ -1048,10 +1025,10 @@ index 7e4b126c10..421124a0cb 100644
apr_status_t rv;
cgi_exec_info_t e_info;
- conn_rec *c;
-+ cgi_dirconf *dc = ap_get_module_config(r->per_dir_config, &cgi_module);
-+ apr_interval_time_t timeout = dc->timeout > 0 ? dc->timeout : r->server->timeout;
+ cgi_dirconf *dc = ap_get_module_config(r->per_dir_config, &cgi_module);
+ apr_interval_time_t timeout = dc->timeout > 0 ? dc->timeout : r->server->timeout;
- if (strcmp(r->handler, CGI_MAGIC_TYPE) && strcmp(r->handler, "cgi-script")) {
+@@ -794,8 +530,6 @@ static int cgi_handler(request_rec *r)
return DECLINED;
}
@@ -1060,7 +1037,7 @@ index 7e4b126c10..421124a0cb 100644
is_included = !strcmp(r->protocol, "INCLUDED");
p = r->main ? r->main->pool : r->pool;
-@@ -832,83 +599,24 @@ static int cgi_handler(request_rec *r)
+@@ -864,83 +598,24 @@ static int cgi_handler(request_rec *r)
return HTTP_INTERNAL_SERVER_ERROR;
}
@@ -1157,7 +1134,7 @@ index 7e4b126c10..421124a0cb 100644
/* Is this flush really needed? */
apr_file_flush(script_out);
apr_file_close(script_out);
-@@ -916,10 +624,7 @@ static int cgi_handler(request_rec *r)
+@@ -948,10 +623,7 @@ static int cgi_handler(request_rec *r)
AP_DEBUG_ASSERT(script_in != NULL);
#if APR_FILES_AS_SOCKETS
@@ -1169,7 +1146,7 @@ index 7e4b126c10..421124a0cb 100644
if (b == NULL)
return HTTP_INTERNAL_SERVER_ERROR;
#else
-@@ -929,111 +634,7 @@ static int cgi_handler(request_rec *r)
+@@ -961,120 +633,7 @@ static int cgi_handler(request_rec *r)
b = apr_bucket_eos_create(c->bucket_alloc);
APR_BRIGADE_INSERT_TAIL(bb, b);
@@ -1179,9 +1156,18 @@ index 7e4b126c10..421124a0cb 100644
- char sbuf[MAX_STRING_LEN];
- int ret;
-
-- if ((ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
-- APLOG_MODULE_INDEX)))
-- {
+- ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
+- APLOG_MODULE_INDEX);
+-
+- /* xCGI has its own body framing mechanism which we don't
+- * match against any provided Content-Length, so let the
+- * core determine C-L vs T-E based on what's actually sent.
+- */
+- if (!apr_table_get(r->subprocess_env, AP_TRUST_CGILIKE_CL_ENVVAR))
+- apr_table_unset(r->headers_out, "Content-Length");
+- apr_table_unset(r->headers_out, "Transfer-Encoding");
+-
+- if (ret != OK) {
- ret = log_script(r, conf, ret, dbuf, sbuf, bb, script_err);
-
- /*
@@ -1220,7 +1206,7 @@ index 7e4b126c10..421124a0cb 100644
- * stderr output, as normal. */
- discard_script_output(bb);
- apr_brigade_destroy(bb);
-- apr_file_pipe_timeout_set(script_err, r->server->timeout);
+- apr_file_pipe_timeout_set(script_err, timeout);
- log_script_err(r, script_err);
- }
-
@@ -1271,7 +1257,7 @@ index 7e4b126c10..421124a0cb 100644
- * connection drops or we stopped sending output for some other
- * reason */
- if (rv == APR_SUCCESS && !r->connection->aborted) {
-- apr_file_pipe_timeout_set(script_err, r->server->timeout);
+- apr_file_pipe_timeout_set(script_err, timeout);
- log_script_err(r, script_err);
- }
-
@@ -1282,7 +1268,7 @@ index 7e4b126c10..421124a0cb 100644
}
/*============================================================================
-@@ -1147,107 +748,9 @@ static apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f,
+@@ -1188,107 +747,9 @@ static apr_status_t include_cmd(include_ctx_t *ctx, ap_filter_t *f,
return APR_SUCCESS;
}
@@ -1390,7 +1376,7 @@ index 7e4b126c10..421124a0cb 100644
/* This is the means by which unusual (non-unix) os's may find alternate
* means to run a given command (e.g. shebang/registry parsing on Win32)
*/
-@@ -1263,12 +766,13 @@ static void register_hooks(apr_pool_t *p)
+@@ -1304,6 +765,7 @@ static void register_hooks(apr_pool_t *p)
static const char * const aszPre[] = { "mod_include.c", NULL };
ap_hook_handler(cgi_handler, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_post_config(cgi_post_config, aszPre, NULL, APR_HOOK_REALLY_FIRST);
@@ -1398,18 +1384,19 @@ index 7e4b126c10..421124a0cb 100644
}
AP_DECLARE_MODULE(cgi) =
- {
- STANDARD20_MODULE_STUFF,
-- NULL, /* dir config creater */
-+ create_cgi_dirconf, /* dir config creater */
- NULL, /* dir merger --- default is to override */
- create_cgi_config, /* server config */
- merge_cgi_config, /* merge server config */
diff --git a/modules/generators/mod_cgid.c b/modules/generators/mod_cgid.c
-index 2258a683b7..dddfb25254 100644
+index 4bab59f932..1d55b8dc48 100644
--- a/modules/generators/mod_cgid.c
+++ b/modules/generators/mod_cgid.c
-@@ -80,11 +80,6 @@ module AP_MODULE_DECLARE_DATA cgid_module;
+@@ -57,7 +57,6 @@
+ #include "http_protocol.h"
+ #include "http_main.h"
+ #include "http_log.h"
+-#include "util_script.h"
+ #include "ap_mpm.h"
+ #include "mpm_common.h"
+ #include "mod_suexec.h"
+@@ -80,11 +79,6 @@ module AP_MODULE_DECLARE_DATA cgid_module;
static int cgid_start(apr_pool_t *p, server_rec *main_server, apr_proc_t *procnew);
static int cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_server);
@@ -1421,7 +1408,7 @@ index 2258a683b7..dddfb25254 100644
static apr_pool_t *pcgi = NULL;
static pid_t daemon_pid;
-@@ -220,6 +215,15 @@ typedef struct {
+@@ -220,6 +214,15 @@ typedef struct {
#endif
} cgid_req_t;
@@ -1437,7 +1424,7 @@ index 2258a683b7..dddfb25254 100644
/* This routine is called to create the argument list to be passed
* to the CGI script. When suexec is enabled, the suexec path, user, and
* group are the first three arguments to be passed; if not, all three
-@@ -342,15 +346,19 @@ static apr_status_t close_unix_socket(void *thefd)
+@@ -342,15 +345,19 @@ static apr_status_t close_unix_socket(void *thefd)
return close(fd);
}
@@ -1462,7 +1449,7 @@ index 2258a683b7..dddfb25254 100644
do {
do {
rc = read(fd, buf + bytes_read, buf_size - bytes_read);
-@@ -365,9 +373,60 @@ static apr_status_t sock_read(int fd, void *vbuf, size_t buf_size)
+@@ -365,9 +372,60 @@ static apr_status_t sock_read(int fd, void *vbuf, size_t buf_size)
}
} while (bytes_read < buf_size);
@@ -1523,7 +1510,7 @@ index 2258a683b7..dddfb25254 100644
/* deal with signals
*/
static apr_status_t sock_write(int fd, const void *buf, size_t buf_size)
-@@ -384,7 +443,7 @@ static apr_status_t sock_write(int fd, const void *buf, size_t buf_size)
+@@ -384,7 +442,7 @@ static apr_status_t sock_write(int fd, const void *buf, size_t buf_size)
return APR_SUCCESS;
}
@@ -1532,7 +1519,7 @@ index 2258a683b7..dddfb25254 100644
{
va_list ap;
int rc;
-@@ -399,9 +458,39 @@ static apr_status_t sock_writev(int fd, request_rec *r, int count, ...)
+@@ -399,9 +457,39 @@ static apr_status_t sock_writev(int fd, request_rec *r, int count, ...)
}
va_end(ap);
@@ -1572,7 +1559,7 @@ index 2258a683b7..dddfb25254 100644
if (rc < 0) {
return errno;
}
-@@ -410,7 +499,7 @@ static apr_status_t sock_writev(int fd, request_rec *r, int count, ...)
+@@ -410,7 +498,7 @@ static apr_status_t sock_writev(int fd, request_rec *r, int count, ...)
}
static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
@@ -1581,7 +1568,7 @@ index 2258a683b7..dddfb25254 100644
{
int i;
char **environ;
-@@ -421,7 +510,7 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
+@@ -421,7 +509,7 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
r->server = apr_pcalloc(r->pool, sizeof(server_rec));
/* read the request header */
@@ -1590,7 +1577,7 @@ index 2258a683b7..dddfb25254 100644
if (stat != APR_SUCCESS) {
return stat;
}
-@@ -431,6 +520,14 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
+@@ -431,6 +519,14 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
return APR_SUCCESS;
}
@@ -1605,7 +1592,7 @@ index 2258a683b7..dddfb25254 100644
/* handle module indexes and such */
rconf = (void **)ap_create_request_config(r->pool);
-@@ -479,14 +576,15 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
+@@ -479,14 +575,15 @@ static apr_status_t get_req(int fd, request_rec *r, char **argv0, char ***env,
return APR_SUCCESS;
}
@@ -1623,7 +1610,7 @@ index 2258a683b7..dddfb25254 100644
if (ugid == NULL) {
-@@ -507,16 +605,21 @@ static apr_status_t send_req(int fd, request_rec *r, char *argv0, char **env,
+@@ -507,16 +604,21 @@ static apr_status_t send_req(int fd, request_rec *r, char *argv0, char **env,
req.args_len = r->args ? strlen(r->args) : 0;
req.loglevel = r->server->log.level;
@@ -1647,7 +1634,7 @@ index 2258a683b7..dddfb25254 100644
&req, sizeof(req),
r->filename, req.filename_len,
argv0, req.argv0_len,
-@@ -531,7 +634,7 @@ static apr_status_t send_req(int fd, request_rec *r, char *argv0, char **env,
+@@ -531,7 +633,7 @@ static apr_status_t send_req(int fd, request_rec *r, char *argv0, char **env,
for (i = 0; i < req.env_count; i++) {
apr_size_t curlen = strlen(env[i]);
@@ -1656,7 +1643,7 @@ index 2258a683b7..dddfb25254 100644
env[i], curlen)) != APR_SUCCESS) {
return stat;
}
-@@ -582,20 +685,34 @@ static void daemon_signal_handler(int sig)
+@@ -582,20 +684,34 @@ static void daemon_signal_handler(int sig)
}
}
@@ -1699,7 +1686,7 @@ index 2258a683b7..dddfb25254 100644
}
static int cgid_server(void *data)
-@@ -670,7 +787,7 @@ static int cgid_server(void *data)
+@@ -670,7 +786,7 @@ static int cgid_server(void *data)
}
while (!daemon_should_exit) {
@@ -1708,7 +1695,7 @@ index 2258a683b7..dddfb25254 100644
char *argv0 = NULL;
char **env = NULL;
const char * const *argv;
-@@ -710,7 +827,7 @@ static int cgid_server(void *data)
+@@ -710,7 +826,7 @@ static int cgid_server(void *data)
r = apr_pcalloc(ptrans, sizeof(request_rec));
procnew = apr_pcalloc(ptrans, sizeof(*procnew));
r->pool = ptrans;
@@ -1717,7 +1704,7 @@ index 2258a683b7..dddfb25254 100644
if (stat != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, stat,
main_server, APLOGNO(01248)
-@@ -742,6 +859,16 @@ static int cgid_server(void *data)
+@@ -742,6 +858,16 @@ static int cgid_server(void *data)
continue;
}
@@ -1734,7 +1721,7 @@ index 2258a683b7..dddfb25254 100644
apr_os_file_put(&r->server->error_log, &errfileno, 0, r->pool);
apr_os_file_put(&inout, &sd2, 0, r->pool);
-@@ -801,7 +928,10 @@ static int cgid_server(void *data)
+@@ -801,7 +927,10 @@ static int cgid_server(void *data)
close(sd2);
}
else {
@@ -1746,7 +1733,7 @@ index 2258a683b7..dddfb25254 100644
argv = (const char * const *)create_argv(r->pool, NULL, NULL, NULL, argv0, r->args);
-@@ -946,16 +1076,6 @@ static int cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
+@@ -946,16 +1075,6 @@ static int cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
if (ret != OK ) {
return ret;
}
@@ -1763,7 +1750,7 @@ index 2258a683b7..dddfb25254 100644
}
return ret;
}
-@@ -1066,41 +1186,6 @@ static const command_rec cgid_cmds[] =
+@@ -1066,41 +1185,6 @@ static const command_rec cgid_cmds[] =
{NULL}
};
@@ -1805,7 +1792,7 @@ index 2258a683b7..dddfb25254 100644
static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
char *dbuf, const char *sbuf, apr_bucket_brigade *bb,
apr_file_t *script_err)
-@@ -1221,7 +1306,7 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
+@@ -1221,7 +1305,7 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
++connect_tries;
if ((sd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
return log_scripterror(r, conf, HTTP_INTERNAL_SERVER_ERROR, errno,
@@ -1814,7 +1801,7 @@ index 2258a683b7..dddfb25254 100644
}
if (connect(sd, (struct sockaddr *)server_addr, server_addr_len) < 0) {
/* Save errno for later */
-@@ -1242,7 +1327,7 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
+@@ -1242,7 +1326,7 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
}
else {
close(sd);
@@ -1823,7 +1810,7 @@ index 2258a683b7..dddfb25254 100644
"unable to connect to cgi daemon after multiple tries");
}
}
-@@ -1258,13 +1343,15 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
+@@ -1258,13 +1342,15 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
if (connect_errno == ENOENT &&
apr_time_sec(apr_time_now() - ap_scoreboard_image->global->restart_time) >
DEFAULT_CONNECT_STARTUP_DELAY) {
@@ -1842,7 +1829,7 @@ index 2258a683b7..dddfb25254 100644
"cgid daemon is gone; is Apache terminating?");
}
}
-@@ -1272,23 +1359,6 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
+@@ -1272,23 +1358,6 @@ static int connect_to_daemon(int *sdptr, request_rec *r,
return OK;
}
@@ -1866,7 +1853,7 @@ index 2258a683b7..dddfb25254 100644
/****************************************************************
*
* Actual cgid handling...
-@@ -1374,7 +1444,9 @@ static apr_status_t get_cgi_pid(request_rec *r, cgid_server_conf *conf, pid_t *
+@@ -1374,7 +1443,9 @@ static apr_status_t get_cgi_pid(request_rec *r, cgid_server_conf *conf, pid_t *
return stat;
}
@@ -1877,7 +1864,7 @@ index 2258a683b7..dddfb25254 100644
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01261)
"daemon couldn't find CGI process for connection %lu",
r->connection->id);
-@@ -1393,19 +1465,21 @@ static apr_status_t cleanup_script(void *vptr)
+@@ -1393,19 +1464,21 @@ static apr_status_t cleanup_script(void *vptr)
static int cgid_handler(request_rec *r)
{
@@ -1903,7 +1890,7 @@ index 2258a683b7..dddfb25254 100644
if (strcmp(r->handler, CGI_MAGIC_TYPE) && strcmp(r->handler, "cgi-script")) {
return DECLINED;
-@@ -1414,7 +1488,7 @@ static int cgid_handler(request_rec *r)
+@@ -1414,7 +1487,7 @@ static int cgid_handler(request_rec *r)
conf = ap_get_module_config(r->server->module_config, &cgid_module);
dc = ap_get_module_config(r->per_dir_config, &cgid_module);
@@ -1912,7 +1899,7 @@ index 2258a683b7..dddfb25254 100644
is_included = !strcmp(r->protocol, "INCLUDED");
if ((argv0 = strrchr(r->filename, '/')) != NULL) {
-@@ -1429,12 +1503,12 @@ static int cgid_handler(request_rec *r)
+@@ -1429,12 +1502,12 @@ static int cgid_handler(request_rec *r)
argv0 = r->filename;
if (!(ap_allow_options(r) & OPT_EXECCGI) && !is_scriptaliased(r)) {
@@ -1927,7 +1914,7 @@ index 2258a683b7..dddfb25254 100644
"attempt to include NPH CGI script");
}
-@@ -1443,12 +1517,12 @@ static int cgid_handler(request_rec *r)
+@@ -1443,12 +1516,12 @@ static int cgid_handler(request_rec *r)
#error at mod_cgi.c for required code in this path.
#else
if (r->finfo.filetype == APR_NOFILE) {
@@ -1942,7 +1929,7 @@ index 2258a683b7..dddfb25254 100644
"attempt to invoke directory as script");
}
-@@ -1456,7 +1530,7 @@ static int cgid_handler(request_rec *r)
+@@ -1456,7 +1529,7 @@ static int cgid_handler(request_rec *r)
r->path_info && *r->path_info)
{
/* default to accept */
@@ -1951,7 +1938,7 @@ index 2258a683b7..dddfb25254 100644
"AcceptPathInfo off disallows user's path");
}
/*
-@@ -1467,6 +1541,17 @@ static int cgid_handler(request_rec *r)
+@@ -1467,6 +1540,17 @@ static int cgid_handler(request_rec *r)
}
*/
@@ -1969,7 +1956,7 @@ index 2258a683b7..dddfb25254 100644
/*
* httpd core function used to add common environment variables like
* DOCUMENT_ROOT.
-@@ -1479,24 +1564,28 @@ static int cgid_handler(request_rec *r)
+@@ -1479,24 +1563,28 @@ static int cgid_handler(request_rec *r)
return retval;
}
@@ -2005,7 +1992,7 @@ index 2258a683b7..dddfb25254 100644
}
/* We are putting the socket discriptor into an apr_file_t so that we can
-@@ -1506,95 +1595,25 @@ static int cgid_handler(request_rec *r)
+@@ -1506,95 +1594,25 @@ static int cgid_handler(request_rec *r)
*/
apr_os_pipe_put_ex(&tempsock, &sd, 1, r->pool);
@@ -2114,7 +2101,7 @@ index 2258a683b7..dddfb25254 100644
}
/* we're done writing, or maybe we didn't write at all;
-@@ -1603,125 +1622,22 @@ static int cgid_handler(request_rec *r)
+@@ -1603,134 +1621,22 @@ static int cgid_handler(request_rec *r)
*/
shutdown(sd, 1);
@@ -2131,9 +2118,18 @@ index 2258a683b7..dddfb25254 100644
- b = apr_bucket_eos_create(c->bucket_alloc);
- APR_BRIGADE_INSERT_TAIL(bb, b);
-
-- if ((ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
-- APLOG_MODULE_INDEX)))
-- {
+- ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
+- APLOG_MODULE_INDEX);
+-
+- /* xCGI has its own body framing mechanism which we don't
+- * match against any provided Content-Length, so let the
+- * core determine C-L vs T-E based on what's actually sent.
+- */
+- if (!apr_table_get(r->subprocess_env, AP_TRUST_CGILIKE_CL_ENVVAR))
+- apr_table_unset(r->headers_out, "Content-Length");
+- apr_table_unset(r->headers_out, "Transfer-Encoding");
+-
+- if (ret != OK) {
- ret = log_script(r, conf, ret, dbuf, sbuf, bb, NULL);
-
- /*
@@ -2253,7 +2249,7 @@ index 2258a683b7..dddfb25254 100644
static apr_status_t include_cgi(include_ctx_t *ctx, ap_filter_t *f,
apr_bucket_brigade *bb, char *s)
{
-@@ -1806,7 +1722,7 @@ static void add_ssi_vars(request_rec *r)
+@@ -1815,7 +1721,7 @@ static void add_ssi_vars(request_rec *r)
}
static int include_cmd(include_ctx_t *ctx, ap_filter_t *f,
@@ -2262,7 +2258,7 @@ index 2258a683b7..dddfb25254 100644
{
char **env;
int sd;
-@@ -1827,7 +1743,7 @@ static int include_cmd(include_ctx_t *ctx, ap_filter_t *f,
+@@ -1836,7 +1742,7 @@ static int include_cmd(include_ctx_t *ctx, ap_filter_t *f,
return retval;
}
@@ -2271,7 +2267,7 @@ index 2258a683b7..dddfb25254 100644
info = apr_palloc(r->pool, sizeof(struct cleanup_script_info));
info->conf = conf;
-@@ -1872,91 +1788,6 @@ static int include_cmd(include_ctx_t *ctx, ap_filter_t *f,
+@@ -1881,91 +1787,6 @@ static int include_cmd(include_ctx_t *ctx, ap_filter_t *f,
return APR_SUCCESS;
}
@@ -2363,7 +2359,7 @@ index 2258a683b7..dddfb25254 100644
static void register_hook(apr_pool_t *p)
{
static const char * const aszPre[] = { "mod_include.c", NULL };
-@@ -1964,6 +1795,7 @@ static void register_hook(apr_pool_t *p)
+@@ -1973,6 +1794,7 @@ static void register_hook(apr_pool_t *p)
ap_hook_pre_config(cgid_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_post_config(cgid_init, aszPre, NULL, APR_HOOK_MIDDLE);
ap_hook_handler(cgid_handler, NULL, NULL, APR_HOOK_MIDDLE);
diff --git a/httpd.spec b/httpd.spec
index 048057d..7bb8b5a 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -23,8 +23,8 @@
Summary: Apache HTTP Server
Name: httpd
-Version: 2.4.58
-Release: 8%{?dist}
+Version: 2.4.59
+Release: 1%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -85,27 +85,22 @@ Patch20: httpd-2.4.48-r1842929+.patch
Patch21: httpd-2.4.43-mod_systemd.patch
Patch22: httpd-2.4.53-export.patch
Patch23: httpd-2.4.43-corelimit.patch
-Patch24: httpd-2.4.54-gettid.patch
+Patch24: httpd-2.4.59-gettid.patch
Patch25: httpd-2.4.54-icons.patch
Patch26: httpd-2.4.43-cachehardmax.patch
Patch27: httpd-2.4.43-socket-activation.patch
Patch28: httpd-2.4.43-sslciphdefault.patch
Patch29: httpd-2.4.43-sslprotdefault.patch
-Patch30: httpd-2.4.43-r1861793+.patch
-Patch31: httpd-2.4.48-r1828172+.patch
+Patch31: httpd-2.4.59-unifycgid.patch
Patch32: httpd-2.4.43-logjournal.patch
Patch33: httpd-2.4.53-separate-systemd-fns.patch
Patch34: httpd-2.4.58-r1912477+.patch
-Patch35: httpd-2.4.58-r1913912+.patch
Patch36: httpd-2.4.58-r1914365.patch
Patch37: httpd-2.4.54-selinux.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
Patch60: httpd-2.4.43-enable-sslv3.patch
-Patch61: httpd-2.4.58-r1914013.patch
-Patch62: httpd-2.4.46-htcacheclean-dont-break.patch
-Patch63: httpd-2.4.51-r1894152.patch
# Security fixes
# Patch200: ...
@@ -829,6 +824,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Fri Apr 5 2024 Joe Orton <jorton(a)redhat.com> - 2.4.59-1
+- update to 2.4.59
+
* Thu Mar 28 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-8
- rebuild to fix changelog ordering
diff --git a/sources b/sources
index 8ac3947..e8e92fb 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (httpd-2.4.58.tar.bz2) = d6e73bf413a507ec16b621ff635e178206207a9e9810ce3944b3dc98d39cde8f225307110167fc9da5822175796c8cb66f98be5b9f0d8b76dcd83a401d39b2c1
-SHA512 (httpd-2.4.58.tar.bz2.asc) = aa021b067fc84ae6a09d5ce321207622c6c08f22632ac7362318ca0505b84357d77d4ebc1f17fa2c3030ed9d9fd177e8fb989932caeef695e76936e010b63aa0
SHA512 (KEYS) = 88c848b7ab9e4915d6625dcad3e8328673b0448f2ce76f2c44eecc612cf6afbce3287a4ee7219a44c6fcc61d5ecb2a1a8545456a4a16b90400263d7249cbf192
+SHA512 (httpd-2.4.59.tar.bz2) = 209da0bbac5e2564d4590302515b35495be6402273ff4024aa93e85e44554c95e053201d606383936425a41e1b5b97e6b40055dcbb385eb691a5029a6f3158c2
+SHA512 (httpd-2.4.59.tar.bz2.asc) = 85237e204e57d930e2b7a85a21f8d593e81895f96350c3a345978538a536f3c0614ba89256905c0aa558880fc6fb10608b8dd7cbd026af326b1d83601c267f2d
commit 1c126ced89f57ab99219139a2ccdd2f6d657927b
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 28 14:25:42 2024 +0000
really fix changelog ordering.
diff --git a/httpd.spec b/httpd.spec
index 1bd5e95..048057d 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -832,7 +832,7 @@ exit $rv
* Thu Mar 28 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-8
- rebuild to fix changelog ordering
-* Mon Feb 15 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
+* Thu Mar 7 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
- Update Systemd security settings as part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening
- updated httpd.service(5) (Joe Orton)
commit 2ce898b07d9c7824441c032793f3dc1ed473088d
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 28 14:23:56 2024 +0000
rebuild to fix changelog ordering
diff --git a/httpd.spec b/httpd.spec
index b2ea95b..1bd5e95 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 7%{?dist}
+Release: 8%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -829,7 +829,10 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
-* Mon Jan 15 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
+* Thu Mar 28 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-8
+- rebuild to fix changelog ordering
+
+* Mon Feb 15 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
- Update Systemd security settings as part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening
- updated httpd.service(5) (Joe Orton)
commit 27131dea8da568264571886f93bc0f30ff455eb3
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 28 14:23:51 2024 +0000
Update tracking.
diff --git a/httpd-2.4.51-r1894152.patch b/httpd-2.4.51-r1894152.patch
index 10c4b3f..20e6784 100644
--- a/httpd-2.4.51-r1894152.patch
+++ b/httpd-2.4.51-r1894152.patch
@@ -1,7 +1,7 @@
# ./pullrev.sh 1894152
http://svn.apache.org/viewvc?view=revision&revision=1894152
-Upstream-Status: in trunk, not proposed for 2.4.x
+Upstream-Status: merged for 2.4.59
--- httpd-2.4.51/modules/filters/mod_deflate.c.r1894152
+++ httpd-2.4.51/modules/filters/mod_deflate.c
diff --git a/httpd-2.4.54-selinux.patch b/httpd-2.4.54-selinux.patch
index 4d66bd8..661b983 100644
--- a/httpd-2.4.54-selinux.patch
+++ b/httpd-2.4.54-selinux.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: in trunk not in 2.4.x
+
diff --git a/configure.in b/configure.in
index 74015ca..8c0ee10 100644
--- httpd-2.4.54/modules/arch/unix/config5.m4.selinux
commit 5528c4fdcf416f9b85dd2d6096a0bad61066657e
Merge: 264f63b 5096106
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 28 14:22:48 2024 +0000
Merge remote-tracking branch 'centos/c10s' into rawhide
commit 5096106709c71826233d39ae724535d5795c6485
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 28 12:42:59 2024 +0000
Add gating configuration.
diff --git a/gating.yaml b/gating.yaml
index e4c04e7..fb11fa9 100644
--- a/gating.yaml
+++ b/gating.yaml
@@ -14,3 +14,14 @@ decision_contexts: [bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
+
+#gating rhel
+--- !Policy
+product_versions:
+ - rhel-*
+decision_context: osci_compose_gate
+rules:
+ - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
+ - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier2.functional}
+ - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier3.functional}
+ - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
commit 264f63b024fd9a66004460be7ea80195c27cc33f
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 7 17:02:24 2024 +0000
- ignore source file changes in rpminspect's "upstream" module
diff --git a/rpminspect.yaml b/rpminspect.yaml
index 1b4f2fe..17e48d1 100644
--- a/rpminspect.yaml
+++ b/rpminspect.yaml
@@ -4,3 +4,18 @@ badfuncs:
# and APR interfaces for IPv6 addresses.
ignore:
- /usr/lib*/httpd/modules/mod_proxy.so
+upstream:
+ ignore:
+ - *.xml
+ - *.service
+ - *.socket
+ - *.conf
+ - *.sysconf
+ - *.tmpfiles
+ - README.*
+ - *.sysusers
+ - *.png
+ - httpd-ssl-*
+ - config.layout
+ - action*.sh
+ - apachectl.*
commit dee54cd734ac9fb909a122b141005210c218dbfd
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 7 13:04:06 2024 +0000
- Updated Systemd security settings (closes #3) (Rahul Sundaram)
- updated httpd.service(5) man page (Joe Orton)
diff --git a/httpd.service b/httpd.service
index c5b5e08..b75e28c 100644
--- a/httpd.service
+++ b/httpd.service
@@ -26,8 +26,25 @@ ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
# Send SIGWINCH for graceful stop
KillSignal=SIGWINCH
KillMode=mixed
-PrivateTmp=true
+DevicePolicy=closed
+KeyringMode=private
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
OOMPolicy=continue
+PrivateDevices=yes
+PrivateTmp=true
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=read-only
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=yes
+RestrictNamespaces=yes
+RestrictRealtime=yes
+RestrictSUIDSGID=yes
+SystemCallArchitectures=native
[Install]
WantedBy=multi-user.target
diff --git a/httpd.service.xml b/httpd.service.xml
index 7dfdb97..3ddbc9e 100644
--- a/httpd.service.xml
+++ b/httpd.service.xml
@@ -231,7 +231,16 @@ Wants=network-online.target</programlisting>
<refsect2>
<title>Process policies and restrictions</title>
- <para>The httpd service uses the following options:
+ <para>The <command>httpd.service</command> unit enables a
+ variety of sandboxing options. Many of these prevent the service
+ from changing the system configuration - such as
+ <emphasis>ProtectClock</emphasis> and
+ <emphasis>ProtectKernelModules</emphasis>. See
+ <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ and
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ for more information on these options. Particular notice should
+ be taken of the following:
<itemizedlist>
<listitem><para><emphasis>PrivateTmp</emphasis> is enabled by
@@ -247,13 +256,14 @@ Wants=network-online.target</programlisting>
the policy to <emphasis>continue</emphasis>, httpd will
continue to run (and recover) if a single child is terminated
because of excess memory consumption.</para></listitem>
- </itemizedlist>
- See
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- and
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for more information.</para>
+ <listitem><para><emphasis>ProtectHome</emphasis> is set to
+ <emphasis>read-only</emphasis> by default. CGI scripts run via
+ <emphasis>UserDir</emphasis> will not be able modify any
+ content in <filename>/home</filename> by
+ default.</para></listitem>
+ </itemizedlist></para>
+
</refsect2>
<refsect2>
diff --git a/httpd.spec b/httpd.spec
index 3b40eed..b2ea95b 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 6%{?dist}
+Release: 7%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -829,6 +829,10 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Mon Jan 15 2024 Rahul Sundaram <sundaram(a)fedoraproject.org> - 2.4.58-7
+- Update Systemd security settings as part of https://fedoraproject.org/wiki/Changes/SystemdSecurityHardening
+- updated httpd.service(5) (Joe Orton)
+
* Wed Jan 24 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.4.58-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/httpd@.service b/httpd@.service
index 84424fb..8b20b90 100644
--- a/httpd@.service
+++ b/httpd@.service
@@ -19,8 +19,25 @@ ExecReload=/usr/sbin/httpd $OPTIONS -k graceful -f conf/%i.conf
# Send SIGWINCH for graceful stop
KillSignal=SIGWINCH
KillMode=mixed
-PrivateTmp=true
+DevicePolicy=closed
+KeyringMode=private
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
OOMPolicy=continue
+PrivateDevices=yes
+PrivateTmp=true
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=read-only
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=yes
+RestrictNamespaces=yes
+RestrictRealtime=yes
+RestrictSUIDSGID=yes
+SystemCallArchitectures=native
[Install]
WantedBy=multi-user.target
commit 756bc47b6f56edcff7e1408b0fac760177276a7e
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Mar 7 11:55:21 2024 +0000
Add upstream tracking notes for patches.
diff --git a/httpd-2.4.43-apxs.patch b/httpd-2.4.43-apxs.patch
index b1185b2..808d6a8 100644
--- a/httpd-2.4.43-apxs.patch
+++ b/httpd-2.4.43-apxs.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: local customisation
+
diff --git a/support/apxs.in b/support/apxs.in
index b2705fa..c331631 100644
--- a/support/apxs.in
diff --git a/httpd-2.4.43-corelimit.patch b/httpd-2.4.43-corelimit.patch
index dd4b874..8c9899c 100644
--- a/httpd-2.4.43-corelimit.patch
+++ b/httpd-2.4.43-corelimit.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: local customisation
+
diff --git a/server/core.c b/server/core.c
index 79b2a82..dc0f17a 100644
--- a/server/core.c
diff --git a/httpd-2.4.43-r1861793+.patch b/httpd-2.4.43-r1861793+.patch
index 08e96cb..89d0328 100644
--- a/httpd-2.4.43-r1861793+.patch
+++ b/httpd-2.4.43-r1861793+.patch
@@ -1,5 +1,6 @@
-diff --git a/configure.in b/configure.in
-index cb43246..0bb6b0d 100644
+
+Upstream-Status: proposed for 2.4.59
+
--- httpd-2.4.43/configure.in.r1861793+
+++ httpd-2.4.43/configure.in
@@ -465,6 +465,28 @@
diff --git a/httpd-2.4.46-htcacheclean-dont-break.patch b/httpd-2.4.46-htcacheclean-dont-break.patch
index e52318a..919e9e3 100644
--- a/httpd-2.4.46-htcacheclean-dont-break.patch
+++ b/httpd-2.4.46-htcacheclean-dont-break.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: r1915508, proposed for 2.4.59
+
diff --git a/support/htcacheclean.c b/support/htcacheclean.c
index 958ba6d..0a7fe3c 100644
--- a/support/htcacheclean.c
diff --git a/httpd-2.4.48-r1828172+.patch b/httpd-2.4.48-r1828172+.patch
index 37f1855..5f3be4c 100644
--- a/httpd-2.4.48-r1828172+.patch
+++ b/httpd-2.4.48-r1828172+.patch
@@ -1,6 +1,8 @@
https://github.com/apache/httpd/pull/209
+Upstream-Status: in trunk, not proposed for 2.4.x
+
diff --git a/modules/generators/cgi_common.h b/modules/generators/cgi_common.h
new file mode 100644
index 0000000000..69df73ce68
diff --git a/httpd-2.4.48-r1842929+.patch b/httpd-2.4.48-r1842929+.patch
index f83a21d..c1837e7 100644
--- a/httpd-2.4.48-r1842929+.patch
+++ b/httpd-2.4.48-r1842929+.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: in trunk, not proposed for 2.4.x
+
diff --git a/Makefile.in b/Makefile.in
index 6747aea..40c7076 100644
--- a/Makefile.in
diff --git a/httpd-2.4.51-r1894152.patch b/httpd-2.4.51-r1894152.patch
index 95f5081..10c4b3f 100644
--- a/httpd-2.4.51-r1894152.patch
+++ b/httpd-2.4.51-r1894152.patch
@@ -1,6 +1,8 @@
# ./pullrev.sh 1894152
http://svn.apache.org/viewvc?view=revision&revision=1894152
+Upstream-Status: in trunk, not proposed for 2.4.x
+
--- httpd-2.4.51/modules/filters/mod_deflate.c.r1894152
+++ httpd-2.4.51/modules/filters/mod_deflate.c
@@ -835,6 +835,7 @@
diff --git a/httpd-2.4.54-gettid.patch b/httpd-2.4.54-gettid.patch
index dfc447b..88c956d 100644
--- a/httpd-2.4.54-gettid.patch
+++ b/httpd-2.4.54-gettid.patch
@@ -1,3 +1,6 @@
+
+Upstream-Status: everything but last hunk merged for 2.4.59
+
From d4e5b6e1e5585d341d1e51f1ddc637c099111076 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton(a)redhat.com>
Date: Tue, 7 Jul 2020 09:48:01 +0100
diff --git a/httpd-2.4.58-r1912477+.patch b/httpd-2.4.58-r1912477+.patch
index 6458df8..eb3deff 100644
--- a/httpd-2.4.58-r1912477+.patch
+++ b/httpd-2.4.58-r1912477+.patch
@@ -5,6 +5,8 @@ http://svn.apache.org/viewvc?view=revision&revision=1912718
http://svn.apache.org/viewvc?view=revision&revision=1913654
http://svn.apache.org/viewvc?view=revision&revision=1914438
+Upstream-Status: in trunk, not proposed for 2.4.x
+
--- httpd-2.4.58/modules/dav/fs/config6.m4.r1912477+
+++ httpd-2.4.58/modules/dav/fs/config6.m4
@@ -20,4 +20,10 @@
diff --git a/httpd-2.4.58-r1913912+.patch b/httpd-2.4.58-r1913912+.patch
index c8ea8fa..f8fd4a4 100644
--- a/httpd-2.4.58-r1913912+.patch
+++ b/httpd-2.4.58-r1913912+.patch
@@ -3,6 +3,8 @@
http://svn.apache.org/viewvc?view=revision&revision=1913912
http://svn.apache.org/viewvc?view=revision&revision=1915067
+Upstream-Status: merged for 2.4.59
+
--- httpd-2.4.58/modules/ssl/mod_ssl.c.r1913912
+++ httpd-2.4.58/modules/ssl/mod_ssl.c
@@ -25,8 +25,7 @@
diff --git a/httpd-2.4.58-r1914013.patch b/httpd-2.4.58-r1914013.patch
index f9e0786..02dcac3 100644
--- a/httpd-2.4.58-r1914013.patch
+++ b/httpd-2.4.58-r1914013.patch
@@ -1,6 +1,8 @@
# ./pullrev.sh 1914013
http://svn.apache.org/viewvc?view=revision&revision=1914013
+Upstream-Status: merged for 2.4.59
+
--- httpd-2.4.58/modules/filters/mod_xml2enc.c
+++ httpd-2.4.58/modules/filters/mod_xml2enc.c
@@ -209,7 +209,7 @@
diff --git a/httpd-2.4.58-r1914365.patch b/httpd-2.4.58-r1914365.patch
index e7390eb..8512de3 100644
--- a/httpd-2.4.58-r1914365.patch
+++ b/httpd-2.4.58-r1914365.patch
@@ -1,6 +1,8 @@
# ./pullrev.sh 1914365
http://svn.apache.org/viewvc?view=revision&revision=1914365
+Upstream-Status: in trunk, not proposed for 2.4.x
+
--- httpd-2.4.58/modules/ssl/ssl_engine_init.c.r1914365
+++ httpd-2.4.58/modules/ssl/ssl_engine_init.c
@@ -1421,8 +1421,10 @@
commit 7fa757742fa45e9f48ffb6c6d7d53bd18dfdf521
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Wed Jan 24 21:49:39 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/httpd.spec b/httpd.spec
index 396594c..3b40eed 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 5%{?dist}
+Release: 6%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -829,6 +829,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Wed Jan 24 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.4.58-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Sat Jan 20 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.4.58-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
commit 9e93ea3734c71f5ca0d57b5a1a2bea873d0408e5
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sat Jan 20 22:15:08 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/httpd.spec b/httpd.spec
index a34b641..396594c 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 4%{?dist}
+Release: 5%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -829,6 +829,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Sat Jan 20 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.4.58-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Fri Jan 5 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-4
- fix OpenSSL 3.0 deprecation warnings (r1913912, r1915067)
- mod_ssl: move to provider API for pkcs11 support (#2253014)
commit df3d3d1151513090e3ba649f03bdaa6817d87c5e
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Jan 5 16:21:32 2024 +0000
- remove some old workarounds
diff --git a/httpd.spec b/httpd.spec
index 2c71c87..a34b641 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -318,16 +318,6 @@ autoheader && autoconf || exit 1
%set_build_flags
-# Hard-code path to links to avoid unnecessary builddep
-export LYNX_PATH=/usr/bin/links
-
-%ifarch aarch64
-# The configure check for epoll_create() is failing. httpd/apr only
-# actually uses epoll_create1() so this test could be smarter. Work
-# around it for now.
-export ac_cv_func_epoll_create=yes
-%endif
-
# Build the daemon
./configure \
--prefix=%{_sysconfdir}/httpd \
commit ab864817dceb5ee4d715e71a70f8892ea6c53a17
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Jan 5 16:21:21 2024 +0000
- renumber patches to apply in numerical order
- use %autosetup
diff --git a/httpd.spec b/httpd.spec
index dc3b6e9..2c71c87 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -81,31 +81,31 @@ Patch3: httpd-2.4.43-deplibs.patch
# Needed for socket activation and mod_systemd patch
Patch19: httpd-2.4.53-detect-systemd.patch
# Features/functional changes
-Patch21: httpd-2.4.48-r1842929+.patch
-Patch22: httpd-2.4.43-mod_systemd.patch
-Patch23: httpd-2.4.53-export.patch
-Patch24: httpd-2.4.43-corelimit.patch
-Patch25: httpd-2.4.54-selinux.patch
-Patch26: httpd-2.4.54-gettid.patch
-Patch27: httpd-2.4.54-icons.patch
-Patch30: httpd-2.4.43-cachehardmax.patch
-Patch34: httpd-2.4.43-socket-activation.patch
-Patch38: httpd-2.4.43-sslciphdefault.patch
-Patch39: httpd-2.4.43-sslprotdefault.patch
-Patch41: httpd-2.4.43-r1861793+.patch
-Patch42: httpd-2.4.48-r1828172+.patch
-Patch45: httpd-2.4.43-logjournal.patch
-Patch46: httpd-2.4.53-separate-systemd-fns.patch
-Patch47: httpd-2.4.58-r1912477+.patch
-Patch48: httpd-2.4.58-r1913912+.patch
-Patch49: httpd-2.4.58-r1914365.patch
+Patch20: httpd-2.4.48-r1842929+.patch
+Patch21: httpd-2.4.43-mod_systemd.patch
+Patch22: httpd-2.4.53-export.patch
+Patch23: httpd-2.4.43-corelimit.patch
+Patch24: httpd-2.4.54-gettid.patch
+Patch25: httpd-2.4.54-icons.patch
+Patch26: httpd-2.4.43-cachehardmax.patch
+Patch27: httpd-2.4.43-socket-activation.patch
+Patch28: httpd-2.4.43-sslciphdefault.patch
+Patch29: httpd-2.4.43-sslprotdefault.patch
+Patch30: httpd-2.4.43-r1861793+.patch
+Patch31: httpd-2.4.48-r1828172+.patch
+Patch32: httpd-2.4.43-logjournal.patch
+Patch33: httpd-2.4.53-separate-systemd-fns.patch
+Patch34: httpd-2.4.58-r1912477+.patch
+Patch35: httpd-2.4.58-r1913912+.patch
+Patch36: httpd-2.4.58-r1914365.patch
+Patch37: httpd-2.4.54-selinux.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
Patch60: httpd-2.4.43-enable-sslv3.patch
Patch61: httpd-2.4.58-r1914013.patch
-Patch63: httpd-2.4.46-htcacheclean-dont-break.patch
-Patch65: httpd-2.4.51-r1894152.patch
+Patch62: httpd-2.4.46-htcacheclean-dont-break.patch
+Patch63: httpd-2.4.51-r1894152.patch
# Security fixes
# Patch200: ...
@@ -254,35 +254,7 @@ written in the Lua programming language.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
-%setup -q
-%patch -P2 -p1 -b .apxs
-%patch -P3 -p1 -b .deplibs
-
-%patch -P19 -p1 -b .detectsystemd
-
-%patch -P21 -p1 -b .r1842929+
-%patch -P22 -p1 -b .mod_systemd
-%patch -P23 -p1 -b .export
-%patch -P24 -p1 -b .corelimit
-%patch -P26 -p1 -b .gettid
-%patch -P27 -p1 -b .icons
-%patch -P30 -p1 -b .cachehardmax
-%patch -P34 -p1 -b .socketactivation
-%patch -P38 -p1 -b .sslciphdefault
-%patch -P39 -p1 -b .sslprotdefault
-%patch -P41 -p1 -b .r1861793+
-%patch -P42 -p1 -b .r1828172+
-%patch -P45 -p1 -b .logjournal
-%patch -P46 -p1 -b .separatesystemd
-%patch -P25 -p1 -b .selinux
-%patch -P47 -p1 -b .r1912477+
-%patch -P48 -p1 -b .r1913912+
-%patch -P49 -p1 -b .r1914365
-
-%patch -P60 -p1 -b .enable-sslv3
-%patch -P61 -p1 -b .r1914013
-%patch -P63 -p1 -b .htcacheclean-dont-break
-%patch -P65 -p1 -b .r1894152
+%autosetup -p1 -S gendiff
# Patch in the vendor string
sed -i '/^#define PLATFORM/s/Unix/%{vstring}/' os/unix/os.h
commit fcc34b87be47c9a4d2931865ae235a7fe6743dbe
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Jan 5 11:55:23 2024 +0000
Fix suffix.
diff --git a/httpd.spec b/httpd.spec
index 8bd81c5..dc3b6e9 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -276,7 +276,7 @@ written in the Lua programming language.
%patch -P46 -p1 -b .separatesystemd
%patch -P25 -p1 -b .selinux
%patch -P47 -p1 -b .r1912477+
-%patch -P48 -p1 -b .r1913912
+%patch -P48 -p1 -b .r1913912+
%patch -P49 -p1 -b .r1914365
%patch -P60 -p1 -b .enable-sslv3
commit 16be14d05f9d8cf33661a58715a302be8872ce81
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Jan 5 11:48:45 2024 +0000
fix OpenSSL 3.0 deprecation warnings (r1913912, r1915067)
mod_ssl: move to provider API for pkcs11 support (#2253014)
diff --git a/httpd-2.4.58-r1913912+.patch b/httpd-2.4.58-r1913912+.patch
new file mode 100644
index 0000000..c8ea8fa
--- /dev/null
+++ b/httpd-2.4.58-r1913912+.patch
@@ -0,0 +1,847 @@
+# ./pullrev.sh 1913912 1915067
+
+http://svn.apache.org/viewvc?view=revision&revision=1913912
+http://svn.apache.org/viewvc?view=revision&revision=1915067
+
+--- httpd-2.4.58/modules/ssl/mod_ssl.c.r1913912
++++ httpd-2.4.58/modules/ssl/mod_ssl.c
+@@ -25,8 +25,7 @@
+ */
+
+ #include "ssl_private.h"
+-#include "mod_ssl.h"
+-#include "mod_ssl_openssl.h"
++
+ #include "util_md5.h"
+ #include "util_mutex.h"
+ #include "ap_provider.h"
+@@ -75,11 +74,9 @@
+ SSL_CMD_SRV(SessionCache, TAKE1,
+ "SSL Session Cache storage "
+ "('none', 'nonenotnull', 'dbm:/path/to/file')")
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
+ SSL_CMD_SRV(CryptoDevice, TAKE1,
+ "SSL external Crypto Device usage "
+ "('builtin', '...')")
+-#endif
+ SSL_CMD_SRV(RandomSeed, TAKE23,
+ "SSL Pseudo Random Number Generator (PRNG) seeding source "
+ "('startup|connect builtin|file:/path|exec:/path [bytes]')")
+--- httpd-2.4.58/modules/ssl/mod_ssl_openssl.h.r1913912
++++ httpd-2.4.58/modules/ssl/mod_ssl_openssl.h
+@@ -30,14 +30,17 @@
+
+ /* OpenSSL headers */
+
+-#ifndef SSL_PRIVATE_H
+ #include <openssl/opensslv.h>
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001000)
++#if OPENSSL_VERSION_NUMBER >= 0x30000000
++#include <openssl/macros.h> /* for OPENSSL_API_LEVEL */
++#endif
++#if OPENSSL_VERSION_NUMBER >= 0x10001000
+ /* must be defined before including ssl.h */
+ #define OPENSSL_NO_SSL_INTERN
+ #endif
+ #include <openssl/ssl.h>
+-#endif
++#include <openssl/evp.h>
++#include <openssl/x509.h>
+
+ /**
+ * init_server hook -- allow SSL_CTX-specific initialization to be performed by
+--- httpd-2.4.58/modules/ssl/ssl_engine_config.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_engine_config.c
+@@ -27,6 +27,7 @@
+ damned if you don't.''
+ -- Unknown */
+ #include "ssl_private.h"
++
+ #include "util_mutex.h"
+ #include "ap_provider.h"
+
+@@ -593,14 +594,15 @@
+ return NULL;
+ }
+
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
+ const char *ssl_cmd_SSLCryptoDevice(cmd_parms *cmd,
+ void *dcfg,
+ const char *arg)
+ {
+ SSLModConfigRec *mc = myModConfig(cmd->server);
+ const char *err;
++#if MODSSL_HAVE_ENGINE_API
+ ENGINE *e;
++#endif
+
+ if ((err = ap_check_cmd_context(cmd, GLOBAL_ONLY))) {
+ return err;
+@@ -609,13 +611,16 @@
+ if (strcEQ(arg, "builtin")) {
+ mc->szCryptoDevice = NULL;
+ }
++#if MODSSL_HAVE_ENGINE_API
+ else if ((e = ENGINE_by_id(arg))) {
+ mc->szCryptoDevice = arg;
+ ENGINE_free(e);
+ }
++#endif
+ else {
+ err = "SSLCryptoDevice: Invalid argument; must be one of: "
+ "'builtin' (none)";
++#if MODSSL_HAVE_ENGINE_API
+ e = ENGINE_get_first();
+ while (e) {
+ err = apr_pstrcat(cmd->pool, err, ", '", ENGINE_get_id(e),
+@@ -624,12 +629,12 @@
+ * on the 'old' e, per the docs in engine.h. */
+ e = ENGINE_get_next(e);
+ }
++#endif
+ return err;
+ }
+
+ return NULL;
+ }
+-#endif
+
+ const char *ssl_cmd_SSLRandomSeed(cmd_parms *cmd,
+ void *dcfg,
+--- httpd-2.4.58/modules/ssl/ssl_engine_init.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_engine_init.c
+@@ -27,8 +27,7 @@
+ see Recursive.''
+ -- Unknown */
+ #include "ssl_private.h"
+-#include "mod_ssl.h"
+-#include "mod_ssl_openssl.h"
++
+ #include "mpm_common.h"
+ #include "mod_md.h"
+
+@@ -218,6 +217,16 @@
+ }
+ #endif
+
++static APR_INLINE unsigned long modssl_runtime_lib_version(void)
++{
++#if MODSSL_USE_OPENSSL_PRE_1_1_API
++ return SSLeay();
++#else
++ return OpenSSL_version_num();
++#endif
++}
++
++
+ /*
+ * Per-module initialization
+ */
+@@ -225,18 +234,22 @@
+ apr_pool_t *ptemp,
+ server_rec *base_server)
+ {
++ unsigned long runtime_lib_version = modssl_runtime_lib_version();
+ SSLModConfigRec *mc = myModConfig(base_server);
+ SSLSrvConfigRec *sc;
+ server_rec *s;
+ apr_status_t rv;
+ apr_array_header_t *pphrases;
+
+- if (SSLeay() < MODSSL_LIBRARY_VERSION) {
++ AP_DEBUG_ASSERT(mc);
++
++ if (runtime_lib_version < MODSSL_LIBRARY_VERSION) {
+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, base_server, APLOGNO(01882)
+ "Init: this version of mod_ssl was compiled against "
+- "a newer library (%s, version currently loaded is %s)"
++ "a newer library (%s (%s), version currently loaded is 0x%lX)"
+ " - may result in undefined or erroneous behavior",
+- MODSSL_LIBRARY_TEXT, MODSSL_LIBRARY_DYNTEXT);
++ MODSSL_LIBRARY_TEXT, MODSSL_LIBRARY_DYNTEXT,
++ runtime_lib_version);
+ }
+
+ /* We initialize mc->pid per-process in the child init,
+@@ -313,11 +326,9 @@
+ /*
+ * SSL external crypto device ("engine") support
+ */
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
+ if ((rv = ssl_init_Engine(base_server, p)) != APR_SUCCESS) {
+ return rv;
+ }
+-#endif
+
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, base_server, APLOGNO(01883)
+ "Init: Initialized %s library", MODSSL_LIBRARY_NAME);
+@@ -473,9 +484,9 @@
+ * Support for external a Crypto Device ("engine"), usually
+ * a hardware accelerator card for crypto operations.
+ */
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
+ apr_status_t ssl_init_Engine(server_rec *s, apr_pool_t *p)
+ {
++#if MODSSL_HAVE_ENGINE_API
+ SSLModConfigRec *mc = myModConfig(s);
+ ENGINE *e;
+
+@@ -507,10 +518,9 @@
+
+ ENGINE_free(e);
+ }
+-
++#endif
+ return APR_SUCCESS;
+ }
+-#endif
+
+ #ifdef HAVE_TLSEXT
+ static apr_status_t ssl_init_ctx_tls_extensions(server_rec *s,
+@@ -1320,15 +1330,6 @@
+ return 0;
+ }
+
+-static APR_INLINE int modssl_DH_bits(DH *dh)
+-{
+-#if OPENSSL_VERSION_NUMBER < 0x30000000L
+- return DH_bits(dh);
+-#else
+- return BN_num_bits(DH_get0_p(dh));
+-#endif
+-}
+-
+ /* SSL_CTX_use_PrivateKey_file() can fail either because the private
+ * key was encrypted, or due to a mismatch between an already-loaded
+ * cert and the key - a common misconfiguration - from calling
+@@ -1354,15 +1355,10 @@
+ SSLModConfigRec *mc = myModConfig(s);
+ const char *vhost_id = mctx->sc->vhost_id, *key_id, *certfile, *keyfile;
+ int i;
+- X509 *cert;
+- DH *dh;
++ EVP_PKEY *pkey;
+ #ifdef HAVE_ECC
+- EC_GROUP *ecparams = NULL;
+- int nid;
+- EC_KEY *eckey = NULL;
+-#endif
+-#ifndef HAVE_SSL_CONF_CMD
+- SSL *ssl;
++ EC_GROUP *ecgroup = NULL;
++ int curve_nid = 0;
+ #endif
+
+ /* no OpenSSL default prompts for any of the SSL_CTX_use_* calls, please */
+@@ -1373,7 +1369,7 @@
+ (certfile = APR_ARRAY_IDX(mctx->pks->cert_files, i,
+ const char *));
+ i++) {
+- EVP_PKEY *pkey;
++ X509 *cert = NULL;
+ const char *engine_certfile = NULL;
+
+ key_id = apr_psprintf(ptemp, "%s:%d", vhost_id, i);
+@@ -1416,8 +1412,6 @@
+ if (modssl_is_engine_id(keyfile)) {
+ apr_status_t rv;
+
+- cert = NULL;
+-
+ if ((rv = modssl_load_engine_keypair(s, ptemp, vhost_id,
+ engine_certfile, keyfile,
+ &cert, &pkey))) {
+@@ -1488,22 +1482,21 @@
+ * assume that if SSL_CONF is available, it's OpenSSL 1.0.2 or later,
+ * and SSL_CTX_get0_certificate is implemented.)
+ */
+- if (!(cert = SSL_CTX_get0_certificate(mctx->ssl_ctx))) {
++ cert = SSL_CTX_get0_certificate(mctx->ssl_ctx);
+ #else
+- ssl = SSL_new(mctx->ssl_ctx);
++ {
++ SSL *ssl = SSL_new(mctx->ssl_ctx);
+ if (ssl) {
+ /* Workaround bug in SSL_get_certificate in OpenSSL 0.9.8y */
+ SSL_set_connect_state(ssl);
+ cert = SSL_get_certificate(ssl);
++ SSL_free(ssl);
++ }
+ }
+- if (!ssl || !cert) {
+ #endif
++ if (!cert) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(02566)
+ "Unable to retrieve certificate %s", key_id);
+-#ifndef HAVE_SSL_CONF_CMD
+- if (ssl)
+- SSL_free(ssl);
+-#endif
+ return APR_EGENERAL;
+ }
+
+@@ -1525,10 +1518,6 @@
+ }
+ #endif
+
+-#ifndef HAVE_SSL_CONF_CMD
+- SSL_free(ssl);
+-#endif
+-
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, s, APLOGNO(02568)
+ "Certificate and private key %s configured from %s and %s",
+ key_id, certfile, keyfile);
+@@ -1538,15 +1527,33 @@
+ * Try to read DH parameters from the (first) SSLCertificateFile
+ */
+ certfile = APR_ARRAY_IDX(mctx->pks->cert_files, 0, const char *);
+- if (certfile && !modssl_is_engine_id(certfile)
+- && (dh = ssl_dh_GetParamFromFile(certfile))) {
+- /* ### This should be replaced with SSL_CTX_set0_tmp_dh_pkey()
+- * for OpenSSL 3.0+. */
++ if (certfile && !modssl_is_engine_id(certfile)) {
++ int done = 0, num_bits = 0;
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
++ DH *dh = modssl_dh_from_file(certfile);
++ if (dh) {
++ num_bits = DH_bits(dh);
+ SSL_CTX_set_tmp_dh(mctx->ssl_ctx, dh);
++ DH_free(dh);
++ done = 1;
++ }
++#else
++ pkey = modssl_dh_pkey_from_file(certfile);
++ if (pkey) {
++ num_bits = EVP_PKEY_get_bits(pkey);
++ if (!SSL_CTX_set0_tmp_dh_pkey(mctx->ssl_ctx, pkey)) {
++ EVP_PKEY_free(pkey);
++ }
++ else {
++ done = 1;
++ }
++ }
++#endif
++ if (done) {
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02540)
+ "Custom DH parameters (%d bits) for %s loaded from %s",
+- modssl_DH_bits(dh), vhost_id, certfile);
+- DH_free(dh);
++ num_bits, vhost_id, certfile);
++ }
+ }
+ #if !MODSSL_USE_OPENSSL_PRE_1_1_API
+ else {
+@@ -1561,13 +1568,27 @@
+ * Similarly, try to read the ECDH curve name from SSLCertificateFile...
+ */
+ if (certfile && !modssl_is_engine_id(certfile)
+- && (ecparams = ssl_ec_GetParamFromFile(certfile))
+- && (nid = EC_GROUP_get_curve_name(ecparams))
+- && (eckey = EC_KEY_new_by_curve_name(nid))) {
++ && (ecgroup = modssl_ec_group_from_file(certfile))
++ && (curve_nid = EC_GROUP_get_curve_name(ecgroup))) {
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
++ EC_KEY *eckey = EC_KEY_new_by_curve_name(curve_nid);
++ if (eckey) {
+ SSL_CTX_set_tmp_ecdh(mctx->ssl_ctx, eckey);
++ EC_KEY_free(eckey);
++ }
++ else {
++ curve_nid = 0;
++ }
++#else
++ if (!SSL_CTX_set1_curves(mctx->ssl_ctx, &curve_nid, 1)) {
++ curve_nid = 0;
++ }
++#endif
++ if (curve_nid) {
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02541)
+ "ECDH curve %s for %s specified in %s",
+- OBJ_nid2sn(nid), vhost_id, certfile);
++ OBJ_nid2sn(curve_nid), vhost_id, certfile);
++ }
+ }
+ /*
+ * ...otherwise, enable auto curve selection (OpenSSL 1.0.2)
+@@ -1575,18 +1596,20 @@
+ * ECDH is always enabled in 1.1.0 unless excluded from SSLCipherList
+ */
+ #if MODSSL_USE_OPENSSL_PRE_1_1_API
+- else {
++ if (!curve_nid) {
+ #if defined(SSL_CTX_set_ecdh_auto)
+ SSL_CTX_set_ecdh_auto(mctx->ssl_ctx, 1);
+ #else
+- eckey = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
++ EC_KEY *eckey = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
++ if (eckey) {
+ SSL_CTX_set_tmp_ecdh(mctx->ssl_ctx, eckey);
++ EC_KEY_free(eckey);
++ }
+ #endif
+ }
+ #endif
+ /* OpenSSL assures us that _free() is NULL-safe */
+- EC_KEY_free(eckey);
+- EC_GROUP_free(ecparams);
++ EC_GROUP_free(ecgroup);
+ #endif
+
+ return APR_SUCCESS;
+--- httpd-2.4.58/modules/ssl/ssl_engine_io.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_engine_io.c
+@@ -28,8 +28,7 @@
+ core keeps dumping.''
+ -- Unknown */
+ #include "ssl_private.h"
+-#include "mod_ssl.h"
+-#include "mod_ssl_openssl.h"
++
+ #include "apr_date.h"
+
+ APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ssl, SSL, int, proxy_post_handshake,
+@@ -2283,14 +2282,7 @@
+ ssl_io_filter_cleanup, apr_pool_cleanup_null);
+
+ if (APLOG_CS_IS_LEVEL(c, mySrvFromConn(c), APLOG_TRACE4)) {
+- BIO *rbio = SSL_get_rbio(ssl),
+- *wbio = SSL_get_wbio(ssl);
+- BIO_set_callback(rbio, ssl_io_data_cb);
+- BIO_set_callback_arg(rbio, (void *)ssl);
+- if (wbio && wbio != rbio) {
+- BIO_set_callback(wbio, ssl_io_data_cb);
+- BIO_set_callback_arg(wbio, (void *)ssl);
+- }
++ modssl_set_io_callbacks(ssl);
+ }
+
+ return;
+@@ -2374,13 +2366,22 @@
+ "+-------------------------------------------------------------------------+");
+ }
+
+-long ssl_io_data_cb(BIO *bio, int cmd,
+- const char *argp,
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++static long modssl_io_cb(BIO *bio, int cmd, const char *argp,
++ size_t len, int argi, long argl, int rc,
++ size_t *processed)
++#else
++static long modssl_io_cb(BIO *bio, int cmd, const char *argp,
+ int argi, long argl, long rc)
++#endif
+ {
+ SSL *ssl;
+ conn_rec *c;
+ server_rec *s;
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ (void)len;
++ (void)processed;
++#endif
+
+ if ((ssl = (SSL *)BIO_get_callback_arg(bio)) == NULL)
+ return rc;
+@@ -2402,7 +2403,7 @@
+ "%s: %s %ld/%d bytes %s BIO#%pp [mem: %pp] %s",
+ MODSSL_LIBRARY_NAME,
+ (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "write" : "read"),
+- rc, argi, (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "to" : "from"),
++ (long)rc, argi, (cmd == (BIO_CB_WRITE|BIO_CB_RETURN) ? "to" : "from"),
+ bio, argp, dump);
+ if (*dump != '\0' && argp != NULL)
+ ssl_io_data_dump(c, s, argp, rc);
+@@ -2417,3 +2418,25 @@
+ }
+ return rc;
+ }
++
++static APR_INLINE void set_bio_callback(BIO *bio, void *arg)
++{
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ BIO_set_callback_ex(bio, modssl_io_cb);
++#else
++ BIO_set_callback(bio, modssl_io_cb);
++#endif
++ BIO_set_callback_arg(bio, arg);
++}
++
++void modssl_set_io_callbacks(SSL *ssl)
++{
++ BIO *rbio = SSL_get_rbio(ssl),
++ *wbio = SSL_get_wbio(ssl);
++ if (rbio) {
++ set_bio_callback(rbio, ssl);
++ }
++ if (wbio && wbio != rbio) {
++ set_bio_callback(wbio, ssl);
++ }
++}
+--- httpd-2.4.58/modules/ssl/ssl_engine_kernel.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_engine_kernel.c
+@@ -2581,6 +2581,7 @@
+ sc->server->pks->service_unavailable : 0;
+
+ ap_update_child_status_from_server(c->sbh, SERVER_BUSY_READ, c, s);
++
+ /*
+ * There is one special filter callback, which is set
+ * very early depending on the base_server's log level.
+@@ -2589,14 +2590,7 @@
+ * we need to set that callback here.
+ */
+ if (APLOGtrace4(s)) {
+- BIO *rbio = SSL_get_rbio(ssl),
+- *wbio = SSL_get_wbio(ssl);
+- BIO_set_callback(rbio, ssl_io_data_cb);
+- BIO_set_callback_arg(rbio, (void *)ssl);
+- if (wbio && wbio != rbio) {
+- BIO_set_callback(wbio, ssl_io_data_cb);
+- BIO_set_callback_arg(wbio, (void *)ssl);
+- }
++ modssl_set_io_callbacks(ssl);
+ }
+
+ return 1;
+--- httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c
+@@ -30,6 +30,8 @@
+ -- Clifford Stoll */
+ #include "ssl_private.h"
+
++#include <openssl/ui.h>
++
+ typedef struct {
+ server_rec *s;
+ apr_pool_t *p;
+@@ -606,8 +608,7 @@
+ return (len);
+ }
+
+-
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
++#if MODSSL_HAVE_ENGINE_API
+
+ /* OpenSSL UI implementation for passphrase entry; largely duplicated
+ * from ssl_pphrase_Handle_CB but adjusted for UI API. TODO: Might be
+@@ -831,7 +832,7 @@
+ const char *certid, const char *keyid,
+ X509 **pubkey, EVP_PKEY **privkey)
+ {
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
++#if MODSSL_HAVE_ENGINE_API
+ const char *c, *scheme;
+ ENGINE *e;
+ UI_METHOD *ui_method = get_passphrase_ui(p);
+--- httpd-2.4.58/modules/ssl/ssl_private.h.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_private.h
+@@ -83,16 +83,13 @@
+
+ #include "ap_expr.h"
+
+-/* OpenSSL headers */
+-#include <openssl/opensslv.h>
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001000)
+-/* must be defined before including ssl.h */
+-#define OPENSSL_NO_SSL_INTERN
+-#endif
+-#if OPENSSL_VERSION_NUMBER >= 0x30000000
+-#include <openssl/core_names.h>
++/* keep first for compat API */
++#ifndef OPENSSL_API_COMPAT
++#define OPENSSL_API_COMPAT 0x10101000 /* for ENGINE_ API */
+ #endif
+-#include <openssl/ssl.h>
++#include "mod_ssl_openssl.h"
++
++/* OpenSSL headers */
+ #include <openssl/err.h>
+ #include <openssl/x509.h>
+ #include <openssl/pem.h>
+@@ -102,12 +99,23 @@
+ #include <openssl/x509v3.h>
+ #include <openssl/x509_vfy.h>
+ #include <openssl/ocsp.h>
++#include <openssl/dh.h>
++#if OPENSSL_VERSION_NUMBER >= 0x30000000
++#include <openssl/core_names.h>
++#endif
+
+ /* Avoid tripping over an engine build installed globally and detected
+ * when the user points at an explicit non-engine flavor of OpenSSL
+ */
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
++#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT) \
++ && (OPENSSL_VERSION_NUMBER < 0x30000000 \
++ || (defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL < 30000)) \
++ && !defined(OPENSSL_NO_ENGINE)
+ #include <openssl/engine.h>
++#define MODSSL_HAVE_ENGINE_API 1
++#endif
++#ifndef MODSSL_HAVE_ENGINE_API
++#define MODSSL_HAVE_ENGINE_API 0
+ #endif
+
+ #if (OPENSSL_VERSION_NUMBER < 0x0090801f)
+@@ -142,10 +150,18 @@
+ * include most changes from OpenSSL >= 1.1 (new functions, macros,
+ * deprecations, ...), so we have to work around this...
+ */
+-#define MODSSL_USE_OPENSSL_PRE_1_1_API (LIBRESSL_VERSION_NUMBER < 0x2070000f)
++#if LIBRESSL_VERSION_NUMBER < 0x2070000f
++#define MODSSL_USE_OPENSSL_PRE_1_1_API 1
++#else
++#define MODSSL_USE_OPENSSL_PRE_1_1_API 0
++#endif
+ #else /* defined(LIBRESSL_VERSION_NUMBER) */
+-#define MODSSL_USE_OPENSSL_PRE_1_1_API (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define MODSSL_USE_OPENSSL_PRE_1_1_API 1
++#else
++#define MODSSL_USE_OPENSSL_PRE_1_1_API 0
+ #endif
++#endif /* defined(LIBRESSL_VERSION_NUMBER) */
+
+ #if defined(OPENSSL_FIPS) || OPENSSL_VERSION_NUMBER >= 0x30000000L
+ #define HAVE_FIPS
+@@ -211,7 +227,10 @@
+ #endif
+
+ /* Secure Remote Password */
+-#if !defined(OPENSSL_NO_SRP) && defined(SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB)
++#if !defined(OPENSSL_NO_SRP) \
++ && (OPENSSL_VERSION_NUMBER < 0x30000000L \
++ || (defined(OPENSSL_API_LEVEL) && OPENSSL_API_LEVEL < 30000)) \
++ && defined(SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB)
+ #define HAVE_SRP
+ #include <openssl/srp.h>
+ #endif
+@@ -254,6 +273,14 @@
+ #endif
+ #endif
+
++/* those may be deprecated */
++#ifndef X509_get_notBefore
++#define X509_get_notBefore X509_getm_notBefore
++#endif
++#ifndef X509_get_notAfter
++#define X509_get_notAfter X509_getm_notAfter
++#endif
++
+ #if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER)
+ #define HAVE_OPENSSL_KEYLOG
+ #endif
+@@ -1019,7 +1046,7 @@
+ /** I/O */
+ void ssl_io_filter_init(conn_rec *, request_rec *r, SSL *);
+ void ssl_io_filter_register(apr_pool_t *);
+-long ssl_io_data_cb(BIO *, int, const char *, int, long, long);
++void modssl_set_io_callbacks(SSL *ssl);
+
+ /* ssl_io_buffer_fill fills the setaside buffering of the HTTP request
+ * to allow an SSL renegotiation to take place. */
+@@ -1057,9 +1084,13 @@
+ X509 **pubkey, EVP_PKEY **privkey);
+
+ /** Diffie-Hellman Parameter Support */
+-DH *ssl_dh_GetParamFromFile(const char *);
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
++DH *modssl_dh_from_file(const char *);
++#else
++EVP_PKEY *modssl_dh_pkey_from_file(const char *);
++#endif
+ #ifdef HAVE_ECC
+-EC_GROUP *ssl_ec_GetParamFromFile(const char *);
++EC_GROUP *modssl_ec_group_from_file(const char *);
+ #endif
+
+ /* Store the EVP_PKEY key (serialized into DER) in the hash table with
+--- httpd-2.4.58/modules/ssl/ssl_util.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_util.c
+@@ -476,7 +476,7 @@
+
+ int modssl_is_engine_id(const char *name)
+ {
+-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(HAVE_ENGINE_INIT)
++#if MODSSL_HAVE_ENGINE_API
+ /* ### Can handle any other special ENGINE key names here? */
+ return strncmp(name, "pkcs11:", 7) == 0;
+ #else
+--- httpd-2.4.58/modules/ssl/ssl_util_ssl.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_util_ssl.c
+@@ -464,29 +464,52 @@
+ ** _________________________________________________________________
+ */
+
+-DH *ssl_dh_GetParamFromFile(const char *file)
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
++DH *modssl_dh_from_file(const char *file)
+ {
+- DH *dh = NULL;
++ DH *dh;
+ BIO *bio;
+
+ if ((bio = BIO_new_file(file, "r")) == NULL)
+ return NULL;
+ dh = PEM_read_bio_DHparams(bio, NULL, NULL, NULL);
+ BIO_free(bio);
+- return (dh);
++
++ return dh;
++}
++#else
++EVP_PKEY *modssl_dh_pkey_from_file(const char *file)
++{
++ EVP_PKEY *pkey;
++ BIO *bio;
++
++ if ((bio = BIO_new_file(file, "r")) == NULL)
++ return NULL;
++ pkey = PEM_read_bio_Parameters(bio, NULL);
++ BIO_free(bio);
++
++ return pkey;
+ }
++#endif
+
+ #ifdef HAVE_ECC
+-EC_GROUP *ssl_ec_GetParamFromFile(const char *file)
++EC_GROUP *modssl_ec_group_from_file(const char *file)
+ {
+- EC_GROUP *group = NULL;
++ EC_GROUP *group;
+ BIO *bio;
+
+ if ((bio = BIO_new_file(file, "r")) == NULL)
+ return NULL;
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
+ group = PEM_read_bio_ECPKParameters(bio, NULL, NULL, NULL);
++#else
++ group = PEM_ASN1_read_bio((void *)d2i_ECPKParameters,
++ PEM_STRING_ECPARAMETERS, bio,
++ NULL, NULL, NULL);
++#endif
+ BIO_free(bio);
+- return (group);
++
++ return group;
+ }
+ #endif
+
+--- httpd-2.4.58/modules/ssl/ssl_util_stapling.c.r1913912
++++ httpd-2.4.58/modules/ssl/ssl_util_stapling.c
+@@ -29,9 +29,9 @@
+ -- Alexei Sayle */
+
+ #include "ssl_private.h"
++
+ #include "ap_mpm.h"
+ #include "apr_thread_mutex.h"
+-#include "mod_ssl_openssl.h"
+
+ APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(ssl, SSL, int, init_stapling_status,
+ (server_rec *s, apr_pool_t *p,
+--- httpd-2.4.58/support/ab.c.r1913912
++++ httpd-2.4.58/support/ab.c
+@@ -166,13 +166,18 @@
+
+ #if defined(HAVE_OPENSSL)
+
+-#include <openssl/rsa.h>
++#include <openssl/evp.h>
+ #include <openssl/crypto.h>
+ #include <openssl/x509.h>
+ #include <openssl/pem.h>
+ #include <openssl/err.h>
+ #include <openssl/ssl.h>
+ #include <openssl/rand.h>
++#include <openssl/opensslv.h>
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++#include <openssl/core_names.h>
++#endif
++
+ #define USE_SSL
+
+ #define SK_NUM(x) sk_X509_num(x)
+@@ -555,22 +560,33 @@
+ *
+ */
+ #ifdef USE_SSL
+-static long ssl_print_cb(BIO *bio,int cmd,const char *argp,int argi,long argl,long ret)
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++static long ssl_print_cb(BIO *bio, int cmd, const char *argp,
++ size_t len, int argi, long argl, int ret,
++ size_t *processed)
++#else
++static long ssl_print_cb(BIO *bio, int cmd, const char *argp,
++ int argi, long argl, long ret)
++#endif
+ {
+ BIO *out;
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ (void)len;
++ (void)processed;
++#endif
+
+ out=(BIO *)BIO_get_callback_arg(bio);
+ if (out == NULL) return(ret);
+
+ if (cmd == (BIO_CB_READ|BIO_CB_RETURN)) {
+ BIO_printf(out,"read from %p [%p] (%d bytes => %ld (0x%lX))\n",
+- bio, argp, argi, ret, ret);
++ bio, argp, argi, (long)ret, (long)ret);
+ BIO_dump(out,(char *)argp,(int)ret);
+ return(ret);
+ }
+ else if (cmd == (BIO_CB_WRITE|BIO_CB_RETURN)) {
+ BIO_printf(out,"write to %p [%p] (%d bytes => %ld (0x%lX))\n",
+- bio, argp, argi, ret, ret);
++ bio, argp, argi, (long)ret, (long)ret);
+ BIO_dump(out,(char *)argp,(int)ret);
+ }
+ return ret;
+@@ -765,17 +781,29 @@
+ break;
+ #ifndef OPENSSL_NO_EC
+ case EVP_PKEY_EC: {
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ size_t len;
++ char cname[80];
++ if (!EVP_PKEY_get_utf8_string_param(key, OSSL_PKEY_PARAM_GROUP_NAME,
++ cname, sizeof(cname), &len)) {
++ cname[0] = '?';
++ len = 1;
++ }
++ cname[len] = '\0';
++#else
+ const char *cname = NULL;
+ EC_KEY *ec = EVP_PKEY_get1_EC_KEY(key);
+ int nid = EC_GROUP_get_curve_name(EC_KEY_get0_group(ec));
+ EC_KEY_free(ec);
+ cname = EC_curve_nid2nist(nid);
+- if (!cname)
++ if (!cname) {
+ cname = OBJ_nid2sn(nid);
+-
++ if (!cname)
++ cname = "?";
++ }
++#endif
+ apr_snprintf(ssl_tmp_key, 128, "ECDH %s %d bits",
+- cname,
+- EVP_PKEY_bits(key));
++ cname, EVP_PKEY_bits(key));
+ break;
+ }
+ #endif
+@@ -1428,7 +1456,11 @@
+ SSL_set_bio(c->ssl, bio, bio);
+ SSL_set_connect_state(c->ssl);
+ if (verbosity >= 4) {
++#if OPENSSL_VERSION_NUMBER >= 0x30000000L
++ BIO_set_callback_ex(bio, ssl_print_cb);
++#else
+ BIO_set_callback(bio, ssl_print_cb);
++#endif
+ BIO_set_callback_arg(bio, (void *)bio_err);
+ }
+ #ifdef HAVE_TLSEXT
diff --git a/httpd-2.4.58-r1914365.patch b/httpd-2.4.58-r1914365.patch
new file mode 100644
index 0000000..e7390eb
--- /dev/null
+++ b/httpd-2.4.58-r1914365.patch
@@ -0,0 +1,219 @@
+# ./pullrev.sh 1914365
+http://svn.apache.org/viewvc?view=revision&revision=1914365
+
+--- httpd-2.4.58/modules/ssl/ssl_engine_init.c.r1914365
++++ httpd-2.4.58/modules/ssl/ssl_engine_init.c
+@@ -1421,8 +1421,10 @@
+ if (cert) {
+ if (SSL_CTX_use_certificate(mctx->ssl_ctx, cert) < 1) {
+ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10137)
+- "Failed to configure engine certificate %s, check %s",
+- key_id, certfile);
++ "Failed to configure certificate %s from %s, check %s",
++ key_id, mc->szCryptoDevice ?
++ mc->szCryptoDevice : "provider",
++ certfile);
+ ssl_log_ssl_error(SSLLOG_MARK, APLOG_EMERG, s);
+ return APR_EGENERAL;
+ }
+@@ -1433,8 +1435,9 @@
+
+ if (SSL_CTX_use_PrivateKey(mctx->ssl_ctx, pkey) < 1) {
+ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10130)
+- "Failed to configure private key %s from engine",
+- keyfile);
++ "Failed to configure private key %s from %s",
++ keyfile, mc->szCryptoDevice ?
++ mc->szCryptoDevice : "provider");
+ ssl_log_ssl_error(SSLLOG_MARK, APLOG_EMERG, s);
+ return APR_EGENERAL;
+ }
+--- httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c.r1914365
++++ httpd-2.4.58/modules/ssl/ssl_engine_pphrase.c
+@@ -31,6 +31,9 @@
+ #include "ssl_private.h"
+
+ #include <openssl/ui.h>
++#if MODSSL_HAVE_OPENSSL_STORE
++#include <openssl/store.h>
++#endif
+
+ typedef struct {
+ server_rec *s;
+@@ -608,7 +611,7 @@
+ return (len);
+ }
+
+-#if MODSSL_HAVE_ENGINE_API
++#if MODSSL_HAVE_ENGINE_API || MODSSL_HAVE_OPENSSL_STORE
+
+ /* OpenSSL UI implementation for passphrase entry; largely duplicated
+ * from ssl_pphrase_Handle_CB but adjusted for UI API. TODO: Might be
+@@ -826,13 +829,14 @@
+ }
+ #endif
+
+-
+-apr_status_t modssl_load_engine_keypair(server_rec *s, apr_pool_t *p,
++#if MODSSL_HAVE_ENGINE_API
++static apr_status_t modssl_load_keypair_engine(server_rec *s, apr_pool_t *p,
+ const char *vhostid,
+- const char *certid, const char *keyid,
+- X509 **pubkey, EVP_PKEY **privkey)
++ const char *certid,
++ const char *keyid,
++ X509 **pubkey,
++ EVP_PKEY **privkey)
+ {
+-#if MODSSL_HAVE_ENGINE_API
+ const char *c, *scheme;
+ ENGINE *e;
+ UI_METHOD *ui_method = get_passphrase_ui(p);
+@@ -906,6 +910,118 @@
+ ENGINE_free(e);
+
+ return APR_SUCCESS;
++}
++#endif
++
++#if MODSSL_HAVE_OPENSSL_STORE
++static OSSL_STORE_INFO *modssl_load_store_uri(server_rec *s, apr_pool_t *p,
++ const char *vhostid,
++ const char *uri, int info_type)
++{
++ OSSL_STORE_CTX *sctx;
++ UI_METHOD *ui_method = get_passphrase_ui(p);
++ pphrase_cb_arg_t ppcb;
++ OSSL_STORE_INFO *info = NULL;
++
++ memset(&ppcb, 0, sizeof ppcb);
++ ppcb.s = s;
++ ppcb.p = p;
++ ppcb.bPassPhraseDialogOnce = TRUE;
++ ppcb.key_id = vhostid;
++ ppcb.pkey_file = uri;
++
++ sctx = OSSL_STORE_open(uri, ui_method, &ppcb, NULL, NULL);
++ if (!sctx) {
++ ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(10491)
++ "Init: OSSL_STORE_open failed for PKCS#11 URI `%s'",
++ uri);
++ return NULL;
++ }
++
++ while (!OSSL_STORE_eof(sctx)) {
++ info = OSSL_STORE_load(sctx);
++ if (!info)
++ break;
++
++ if (OSSL_STORE_INFO_get_type(info) == info_type)
++ break;
++
++ OSSL_STORE_INFO_free(info);
++ info = NULL;
++ }
++
++ OSSL_STORE_close(sctx);
++
++ return info;
++}
++
++static apr_status_t modssl_load_keypair_store(server_rec *s, apr_pool_t *p,
++ const char *vhostid,
++ const char *certid,
++ const char *keyid,
++ X509 **pubkey,
++ EVP_PKEY **privkey)
++{
++ OSSL_STORE_INFO *info = NULL;
++
++ *privkey = NULL;
++ *pubkey = NULL;
++
++ info = modssl_load_store_uri(s, p, vhostid, keyid, OSSL_STORE_INFO_PKEY);
++ if (!info) {
++ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10492)
++ "Init: OSSL_STORE_INFO_PKEY lookup failed for private key identifier `%s'",
++ keyid);
++ return ssl_die(s);
++ }
++
++ *privkey = OSSL_STORE_INFO_get1_PKEY(info);
++ OSSL_STORE_INFO_free(info);
++ if (!*privkey) {
++ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10493)
++ "Init: OSSL_STORE_INFO_PKEY lookup failed for private key identifier `%s'",
++ keyid);
++ return ssl_die(s);
++ }
++
++ if (certid) {
++ info = modssl_load_store_uri(s, p, vhostid, certid, OSSL_STORE_INFO_CERT);
++ if (!info) {
++ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10494)
++ "Init: OSSL_STORE_INFO_CERT lookup failed for certificate identifier `%s'",
++ keyid);
++ return ssl_die(s);
++ }
++
++ *pubkey = OSSL_STORE_INFO_get1_CERT(info);
++ OSSL_STORE_INFO_free(info);
++ if (!*pubkey) {
++ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(10495)
++ "Init: OSSL_STORE_INFO_CERT lookup failed for certificate identifier `%s'",
++ certid);
++ return ssl_die(s);
++ }
++ }
++
++ return APR_SUCCESS;
++}
++#endif
++
++apr_status_t modssl_load_engine_keypair(server_rec *s, apr_pool_t *p,
++ const char *vhostid,
++ const char *certid, const char *keyid,
++ X509 **pubkey, EVP_PKEY **privkey)
++{
++#if MODSSL_HAVE_OPENSSL_STORE
++ SSLModConfigRec *mc = myModConfig(s);
++
++ if (!mc->szCryptoDevice)
++ return modssl_load_keypair_store(s, p, vhostid, certid, keyid,
++ pubkey, privkey);
++#endif
++#if MODSSL_HAVE_ENGINE_API
++ return modssl_load_keypair_engine(s, p, vhostid, certid, keyid,
++ pubkey, privkey);
+ #else
+ return APR_ENOTIMPL;
+ #endif
+--- httpd-2.4.58/modules/ssl/ssl_private.h.r1914365
++++ httpd-2.4.58/modules/ssl/ssl_private.h
+@@ -118,6 +118,15 @@
+ #define MODSSL_HAVE_ENGINE_API 0
+ #endif
+
++/* Use OpenSSL 3.x STORE for loading URI keys and certificates starting with
++ * OpenSSL 3.0
++ */
++#if OPENSSL_VERSION_NUMBER >= 0x30000000
++#define MODSSL_HAVE_OPENSSL_STORE 1
++#else
++#define MODSSL_HAVE_OPENSSL_STORE 0
++#endif
++
+ #if (OPENSSL_VERSION_NUMBER < 0x0090801f)
+ #error mod_ssl requires OpenSSL 0.9.8a or later
+ #endif
+--- httpd-2.4.58/modules/ssl/ssl_util.c.r1914365
++++ httpd-2.4.58/modules/ssl/ssl_util.c
+@@ -476,7 +476,7 @@
+
+ int modssl_is_engine_id(const char *name)
+ {
+-#if MODSSL_HAVE_ENGINE_API
++#if MODSSL_HAVE_ENGINE_API || MODSSL_HAVE_OPENSSL_STORE
+ /* ### Can handle any other special ENGINE key names here? */
+ return strncmp(name, "pkcs11:", 7) == 0;
+ #else
diff --git a/httpd.spec b/httpd.spec
index f593ac4..8bd81c5 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 3%{?dist}
+Release: 4%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -97,6 +97,8 @@ Patch42: httpd-2.4.48-r1828172+.patch
Patch45: httpd-2.4.43-logjournal.patch
Patch46: httpd-2.4.53-separate-systemd-fns.patch
Patch47: httpd-2.4.58-r1912477+.patch
+Patch48: httpd-2.4.58-r1913912+.patch
+Patch49: httpd-2.4.58-r1914365.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
@@ -274,6 +276,8 @@ written in the Lua programming language.
%patch -P46 -p1 -b .separatesystemd
%patch -P25 -p1 -b .selinux
%patch -P47 -p1 -b .r1912477+
+%patch -P48 -p1 -b .r1913912
+%patch -P49 -p1 -b .r1914365
%patch -P60 -p1 -b .enable-sslv3
%patch -P61 -p1 -b .r1914013
@@ -863,6 +867,10 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Fri Jan 5 2024 Joe Orton <jorton(a)redhat.com> - 2.4.58-4
+- fix OpenSSL 3.0 deprecation warnings (r1913912, r1915067)
+- mod_ssl: move to provider API for pkcs11 support (#2253014)
+
* Fri Dec 8 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-3
- mod_dav_fs: add DAVLockDBType, use global lock around lockdb
- fix build with libxml2 2.12
diff --git a/pullrev.sh b/pullrev.sh
index 703d376..7ace161 100755
--- a/pullrev.sh
+++ b/pullrev.sh
@@ -6,7 +6,7 @@ if [ $# -lt 1 ]; then
fi
repo="https://svn.apache.org/repos/asf/httpd/httpd/trunk"
-#repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
+repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
ver=2.4.58
prefix="httpd-${ver}"
suffix="${SUFFIX:-r$1${2:++}}"
@@ -43,7 +43,9 @@ for r in $*; do
http*) curl -s "$r" | filterdiff --strip=3 ;;
*) svn diff -c ${r} ${repo} ;;
esac | filterdiff --remove-timestamps --clean \
- -x 'CHANGES' -x '*/next-number' -x 'STATUS' -x '*.xml' -x 'changes-entries/*' \
+ -x 'CHANGES' -x 'changes-entries/*.txt' \
+ -x '*/next-number' -x 'STATUS' -x '*.xml' \
+ -x '.github/*' \
--addprefix="${prefix}/" > ${this}
next=`mktemp /tmp/pullrevXXXXXX`
if ! combinediff -w ${prev} ${this} > ${next}; then
commit af4e8a43b66a9ed63903c84ca4b9be765bda87a1
Author: Joe Orton <jorton(a)redhat.com>
Date: Tue Dec 12 08:59:47 2023 +0000
Note build fix.
diff --git a/httpd.spec b/httpd.spec
index 5bd2c4d..f593ac4 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -865,6 +865,7 @@ exit $rv
%changelog
* Fri Dec 8 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-3
- mod_dav_fs: add DAVLockDBType, use global lock around lockdb
+- fix build with libxml2 2.12
* Thu Nov 2 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-2
- add dependency on apr-util-1(dbm) so a DBM provider is present
commit 3d4b4777ce7dcd6b777cc57052faeb192828f618
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Dec 8 11:55:58 2023 +0000
- fix build with libxml2 2.12
diff --git a/httpd-2.4.58-r1914013.patch b/httpd-2.4.58-r1914013.patch
new file mode 100644
index 0000000..f9e0786
--- /dev/null
+++ b/httpd-2.4.58-r1914013.patch
@@ -0,0 +1,14 @@
+# ./pullrev.sh 1914013
+http://svn.apache.org/viewvc?view=revision&revision=1914013
+
+--- httpd-2.4.58/modules/filters/mod_xml2enc.c
++++ httpd-2.4.58/modules/filters/mod_xml2enc.c
+@@ -209,7 +209,7 @@
+
+ /* to sniff, first we look for BOM */
+ if (ctx->xml2enc == XML_CHAR_ENCODING_NONE) {
+- ctx->xml2enc = xmlDetectCharEncoding((const xmlChar*)ctx->buf,
++ ctx->xml2enc = xmlDetectCharEncoding((const unsigned char*)ctx->buf,
+ ctx->bytes);
+ if (HAVE_ENCODING(ctx->xml2enc)) {
+ ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01432)
diff --git a/httpd.spec b/httpd.spec
index bff884c..5bd2c4d 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -101,6 +101,7 @@ Patch47: httpd-2.4.58-r1912477+.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
Patch60: httpd-2.4.43-enable-sslv3.patch
+Patch61: httpd-2.4.58-r1914013.patch
Patch63: httpd-2.4.46-htcacheclean-dont-break.patch
Patch65: httpd-2.4.51-r1894152.patch
@@ -275,6 +276,7 @@ written in the Lua programming language.
%patch -P47 -p1 -b .r1912477+
%patch -P60 -p1 -b .enable-sslv3
+%patch -P61 -p1 -b .r1914013
%patch -P63 -p1 -b .htcacheclean-dont-break
%patch -P65 -p1 -b .r1894152
commit 5d639c7ccf9c83fe9fdbe28d95ed751f8d332620
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Dec 8 11:11:45 2023 +0000
mod_dav_fs: add DAVLockDBType, use global lock around lockdb
diff --git a/httpd-2.4.58-properr.patch b/httpd-2.4.58-properr.patch
deleted file mode 100644
index 4071f25..0000000
--- a/httpd-2.4.58-properr.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- httpd-2.4.58/modules/dav/fs/dbm.c.properr
-+++ httpd-2.4.58/modules/dav/fs/dbm.c
-@@ -100,7 +100,7 @@
- /* There might not be a <db> if we had problems creating it. */
- if (db == NULL) {
- errcode = 1;
-- errstr = "Could not open property database.";
-+ errstr = "Could not open database.";
- if (APR_STATUS_IS_EDSOOPEN(status))
- ap_log_error(APLOG_MARK, APLOG_CRIT, status, ap_server_conf, APLOGNO(00576)
- "The DBM driver could not be loaded");
-@@ -147,7 +147,7 @@
- "mod_dav_fs: The DBM library '%s' could not be loaded: %s",
- err->reason, err->msg);
- return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 1, status,
-- "Could not load library for property database.");
-+ "Could not load library for DBM database.");
- }
- if ((status = apr_dbm_open2(&file, driver, pathname,
- ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
-@@ -162,6 +162,9 @@
- != APR_SUCCESS
- && !ro) {
- /* ### do something with 'status' */
-+ ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
-+ "mod_dav_fs: apr_dbm_open() failed for %s (read-%s)",
-+ pathname, ro ? "only" : "write");
-
- /* we can't continue if we couldn't open the file
- and we need to write */
diff --git a/httpd-2.4.58-r1912477+.patch b/httpd-2.4.58-r1912477+.patch
new file mode 100644
index 0000000..6458df8
--- /dev/null
+++ b/httpd-2.4.58-r1912477+.patch
@@ -0,0 +1,381 @@
+# ./pullrev.sh 1912477 1912571 1912718 1913654 1914438
+http://svn.apache.org/viewvc?view=revision&revision=1912477
+http://svn.apache.org/viewvc?view=revision&revision=1912571
+http://svn.apache.org/viewvc?view=revision&revision=1912718
+http://svn.apache.org/viewvc?view=revision&revision=1913654
+http://svn.apache.org/viewvc?view=revision&revision=1914438
+
+--- httpd-2.4.58/modules/dav/fs/config6.m4.r1912477+
++++ httpd-2.4.58/modules/dav/fs/config6.m4
+@@ -20,4 +20,10 @@
+
+ APACHE_MODULE(dav_fs, DAV provider for the filesystem. --enable-dav also enables mod_dav_fs., $dav_fs_objects, , $dav_fs_enable,,dav)
+
++if test "x$enable_dav_fs" = "xshared"; then
++ # The only symbol which needs to be exported is the module
++ # structure, so ask libtool to hide everything else:
++ APR_ADDTO(MOD_DAV_FS_LDADD, [-export-symbols-regex dav_fs_module])
++fi
++
+ APACHE_MODPATH_FINISH
+--- httpd-2.4.58/modules/dav/fs/dbm.c.r1912477+
++++ httpd-2.4.58/modules/dav/fs/dbm.c
+@@ -47,6 +47,10 @@
+ #include "http_log.h"
+ #include "http_main.h" /* for ap_server_conf */
+
++#ifndef DEFAULT_PROPDB_DBM_TYPE
++#define DEFAULT_PROPDB_DBM_TYPE "default"
++#endif
++
+ APLOG_USE_MODULE(dav_fs);
+
+ struct dav_db {
+@@ -100,7 +104,7 @@
+ /* There might not be a <db> if we had problems creating it. */
+ if (db == NULL) {
+ errcode = 1;
+- errstr = "Could not open property database.";
++ errstr = "Could not open database.";
+ if (APR_STATUS_IS_EDSOOPEN(status))
+ ap_log_error(APLOG_MARK, APLOG_CRIT, status, ap_server_conf, APLOGNO(00576)
+ "The DBM driver could not be loaded");
+@@ -129,10 +133,10 @@
+ /* dav_dbm_open_direct: Opens a *dbm database specified by path.
+ * ro = boolean read-only flag.
+ */
+-dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
+- dav_db **pdb)
++dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname,
++ const char *dbmtype, int ro, dav_db **pdb)
+ {
+-#if APU_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
++#if APR_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
+ const apr_dbm_driver_t *driver;
+ const apu_err_t *err;
+ #endif
+@@ -141,13 +145,13 @@
+
+ *pdb = NULL;
+
+-#if APU_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
+- if ((status = apr_dbm_get_driver(&driver, NULL, &err, p)) != APR_SUCCESS) {
++#if APR_MAJOR_VERSION > 1 || (APU_MAJOR_VERSION == 1 && APU_MINOR_VERSION >= 7)
++ if ((status = apr_dbm_get_driver(&driver, dbmtype, &err, p)) != APR_SUCCESS) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf, APLOGNO(10289)
+- "mod_dav_fs: The DBM library '%s' could not be loaded: %s",
+- err->reason, err->msg);
++ "mod_dav_fs: The DBM library '%s' for '%s' could not be loaded: %s",
++ err->reason, dbmtype, err->msg);
+ return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 1, status,
+- "Could not load library for property database.");
++ "Could not load library for database.");
+ }
+ if ((status = apr_dbm_open2(&file, driver, pathname,
+ ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
+@@ -156,7 +160,7 @@
+ return dav_fs_dbm_error(NULL, p, status);
+ }
+ #else
+- if ((status = apr_dbm_open(&file, pathname,
++ if ((status = apr_dbm_open_ex(&file, dbmtype, pathname,
+ ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
+ APR_OS_DEFAULT, p))
+ != APR_SUCCESS
+@@ -206,7 +210,7 @@
+
+ /* ### do we need to deal with the umask? */
+
+- return dav_dbm_open_direct(p, pathname, ro, pdb);
++ return dav_dbm_open_direct(p, pathname, DEFAULT_PROPDB_DBM_TYPE, ro, pdb);
+ }
+
+ void dav_dbm_close(dav_db *db)
+--- httpd-2.4.58/modules/dav/fs/lock.c.r1912477+
++++ httpd-2.4.58/modules/dav/fs/lock.c
+@@ -181,8 +181,7 @@
+ {
+ request_rec *r; /* for accessing the uuid state */
+ apr_pool_t *pool; /* a pool to use */
+- const char *lockdb_path; /* where is the lock database? */
+-
++ const dav_fs_server_conf *conf; /* lock database config & metadata */
+ int opened; /* we opened the database */
+ dav_db *db; /* if non-NULL, the lock database */
+ };
+@@ -292,6 +291,19 @@
+ return dav_compare_locktoken(lt1, lt2);
+ }
+
++static apr_status_t dav_fs_lockdb_cleanup(void *data)
++{
++ dav_lockdb *lockdb = data;
++
++ apr_global_mutex_unlock(lockdb->info->conf->lockdb_mutex);
++
++ if (lockdb->info->db) {
++ dav_dbm_close(lockdb->info->db);
++ }
++
++ return APR_SUCCESS;
++}
++
+ /*
+ ** dav_fs_really_open_lockdb:
+ **
+@@ -300,15 +312,27 @@
+ static dav_error * dav_fs_really_open_lockdb(dav_lockdb *lockdb)
+ {
+ dav_error *err;
++ apr_status_t rv;
+
+ if (lockdb->info->opened)
+ return NULL;
+
++ rv = apr_global_mutex_lock(lockdb->info->conf->lockdb_mutex);
++ if (rv) {
++ return dav_new_error(lockdb->info->pool,
++ HTTP_INTERNAL_SERVER_ERROR,
++ DAV_ERR_LOCK_OPENDB, rv,
++ "Could not lock mutex for lock database.");
++ }
++
+ err = dav_dbm_open_direct(lockdb->info->pool,
+- lockdb->info->lockdb_path,
++ lockdb->info->conf->lockdb_path,
++ lockdb->info->conf->lockdb_type,
+ lockdb->ro,
+ &lockdb->info->db);
+ if (err != NULL) {
++ apr_global_mutex_unlock(lockdb->info->conf->lockdb_mutex);
++
+ return dav_push_error(lockdb->info->pool,
+ HTTP_INTERNAL_SERVER_ERROR,
+ DAV_ERR_LOCK_OPENDB,
+@@ -316,6 +340,10 @@
+ err);
+ }
+
++ apr_pool_cleanup_register(lockdb->info->pool, lockdb,
++ dav_fs_lockdb_cleanup,
++ dav_fs_lockdb_cleanup);
++
+ /* all right. it is opened now. */
+ lockdb->info->opened = 1;
+
+@@ -341,9 +369,9 @@
+ comb->pub.info = &comb->priv;
+ comb->priv.r = r;
+ comb->priv.pool = r->pool;
+-
+- comb->priv.lockdb_path = dav_get_lockdb_path(r);
+- if (comb->priv.lockdb_path == NULL) {
++ comb->priv.conf = dav_fs_get_server_conf(r);
++
++ if (comb->priv.conf == NULL || comb->priv.conf->lockdb_path == NULL) {
+ return dav_new_error(r->pool, HTTP_INTERNAL_SERVER_ERROR,
+ DAV_ERR_LOCK_NO_DB, 0,
+ "A lock database was not specified with the "
+@@ -369,8 +397,8 @@
+ */
+ static void dav_fs_close_lockdb(dav_lockdb *lockdb)
+ {
+- if (lockdb->info->db != NULL)
+- dav_dbm_close(lockdb->info->db);
++ apr_pool_cleanup_run(lockdb->info->pool, lockdb,
++ dav_fs_lockdb_cleanup);
+ }
+
+ /*
+--- httpd-2.4.58/modules/dav/fs/mod_dav_fs.c.r1912477+
++++ httpd-2.4.58/modules/dav/fs/mod_dav_fs.c
+@@ -14,31 +14,35 @@
+ * limitations under the License.
+ */
+
++#if !defined(_MSC_VER) && !defined(NETWARE)
++#include "ap_config_auto.h"
++#endif
++
+ #include "httpd.h"
+ #include "http_config.h"
++#include "http_core.h"
++#include "http_log.h"
+ #include "apr_strings.h"
+
+ #include "mod_dav.h"
+ #include "repos.h"
+
+-/* per-server configuration */
+-typedef struct {
+- const char *lockdb_path;
+-
+-} dav_fs_server_conf;
+-
+ extern module AP_MODULE_DECLARE_DATA dav_fs_module;
+
+ #ifndef DEFAULT_DAV_LOCKDB
+ #define DEFAULT_DAV_LOCKDB "davlockdb"
+ #endif
++#ifndef DEFAULT_DAV_LOCKDB_TYPE
++#define DEFAULT_DAV_LOCKDB_TYPE "default"
++#endif
+
+-const char *dav_get_lockdb_path(const request_rec *r)
+-{
+- dav_fs_server_conf *conf;
++static const char dav_fs_mutexid[] = "dav_fs-lockdb";
+
+- conf = ap_get_module_config(r->server->module_config, &dav_fs_module);
+- return conf->lockdb_path;
++static apr_global_mutex_t *dav_fs_lockdb_mutex;
++
++const dav_fs_server_conf *dav_fs_get_server_conf(const request_rec *r)
++{
++ return ap_get_module_config(r->server->module_config, &dav_fs_module);
+ }
+
+ static void *dav_fs_create_server_config(apr_pool_t *p, server_rec *s)
+@@ -57,15 +61,50 @@
+
+ newconf->lockdb_path =
+ child->lockdb_path ? child->lockdb_path : parent->lockdb_path;
++ newconf->lockdb_type =
++ child->lockdb_type ? child->lockdb_type : parent->lockdb_type;
+
+ return newconf;
+ }
+
++static int dav_fs_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp)
++{
++ if (ap_mutex_register(pconf, dav_fs_mutexid, NULL, APR_LOCK_DEFAULT, 0))
++ return !OK;
++ return OK;
++}
++
++static void dav_fs_child_init(apr_pool_t *p, server_rec *s)
++{
++ apr_status_t rv;
++
++ rv = apr_global_mutex_child_init(&dav_fs_lockdb_mutex,
++ apr_global_mutex_lockfile(dav_fs_lockdb_mutex),
++ p);
++ if (rv) {
++ ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
++ APLOGNO(10488) "child init failed for mutex");
++ }
++}
++
+ static apr_status_t dav_fs_post_config(apr_pool_t *p, apr_pool_t *plog,
+ apr_pool_t *ptemp, server_rec *base_server)
+ {
+ server_rec *s;
++ apr_status_t rv;
+
++ /* Ignore first pass through the config. */
++ if (ap_state_query(AP_SQ_MAIN_STATE) == AP_SQ_MS_CREATE_PRE_CONFIG)
++ return OK;
++
++ rv = ap_global_mutex_create(&dav_fs_lockdb_mutex, NULL, dav_fs_mutexid, NULL,
++ base_server, p, 0);
++ if (rv) {
++ ap_log_error(APLOG_MARK, APLOG_ERR, rv, base_server,
++ APLOGNO(10489) "could not create lock mutex");
++ return !OK;
++ }
++
+ for (s = base_server; s; s = s->next) {
+ dav_fs_server_conf *conf;
+
+@@ -74,6 +113,13 @@
+ if (!conf->lockdb_path) {
+ conf->lockdb_path = ap_state_dir_relative(p, DEFAULT_DAV_LOCKDB);
+ }
++ if (!conf->lockdb_type) {
++ conf->lockdb_type = DEFAULT_DAV_LOCKDB_TYPE;
++ }
++
++ /* Mutex is common across all vhosts, but could have one per
++ * vhost if required. */
++ conf->lockdb_mutex = dav_fs_lockdb_mutex;
+ }
+
+ return OK;
+@@ -98,19 +144,36 @@
+ return NULL;
+ }
+
++/*
++ * Command handler for the DAVLockDBType directive, which is TAKE1
++ */
++static const char *dav_fs_cmd_davlockdbtype(cmd_parms *cmd, void *config,
++ const char *arg1)
++{
++ dav_fs_server_conf *conf = ap_get_module_config(cmd->server->module_config,
++ &dav_fs_module);
++ conf->lockdb_type = arg1;
++
++ return NULL;
++}
++
+ static const command_rec dav_fs_cmds[] =
+ {
+ /* per server */
+ AP_INIT_TAKE1("DAVLockDB", dav_fs_cmd_davlockdb, NULL, RSRC_CONF,
+ "specify a lock database"),
++ AP_INIT_TAKE1("DAVLockDBType", dav_fs_cmd_davlockdbtype, NULL, RSRC_CONF,
++ "specify a lock database DBM type"),
+
+ { NULL }
+ };
+
+ static void register_hooks(apr_pool_t *p)
+ {
++ ap_hook_pre_config(dav_fs_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
+ ap_hook_post_config(dav_fs_post_config, NULL, NULL, APR_HOOK_MIDDLE);
+-
++ ap_hook_child_init(dav_fs_child_init, NULL, NULL, APR_HOOK_MIDDLE);
++
+ dav_hook_gather_propsets(dav_fs_gather_propsets, NULL, NULL,
+ APR_HOOK_MIDDLE);
+ dav_hook_find_liveprop(dav_fs_find_liveprop, NULL, NULL, APR_HOOK_MIDDLE);
+--- httpd-2.4.58/modules/dav/fs/repos.h.r1912477+
++++ httpd-2.4.58/modules/dav/fs/repos.h
+@@ -25,6 +25,8 @@
+ #ifndef _DAV_FS_REPOS_H_
+ #define _DAV_FS_REPOS_H_
+
++#include "util_mutex.h"
++
+ /* the subdirectory to hold all DAV-related information for a directory */
+ #define DAV_FS_STATE_DIR ".DAV"
+ #define DAV_FS_STATE_FILE_FOR_DIR ".state_for_dir"
+@@ -53,8 +55,8 @@
+ /* DBM functions used by the repository and locking providers */
+ extern const dav_hooks_db dav_hooks_db_dbm;
+
+-dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
+- dav_db **pdb);
++dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname,
++ const char *dbmtype, int ro, dav_db **pdb);
+ void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname,
+ const char **state1, const char **state2);
+ dav_error * dav_dbm_delete(dav_db *db, apr_datum_t key);
+@@ -64,8 +66,15 @@
+ int dav_dbm_exists(dav_db *db, apr_datum_t key);
+ void dav_dbm_close(dav_db *db);
+
+-/* where is the lock database located? */
+-const char *dav_get_lockdb_path(const request_rec *r);
++/* Per-server configuration. */
++typedef struct {
++ const char *lockdb_path;
++ const char *lockdb_type;
++ apr_global_mutex_t *lockdb_mutex;
++} dav_fs_server_conf;
++
++/* Returns server configuration for the request. */
++const dav_fs_server_conf *dav_fs_get_server_conf(const request_rec *r);
+
+ const dav_hooks_locks *dav_fs_get_lock_hooks(request_rec *r);
+ const dav_hooks_propdb *dav_fs_get_propdb_hooks(request_rec *r);
diff --git a/httpd.spec b/httpd.spec
index 066d182..bff884c 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 2%{?dist}
+Release: 3%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -96,6 +96,7 @@ Patch41: httpd-2.4.43-r1861793+.patch
Patch42: httpd-2.4.48-r1828172+.patch
Patch45: httpd-2.4.43-logjournal.patch
Patch46: httpd-2.4.53-separate-systemd-fns.patch
+Patch47: httpd-2.4.58-r1912477+.patch
# Bug fixes
# https://bugzilla.redhat.com/show_bug.cgi?id=1397243
@@ -271,6 +272,7 @@ written in the Lua programming language.
%patch -P45 -p1 -b .logjournal
%patch -P46 -p1 -b .separatesystemd
%patch -P25 -p1 -b .selinux
+%patch -P47 -p1 -b .r1912477+
%patch -P60 -p1 -b .enable-sslv3
%patch -P63 -p1 -b .htcacheclean-dont-break
@@ -859,6 +861,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Fri Dec 8 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-3
+- mod_dav_fs: add DAVLockDBType, use global lock around lockdb
+
* Thu Nov 2 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-2
- add dependency on apr-util-1(dbm) so a DBM provider is present
commit d69c709d67f1668d05fe7466b677ef5923b1c1f2
Author: Joe Orton <jorton(a)redhat.com>
Date: Fri Dec 8 11:09:28 2023 +0000
Update pullrev.sh.
diff --git a/pullrev.sh b/pullrev.sh
index 87b7cd7..703d376 100755
--- a/pullrev.sh
+++ b/pullrev.sh
@@ -7,7 +7,7 @@ fi
repo="https://svn.apache.org/repos/asf/httpd/httpd/trunk"
#repo="https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x"
-ver=2.4.51
+ver=2.4.58
prefix="httpd-${ver}"
suffix="${SUFFIX:-r$1${2:++}}"
fn="${prefix}-${suffix}.patch"
@@ -43,7 +43,7 @@ for r in $*; do
http*) curl -s "$r" | filterdiff --strip=3 ;;
*) svn diff -c ${r} ${repo} ;;
esac | filterdiff --remove-timestamps --clean \
- -x 'CHANGES' -x '*/next-number' -x 'STATUS' -x '*.xml' \
+ -x 'CHANGES' -x '*/next-number' -x 'STATUS' -x '*.xml' -x 'changes-entries/*' \
--addprefix="${prefix}/" > ${this}
next=`mktemp /tmp/pullrevXXXXXX`
if ! combinediff -w ${prev} ${this} > ${next}; then
@@ -62,4 +62,4 @@ echo "+ git add ${fn}"
git add "${fn}"
echo "+ spec template:"
echo "PatchN: ${fn}"
-echo "%patchN -p1 -b .${suffix}"
+echo "%patch -PN -p1 -b .${suffix}"
commit ac146d28f9397bf803ede12450d2acead287a21d
Author: Joe Orton <jorton(a)redhat.com>
Date: Thu Nov 2 14:39:09 2023 +0000
add dependency on apr-util-1(dbm) so a DBM provider is present
diff --git a/httpd-2.4.58-properr.patch b/httpd-2.4.58-properr.patch
new file mode 100644
index 0000000..4071f25
--- /dev/null
+++ b/httpd-2.4.58-properr.patch
@@ -0,0 +1,30 @@
+--- httpd-2.4.58/modules/dav/fs/dbm.c.properr
++++ httpd-2.4.58/modules/dav/fs/dbm.c
+@@ -100,7 +100,7 @@
+ /* There might not be a <db> if we had problems creating it. */
+ if (db == NULL) {
+ errcode = 1;
+- errstr = "Could not open property database.";
++ errstr = "Could not open database.";
+ if (APR_STATUS_IS_EDSOOPEN(status))
+ ap_log_error(APLOG_MARK, APLOG_CRIT, status, ap_server_conf, APLOGNO(00576)
+ "The DBM driver could not be loaded");
+@@ -147,7 +147,7 @@
+ "mod_dav_fs: The DBM library '%s' could not be loaded: %s",
+ err->reason, err->msg);
+ return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 1, status,
+- "Could not load library for property database.");
++ "Could not load library for DBM database.");
+ }
+ if ((status = apr_dbm_open2(&file, driver, pathname,
+ ro ? APR_DBM_READONLY : APR_DBM_RWCREATE,
+@@ -162,6 +162,9 @@
+ != APR_SUCCESS
+ && !ro) {
+ /* ### do something with 'status' */
++ ap_log_error(APLOG_MARK, APLOG_ERR, status, ap_server_conf,
++ "mod_dav_fs: apr_dbm_open() failed for %s (read-%s)",
++ pathname, ro ? "only" : "write");
+
+ /* we can't continue if we couldn't open the file
+ and we need to write */
diff --git a/httpd.spec b/httpd.spec
index 4ff2d58..066d182 100644
--- a/httpd.spec
+++ b/httpd.spec
@@ -24,7 +24,7 @@
Summary: Apache HTTP Server
Name: httpd
Version: 2.4.58
-Release: 1%{?dist}
+Release: 2%{?dist}
URL: https://httpd.apache.org/
Source0: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: https://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2.asc
@@ -142,6 +142,9 @@ Provides: mod_proxy_uwsgi = %{version}-%{release}
Requires: /etc/mime.types
Requires: httpd-tools = %{version}-%{release}
Requires: httpd-filesystem = %{version}-%{release}
+%if 0%{?fedora} > 39 || 0%{?rhel} > 9
+Requires: apr-util-1(dbm)%{_isa}
+%endif
Requires(pre): httpd-filesystem
Conflicts: apr < 1.5.0-1
Conflicts: httpd < 2.4.53-2
@@ -856,6 +859,9 @@ exit $rv
%{_rpmconfigdir}/macros.d/macros.httpd
%changelog
+* Thu Nov 2 2023 Joe Orton <jorton(a)redhat.com> - 2.4.58-2
+- add dependency on apr-util-1(dbm) so a DBM provider is present
+
* Fri Oct 20 2023 Luboš Uhliarik <luhliari(a)redhat.com> - 2.4.58-1
- new version 2.4.58
1 month, 2 weeks
Architecture specific change in rpms/celestia.git
by githook-noreply@fedoraproject.org
The package rpms/celestia.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/celestia.git/commit/?id=d98aa6404....
Change:
-%ifarch x86_64 aarch64
Thanks.
Full change:
============
commit 631d5f877b83bce04a81431f21c2f9247584be7f
Merge: 205ac45 5f1b3df
Author: Jan Grulich <jgrulich(a)redhat.com>
Date: Thu Apr 18 09:02:06 2024 +0200
Merge branch 'rawhide' into f40
commit 5f1b3dfb9f1b5a4400d3d4dbe0cec1b4fffd1533
Author: Jan Grulich <jgrulich(a)redhat.com>
Date: Thu Apr 4 10:36:13 2024 +0200
Rebuild (qt6)
commit d98aa6404fce7fcc4efd4e9388209634d7d667bc
Author: Mattia Verga <mattia.verga(a)proton.me>
Date: Sat Mar 23 08:43:38 2024 +0100
Retired due celestia-data retired due to licensing issues
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 9b490b7..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-celestia-1.5.1.tar.gz
-/celestia-1.6.0.tar.gz
-/celestia-1.6.1.tar.gz
-/celestia-1.6.1-clean.tar.gz
-/celestia-1.6.1-clean.tar.xz
-/celestia-1.6.2-beta3-clean.tar.xz
-/1.6.2-beta3.tar.gz
-/Celestia-ebfcdb1248a9f35e5efdbf24e56e9f07418e55ff.tar.gz
-/Celestia-7cf93d9.tar.gz
-/Celestia-8f43b0b.tar.gz
-/Celestia-cbdeede.tar.gz
-/Celestia-7ca8fe3.tar.gz
-/Celestia-6899839.tar.gz
diff --git a/README-LEGAL.JPL b/README-LEGAL.JPL
deleted file mode 100644
index d813e9a..0000000
--- a/README-LEGAL.JPL
+++ /dev/null
@@ -1,68 +0,0 @@
-In previous builds of Celestia, map images and models taken from
-http://maps.jpl.nasa.gov/ were removed due to unclear licensing. JPL has
-provided clear licensing for these images. A copy of their license (taken
-from https://www.jpl.nasa.gov/imagepolicy/ on 2020-July-13) is provided
-below for convenience.
-
-See also: https://space.jpl.nasa.gov/faq.html
-
-Note that all map images and models come from JPL directly, thus, the
-"Special case" restricting commercial use does not apply.
-
-# JPL Image Use Policy
-# Unless otherwise noted, images and video on JPL public web sites (public
-# sites ending with a jpl.nasa.gov address) may be used for any purpose
-# without prior permission, subject to the special cases noted below.
-# Publishers who wish to have authorization may print this page and
-# retain it for their records; JPL does not issue image permissions on an
-# image by image basis.
-#
-# By electing to download the material from this web site the user agrees:
-# 1. that Caltech makes no representations or warranties with respect to
-# ownership of copyrights in the images, and does not represent others who
-# may claim to be authors or owners of copyright of any of the images, and
-# makes no warranties as to the quality of the images. Caltech shall not be
-# responsible for any loss or expenses resulting from the use of the images,
-# and you release and hold Caltech harmless from all liability arising from
-# such use.
-#
-# 2. to use a credit line in connection with images. Unless otherwise noted
-# in the caption information for an image, the credit line should be
-# "Courtesy NASA/JPL-Caltech."
-#
-# 3. that the endorsement of any product or service by Caltech, JPL or NASA
-# must not be claimed or implied.
-#
-# Special Cases:
-# * Prior written approval must be obtained to use the NASA insignia logo
-# (the blue "meatball" insignia), the NASA logotype (the red "worm" logo)
-# and the NASA seal. These images may not be used by persons who are not
-# NASA employees or on products (including Web pages) that are not NASA
-# sponsored. In addition, no image may be used to explicitly or implicitly
-# suggest endorsement by NASA, JPL or Caltech of commercial goods or
-# services. Requests to use NASA logos may be directed to Bert Ulrich, Public
-# Services Division, NASA Headquarters, Code POS, Washington, DC 20546,
-# telephone (202) 358-1713, fax (202) 358-4331, email bert.ulrich(a)hq.nasa.gov.
-#
-# * Prior written approval must be obtained to use the JPL logo (stylized JPL
-# letters in red or other colors). Requests to use the JPL logo may be
-# directed to the Institutional Communications Office, email
-# instcomm(a)jpl.nasa.gov.
-#
-# * If an image includes an identifiable person, using the image for
-# commercial purposes may infringe that person's right of privacy or publicity,
-# and permission should be obtained from the person. NASA and JPL generally do
-# not permit likenesses of current employees to appear on commercial products.
-# For more information, consult the NASA and JPL points of contact listed above.
-#
-# * JPL/Caltech contractors and vendors who wish to use JPL images in
-# advertising or public relation materials should direct requests to the
-# Institutional Communications Office, email instcomm(a)jpl.nasa.gov.
-#
-# * Some image and video materials on JPL public web sites are owned by
-# organizations other than JPL or NASA. These owners have agreed to make their
-# images and video available for journalistic, educational and personal uses,
-# but restrictions are placed on commercial uses. To obtain permission for
-# commercial use, contact the copyright owner listed in each image caption.
-# Ownership of images and video by parties other than JPL and NASA is noted in
-# the caption material with each image.
diff --git a/README-LEGAL.ScottHudsonModels b/README-LEGAL.ScottHudsonModels
deleted file mode 100644
index 196ff13..0000000
--- a/README-LEGAL.ScottHudsonModels
+++ /dev/null
@@ -1,78 +0,0 @@
-* 2020-08-20 : Scott Hudson is the author of the following digital asteroid models:
-models/bacchus.*
-models/castalia.*
-models/geographos.*
-models/golevka.*
-models/kleopatra.*
-models/ky26.*
-models/toutatis.*
-
-His original license was as follows (taken from http://users.tricity.wsu.edu/~hudson/Research/Asteroids/index.htm):
-
- The digital asteroid models available on this page are in one sense the "final deliverable"
- from this research program. I make them available here for scientific research, educational,
- and private uses. In other words feel free to use these models for any non-commerical,
- non-profit use. Do not use them for any commerical purpose without written permission from
- Scott Hudson (toutatian(a)yahoo.com) and/or NASA.
-
-I reached out to Scott via email and he waived the commercial use restrictions on his models (and noted that
-they are being distributed by NASA directly under their standard license terms). A copy of this email is included
-below.
-
-Tom Callaway <spot(a)fedoraproject.org
-
-******
-
-From: "Hudson, Scott" <scott_hudson(a)wsu.edu>
-To: Tom Callaway <spotrh(a)gmail.com>,
- "toutatian(a)yahoo.com"
- <toutatian(a)yahoo.com>,
- "hudson(a)tricity.wsu.edu" <hudson(a)tricity.wsu.edu>
-Subject: Re: License on your asteroid models
-Date: Thu, 20 Aug 2020 03:30:55 +0000
-
-Tom,
-
-I've been gone for most of the summer, and am just now seeing your email.
-
-I have no problem with these models being used for commercial purposes. I
-originally put that "non-commercial use" statement there because these models
-were developed with NASA funding, and I wasn't sure what NASA policy was
-at the time. That is no longer a concern. The models are available at many
-repositories, including the following two:
-
-https://sbn.psi.edu/pds/resource/rshape.html
-
-Small Body Radar Shape Models - sbn.psi.edu<https://sbn.psi.edu/pds/resource/rshape.html>
-Small Body Radar Shape Models . This data set contains radar-based shape models for small solar system bodies, generated by the method developed by Scott Hudson.
-sbn.psi.edu
-https://echo.jpl.nasa.gov/asteroids/shapes/shapes.html
-Asteroid Shape Models - NASA<https://echo.jpl.nasa.gov/asteroids/shapes/shapes.html>
-Asteroid Shape Models Last update: 2018 May 8 Downloadable 3-D Models (object files only): 7 Iris...coming soon 16 Psyche
-echo.jpl.nasa.gov
-
-
-Scott Hudson
-
-________________________________
-From: Tom Callaway <spotrh(a)gmail.com>
-Sent: Monday, July 13, 2020 9:13 AM
-To: toutatian(a)yahoo.com <toutatian(a)yahoo.com>; hudson(a)tricity.wsu.edu <hudson(a)tricity.wsu.edu>
-Subject: License on your asteroid models
-
-Professor Hudson,
-
-In researching the licensing of Celestia (https://github.com/CelestiaProject/Celestia),
-I have noticed that it includes copies of your asteroid models,
-originally found here: http://users.tricity.wsu.edu/~hudson/Research/Asteroids/index.htm
-
-Celestia is under the terms of the GPL license, which would seem to conflict
-with the license on your asteroid models because of your restriction on commercial use.
-
-Would you be willing to amend your licensing for these asteroid models to permit
-commercial use? If you can do this, it will resolve the licensing issue within Celestia.
-If not, these asteroid models may need to be removed from some distributions of
-Celestia (including the one I am working on in Fedora).
-
-Thanks in advance,
-Tom Callaway
diff --git a/README-LEGAL.ShroxModels b/README-LEGAL.ShroxModels
deleted file mode 100644
index a188d3c..0000000
--- a/README-LEGAL.ShroxModels
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-From: <shrox(a)shrox.com>
-To: "Tom Callaway" <spotrh(a)gmail.com>
-Subject: RE: License of models
-Date: Thu, 20 Aug 2020 18:28:33 -0700
-
-I hereby authorize the use of "Attribution 4.0 International (CC BY 4.0) -
-https://creativecommons.org/licenses/by/4.0/" to be applied to the usage of my
-3d models found in "Celestia", a 3D space and astronomy simulator.
-
-Shrox
diff --git a/celestia.spec b/celestia.spec
deleted file mode 100644
index 64ba020..0000000
--- a/celestia.spec
+++ /dev/null
@@ -1,211 +0,0 @@
-#%%global gittag 1.6.2
-%global commit 6899839d47a08e07a887e6e8268c2e16490a9571
-%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20231229
-
-Name: celestia
-%if "%{?gittag}"
-Version: 1.6.2
-%else
-# This is a really dirty hack to overcome a wrong update path due to git commit hash
-# previously applied without '.git'.
-# I don't want to bump Epoch, so I'm going to add a leading '3' before %%{date}
-# until version 1.7.0 is finally released.
-Version: 1.7.0~3%{date}.git%{shortcommit}
-%endif
-Release: %autorelease
-Summary: OpenGL real-time visual space simulation
-# Bundled R128 is under Unlicense
-License: GPL-2.0-or-later AND MIT AND Unlicense
-URL: https://celestiaproject.space/
-%if "%{?gittag}"
-Source0: https://github.com/CelestiaProject/Celestia/archive/%{gittag}/Celestia-%{...
-%else
-Source0: https://github.com/CelestiaProject/Celestia/archive/%{commit}/Celestia-%{...
-%endif
-
-# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
-ExcludeArch: %{ix86}
-
-BuildRequires: cmake
-BuildRequires: gcc
-BuildRequires: gcc-c++
-BuildRequires: desktop-file-utils
-BuildRequires: gettext-devel
-BuildRequires: gperf
-BuildRequires: libappstream-glib
-BuildRequires: ImageMagick
-
-BuildRequires: ffmpeg-free-devel
-BuildRequires: miniaudio-devel
-BuildRequires: pkgconfig(eigen3)
-BuildRequires: pkgconfig(epoxy)
-BuildRequires: pkgconfig(fmt)
-BuildRequires: pkgconfig(freetype2)
-BuildRequires: pkgconfig(gl)
-BuildRequires: pkgconfig(glesv2)
-BuildRequires: pkgconfig(libavif)
-BuildRequires: pkgconfig(libjpeg)
-BuildRequires: pkgconfig(libpng)
-%ifarch x86_64 aarch64
-BuildRequires: pkgconfig(luajit)
-%else
-BuildRequires: pkgconfig(lua)
-%endif
-
-Provides: bundled(r128) = 1.6.0
-
-
-%description
-Celestia is a real-time space simulation which lets you experience the
-universe in three dimensions. Celestia does not confine you to the
-surface of the Earth, it allows you to travel throughout the solar
-system, to any of over 100,000 stars, or even beyond the galaxy.
-
-Travel in Celestia is seamless; the exponential zoom feature lets
-you explore space across a huge range of scales, from galaxy clusters
-down to spacecraft only a few meters across. A 'point-and-goto'
-interface makes it simple to navigate through the universe to the
-object you want to visit.
-
-
-%package common
-Summary: Common files for %{name}
-Requires: celestia-data
-Requires: google-noto-sans-fonts
-Requires: tzdata
-
-Obsoletes: %{name} < 1.6.3
-
-%description common
-This package provides files common to all GUIs for %{name}.
-
-
-%package qt
-Summary: QT interface for %{name}
-Requires: %{name}-common%{?_isa} = %{version}-%{release}
-
-BuildRequires: qt6-qtbase-devel
-BuildRequires: qt6-qt5compat-devel
-BuildRequires: qt6-qtbase-private-devel
-BuildRequires: pkgconfig(wayland-protocols)
-BuildRequires: pkgconfig(wayland-scanner)
-
-%description qt
-This package provides the QT GUI for %{name}.
-
-
-%package gtk
-Summary: GTK interface for %{name}
-Requires: %{name}-common%{?_isa} = %{version}-%{release}
-
-Provides: %{name} = %{version}-%{release}
-
-BuildRequires: cairo-devel
-BuildRequires: gtk2-devel
-BuildRequires: gtkglext-devel
-
-%description gtk
-This package provides the GTK GUI for %{name}.
-
-
-%package doc
-Summary: Documentation files for %{name}
-BuildArch: noarch
-Requires: %{name} = %{version}-%{release}
-
-%description doc
-The %{name}-doc package contains documentation for %{name}.
-
-
-%prep
-%if "%{?gittag}"
-%autosetup -p1
-%else
-%autosetup -n Celestia-%{commit} -p1
-%endif
-
-# Change default config
-sed -i 's|# LeapSecondsFile "|LeapSecondsFile "|g' celestia.cfg
-sed -i 's|DejaVuSans.ttf,9"|%{_datadir}/fonts/google-noto/NotoSans-Regular.ttf,9"|g' celestia.cfg
-sed -i 's|DejaVuSans-Bold.ttf,15"|%{_datadir}/fonts/google-noto/NotoSans-Bold.ttf,15"|g' celestia.cfg
-
-
-%build
-%cmake -DENABLE_DATA=ON \
- -DENABLE_QT5=OFF \
- -DENABLE_QT6=ON \
- -DENABLE_GTK=ON \
- -DENABLE_FFMPEG=ON \
- -DENABLE_MINIAUDIO=ON \
- -DENABLE_LIBAVIF=ON \
- -DUSE_WAYLAND=ON \
- -DGIT_COMMIT="%{shortcommit}"
-# -DENABLE_GLES=ON \ Disabled due to missing support on QT
-# -DUSE_GTK3=ON \ is broken
-
-%cmake_build
-
-# create standard size icons
-convert src/celestia/qt/Celestia.ico hi-apps-celestia.png
-
-
-%install
-%cmake_install
-
-# fix icon name used in GTK app
-mv %{buildroot}%{_datadir}/pixmaps/celestia{,-logo}.png
-# use standard size and location for desktop icons
-for f in hi-apps-celestia-*.png ; do
- d=$(identify -format "%wx%h" $f) ;
- install -D -m0644 $f %{buildroot}%{_datadir}/icons/hicolor/$d/apps/celestia.png ;
-done
-
-%find_lang %{name} --all-name
-
-rm %{buildroot}%{_datadir}/celestia/COPYING
-
-# Use system provided fonts
-rm -Rf %{buildroot}%{_datadir}/%{name}/fonts
-
-
-%check
-# Menu entry
-desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}-{gtk,qt6}.desktop
-
-# Appdata file check
-appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/space.%{name}.%{name}_{gtk,qt6}.metainfo.xml
-
-
-# No file in the main celestia package
-# it's just a metapackage to provide a clean upgrade path from celestia < 1.7
-# requiring by default celestia-gtk
-
-%files common -f %{name}.lang
-%doc AUTHORS ChangeLog README coding-standards.html
-%doc CONTRIBUTING.md devguide.txt
-%license COPYING
-%{_libdir}/lib%{name}.so.1.7*
-%{_datadir}/icons/hicolor/*/apps/%{name}.png
-%{_datadir}/pixmaps/%{name}-logo.png
-%{_datadir}/%{name}
-%exclude %{_datadir}/%{name}/help
-
-%files qt
-%{_bindir}/%{name}-qt6
-%{_mandir}/man1/%{name}-qt6.1*
-%{_datadir}/metainfo/space.%{name}.%{name}_qt6.metainfo.xml
-%{_datadir}/applications/%{name}-qt6.desktop
-
-%files gtk
-%{_bindir}/%{name}-gtk
-%{_mandir}/man1/%{name}-gtk.1*
-%{_datadir}/metainfo/space.%{name}.%{name}_gtk.metainfo.xml
-%{_datadir}/applications/%{name}-gtk.desktop
-
-%files doc
-%{_datadir}/%{name}/help
-
-
-%changelog
-%autochangelog
diff --git a/changelog b/changelog
deleted file mode 100644
index 41029a1..0000000
--- a/changelog
+++ /dev/null
@@ -1,277 +0,0 @@
-* Wed Jan 18 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.9.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Wed Jul 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.8.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Wed Jan 19 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.7.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.6.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Tue Jan 26 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.5.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Fri Aug 21 2020 Tom Callaway <spot(a)fedoraproject.org> - 1.6.2-0.4.beta3
-- Shrox's models are now CC-BY, switch to upstream tarball!
-
-* Thu Aug 20 2020 Tom Callaway <spot(a)fedoraproject.org> - 1.6.2-0.3.beta3
-- Successfully relicensed Scott Hudson's asteroid models to a FOSS & GPLv2+ compatible license
-- generated new clean tarball
-
-* Mon Jul 27 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.2-0.2.beta3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Mon Jul 13 2020 Tom Callaway <spot(a)fedoraproject.org> - 1.6.2-0.1.beta3
-- update to 1.6.2-beta3
-- fixes for lua 5.4
-
-* Tue Jan 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-33
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Fri Aug 23 2019 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1.6.1-32
-- Fix FTBFS, fix linkage order
-
-* Wed Jul 24 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-31
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Thu Jan 31 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-30
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Tue Jul 31 2018 Florian Weimer <fweimer(a)redhat.com> - 1.6.1-29
-- Rebuild with fixed binutils
-
-* Thu Jul 12 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-28
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-27
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Wed Aug 02 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-26
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-25
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon May 15 2017 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-24
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
-
-* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-23
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Wed Feb 03 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.6.1-22
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
-
-* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-21
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-
-* Sat May 02 2015 Kalev Lember <kalevlember(a)gmail.com> - 1.6.1-20
-- Rebuilt for GCC 5 C++11 ABI change
-
-* Thu Mar 26 2015 Richard Hughes <rhughes(a)redhat.com> - 1.6.1-19
-- Add an AppData file for the software center
-
-* Sun Nov 16 2014 Matias Kreder <mkreder(a)gmail.com> - 1.6.1-18
-- Repackaged source with .tar.xz
-
-* Fri Aug 15 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-17
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-
-* Thu Jul 03 2014 Richard Hughes <richard(a)hughsie.com> - 1.6.1-16
-- Fix startup, thanks to a patch from Chris Rankin
-- Resolves: #1045632
-
-* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-15
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-
-* Thu Aug 22 2013 Ralf Corsépius <corsepiu(a)fedoraproject.org> - 1.6.1-14
-- FTBS, RHBZ#992048:
- - celestia-1.6.1-lua-5.2.patch: Add autoconf-2.67 generated snippets.
- Avoid running autotools (package config is incompatible to modern autotools).
- - Add celestia-1.6.1-gcc4.8.patch: Tweaks for building with gcc-4.8.x.
-- Address docdir changes (RHBZ#993693).
-- Fix permissons on source files.
-
-* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-13
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
-
-* Tue May 14 2013 Tom Callaway <spot(a)fedoraproject.org> - 1.6.1-12
-- rebuild for lua 5.2
-
-* Thu Feb 14 2013 Rahul Sundaram <sundaram(a)fedoraproject.org> - 1.6.1-11
-- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247
-- clean up spec to follow current guidelines
-- fix desktop file to follow specification
-
-* Wed Feb 13 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-10
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
-
-* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 1.6.1-9
-- rebuild due to "jpeg8-ABI" feature drop
-
-* Mon Jan 14 2013 Tom Callaway <spot(a)fedoraproject.org> - 1.6.1-8
-- remove non-free (or unlicensed) files (bz 888210)
-
-* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 1.6.1-7
-- rebuild against new libjpeg
-
-* Wed Jul 18 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-6
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
-
-* Thu Mar 22 2012 Tom Callaway <spot(a)fedoraproject.org> - 1.6.1-5
-- fix compile issues (gcc 4.7, zlib)
-
-* Tue Feb 28 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-4
-- Rebuilt for c++ ABI breakage
-
-* Thu Jan 12 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.1-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
-
-* Tue Dec 06 2011 Adam Jackson <ajax(a)redhat.com> - 1.6.1-2
-- Rebuild for new libpng
-
-* Mon Nov 14 2011 Peter Robinson <pbrobinson(a)fedoraproject.org> - 1.6.1-1
-- Update to 1.6.1
-
-* Wed Feb 09 2011 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.6.0-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-
-* Wed Dec 15 2010 Hans de Goede <hdegoede(a)redhat.com> - 1.6.0-2
-- Fix the license button in the about dialog not working
-
-* Wed Dec 8 2010 Hans de Goede <hdegoede(a)redhat.com> - 1.6.0-1
-- New upstream release 1.6.0 (#655565)
-- Fix building with gcc-4.5 (#631077)
-
-* Fri Jul 24 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.5.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
-
-* Sun Apr 12 2009 Lubomir Rintel <lkundrak(a)v3.sk> - 1.5.1-1
-- New upstream release
-
-* Sun Mar 1 2009 Lubomir Rintel <lkundrak(a)v3.sk> - 1.5.0-3
-- Fix build with GCC 4.4
-
-* Mon Feb 23 2009 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1.5.0-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
-
-* Sat Mar 1 2008 Marek Mahut <mmahut(a)fedoraproject.org> - 1.5.0-1
-- Upstream release 1.5.0 and dropping unnecessary patches
-- celestia-1.5.0-gcc43.patch (#434441)
-- Moving to education category (#220793)
-
-* Tue Feb 19 2008 Fedora Release Engineering <rel-eng(a)fedoraproject.org> - 1.4.1-8
-- Autorebuild for GCC 4.3
-
-* Wed Nov 22 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-7
-- Really fix the cmod models problem (#203525). (Thanks to Hans de Goede.)
-- Hopefully really handle the gconf schema properly.
-
-* Mon Aug 28 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-6
-- Add --disable-schemas-install to configure.
-
-* Tue Aug 22 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-5
-- Turn on -fno-strict-aliasing to work around bug #203525.
-
-* Mon Jul 31 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-4
-- We modified configure.in, so now we need automake17 and gettext-devel.
-
-* Mon Jul 31 2006 Nick Urbanik <nicku(a)nicku.org> 1.4.1-3
-- Test errorMessage to see if it is null before copying it!
- This change suggested by Hank Ramsey and added to
- celestia-1.4.1-lua51-resume.patch
-- Added developers documentation
-- Incorporate patch suggested by Hank Ramsey to eliminate segfault
- when loading .celx files: celestia-1.4.1-lua51-resume.patch
-- Update to add lua
-- Incorporate
- http://www.archlinux.org/pipermail/tur-users/attachments/20060603/7dea8cd...
-
-* Fri May 19 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-2
-- Include accidentally dropped 3ds models.
-
-* Tue Mar 28 2006 Steven Pritchard <steve(a)kspei.com> 1.4.1-1
-- Update to 1.4.1
-- Use "pkg-config --libs gtkglext-x11-1.0 libgnomeui-2.0" instead of
- "pkg-config --libs gtk+-2.0"
-
-* Fri Feb 10 2006 Steven Pritchard <steve(a)kspei.com> 1.4.0.20060210cvs-1
-- Update to today's CVS snapshot
-
-* Fri Feb 10 2006 Steven Pritchard <steve(a)kspei.com> 1.4.0-3
-- Add celestia-1.4.0-compile.patch to fix a bug when compiling with g++ 4.1
-
-* Thu Jan 05 2006 Steven Pritchard <steve(a)kspei.com> 1.4.0-2
-- Add BR: libGLU-devel, libXt-devel, libXmu-devel
-- Add -lpangox-1.0 to GTK_LIBS
-
-* Mon Dec 26 2005 Steven Pritchard <steve(a)kspei.com> 1.4.0-1
-- Update to 1.4.0
-- Remove celestia-1.3.2-compile.patch (seems to be applied upstream)
-- Use find_lang magic
-- Remove duplicate desktop file
-- Fix Help -> Controls
-
-* Sat Dec 03 2005 Steven Pritchard <steve(a)kspei.com> 1.3.2-5
-- BR libGL-devel instead of xorg-x11-Mesa-libGL
-
-* Sun May 22 2005 Jeremy Katz <katzj(a)redhat.com> - 1.3.2-4
-- rebuild on all arches
-
-* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
-- rebuilt
-
-* Wed Nov 10 2004 Matthias Saou <http://freshrpms.net/> 1.3.2-2
-- Bump release to provide Extras upgrade path.
-
-* Wed Nov 10 2004 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.2-0.fdr.2
-- Fixed FC3 compilation.
-
-* Sat Aug 28 2004 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.2-0.fdr.1
-- Updated to 1.3.2.
-- Switched to using GNOME frontend.
-- Updated desktop file.
-- Minor editing of description text.
-- Converted spec file to UTF-8.
-
-* Thu Nov 27 2003 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.0-0.fdr.4
-- Added build req gtkglarea (bug 740).
-
-* Thu Nov 27 2003 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.0-0.fdr.3
-- Added Encoding=UTF-8 to desktop file (bug 740).
-- Added work-around for linking problems on FC1 (bug 740).
-- Updated {minor,numbered}moons.asc (bug 740).
-
-* Wed Oct 8 2003 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.0-0.fdr.2
-- Replaced source tarball with proper release tarball.
-- Added BuildRequires gnome-libs-devel for gnomeConf.sh.
-- Build with freeglut instead of glut.
-
-* Wed Sep 17 2003 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:1.3.0-0.fdr.1
-- Initial Fedora RPM release.
-
-* Thu Apr 17 2003 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Update to 1.3.0.
-- Added numberedmoons.ssc addon.
-
-* Mon Mar 31 2003 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Rebuilt for Red Hat Linux 9.
-
-* Tue Jan 14 2003 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Update to 1.2.5.
-- Included "Minor Moons of the Giant Planets" extra file.
-- New icon from the KDE part of the source.
-
-* Sat Sep 28 2002 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Rebuilt for Red Hat Linux 8.0.
-- New style menu entry.
-
-* Wed Jul 3 2002 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Rebuilt to remove the NVidia dependency (oops!).
-
-* Wed May 15 2002 Matthias Saou <matthias.saou(a)est.une.marmotte.net>
-- Sorry, I'm a maniac ;-)
-
-* Tue May 14 2002 Julien MOUTTE <julien(a)moutte.net>
-- Initial RPM release.
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..98848ba
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Retired due celestia-data retired due to licensing issues
diff --git a/sources b/sources
deleted file mode 100644
index cd2ac16..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (Celestia-6899839.tar.gz) = 5bc2559830fdb3533745f5adf22238648837c8d0f421dde9fe5af4653a21343e1960152ca3c0525f25971c53395fc677f1cba071166ca896c2f339171d4ba94b
1 month, 2 weeks