Architecture specific change in rpms/python-python-fcl.git
by githook-noreply@fedoraproject.org
The package rpms/python-python-fcl.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-python-fcl.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/python-python-fcl.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/python-python-fcl.git/commit/?id=....
Change:
+%ifarch s390x
+ExcludeArch: %{ix86}
+%ifarch %{valgrind_arches}
Thanks.
Full change:
============
commit c38a33cc5f290896371ff788ab39aae32e7f4d4d
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue May 21 10:38:53 2024 -0400
Add arch-dependent skips for bundled fcl library tests
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index 15cdacb..834a3b8 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -229,16 +229,51 @@ sed -r -i '/\.cpp$/d' %{pyproject_files}
%check
%if %{without system_fcl}
+
pushd ../libccd-%{libccd_version}/
+skips='^($.'
%ifarch %{valgrind_arches}
-%ctest
-%else
-%ctest --exclude-regex '.*-valgrind.*'
+skips="${skips}|.*-valgrind.*"
%endif
+skips="${skips})$"
+%ctest --exclude-regex "${skips}"
popd
pushd ../fcl-%{fcl_version}/
-%ctest
+# Run the gtest-based executables manually rather than via the ctest harness so
+# that we can skip individual tests within individual executables.
+for exe in %{_vpath_builddir}/test/test_*
+do
+ # See: https://bugzilla.redhat.com/show_bug.cgi?id=2236527#c2
+ unset filter
+ case "$(basename "${exe}")" in
+ test_fcl_capsule_capsule)
+%ifarch aarch64
+ filter="${filter--}${filter+:}CapsuleCapsuleSegmentTest/1.NominalSeparatedCase"
+%endif
+%ifarch aarch64 ppc64le
+ filter="${filter--}${filter+:}CapsuleCapsuleSegmentTest/0.OverlappingCenterLines"
+%endif
+ ;;
+ test_gjk_libccd-inl_gjk_doSimplex2)
+%ifarch aarch64 ppc64le
+ filter="${filter--}${filter+:}DoSimplex2Test.NeedMoreComputing"
+ filter="${filter--}${filter+:}DoSimplex2Test.OriginInSimplex"
+%endif
+ ;;
+ test_gjk_libccd-inl_epa)
+%ifarch aarch64 ppc64le s390x
+ filter="${filter--}${filter+:}FCL_GJK_EPA.ComputeVisiblePatchColinearNewVertex"
+%endif
+ ;;
+ test_fcl_math)
+%ifarch s390x
+ filter="${filter--}${filter+:}FCL_MATH.rss_conversion"
+%endif
+ ;;
+ esac
+ "${exe}" --gtest_filter="${filter}"
+done
popd
%endif
commit 82f1d8f26a87dadb1ee8d47c39a2aba6c51c0a47
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Mon May 20 13:10:11 2024 -0400
Do not support i686 (aborts in TestFCL::test_managed_collisions)
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index d847d00..15cdacb 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -46,6 +46,9 @@ Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{libccd_ve
%global fcl_forgeurl https://github.com/ambi-robotics/fcl
Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{fcl_version}.tar.gz
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
# Support Cython 3
# https://github.com/BerkeleyAutomation/python-fcl/pull/77
Patch0: %{url}/pull/77.patch
commit ff9d6ca3963c7c249af555fe2bbf5800da0c097f
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue May 21 10:40:17 2024 -0400
Fix names for bundled library source archives
diff --git a/.gitignore b/.gitignore
index 69ea496..e300666 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
/fcl-0.7.0.6.tar.gz
/libccd-0.7.0.6.tar.gz
/python-fcl-0.7.0.6.tar.gz
+/libccd-2.1.tar.gz
+/fcl-0.7.0.tar.gz
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index 9e20c32..d847d00 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -42,9 +42,9 @@ URL: https://github.com/BerkeleyAutomation/python-fcl
# https://github.com/BerkeleyAutomation/python-fcl/issues/55
Source0: %{url}/archive/v%{version}/python-fcl-%{version}.tar.gz
%global libccd_forgeurl https://github.com/danfis/libccd
-Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{version}.tar.gz
+Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{libccd_version}.tar.gz
%global fcl_forgeurl https://github.com/ambi-robotics/fcl
-Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{version}.tar.gz
+Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{fcl_version}.tar.gz
# Support Cython 3
# https://github.com/BerkeleyAutomation/python-fcl/pull/77
diff --git a/sources b/sources
index bc771e2..68d8c3d 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (fcl-0.7.0.6.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
-SHA512 (libccd-0.7.0.6.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (libccd-2.1.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (fcl-0.7.0.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
SHA512 (python-fcl-0.7.0.6.tar.gz) = bc9a7c91a0371f53cd4e18787ff333a54ca04314a97a64ba5d41c48109b410553c1fc542a185d3f455ac4a988a82b8a1644feb234e5ebb1f789847e0aff77620
commit c6ca5f9712bd96587f6587387684d80476e83495
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Mon May 20 08:31:43 2024 -0400
Initial package (close RHBZ#2270968)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..69ea496
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/fcl-0.7.0.6.tar.gz
+/libccd-0.7.0.6.tar.gz
+/python-fcl-0.7.0.6.tar.gz
diff --git a/0001-Add-environment-variables-to-control-bundling.patch b/0001-Add-environment-variables-to-control-bundling.patch
new file mode 100644
index 0000000..8ace952
--- /dev/null
+++ b/0001-Add-environment-variables-to-control-bundling.patch
@@ -0,0 +1,31 @@
+From 8e5659ec78cbe4232fc1650771ff5b82a293b1ed Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code(a)musicinmybrain.net>
+Date: Wed, 20 Mar 2024 14:27:33 -0400
+Subject: [PATCH] Add environment variables to control bundling
+
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 15e69dd..c6428e4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -67,11 +67,12 @@ setup(
+ Extension(
+ "fcl.fcl",
+ ["src/fcl/fcl.pyx"],
+- include_dirs=get_include_dirs(),
++ include_dirs=get_include_dirs() + os.environ.get("PYTHON_FCL_EXTRA_INCLUDE_DIRS", "").split(),
+ library_dirs=get_libraries_dir(),
+- libraries=get_libraries(),
++ libraries=[lib for lib in get_libraries() if lib not in os.environ.get("PYTHON_FCL_OMIT_LIBRARIES", "").split()],
+ language="c++",
+ extra_compile_args=["-std=c++11"],
++ extra_objects=os.environ.get("PYTHON_FCL_EXTRA_OBJECTS", "").split(),
+ )
+ ],
+ )
+--
+2.44.0
+
diff --git a/77.patch b/77.patch
new file mode 100644
index 0000000..b1da7d9
--- /dev/null
+++ b/77.patch
@@ -0,0 +1,39 @@
+From 00bad0a0af7b01c8b6b28ca68542d9a21c2ed06a Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code(a)musicinmybrain.net>
+Date: Wed, 20 Mar 2024 10:06:35 -0400
+Subject: [PATCH] Support Cython 3
+
+Add exception specifications to callback function pointer typedefs.
+---
+ pyproject.toml | 2 +-
+ src/fcl/fcl_defs.pxd | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 603b0e4..3e07b17 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -2,7 +2,7 @@
+ requires = [
+ "setuptools",
+ "wheel",
+- "Cython<3.0",
++ "Cython",
+ "numpy; python_version<'3.12'",
+ "numpy>=1.26.0b1; python_version>='3.12'"]
+ build-backend = "setuptools.build_meta"
+diff --git a/src/fcl/fcl_defs.pxd b/src/fcl/fcl_defs.pxd
+index cb1205c..abc24ac 100644
+--- a/src/fcl/fcl_defs.pxd
++++ b/src/fcl/fcl_defs.pxd
+@@ -248,8 +248,8 @@ cdef extern from "fcl/geometry/shape/plane.h" namespace "fcl":
+ double d
+
+ cdef extern from "fcl/broadphase/broadphase_collision_manager.h" namespace "fcl":
+- ctypedef bool (*CollisionCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata)
+- ctypedef bool (*DistanceCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata, double& dist)
++ ctypedef bool (*CollisionCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata) except? -1
++ ctypedef bool (*DistanceCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata, double& dist) except? -1
+
+ cdef extern from "fcl/broadphase/broadphase_dynamic_AABB_tree.h" namespace "fcl":
+ cdef cppclass DynamicAABBTreeCollisionManagerd:
diff --git a/libccd-2.1-ctest.patch b/libccd-2.1-ctest.patch
new file mode 100644
index 0000000..64cff73
--- /dev/null
+++ b/libccd-2.1-ctest.patch
@@ -0,0 +1,75 @@
+diff -up ./CMakeLists.txt.ctest ./CMakeLists.txt
+--- ./CMakeLists.txt.ctest 2018-12-22 07:13:45.000000000 -0500
++++ ./CMakeLists.txt 2020-04-18 14:10:30.394989892 -0400
+@@ -9,7 +9,7 @@ endif()
+ project(libccd)
+
+ set(CCD_VERSION_MAJOR 2)
+-set(CCD_VERSION_MINOR 0)
++set(CCD_VERSION_MINOR 1)
+ set(CCD_VERSION ${CCD_VERSION_MAJOR}.${CCD_VERSION_MINOR})
+
+ set(CCD_SOVERSION 2)
+@@ -25,6 +25,8 @@ option(BUILD_SHARED_LIBS "Build libccd a
+ option(ENABLE_DOUBLE_PRECISION
+ "Enable double precision computations instead of single precision" OFF)
+
++option(BUILD_TESTING "Build the test suite" OFF)
++
+ # Option for some bundle-like build system in order not to expose
+ # any FCL binary symbols in their public ABI
+ option(CCD_HIDE_ALL_SYMBOLS "Hide all binary symbols" OFF)
+@@ -73,3 +75,8 @@ install(FILES "${CMAKE_BINARY_DIR}/ccd.p
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+ install(FILES BSD-LICENSE DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/doc/ccd")
++
++if (BUILD_TESTING)
++ enable_testing()
++endif (BUILD_TESTING)
++
+diff -up ./src/testsuites/CMakeLists.txt.ctest ./src/testsuites/CMakeLists.txt
+--- ./src/testsuites/CMakeLists.txt.ctest 2018-12-22 07:13:45.000000000 -0500
++++ ./src/testsuites/CMakeLists.txt 2020-04-18 14:07:25.369371109 -0400
+@@ -1,3 +1,41 @@
++set(CCDTEST_ARGS "" CACHE STRING "Argments to pass to ccdtest executable")
++
++set(TEST_SOURCES
++ common.c
++ support.c
++ vec3.c
++ polytope.c
++ boxbox.c
++ spheresphere.c
++ cylcyl.c
++ boxcyl.c
++ mpr_boxbox.c
++ mpr_cylcyl.c
++ mpr_boxcyl.c)
++
++add_executable(ccdtest ${TEST_SOURCES} main.c)
++target_link_libraries(ccdtest ccd cu rt)
++add_definitions(-DCU_ENABLE_TIMER)
++include_directories(${CMAKE_CURRENT_SOURCE_DIR})
++add_test(NAME ccdtest
++ COMMAND ccdtest ${CCDTEST_ARGS}
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
++
++add_test(NAME ccdtest-valgrind
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ COMMAND valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes
++ --error-limit=no
++ ${CMAKE_CURRENT_BINARY_DIR}/ccdtest ${CCDTEST_ARGS})
++
++add_test(NAME ccdtest-valgrind-gen-suppressions
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ COMMAND valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes
++ --gen-suppressions=all --log-file=out --error-limit=no
++ ${CMAKE_CURRENT_BINARY_DIR}/ccdtest ${CCDTEST_ARGS})
++
++add_test(NAME check-regressions
++ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cu/check-regressions regressions
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+ add_subdirectory(cu)
+
+ set(MAIN_SOURCES
diff --git a/libccd-2.1-py3.patch b/libccd-2.1-py3.patch
new file mode 100644
index 0000000..0d9f86f
--- /dev/null
+++ b/libccd-2.1-py3.patch
@@ -0,0 +1,158 @@
+diff -up ./src/testsuites/cu/check-regressions.py3 ./src/testsuites/cu/check-regressions
+--- ./src/testsuites/cu/check-regressions.py3 2020-04-18 14:23:18.757771743 -0400
++++ ./src/testsuites/cu/check-regressions 2020-04-18 14:23:56.070249408 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ ##
+ # CU - C unit testing framework
+ # ---------------------------------
+@@ -88,7 +88,7 @@ class Hunk:
+ if self.numLinesAdded() != self.numLinesDeleted():
+ return False
+
+- for i in xrange(0, self.numLinesAdded()):
++ for i in range(0, self.numLinesAdded()):
+ # if any line does not contain number - return False because
+ # there must be more differences than in numbers
+ if not self.re_is_num.match(self.added[i]) \
+@@ -102,8 +102,8 @@ class Hunk:
+ nums1 = self.re_num.findall(line1)
+ nums2 = self.re_num.findall(line2)
+ # and remove all empty strings
+- nums1 = filter(lambda x: len(x) > 0, nums1)
+- nums2 = filter(lambda x: len(x) > 0, nums2)
++ nums1 = [x for x in nums1 if len(x) > 0]
++ nums2 = [x for x in nums2 if len(x) > 0]
+
+ # if length of list nums1 does not equal to length of nums2
+ # return False
+@@ -111,7 +111,7 @@ class Hunk:
+ return False
+
+ # iterate trough all numbers
+- for j in xrange(0, len(nums1)):
++ for j in range(0, len(nums1)):
+ # if numbers do not equal to each other return False
+ if not self.__eq(float(nums1[j]), float(nums2[j])):
+ return False
+@@ -177,7 +177,7 @@ class Parser:
+ self.re_deleted = re.compile(r"^< (.*)$")
+
+ def __readNextLine(self):
+- self.line = self.fin.readline()
++ self.line = self.fin.readline().decode('utf-8')
+ if len(self.line) == 0:
+ return False
+ return True
+@@ -210,7 +210,7 @@ class Parser:
+ num_lines += 1
+
+ if PROGRESS_ON and num_lines % 50 == 0:
+- print MSG_BASE, "[ %08d ]" % num_lines, "\r",
++ print(MSG_BASE, "[ %08d ]" % num_lines, "\r", end=' ')
+ sys.stdout.flush()
+
+ # last push to list of hunks
+@@ -218,7 +218,7 @@ class Parser:
+ self.diff.addHunk(self.cur_hunk)
+
+ if PROGRESS_ON:
+- print MSG_BASE, " ", "\r",
++ print(MSG_BASE, " ", "\r", end=' ')
+ sys.stdout.flush()
+
+ def getDiff(self):
+@@ -262,26 +262,26 @@ def regressionFilesInDir():
+
+ def MSG(str = "", wait = False):
+ if wait:
+- print str,
++ print(str, end=' ')
+ else:
+- print str
++ print(str)
+ def MSGOK(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;32m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;32m" + str + "\033[0;0m", poststr)
+ def MSGFAIL(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;31m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;31m" + str + "\033[0;0m", poststr)
+ def MSGINFO(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;33m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;33m" + str + "\033[0;0m", poststr)
+ def dumpLines(lines, prefix = "", wait = False, max_lines = -1):
+ line_num = 0
+ if wait:
+ for line in lines:
+- print prefix, line,
++ print(prefix, line, end=' ')
+ line_num += 1
+ if max_lines >= 0 and line_num > max_lines:
+ break
+ else:
+ for line in lines:
+- print prefix, line
++ print(prefix, line)
+ line_num += 1
+ if max_lines >= 0 and line_num > max_lines:
+ break
+@@ -308,7 +308,7 @@ def main(files):
+ MSG_BASE = "Comparing %s and %s" % \
+ (filenames[0].ljust(len1) ,filenames[1].ljust(len2))
+ if not PROGRESS_ON:
+- print MSG_BASE,
++ print(MSG_BASE, end=' ')
+ sys.stdout.flush()
+
+ pipe = Popen(cmd, stdout=PIPE)
+@@ -319,7 +319,7 @@ def main(files):
+ diff.checkFloats()
+
+ if PROGRESS_ON:
+- print MSG_BASE,
++ print(MSG_BASE, end=' ')
+
+ if diff.numHunks() == 0:
+ MSGOK(" [", "OK", "]")
+@@ -345,23 +345,23 @@ def main(files):
+ dumpLines(lines, " |", True, MAX_DIFF_LINES)
+
+ def usage():
+- print "Usage: " + sys.argv[0] + " [ OPTIONS ] [ directory, [ directory, [ ... ] ] ]"
+- print ""
+- print " OPTIONS:"
+- print " --help / -h none Print this help"
+- print " --exact / -e none Switch do exact comparasion of files"
+- print " --not-exact / -n none Switch do non exact comparasion of files (default behaviour)"
+- print " --max-diff-lines int Maximum of lines of diff which can be printed (default " + str(MAX_DIFF_LINES) + ")"
+- print " --eps float Precision of floating point numbers (epsilon) (default " + str(EPS) + ")"
+- print " --no-progress none Turn off progress bar"
+- print " --progress none Turn on progress bar (default)"
+- print ""
+- print " This program is able to compare files with regressions generated by CU testsuites."
+- print " You can specify directories which are to be searched for regression files."
+- print " In non exact copmarasion mode (which is default), this program tries to compare"
+- print " floating point numbers in files with respect to specified precision (see --eps) and"
+- print " those lines which differ only in precission of floating point numbers are omitted."
+- print ""
++ print("Usage: " + sys.argv[0] + " [ OPTIONS ] [ directory, [ directory, [ ... ] ] ]")
++ print("")
++ print(" OPTIONS:")
++ print(" --help / -h none Print this help")
++ print(" --exact / -e none Switch do exact comparasion of files")
++ print(" --not-exact / -n none Switch do non exact comparasion of files (default behaviour)")
++ print(" --max-diff-lines int Maximum of lines of diff which can be printed (default " + str(MAX_DIFF_LINES) + ")")
++ print(" --eps float Precision of floating point numbers (epsilon) (default " + str(EPS) + ")")
++ print(" --no-progress none Turn off progress bar")
++ print(" --progress none Turn on progress bar (default)")
++ print("")
++ print(" This program is able to compare files with regressions generated by CU testsuites.")
++ print(" You can specify directories which are to be searched for regression files.")
++ print(" In non exact copmarasion mode (which is default), this program tries to compare")
++ print(" floating point numbers in files with respect to specified precision (see --eps) and")
++ print(" those lines which differ only in precission of floating point numbers are omitted.")
++ print("")
+ sys.exit(-1)
+
+
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
new file mode 100644
index 0000000..9e20c32
--- /dev/null
+++ b/python-python-fcl.spec
@@ -0,0 +1,255 @@
+# The libccd dependency can be built in single-precision or double-precision
+# mode, but not both at the same time. This is awkward and not conducive to
+# system packaging. The goal is to build libccd in double-precision mode in
+# Fedora, as discussed in:
+# Build libccd with double-precision?
+# https://bugzilla.redhat.com/show_bug.cgi?id=2236527
+# This actually reduces the number of (ignored) test failures in the fcl
+# package, and it’s absolutely necessary for this package: with a
+# single-precision libccd (and an fcl built using that single-precision
+# libccd), one of the tests hangs forever.
+#
+# Until the system libccd is double-precision (and after that in stable
+# branches, since this will be an ABI-breaking change), we must therefore
+# bundle and build our own libccd and fcl.
+#
+# See:
+#
+# Build libccd with double-precision?
+# https://bugzilla.redhat.com/show_bug.cgi?id=2236527
+%bcond system_fcl 0
+# See build_dependencies/install_linux.sh for the versions used upstream to
+# build PyPI wheels.
+%global libccd_version 2.1
+%global fcl_version 0.7.0
+
+# Note that this is https://pypi.org/project/python-fcl/; the canonical project
+# name fcl, https://pypi.org/project/fcl/, belongs to a different and
+# apparently defunct project. See
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_librar...
+Name: python-python-fcl
+Version: 0.7.0.6
+Release: %autorelease
+Summary: Python bindings for the Flexible Collision Library
+
+# Conveniently, both libccd and fcl are BSD-3-Clause, so the License does not
+# change when we bundle them.
+License: BSD-3-Clause
+URL: https://github.com/BerkeleyAutomation/python-fcl
+# No sdists are released on PyPI; we must use the GitHub archive
+#
+# Source distribution is not available on pypi after 0.6.1
+# https://github.com/BerkeleyAutomation/python-fcl/issues/55
+Source0: %{url}/archive/v%{version}/python-fcl-%{version}.tar.gz
+%global libccd_forgeurl https://github.com/danfis/libccd
+Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{version}.tar.gz
+%global fcl_forgeurl https://github.com/ambi-robotics/fcl
+Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{version}.tar.gz
+
+# Support Cython 3
+# https://github.com/BerkeleyAutomation/python-fcl/pull/77
+Patch0: %{url}/pull/77.patch
+# Downstream-only patch to *allow* bundling libccd/fcl:
+# Add environment variables to control bundling
+Patch1: 0001-Add-environment-variables-to-control-bundling.patch
+
+# Patches for bundled libccd, based on https://src.fedoraproject.org/rpms/libccd/
+#
+# This patch integrates additional programs that are present in
+# the testsuites folder into CMake, via CTest.
+# It also increments the version number to match the release.
+# Not yet submitted upstream
+Patch1001: https://src.fedoraproject.org/rpms/libccd/raw/80bc68bb9f9644aec2e8dbf036e...
+# (We do not need libccd-2.1-pkgconfig.patch, because we are not using or installing the .pc file from the bundled libccd.)
+# Convert check_regressions to python3
+# Not submitted upstream
+Patch1002: https://src.fedoraproject.org/rpms/libccd/raw/80bc68bb9f9644aec2e8dbf036e...
+
+BuildRequires: python3-devel
+
+BuildRequires: gcc-c++
+
+BuildRequires: octomap-devel
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_hea...
+BuildRequires: eigen3-static
+%if %{with system_fcl}
+BuildRequires: fcl-devel
+%else
+# For bundled libccd:
+BuildRequires: cmake
+BuildRequires: ninja-build
+# For bundled libccd (testing):
+%ifarch %{valgrind_arches}
+BuildRequires: valgrind
+%endif
+%endif
+
+BuildRequires: %{py3_dist pytest}
+
+%global common_description %{expand:
+Python-FCL is an (unofficial) Python interface for the Flexible Collision
+Library (FCL), an excellent C++ library for performing proximity and collision
+queries on pairs of geometric models.
+
+This package supports three types of proximity queries for pairs of geometric
+models:
+
+ • Collision Detection: Detecting whether two models overlap (and optionally
+ where).
+ • Distance Computation: Computing the minimum distance between a pair of
+ models.
+ • Continuous Collision Detection: Detecting whether two models overlap during
+ motion (and optionally the time of contact).
+
+This package also supports most of FCL’s object shapes, including:
+
+ • TriangleP
+ • Box
+ • Sphere
+ • Ellipsoid
+ • Capsule
+ • Cone
+ • Convex
+ • Cylinder
+ • Half-Space
+ • Plane
+ • Mesh
+ • OcTree}
+
+%description %{common_description}
+
+
+%package -n python3-python-fcl
+Summary: %{summary}
+
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_provid...
+%py_provides python3-fcl
+
+%if %{without system_fcl}
+Provides: bundled(libccd) = %{libccd_version}
+Provides: bundled(fcl) = %{fcl_version}
+%endif
+
+%description -n python3-python-fcl %{common_description}
+
+
+%prep
+%autosetup -n python-fcl-%{version} -N
+%autopatch -M999 -p1
+
+%if %{without system_fcl}
+%setup -q -T -D -b 1 -n python-fcl-%{version}
+pushd ../libccd-%{libccd_version}/
+%autopatch -m1000 -M1999 -p0
+popd
+cp -p ../libccd-%{libccd_version}/BSD-LICENSE libccd-LICENSE
+
+%setup -q -T -D -b 2 -n python-fcl-%{version}
+pushd ../fcl-%{fcl_version}/
+%autopatch -m2000 -M2999 -p1
+popd
+cp -p ../fcl-%{fcl_version}/LICENSE fcl-LICENSE
+%endif
+
+
+%generate_buildrequires
+%pyproject_buildrequires
+
+
+%build
+%if %{without system_fcl}
+BUNDLEROOT="%{_vpath_builddir}/_bundled"
+mkdir -p "${BUNDLEROOT}"
+# Ensure we have an absolute path
+pushd "${BUNDLEROOT}"
+BUNDLEROOT="${PWD}"
+popd
+# For each bundled dependency, we build a static library so we can link it into
+# the Python extension shared library. We must force PIC so that the static
+# library can be linked into a shared library. We also build and run the tests
+# of the bundled dependencies for added confidence.
+
+pushd ../libccd-%{libccd_version}/
+%cmake -GNinja \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DBUILD_STATIC_LIBS:BOOL=ON \
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
+ -DBUILD_TESTING:BOOL=ON \
+ -DENABLE_DOUBLE_PRECISION:BOOL=ON
+%cmake_build
+# Like %%cmake_install, but without DESTDIR="%%{buildroot}":
+DESTDIR="${BUNDLEROOT}" %__cmake --install "%{_vpath_builddir}"
+# We needed to “install” the bundled library because FCL needs headers from the
+# source tree AND the generated config.h, but accepts only a single
+# CCD_INCLUDE_DIR. Installing combines these headers in a single path.
+popd
+
+pushd ../fcl-%{fcl_version}/
+%cmake -GNinja \
+ -DCCD_LIBRARY:PATH="${BUNDLEROOT}%{_libdir}/libccd.a" \
+ -DCCD_INCLUDE_DIR:PATH="${BUNDLEROOT}%{_includedir}" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
+ -DFCL_STATIC_LIBRARY:BOOL=ON \
+ -DFCL_NO_DEFAULT_RPATH:BOOL=OFF \
+ -DFCL_USE_HOST_NATIVE_ARCH:BOOL=OFF \
+ -DFCL_USE_X64_SSE:BOOL=OFF
+%cmake_build
+DESTDIR="${BUNDLEROOT}" %__cmake --install "%{_vpath_builddir}"
+popd
+
+export PYTHON_FCL_EXTRA_INCLUDE_DIRS="${BUNDLEROOT}%{_includedir}"
+# Linking order matters!
+XO="${XO-}${XO+ }${BUNDLEROOT}%{_libdir}/libfcl.a"
+XO="${XO-}${XO+ }${BUNDLEROOT}%{_libdir}/libccd.a"
+export PYTHON_FCL_EXTRA_OBJECTS="${XO-}"
+# No -lfcl:
+export PYTHON_FCL_OMIT_LIBRARIES='fcl'
+%endif
+
+# For importing fcl.__version__
+#export PYTHONPATH="${PWD}/src"
+
+%pyproject_wheel
+
+
+%install
+%pyproject_install
+%pyproject_save_files -l fcl
+
+# Do not install Cython-generated C++ sources that were used to compile the
+# extension. This is pretty hard to fix upstream in setup.cfg (see various
+# issues like https://github.com/pypa/setuptools/issues/2710), and no patch has
+# been attempted.
+find '%{buildroot}%{python3_sitearch}' -type f -name '*.cpp' -print -delete
+sed -r -i '/\.cpp$/d' %{pyproject_files}
+
+
+%check
+%if %{without system_fcl}
+pushd ../libccd-%{libccd_version}/
+%ifarch %{valgrind_arches}
+%ctest
+%else
+%ctest --exclude-regex '.*-valgrind.*'
+%endif
+popd
+
+pushd ../fcl-%{fcl_version}/
+%ctest
+popd
+%endif
+
+rm -rvf fcl
+%pytest --verbose
+
+
+%files -n python3-python-fcl -f %{pyproject_files}
+%if %{without system_fcl}
+%license libccd-LICENSE fcl-LICENSE
+%endif
+%doc README.md
+%doc examples/
+
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..bc771e2
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (fcl-0.7.0.6.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
+SHA512 (libccd-0.7.0.6.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (python-fcl-0.7.0.6.tar.gz) = bc9a7c91a0371f53cd4e18787ff333a54ca04314a97a64ba5d41c48109b410553c1fc542a185d3f455ac4a988a82b8a1644feb234e5ebb1f789847e0aff77620
9 minutes
Architecture specific change in rpms/python-python-fcl.git
by githook-noreply@fedoraproject.org
The package rpms/python-python-fcl.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-python-fcl.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/python-python-fcl.git/commit/?id=...
https://src.fedoraproject.org/cgit/rpms/python-python-fcl.git/commit/?id=....
Change:
+%ifarch s390x
+ExcludeArch: %{ix86}
+%ifarch %{valgrind_arches}
Thanks.
Full change:
============
commit c38a33cc5f290896371ff788ab39aae32e7f4d4d
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue May 21 10:38:53 2024 -0400
Add arch-dependent skips for bundled fcl library tests
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index 15cdacb..834a3b8 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -229,16 +229,51 @@ sed -r -i '/\.cpp$/d' %{pyproject_files}
%check
%if %{without system_fcl}
+
pushd ../libccd-%{libccd_version}/
+skips='^($.'
%ifarch %{valgrind_arches}
-%ctest
-%else
-%ctest --exclude-regex '.*-valgrind.*'
+skips="${skips}|.*-valgrind.*"
%endif
+skips="${skips})$"
+%ctest --exclude-regex "${skips}"
popd
pushd ../fcl-%{fcl_version}/
-%ctest
+# Run the gtest-based executables manually rather than via the ctest harness so
+# that we can skip individual tests within individual executables.
+for exe in %{_vpath_builddir}/test/test_*
+do
+ # See: https://bugzilla.redhat.com/show_bug.cgi?id=2236527#c2
+ unset filter
+ case "$(basename "${exe}")" in
+ test_fcl_capsule_capsule)
+%ifarch aarch64
+ filter="${filter--}${filter+:}CapsuleCapsuleSegmentTest/1.NominalSeparatedCase"
+%endif
+%ifarch aarch64 ppc64le
+ filter="${filter--}${filter+:}CapsuleCapsuleSegmentTest/0.OverlappingCenterLines"
+%endif
+ ;;
+ test_gjk_libccd-inl_gjk_doSimplex2)
+%ifarch aarch64 ppc64le
+ filter="${filter--}${filter+:}DoSimplex2Test.NeedMoreComputing"
+ filter="${filter--}${filter+:}DoSimplex2Test.OriginInSimplex"
+%endif
+ ;;
+ test_gjk_libccd-inl_epa)
+%ifarch aarch64 ppc64le s390x
+ filter="${filter--}${filter+:}FCL_GJK_EPA.ComputeVisiblePatchColinearNewVertex"
+%endif
+ ;;
+ test_fcl_math)
+%ifarch s390x
+ filter="${filter--}${filter+:}FCL_MATH.rss_conversion"
+%endif
+ ;;
+ esac
+ "${exe}" --gtest_filter="${filter}"
+done
popd
%endif
commit 82f1d8f26a87dadb1ee8d47c39a2aba6c51c0a47
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Mon May 20 13:10:11 2024 -0400
Do not support i686 (aborts in TestFCL::test_managed_collisions)
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index d847d00..15cdacb 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -46,6 +46,9 @@ Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{libccd_ve
%global fcl_forgeurl https://github.com/ambi-robotics/fcl
Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{fcl_version}.tar.gz
+# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
# Support Cython 3
# https://github.com/BerkeleyAutomation/python-fcl/pull/77
Patch0: %{url}/pull/77.patch
commit ff9d6ca3963c7c249af555fe2bbf5800da0c097f
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue May 21 10:40:17 2024 -0400
Fix names for bundled library source archives
diff --git a/.gitignore b/.gitignore
index 69ea496..e300666 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
/fcl-0.7.0.6.tar.gz
/libccd-0.7.0.6.tar.gz
/python-fcl-0.7.0.6.tar.gz
+/libccd-2.1.tar.gz
+/fcl-0.7.0.tar.gz
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
index 9e20c32..d847d00 100644
--- a/python-python-fcl.spec
+++ b/python-python-fcl.spec
@@ -42,9 +42,9 @@ URL: https://github.com/BerkeleyAutomation/python-fcl
# https://github.com/BerkeleyAutomation/python-fcl/issues/55
Source0: %{url}/archive/v%{version}/python-fcl-%{version}.tar.gz
%global libccd_forgeurl https://github.com/danfis/libccd
-Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{version}.tar.gz
+Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{libccd_version}.tar.gz
%global fcl_forgeurl https://github.com/ambi-robotics/fcl
-Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{version}.tar.gz
+Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{fcl_version}.tar.gz
# Support Cython 3
# https://github.com/BerkeleyAutomation/python-fcl/pull/77
diff --git a/sources b/sources
index bc771e2..68d8c3d 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (fcl-0.7.0.6.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
-SHA512 (libccd-0.7.0.6.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (libccd-2.1.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (fcl-0.7.0.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
SHA512 (python-fcl-0.7.0.6.tar.gz) = bc9a7c91a0371f53cd4e18787ff333a54ca04314a97a64ba5d41c48109b410553c1fc542a185d3f455ac4a988a82b8a1644feb234e5ebb1f789847e0aff77620
commit c6ca5f9712bd96587f6587387684d80476e83495
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Mon May 20 08:31:43 2024 -0400
Initial package (close RHBZ#2270968)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..69ea496
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/fcl-0.7.0.6.tar.gz
+/libccd-0.7.0.6.tar.gz
+/python-fcl-0.7.0.6.tar.gz
diff --git a/0001-Add-environment-variables-to-control-bundling.patch b/0001-Add-environment-variables-to-control-bundling.patch
new file mode 100644
index 0000000..8ace952
--- /dev/null
+++ b/0001-Add-environment-variables-to-control-bundling.patch
@@ -0,0 +1,31 @@
+From 8e5659ec78cbe4232fc1650771ff5b82a293b1ed Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code(a)musicinmybrain.net>
+Date: Wed, 20 Mar 2024 14:27:33 -0400
+Subject: [PATCH] Add environment variables to control bundling
+
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 15e69dd..c6428e4 100644
+--- a/setup.py
++++ b/setup.py
+@@ -67,11 +67,12 @@ setup(
+ Extension(
+ "fcl.fcl",
+ ["src/fcl/fcl.pyx"],
+- include_dirs=get_include_dirs(),
++ include_dirs=get_include_dirs() + os.environ.get("PYTHON_FCL_EXTRA_INCLUDE_DIRS", "").split(),
+ library_dirs=get_libraries_dir(),
+- libraries=get_libraries(),
++ libraries=[lib for lib in get_libraries() if lib not in os.environ.get("PYTHON_FCL_OMIT_LIBRARIES", "").split()],
+ language="c++",
+ extra_compile_args=["-std=c++11"],
++ extra_objects=os.environ.get("PYTHON_FCL_EXTRA_OBJECTS", "").split(),
+ )
+ ],
+ )
+--
+2.44.0
+
diff --git a/77.patch b/77.patch
new file mode 100644
index 0000000..b1da7d9
--- /dev/null
+++ b/77.patch
@@ -0,0 +1,39 @@
+From 00bad0a0af7b01c8b6b28ca68542d9a21c2ed06a Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code(a)musicinmybrain.net>
+Date: Wed, 20 Mar 2024 10:06:35 -0400
+Subject: [PATCH] Support Cython 3
+
+Add exception specifications to callback function pointer typedefs.
+---
+ pyproject.toml | 2 +-
+ src/fcl/fcl_defs.pxd | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 603b0e4..3e07b17 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -2,7 +2,7 @@
+ requires = [
+ "setuptools",
+ "wheel",
+- "Cython<3.0",
++ "Cython",
+ "numpy; python_version<'3.12'",
+ "numpy>=1.26.0b1; python_version>='3.12'"]
+ build-backend = "setuptools.build_meta"
+diff --git a/src/fcl/fcl_defs.pxd b/src/fcl/fcl_defs.pxd
+index cb1205c..abc24ac 100644
+--- a/src/fcl/fcl_defs.pxd
++++ b/src/fcl/fcl_defs.pxd
+@@ -248,8 +248,8 @@ cdef extern from "fcl/geometry/shape/plane.h" namespace "fcl":
+ double d
+
+ cdef extern from "fcl/broadphase/broadphase_collision_manager.h" namespace "fcl":
+- ctypedef bool (*CollisionCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata)
+- ctypedef bool (*DistanceCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata, double& dist)
++ ctypedef bool (*CollisionCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata) except? -1
++ ctypedef bool (*DistanceCallBack)(CollisionObjectd* o1, CollisionObjectd* o2, void* cdata, double& dist) except? -1
+
+ cdef extern from "fcl/broadphase/broadphase_dynamic_AABB_tree.h" namespace "fcl":
+ cdef cppclass DynamicAABBTreeCollisionManagerd:
diff --git a/libccd-2.1-ctest.patch b/libccd-2.1-ctest.patch
new file mode 100644
index 0000000..64cff73
--- /dev/null
+++ b/libccd-2.1-ctest.patch
@@ -0,0 +1,75 @@
+diff -up ./CMakeLists.txt.ctest ./CMakeLists.txt
+--- ./CMakeLists.txt.ctest 2018-12-22 07:13:45.000000000 -0500
++++ ./CMakeLists.txt 2020-04-18 14:10:30.394989892 -0400
+@@ -9,7 +9,7 @@ endif()
+ project(libccd)
+
+ set(CCD_VERSION_MAJOR 2)
+-set(CCD_VERSION_MINOR 0)
++set(CCD_VERSION_MINOR 1)
+ set(CCD_VERSION ${CCD_VERSION_MAJOR}.${CCD_VERSION_MINOR})
+
+ set(CCD_SOVERSION 2)
+@@ -25,6 +25,8 @@ option(BUILD_SHARED_LIBS "Build libccd a
+ option(ENABLE_DOUBLE_PRECISION
+ "Enable double precision computations instead of single precision" OFF)
+
++option(BUILD_TESTING "Build the test suite" OFF)
++
+ # Option for some bundle-like build system in order not to expose
+ # any FCL binary symbols in their public ABI
+ option(CCD_HIDE_ALL_SYMBOLS "Hide all binary symbols" OFF)
+@@ -73,3 +75,8 @@ install(FILES "${CMAKE_BINARY_DIR}/ccd.p
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+
+ install(FILES BSD-LICENSE DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/doc/ccd")
++
++if (BUILD_TESTING)
++ enable_testing()
++endif (BUILD_TESTING)
++
+diff -up ./src/testsuites/CMakeLists.txt.ctest ./src/testsuites/CMakeLists.txt
+--- ./src/testsuites/CMakeLists.txt.ctest 2018-12-22 07:13:45.000000000 -0500
++++ ./src/testsuites/CMakeLists.txt 2020-04-18 14:07:25.369371109 -0400
+@@ -1,3 +1,41 @@
++set(CCDTEST_ARGS "" CACHE STRING "Argments to pass to ccdtest executable")
++
++set(TEST_SOURCES
++ common.c
++ support.c
++ vec3.c
++ polytope.c
++ boxbox.c
++ spheresphere.c
++ cylcyl.c
++ boxcyl.c
++ mpr_boxbox.c
++ mpr_cylcyl.c
++ mpr_boxcyl.c)
++
++add_executable(ccdtest ${TEST_SOURCES} main.c)
++target_link_libraries(ccdtest ccd cu rt)
++add_definitions(-DCU_ENABLE_TIMER)
++include_directories(${CMAKE_CURRENT_SOURCE_DIR})
++add_test(NAME ccdtest
++ COMMAND ccdtest ${CCDTEST_ARGS}
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
++
++add_test(NAME ccdtest-valgrind
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ COMMAND valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes
++ --error-limit=no
++ ${CMAKE_CURRENT_BINARY_DIR}/ccdtest ${CCDTEST_ARGS})
++
++add_test(NAME ccdtest-valgrind-gen-suppressions
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++ COMMAND valgrind -q --leak-check=full --show-reachable=yes --trace-children=yes
++ --gen-suppressions=all --log-file=out --error-limit=no
++ ${CMAKE_CURRENT_BINARY_DIR}/ccdtest ${CCDTEST_ARGS})
++
++add_test(NAME check-regressions
++ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cu/check-regressions regressions
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+ add_subdirectory(cu)
+
+ set(MAIN_SOURCES
diff --git a/libccd-2.1-py3.patch b/libccd-2.1-py3.patch
new file mode 100644
index 0000000..0d9f86f
--- /dev/null
+++ b/libccd-2.1-py3.patch
@@ -0,0 +1,158 @@
+diff -up ./src/testsuites/cu/check-regressions.py3 ./src/testsuites/cu/check-regressions
+--- ./src/testsuites/cu/check-regressions.py3 2020-04-18 14:23:18.757771743 -0400
++++ ./src/testsuites/cu/check-regressions 2020-04-18 14:23:56.070249408 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ ##
+ # CU - C unit testing framework
+ # ---------------------------------
+@@ -88,7 +88,7 @@ class Hunk:
+ if self.numLinesAdded() != self.numLinesDeleted():
+ return False
+
+- for i in xrange(0, self.numLinesAdded()):
++ for i in range(0, self.numLinesAdded()):
+ # if any line does not contain number - return False because
+ # there must be more differences than in numbers
+ if not self.re_is_num.match(self.added[i]) \
+@@ -102,8 +102,8 @@ class Hunk:
+ nums1 = self.re_num.findall(line1)
+ nums2 = self.re_num.findall(line2)
+ # and remove all empty strings
+- nums1 = filter(lambda x: len(x) > 0, nums1)
+- nums2 = filter(lambda x: len(x) > 0, nums2)
++ nums1 = [x for x in nums1 if len(x) > 0]
++ nums2 = [x for x in nums2 if len(x) > 0]
+
+ # if length of list nums1 does not equal to length of nums2
+ # return False
+@@ -111,7 +111,7 @@ class Hunk:
+ return False
+
+ # iterate trough all numbers
+- for j in xrange(0, len(nums1)):
++ for j in range(0, len(nums1)):
+ # if numbers do not equal to each other return False
+ if not self.__eq(float(nums1[j]), float(nums2[j])):
+ return False
+@@ -177,7 +177,7 @@ class Parser:
+ self.re_deleted = re.compile(r"^< (.*)$")
+
+ def __readNextLine(self):
+- self.line = self.fin.readline()
++ self.line = self.fin.readline().decode('utf-8')
+ if len(self.line) == 0:
+ return False
+ return True
+@@ -210,7 +210,7 @@ class Parser:
+ num_lines += 1
+
+ if PROGRESS_ON and num_lines % 50 == 0:
+- print MSG_BASE, "[ %08d ]" % num_lines, "\r",
++ print(MSG_BASE, "[ %08d ]" % num_lines, "\r", end=' ')
+ sys.stdout.flush()
+
+ # last push to list of hunks
+@@ -218,7 +218,7 @@ class Parser:
+ self.diff.addHunk(self.cur_hunk)
+
+ if PROGRESS_ON:
+- print MSG_BASE, " ", "\r",
++ print(MSG_BASE, " ", "\r", end=' ')
+ sys.stdout.flush()
+
+ def getDiff(self):
+@@ -262,26 +262,26 @@ def regressionFilesInDir():
+
+ def MSG(str = "", wait = False):
+ if wait:
+- print str,
++ print(str, end=' ')
+ else:
+- print str
++ print(str)
+ def MSGOK(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;32m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;32m" + str + "\033[0;0m", poststr)
+ def MSGFAIL(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;31m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;31m" + str + "\033[0;0m", poststr)
+ def MSGINFO(prestr = "", str = "", poststr = ""):
+- print prestr, "\033[0;33m" + str + "\033[0;0m", poststr
++ print(prestr, "\033[0;33m" + str + "\033[0;0m", poststr)
+ def dumpLines(lines, prefix = "", wait = False, max_lines = -1):
+ line_num = 0
+ if wait:
+ for line in lines:
+- print prefix, line,
++ print(prefix, line, end=' ')
+ line_num += 1
+ if max_lines >= 0 and line_num > max_lines:
+ break
+ else:
+ for line in lines:
+- print prefix, line
++ print(prefix, line)
+ line_num += 1
+ if max_lines >= 0 and line_num > max_lines:
+ break
+@@ -308,7 +308,7 @@ def main(files):
+ MSG_BASE = "Comparing %s and %s" % \
+ (filenames[0].ljust(len1) ,filenames[1].ljust(len2))
+ if not PROGRESS_ON:
+- print MSG_BASE,
++ print(MSG_BASE, end=' ')
+ sys.stdout.flush()
+
+ pipe = Popen(cmd, stdout=PIPE)
+@@ -319,7 +319,7 @@ def main(files):
+ diff.checkFloats()
+
+ if PROGRESS_ON:
+- print MSG_BASE,
++ print(MSG_BASE, end=' ')
+
+ if diff.numHunks() == 0:
+ MSGOK(" [", "OK", "]")
+@@ -345,23 +345,23 @@ def main(files):
+ dumpLines(lines, " |", True, MAX_DIFF_LINES)
+
+ def usage():
+- print "Usage: " + sys.argv[0] + " [ OPTIONS ] [ directory, [ directory, [ ... ] ] ]"
+- print ""
+- print " OPTIONS:"
+- print " --help / -h none Print this help"
+- print " --exact / -e none Switch do exact comparasion of files"
+- print " --not-exact / -n none Switch do non exact comparasion of files (default behaviour)"
+- print " --max-diff-lines int Maximum of lines of diff which can be printed (default " + str(MAX_DIFF_LINES) + ")"
+- print " --eps float Precision of floating point numbers (epsilon) (default " + str(EPS) + ")"
+- print " --no-progress none Turn off progress bar"
+- print " --progress none Turn on progress bar (default)"
+- print ""
+- print " This program is able to compare files with regressions generated by CU testsuites."
+- print " You can specify directories which are to be searched for regression files."
+- print " In non exact copmarasion mode (which is default), this program tries to compare"
+- print " floating point numbers in files with respect to specified precision (see --eps) and"
+- print " those lines which differ only in precission of floating point numbers are omitted."
+- print ""
++ print("Usage: " + sys.argv[0] + " [ OPTIONS ] [ directory, [ directory, [ ... ] ] ]")
++ print("")
++ print(" OPTIONS:")
++ print(" --help / -h none Print this help")
++ print(" --exact / -e none Switch do exact comparasion of files")
++ print(" --not-exact / -n none Switch do non exact comparasion of files (default behaviour)")
++ print(" --max-diff-lines int Maximum of lines of diff which can be printed (default " + str(MAX_DIFF_LINES) + ")")
++ print(" --eps float Precision of floating point numbers (epsilon) (default " + str(EPS) + ")")
++ print(" --no-progress none Turn off progress bar")
++ print(" --progress none Turn on progress bar (default)")
++ print("")
++ print(" This program is able to compare files with regressions generated by CU testsuites.")
++ print(" You can specify directories which are to be searched for regression files.")
++ print(" In non exact copmarasion mode (which is default), this program tries to compare")
++ print(" floating point numbers in files with respect to specified precision (see --eps) and")
++ print(" those lines which differ only in precission of floating point numbers are omitted.")
++ print("")
+ sys.exit(-1)
+
+
diff --git a/python-python-fcl.spec b/python-python-fcl.spec
new file mode 100644
index 0000000..9e20c32
--- /dev/null
+++ b/python-python-fcl.spec
@@ -0,0 +1,255 @@
+# The libccd dependency can be built in single-precision or double-precision
+# mode, but not both at the same time. This is awkward and not conducive to
+# system packaging. The goal is to build libccd in double-precision mode in
+# Fedora, as discussed in:
+# Build libccd with double-precision?
+# https://bugzilla.redhat.com/show_bug.cgi?id=2236527
+# This actually reduces the number of (ignored) test failures in the fcl
+# package, and it’s absolutely necessary for this package: with a
+# single-precision libccd (and an fcl built using that single-precision
+# libccd), one of the tests hangs forever.
+#
+# Until the system libccd is double-precision (and after that in stable
+# branches, since this will be an ABI-breaking change), we must therefore
+# bundle and build our own libccd and fcl.
+#
+# See:
+#
+# Build libccd with double-precision?
+# https://bugzilla.redhat.com/show_bug.cgi?id=2236527
+%bcond system_fcl 0
+# See build_dependencies/install_linux.sh for the versions used upstream to
+# build PyPI wheels.
+%global libccd_version 2.1
+%global fcl_version 0.7.0
+
+# Note that this is https://pypi.org/project/python-fcl/; the canonical project
+# name fcl, https://pypi.org/project/fcl/, belongs to a different and
+# apparently defunct project. See
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_librar...
+Name: python-python-fcl
+Version: 0.7.0.6
+Release: %autorelease
+Summary: Python bindings for the Flexible Collision Library
+
+# Conveniently, both libccd and fcl are BSD-3-Clause, so the License does not
+# change when we bundle them.
+License: BSD-3-Clause
+URL: https://github.com/BerkeleyAutomation/python-fcl
+# No sdists are released on PyPI; we must use the GitHub archive
+#
+# Source distribution is not available on pypi after 0.6.1
+# https://github.com/BerkeleyAutomation/python-fcl/issues/55
+Source0: %{url}/archive/v%{version}/python-fcl-%{version}.tar.gz
+%global libccd_forgeurl https://github.com/danfis/libccd
+Source1: %{libccd_forgeurl}/archive/v%{libccd_version}/libccd-%{version}.tar.gz
+%global fcl_forgeurl https://github.com/ambi-robotics/fcl
+Source2: %{fcl_forgeurl}/archive/v%{fcl_version}/fcl-%{version}.tar.gz
+
+# Support Cython 3
+# https://github.com/BerkeleyAutomation/python-fcl/pull/77
+Patch0: %{url}/pull/77.patch
+# Downstream-only patch to *allow* bundling libccd/fcl:
+# Add environment variables to control bundling
+Patch1: 0001-Add-environment-variables-to-control-bundling.patch
+
+# Patches for bundled libccd, based on https://src.fedoraproject.org/rpms/libccd/
+#
+# This patch integrates additional programs that are present in
+# the testsuites folder into CMake, via CTest.
+# It also increments the version number to match the release.
+# Not yet submitted upstream
+Patch1001: https://src.fedoraproject.org/rpms/libccd/raw/80bc68bb9f9644aec2e8dbf036e...
+# (We do not need libccd-2.1-pkgconfig.patch, because we are not using or installing the .pc file from the bundled libccd.)
+# Convert check_regressions to python3
+# Not submitted upstream
+Patch1002: https://src.fedoraproject.org/rpms/libccd/raw/80bc68bb9f9644aec2e8dbf036e...
+
+BuildRequires: python3-devel
+
+BuildRequires: gcc-c++
+
+BuildRequires: octomap-devel
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_hea...
+BuildRequires: eigen3-static
+%if %{with system_fcl}
+BuildRequires: fcl-devel
+%else
+# For bundled libccd:
+BuildRequires: cmake
+BuildRequires: ninja-build
+# For bundled libccd (testing):
+%ifarch %{valgrind_arches}
+BuildRequires: valgrind
+%endif
+%endif
+
+BuildRequires: %{py3_dist pytest}
+
+%global common_description %{expand:
+Python-FCL is an (unofficial) Python interface for the Flexible Collision
+Library (FCL), an excellent C++ library for performing proximity and collision
+queries on pairs of geometric models.
+
+This package supports three types of proximity queries for pairs of geometric
+models:
+
+ • Collision Detection: Detecting whether two models overlap (and optionally
+ where).
+ • Distance Computation: Computing the minimum distance between a pair of
+ models.
+ • Continuous Collision Detection: Detecting whether two models overlap during
+ motion (and optionally the time of contact).
+
+This package also supports most of FCL’s object shapes, including:
+
+ • TriangleP
+ • Box
+ • Sphere
+ • Ellipsoid
+ • Capsule
+ • Cone
+ • Convex
+ • Cylinder
+ • Half-Space
+ • Plane
+ • Mesh
+ • OcTree}
+
+%description %{common_description}
+
+
+%package -n python3-python-fcl
+Summary: %{summary}
+
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_provid...
+%py_provides python3-fcl
+
+%if %{without system_fcl}
+Provides: bundled(libccd) = %{libccd_version}
+Provides: bundled(fcl) = %{fcl_version}
+%endif
+
+%description -n python3-python-fcl %{common_description}
+
+
+%prep
+%autosetup -n python-fcl-%{version} -N
+%autopatch -M999 -p1
+
+%if %{without system_fcl}
+%setup -q -T -D -b 1 -n python-fcl-%{version}
+pushd ../libccd-%{libccd_version}/
+%autopatch -m1000 -M1999 -p0
+popd
+cp -p ../libccd-%{libccd_version}/BSD-LICENSE libccd-LICENSE
+
+%setup -q -T -D -b 2 -n python-fcl-%{version}
+pushd ../fcl-%{fcl_version}/
+%autopatch -m2000 -M2999 -p1
+popd
+cp -p ../fcl-%{fcl_version}/LICENSE fcl-LICENSE
+%endif
+
+
+%generate_buildrequires
+%pyproject_buildrequires
+
+
+%build
+%if %{without system_fcl}
+BUNDLEROOT="%{_vpath_builddir}/_bundled"
+mkdir -p "${BUNDLEROOT}"
+# Ensure we have an absolute path
+pushd "${BUNDLEROOT}"
+BUNDLEROOT="${PWD}"
+popd
+# For each bundled dependency, we build a static library so we can link it into
+# the Python extension shared library. We must force PIC so that the static
+# library can be linked into a shared library. We also build and run the tests
+# of the bundled dependencies for added confidence.
+
+pushd ../libccd-%{libccd_version}/
+%cmake -GNinja \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ -DBUILD_STATIC_LIBS:BOOL=ON \
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
+ -DBUILD_TESTING:BOOL=ON \
+ -DENABLE_DOUBLE_PRECISION:BOOL=ON
+%cmake_build
+# Like %%cmake_install, but without DESTDIR="%%{buildroot}":
+DESTDIR="${BUNDLEROOT}" %__cmake --install "%{_vpath_builddir}"
+# We needed to “install” the bundled library because FCL needs headers from the
+# source tree AND the generated config.h, but accepts only a single
+# CCD_INCLUDE_DIR. Installing combines these headers in a single path.
+popd
+
+pushd ../fcl-%{fcl_version}/
+%cmake -GNinja \
+ -DCCD_LIBRARY:PATH="${BUNDLEROOT}%{_libdir}/libccd.a" \
+ -DCCD_INCLUDE_DIR:PATH="${BUNDLEROOT}%{_includedir}" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
+ -DFCL_STATIC_LIBRARY:BOOL=ON \
+ -DFCL_NO_DEFAULT_RPATH:BOOL=OFF \
+ -DFCL_USE_HOST_NATIVE_ARCH:BOOL=OFF \
+ -DFCL_USE_X64_SSE:BOOL=OFF
+%cmake_build
+DESTDIR="${BUNDLEROOT}" %__cmake --install "%{_vpath_builddir}"
+popd
+
+export PYTHON_FCL_EXTRA_INCLUDE_DIRS="${BUNDLEROOT}%{_includedir}"
+# Linking order matters!
+XO="${XO-}${XO+ }${BUNDLEROOT}%{_libdir}/libfcl.a"
+XO="${XO-}${XO+ }${BUNDLEROOT}%{_libdir}/libccd.a"
+export PYTHON_FCL_EXTRA_OBJECTS="${XO-}"
+# No -lfcl:
+export PYTHON_FCL_OMIT_LIBRARIES='fcl'
+%endif
+
+# For importing fcl.__version__
+#export PYTHONPATH="${PWD}/src"
+
+%pyproject_wheel
+
+
+%install
+%pyproject_install
+%pyproject_save_files -l fcl
+
+# Do not install Cython-generated C++ sources that were used to compile the
+# extension. This is pretty hard to fix upstream in setup.cfg (see various
+# issues like https://github.com/pypa/setuptools/issues/2710), and no patch has
+# been attempted.
+find '%{buildroot}%{python3_sitearch}' -type f -name '*.cpp' -print -delete
+sed -r -i '/\.cpp$/d' %{pyproject_files}
+
+
+%check
+%if %{without system_fcl}
+pushd ../libccd-%{libccd_version}/
+%ifarch %{valgrind_arches}
+%ctest
+%else
+%ctest --exclude-regex '.*-valgrind.*'
+%endif
+popd
+
+pushd ../fcl-%{fcl_version}/
+%ctest
+popd
+%endif
+
+rm -rvf fcl
+%pytest --verbose
+
+
+%files -n python3-python-fcl -f %{pyproject_files}
+%if %{without system_fcl}
+%license libccd-LICENSE fcl-LICENSE
+%endif
+%doc README.md
+%doc examples/
+
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..bc771e2
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (fcl-0.7.0.6.tar.gz) = 6e5390b8c49a19d347121945283141577208781967ec169aabf64b95efc41633fb9fde996bcbaf6daf0414e58e5760ea39e2aa9929891892db47756830156bdc
+SHA512 (libccd-0.7.0.6.tar.gz) = ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
+SHA512 (python-fcl-0.7.0.6.tar.gz) = bc9a7c91a0371f53cd4e18787ff333a54ca04314a97a64ba5d41c48109b410553c1fc542a185d3f455ac4a988a82b8a1644feb234e5ebb1f789847e0aff77620
1 hour, 39 minutes
Architecture specific change in rpms/clang16.git
by githook-noreply@fedoraproject.org
The package rpms/clang16.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/clang16.git/commit/?id=4ac0aacdbc...
https://src.fedoraproject.org/cgit/rpms/clang16.git/commit/?id=327d96277b...
https://src.fedoraproject.org/cgit/rpms/clang16.git/commit/?id=6f89e70358....
Change:
-%ifarch %{arm} riscv64
+%ifarch aarch64 %ix86 riscv64
+%ifarch %{arm} riscv64
Thanks.
Full change:
============
commit 4ac0aacdbc546aa08958f22dacb4116cc916a914
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue May 7 10:50:25 2024 -0300
Start distributing binaries
This is a partial backport from clang17 that let clang16 distribute the
binaries. It also comes with other fixes that had already been applied
to clang17 and were missing in clang16.
diff --git a/clang16.spec b/clang16.spec
index 5d385fe..ec9622b 100644
--- a/clang16.spec
+++ b/clang16.spec
@@ -15,6 +15,7 @@
%if %{with compat_build}
%global pkg_name clang%{maj_ver}
+%global sub_pkg_suffix %{maj_ver}
# Install clang to same prefix as llvm, so that apps that use llvm-config
# will also be able to find clang libs.
%global install_prefix %{_libdir}/llvm%{maj_ver}
@@ -22,15 +23,19 @@
%global install_includedir %{install_prefix}/include
%global install_libdir %{install_prefix}/lib
%global install_datadir %{install_prefix}/share
+%global install_libexecdir %{install_prefix}/libexec
+%global install_docdir %{install_datadir}/doc
-%global pkg_bindir %{install_bindir}
%global pkg_includedir %{install_includedir}
-%global pkg_libdir %{install_libdir}
%else
%global pkg_name clang
-%global install_prefix /usr
+%global install_prefix %{_prefix}
+%global install_bindir %{_bindir}
%global install_datadir %{_datadir}
-%global pkg_libdir %{_libdir}
+%global install_libdir %{_libdir}
+%global install_includedir %{_includedir}
+%global install_libexecdir %{_libexecdir}
+%global install_docdir %{_docdir}
%endif
%ifarch ppc64le
@@ -38,22 +43,25 @@
%global _smp_mflags -j8
%endif
+# Try to limit memory use on i686.
+%ifarch %ix86
+%constrain_build -m 3072
+%endif
+
%global clang_srcdir clang-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
%global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
Name: %pkg_name
Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: A C language family front-end for LLVM
License: Apache-2.0 WITH LLVM-exception OR NCSA
URL: http://llvm.org
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
-%if %{without compat_build}
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
-%endif
Source4: release-keys.asc
%if %{without compat_build}
Source5: macros.%{name}
@@ -69,9 +77,6 @@ Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch
# Make clangBasic and clangDriver depend on LLVMTargetParser
# See https://reviews.llvm.org/D141581
Patch7: D141581.diff
-# clang/cmake: Use installed gtest libraries for stand-alone builds
-# See https://reviews.llvm.org/D138472
-Patch8: D138472.diff
# Backport from LLVM 18.
Patch9: 0001-clang-set-python3-as-required-build-dependency.patch
@@ -88,11 +93,9 @@ Patch100: 0001-Add-support-for-riscv64.patch
# Avoid unwanted dependency on python-recommonmark
Patch101: 0009-disable-recommonmark.patch
-%if %{without compat_build}
# Patches for clang-tools-extra
# See https://reviews.llvm.org/D120301
Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
-%endif
BuildRequires: clang
BuildRequires: cmake
@@ -102,8 +105,8 @@ BuildRequires: ninja-build
%global llvm_pkg_name llvm%{maj_ver}
%else
%global llvm_pkg_name llvm
-BuildRequires: llvm-test = %{version}
-BuildRequires: llvm-googletest = %{version}
+BuildRequires: %{llvm_pkg_name}-test = %{version}
+BuildRequires: %{llvm_pkg_name}-googletest = %{version}
%endif
BuildRequires: %{llvm_pkg_name}-devel = %{version}
@@ -131,10 +134,10 @@ BuildRequires: libatomic
# We need python3-devel for %%py3_shebang_fix
BuildRequires: python3-devel
-%if %{without compat_build}
# For reproducible pyc file generation
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix...
BuildRequires: /usr/bin/marshalparser
+%if %{without compat_build}
%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib}
%endif
@@ -186,7 +189,7 @@ libomp-devel to enable -fopenmp.
%package libs
Summary: Runtime library for clang
-Requires: %{name}-resource-filesystem%{?_isa} = %{version}
+Requires: %{name}-resource-filesystem = %{version}
Recommends: compiler-rt%{?_isa} = %{version}
# atomic support is not part of compiler-rt
Recommends: libatomic%{?_isa}
@@ -206,27 +209,34 @@ Runtime library for clang.
%package devel
Summary: Development header files for clang
Requires: %{name}-libs = %{version}-%{release}
-%if %{without compat_build}
Requires: %{name}%{?_isa} = %{version}-%{release}
# The clang CMake files reference tools from clang-tools-extra.
Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
-%endif
+Provides: %{name}-devel(major) = %{maj_ver}
%description devel
Development header files for clang.
%package resource-filesystem
Summary: Filesystem package that owns the clang resource directory
-Provides: %{name}-resource-filesystem(major) = %{maj_ver}
+Provides: clang-resource-filesystem(major) = %{maj_ver}
+# This package can't be noarch for compat builds, becuase the x86_64 and i686
+# builds are installed to different prefixes.
+%if %{without compat_build}
+BuildArch: noarch
+%endif
%description resource-filesystem
This package owns the clang resouce directory: $libdir/clang/$version/
-%if %{without compat_build}
%package analyzer
Summary: A source code analysis framework
License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
+# This package can't be noarch for compat builds, becuase the x86_64 and i686
+# builds are installed to different prefixes.
+%if %{without compat_build}
BuildArch: noarch
+%endif
Requires: %{name} = %{version}-%{release}
%description analyzer
@@ -253,16 +263,16 @@ Development header files for clang tools.
# Put git-clang-format in its own package, because it Requires git
# and we don't want to force users to install all those dependenices if they
# just want clang.
-%package -n git-clang-format
+%package -n git-clang-format%{?sub_pkg_suffix}
Summary: Integration of clang-format for git
Requires: %{name}-tools-extra = %{version}-%{release}
Requires: git
Requires: python3
-%description -n git-clang-format
+%description -n git-clang-format%{?sub_pkg_suffix}
clang-format integration for git.
-
+%if %{without compat_build}
%package -n python3-clang
Summary: Python3 bindings for clang
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
@@ -277,15 +287,11 @@ Requires: python3
%prep
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}'
-%if %{with compat_build}
-%autosetup -n %{clang_srcdir} -p2
-%else
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}'
%setup -T -q -b 1 -n %{clang_tools_srcdir}
%autopatch -m200 -p2
-
# failing test case
rm test/clang-tidy/checkers/altera/struct-pack-align.cpp
@@ -308,12 +314,9 @@ rm test/CodeGen/profile-filter.c
tools/scan-view/share/startfile.py \
tools/scan-build-py/bin/* \
tools/scan-build-py/libexec/*
-%endif
%build
-# Use ThinLTO to limit build time.
-%define _lto_cflags -flto=thin
# And disable LTO on AArch64 and RISC-V entirely.
# Disable lto on i686 due to memory constraints.
%ifarch aarch64 %ix86 riscv64
@@ -353,24 +356,23 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
%endif
%if %{with compat_build}
- -DCLANG_BUILD_TOOLS:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
-DCLANG_INCLUDE_TESTS:BOOL=OFF \
-DLLVM_INCLUDE_TESTS:BOOL=OFF \
-DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
%else
-DCLANG_INCLUDE_TESTS:BOOL=ON \
- -DLLVM_BUILD_UTILS:BOOL=ON \
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
- -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
- -DLLVM_LIT_ARGS="-vv" \
- -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
%if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64 \
%else
-DLLVM_LIBDIR_SUFFIX= \
%endif
%endif
+ -DLLVM_BUILD_UTILS:BOOL=ON \
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DLLVM_LIT_ARGS="-vv" \
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
\
%if %{with compat_build}
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver} \
@@ -395,6 +397,11 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
-DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \
%ifarch %{arm}
-DCLANG_DEFAULT_LINKER=lld \
+%endif
+%if %{with compat_build}
+ -DCLANG_RESOURCE_DIR=../../../lib/clang/%{maj_ver} \
+%else
+ -DCLANG_RESOURCE_DIR=../lib/clang/%{maj_ver} \
%endif
-DCLANG_DEFAULT_UNWINDLIB=libgcc
@@ -404,20 +411,13 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
%cmake_install
-%if %{with compat_build}
-
-# Remove binaries/other files
-rm -Rf %{buildroot}%{install_bindir}
-rm -Rf %{buildroot}%{install_prefix}/share
-rm -Rf %{buildroot}%{install_prefix}/libexec
-# Remove scanview-py helper libs
-rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild}
-
-%else
+# Add a symlink in /usr/bin to clang-format-diff
+ln -s %{install_datadir}/clang/clang-format-diff.py %{buildroot}%{install_bindir}/clang-format-diff
# File in the macros file for other packages to use. We are not doing this
# in the compat package, because the version macros would # conflict with
# eachother if both clang and the clang compat package were installed together.
+%if %{without compat_build}
install -p -m0644 -D %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.%{name}
sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
-e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
@@ -433,54 +433,72 @@ install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
mv %{buildroot}%{_prefix}/%{_lib}/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
-# Fix permissions of scan-view scripts
-chmod a+x %{buildroot}%{_datadir}/scan-view/{Reporter.py,startfile.py}
-
-# multilib fix
-%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
-
# Move emacs integration files to the correct directory
mkdir -p %{buildroot}%{_emacs_sitestartdir}
for f in clang-format.el clang-rename.el clang-include-fixer.el; do
mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f
done
-# remove editor integrations (bbedit, sublime, emacs, vim)
-rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
-rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
-
-# TODO: Package html docs
-rm -Rvf %{buildroot}%{_docdir}/Clang/clang/html
-rm -Rvf %{buildroot}%{_datadir}/clang/clang-doc-default-stylesheet.css
-rm -Rvf %{buildroot}%{_datadir}/clang/index.js
-
-# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
-rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
-
# Create Manpage symlinks
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz
ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+# Fix permission
+chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
+
# Add clang++-{version} symlink
ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
+%else
+# Not sure where to put these python modules for the compat build.
+rm -Rf %{buildroot}%{install_libdir}/{libear,libscanbuild}
+
+# Not sure where to put the emacs integration files for the compat build.
+rm -Rf %{buildroot}%{install_datadir}/clang/*.el
+
+# Not sure what to do with man pages for the compat builds
+rm -Rf %{buildroot}%{install_prefix}/share/man/
+
+# Add version suffix to binaries
+mkdir -p %{buildroot}%{_bindir}
+for f in %{buildroot}/%{install_bindir}/*; do
+ filename=`basename $f`
+ if echo $filename | grep -e '%{maj_ver}'; then
+ continue
+ fi
+ ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename-%{maj_ver}
+done
-# Fix permission
-chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
+# Add clang++-{version} symlink
+ln -s ../../%{install_bindir}/clang++ %{buildroot}%{install_bindir}/clang++-%{maj_ver}
%endif
+# Fix permissions of scan-view scripts
+chmod a+x %{buildroot}%{install_datadir}/scan-view/{Reporter.py,startfile.py}
+
+# multilib fix
+%multilib_fix_c_header --file %{install_includedir}/clang/Config/config.h
+
+# remove editor integrations (bbedit, sublime, emacs, vim)
+rm -vf %{buildroot}%{install_datadir}/clang/clang-format-bbedit.applescript
+rm -vf %{buildroot}%{install_datadir}/clang/clang-format-sublime.py*
+
+# TODO: Package html docs
+rm -Rvf %{buildroot}%{install_docdir}/Clang/clang/html
+rm -Rvf %{buildroot}%{install_datadir}/clang/clang-doc-default-stylesheet.css
+rm -Rvf %{buildroot}%{install_datadir}/clang/index.js
+
+# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
+rm -vf %{buildroot}%{install_datadir}/clang/bash-autocomplete.sh
+
+
# Create sub-directories in the clang resource directory that will be
# populated by other packages
-mkdir -p %{buildroot}%{pkg_libdir}/clang/%{maj_ver}/{include,lib,share}/
+mkdir -p %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/{bin,include,lib,share}/
-%if %{without compat_build}
-# Add a symlink in /usr/bin to clang-format-diff
-ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
-%endif
-
%check
%if %{without compat_build}
%if %{with check}
@@ -489,139 +507,181 @@ ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format
%cmake_build --target clang-test-depends \
ExtraToolsUnitTests ClangdUnitTests ClangIncludeCleanerUnitTests ClangPseudoUnitTests
# requires lit.py from LLVM utilities
-# FIXME: Fix failing ARM tests
-LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C %{__cmake_builddir} || \
-%ifarch %{arm} riscv64
-:
-%else
-false
-%endif
+LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{__cmake_builddir}
%endif
%endif
-
-%if %{without compat_build}
%files
%license LICENSE.TXT
-%{_bindir}/clang
-%{_bindir}/clang++
-%{_bindir}/clang-%{maj_ver}
-%{_bindir}/clang++-%{maj_ver}
-%{_bindir}/clang-cl
-%{_bindir}/clang-cpp
+%{install_bindir}/clang
+%{install_bindir}/clang++
+%{install_bindir}/clang-%{maj_ver}
+%{install_bindir}/clang++-%{maj_ver}
+%{install_bindir}/clang-cl
+%{install_bindir}/clang-cpp
+%if %{without compat_build}
%{_mandir}/man1/clang.1.gz
%{_mandir}/man1/clang++.1.gz
%{_mandir}/man1/clang-%{maj_ver}.1.gz
%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+%else
+%{_bindir}/clang-%{maj_ver}
+%{_bindir}/clang++-%{maj_ver}
+%{_bindir}/clang-cl-%{maj_ver}
+%{_bindir}/clang-cpp-%{maj_ver}
%endif
%files libs
-%if %{without compat_build}
-%{_libdir}/clang/%{maj_ver}/include/*
-%{_libdir}/*.so.*
-%else
-%{pkg_libdir}/*.so.*
-%{pkg_libdir}/clang/%{maj_ver}/include/*
-%endif
+%{install_prefix}/lib/clang/%{maj_ver}/include/*
+%{install_libdir}/*.so.*
%files devel
+%{install_libdir}/*.so
+%{install_includedir}/clang/
+%{install_includedir}/clang-c/
+%{install_libdir}/cmake/*
+%{install_bindir}/clang-tblgen
+%if %{with compat_build}
+%{_bindir}/clang-tblgen-%{maj_ver}
+%endif
+%dir %{install_datadir}/clang/
+
+%files resource-filesystem
+%dir %{_prefix}/lib/clang/
+%dir %{_prefix}/lib/clang/%{maj_ver}/
+%dir %{_prefix}/lib/clang/%{maj_ver}/bin/
+%dir %{_prefix}/lib/clang/%{maj_ver}/include/
+%dir %{_prefix}/lib/clang/%{maj_ver}/lib/
+%dir %{_prefix}/lib/clang/%{maj_ver}/share/
%if %{without compat_build}
-%{_libdir}/*.so
-%{_includedir}/clang/
-%{_includedir}/clang-c/
-%{_libdir}/cmake/*
-%{_bindir}/clang-tblgen
-%dir %{_datadir}/clang/
%{_rpmmacrodir}/macros.%{name}
-%else
-%{pkg_libdir}/*.so
-%{pkg_includedir}/clang/
-%{pkg_includedir}/clang-c/
-%{pkg_libdir}/cmake/
%endif
-%files resource-filesystem
-%dir %{pkg_libdir}/clang/
-%dir %{pkg_libdir}/clang/%{maj_ver}/
-%dir %{pkg_libdir}/clang/%{maj_ver}/include/
-%dir %{pkg_libdir}/clang/%{maj_ver}/lib/
-%dir %{pkg_libdir}/clang/%{maj_ver}/share/
-%if %{without compat_build}
%files analyzer
-%{_bindir}/scan-view
-%{_bindir}/scan-build
-%{_bindir}/analyze-build
-%{_bindir}/intercept-build
-%{_bindir}/scan-build-py
-%{_libexecdir}/ccc-analyzer
-%{_libexecdir}/c++-analyzer
-%{_libexecdir}/analyze-c++
-%{_libexecdir}/analyze-cc
-%{_libexecdir}/intercept-c++
-%{_libexecdir}/intercept-cc
-%{_datadir}/scan-view/
-%{_datadir}/scan-build/
+%{install_bindir}/scan-view
+%{install_bindir}/scan-build
+%{install_bindir}/analyze-build
+%{install_bindir}/intercept-build
+%{install_bindir}/scan-build-py
+%if %{with compat_build}
+%{_bindir}/scan-view-%{maj_ver}
+%{_bindir}/scan-build-%{maj_ver}
+%{_bindir}/analyze-build-%{maj_ver}
+%{_bindir}/intercept-build-%{maj_ver}
+%{_bindir}/scan-build-py-%{maj_ver}
+%endif
+%{install_libexecdir}/ccc-analyzer
+%{install_libexecdir}/c++-analyzer
+%{install_libexecdir}/analyze-c++
+%{install_libexecdir}/analyze-cc
+%{install_libexecdir}/intercept-c++
+%{install_libexecdir}/intercept-cc
+%{install_datadir}/scan-view/
+%{install_datadir}/scan-build/
+%if %{without compat_build}
%{_mandir}/man1/scan-build.1.*
%{python3_sitelib}/libear
%{python3_sitelib}/libscanbuild
+%endif
%files tools-extra
-%{_bindir}/amdgpu-arch
-%{_bindir}/clang-apply-replacements
-%{_bindir}/clang-change-namespace
-%{_bindir}/clang-check
-%{_bindir}/clang-doc
-%{_bindir}/clang-extdef-mapping
-%{_bindir}/clang-format
-%{_bindir}/clang-include-cleaner
-%{_bindir}/clang-include-fixer
-%{_bindir}/clang-move
-%{_bindir}/clang-offload-bundler
-%{_bindir}/clang-offload-packager
-%{_bindir}/clang-linker-wrapper
-%{_bindir}/clang-pseudo
-%{_bindir}/clang-query
-%{_bindir}/clang-refactor
-%{_bindir}/clang-rename
-%{_bindir}/clang-reorder-fields
-%{_bindir}/clang-repl
-%{_bindir}/clang-scan-deps
-%{_bindir}/clang-tidy
-%{_bindir}/clangd
-%{_bindir}/diagtool
-%{_bindir}/hmaptool
-%{_bindir}/nvptx-arch
-%{_bindir}/pp-trace
-%{_bindir}/c-index-test
-%{_bindir}/find-all-symbols
-%{_bindir}/modularize
-%{_bindir}/clang-format-diff
+%{install_bindir}/amdgpu-arch
+%{install_bindir}/clang-apply-replacements
+%{install_bindir}/clang-change-namespace
+%{install_bindir}/clang-check
+%{install_bindir}/clang-doc
+%{install_bindir}/clang-extdef-mapping
+%{install_bindir}/clang-format
+%{install_bindir}/clang-include-cleaner
+%{install_bindir}/clang-include-fixer
+%{install_bindir}/clang-move
+%{install_bindir}/clang-offload-bundler
+%{install_bindir}/clang-offload-packager
+%{install_bindir}/clang-linker-wrapper
+%{install_bindir}/clang-pseudo
+%{install_bindir}/clang-query
+%{install_bindir}/clang-refactor
+%{install_bindir}/clang-rename
+%{install_bindir}/clang-reorder-fields
+%{install_bindir}/clang-repl
+%{install_bindir}/clang-scan-deps
+%{install_bindir}/clang-tidy
+%{install_bindir}/clangd
+%{install_bindir}/diagtool
+%{install_bindir}/hmaptool
+%{install_bindir}/nvptx-arch
+%{install_bindir}/pp-trace
+%{install_bindir}/c-index-test
+%{install_bindir}/find-all-symbols
+%{install_bindir}/modularize
+%{install_bindir}/clang-format-diff
+%{install_bindir}/run-clang-tidy
+%if %{with compat_build}
+%{_bindir}/amdgpu-arch-%{maj_ver}
+%{_bindir}/clang-apply-replacements-%{maj_ver}
+%{_bindir}/clang-change-namespace-%{maj_ver}
+%{_bindir}/clang-check-%{maj_ver}
+%{_bindir}/clang-doc-%{maj_ver}
+%{_bindir}/clang-extdef-mapping-%{maj_ver}
+%{_bindir}/clang-format-%{maj_ver}
+%{_bindir}/clang-include-cleaner-%{maj_ver}
+%{_bindir}/clang-include-fixer-%{maj_ver}
+%{_bindir}/clang-move-%{maj_ver}
+%{_bindir}/clang-offload-bundler-%{maj_ver}
+%{_bindir}/clang-offload-packager-%{maj_ver}
+%{_bindir}/clang-linker-wrapper-%{maj_ver}
+%{_bindir}/clang-pseudo-%{maj_ver}
+%{_bindir}/clang-query-%{maj_ver}
+%{_bindir}/clang-refactor-%{maj_ver}
+%{_bindir}/clang-rename-%{maj_ver}
+%{_bindir}/clang-reorder-fields-%{maj_ver}
+%{_bindir}/clang-repl-%{maj_ver}
+%{_bindir}/clang-scan-deps-%{maj_ver}
+%{_bindir}/clang-tidy-%{maj_ver}
+%{_bindir}/clangd-%{maj_ver}
+%{_bindir}/diagtool-%{maj_ver}
+%{_bindir}/hmaptool-%{maj_ver}
+%{_bindir}/nvptx-arch-%{maj_ver}
+%{_bindir}/pp-trace-%{maj_ver}
+%{_bindir}/c-index-test-%{maj_ver}
+%{_bindir}/find-all-symbols-%{maj_ver}
+%{_bindir}/modularize-%{maj_ver}
+%{_bindir}/clang-format-diff-%{maj_ver}
+%{_bindir}/run-clang-tidy-%{maj_ver}
+%else
%{_mandir}/man1/diagtool.1.gz
%{_emacs_sitestartdir}/clang-format.el
%{_emacs_sitestartdir}/clang-rename.el
%{_emacs_sitestartdir}/clang-include-fixer.el
-%{_datadir}/clang/clang-format.py*
-%{_datadir}/clang/clang-format-diff.py*
-%{_datadir}/clang/clang-include-fixer.py*
-%{_datadir}/clang/clang-tidy-diff.py*
-%{_bindir}/run-clang-tidy
-%{_datadir}/clang/run-find-all-symbols.py*
-%{_datadir}/clang/clang-rename.py*
+%endif
+%{install_datadir}/clang/clang-format.py*
+%{install_datadir}/clang/clang-format-diff.py*
+%{install_datadir}/clang/clang-include-fixer.py*
+%{install_datadir}/clang/clang-tidy-diff.py*
+%{install_datadir}/clang/run-find-all-symbols.py*
+%{install_datadir}/clang/clang-rename.py*
%files tools-extra-devel
-%{_includedir}/clang-tidy/
+%{install_includedir}/clang-tidy/
-%files -n git-clang-format
-%{_bindir}/git-clang-format
+%files -n git-clang-format%{?sub_pkg_suffix}
+%{install_bindir}/git-clang-format
+%if %{with compat_build}
+%{_bindir}/git-clang-format-%{maj_ver}
+%endif
+%if %{without compat_build}
%files -n python3-clang
%{python3_sitelib}/clang/
%endif
%changelog
+* Thu May 02 2024 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-7
+- Start distributing the binaries. Fix rhbz#2277782
+
* Fri Feb 23 2024 Songsong Zhang <U2FsdGVkX1(a)gmail.com> - 16.0.6-6
- Add riscv64 support
commit 327d96277bf30f0ff72983735cf67882833e6458
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue Feb 27 12:53:39 2024 -0300
Disable LTO in i686 builds
Backport a change from rawhide commit
10f313f559152149c108b3302372af9451e45dd9 that disabled LTO in i686 due
to memory contraints when linking binaries.
diff --git a/clang16.spec b/clang16.spec
index c15d7b8..5d385fe 100644
--- a/clang16.spec
+++ b/clang16.spec
@@ -315,7 +315,8 @@ rm test/CodeGen/profile-filter.c
# Use ThinLTO to limit build time.
%define _lto_cflags -flto=thin
# And disable LTO on AArch64 and RISC-V entirely.
-%ifarch aarch64 riscv64
+# Disable lto on i686 due to memory constraints.
+%ifarch aarch64 %ix86 riscv64
%define _lto_cflags %{nil}
%endif
commit 6f89e70358ed01b19ec690ef07d1b432f3ed539f
Author: U2FsdGVkX1 <U2FsdGVkX1(a)gmail.com>
Date: Fri Feb 23 11:04:08 2024 +0800
Add riscv64 support
diff --git a/0001-Add-support-for-riscv64.patch b/0001-Add-support-for-riscv64.patch
new file mode 100644
index 0000000..cd8f49b
--- /dev/null
+++ b/0001-Add-support-for-riscv64.patch
@@ -0,0 +1,43 @@
+From 44bea1c1866d1d8e623f5a17db1bca0ea5abce83 Mon Sep 17 00:00:00 2001
+From: David Abdurachmanov <davidlt(a)rivosinc.com>
+Date: Mon, 24 Apr 2023 08:28:31 +0000
+Subject: [PATCH] Add support for riscv64
+
+Signed-off-by: David Abdurachmanov <davidlt(a)rivosinc.com>
+---
+ clang-16.0.1.src/lib/Driver/ToolChains/Gnu.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/clang-16.0.1.src/lib/Driver/ToolChains/Gnu.cpp b/clang-16.0.1.src/lib/Driver/ToolChains/Gnu.cpp
+index 8fdf4de4..d682410d 100644
+--- a/clang-16.0.1.src/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang-16.0.1.src/lib/Driver/ToolChains/Gnu.cpp
+@@ -1994,6 +1994,7 @@ static const char *ConvertToGccTriple(StringRef CandidateTriple) {
+ .Case("aarch64-redhat-linux-gnu", "aarch64-redhat-linux")
+ .Case("i686-redhat-linux-gnu", "i686-redhat-linux")
+ .Case("ppc64le-redhat-linux-gnu", "ppc64le-redhat-linux")
++ .Case("riscv64-redhat-linux-gnu", "riscv64-redhat-linux")
+ .Case("s390x-redhat-linux-gnu", "s390x-redhat-linux")
+ .Case("x86_64-redhat-linux-gnu", "x86_64-redhat-linux")
+ .Default(NULL);
+@@ -2346,7 +2347,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
+ static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
+ static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
+ "riscv64-linux-gnu",
+- "riscv64-unknown-elf"};
++ "riscv64-unknown-elf",
++ "riscv64-redhat-linux"};
+
+ static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
+ static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
+@@ -2890,6 +2892,7 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const {
+ // rhbz#1655546
+ case llvm::Triple::systemz:
+ case llvm::Triple::arm:
++ case llvm::Triple::riscv64:
+ return UnwindTableLevel::Asynchronous;
+ default:
+ return UnwindTableLevel::None;
+--
+2.40.0
+
diff --git a/clang16.spec b/clang16.spec
index fd27653..c15d7b8 100644
--- a/clang16.spec
+++ b/clang16.spec
@@ -43,7 +43,7 @@
Name: %pkg_name
Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
-Release: 5%{?dist}
+Release: 6%{?dist}
Summary: A C language family front-end for LLVM
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -81,6 +81,9 @@ Patch10: fix-ieee128-cross.diff
# https://reviews.llvm.org/D155192
Patch11: D155192.diff
+# http://fedora.riscv.rocks:3000/rpms/clang/src/branch/f38-riscv64/0001-Add...
+Patch100: 0001-Add-support-for-riscv64.patch
+
# RHEL specific patches
# Avoid unwanted dependency on python-recommonmark
Patch101: 0009-disable-recommonmark.patch
@@ -311,8 +314,8 @@ rm test/CodeGen/profile-filter.c
# Use ThinLTO to limit build time.
%define _lto_cflags -flto=thin
-# And disable LTO on AArch64 entirely.
-%ifarch aarch64
+# And disable LTO on AArch64 and RISC-V entirely.
+%ifarch aarch64 riscv64
%define _lto_cflags %{nil}
%endif
@@ -322,7 +325,7 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
%endif
-%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le
+%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le riscv64
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
@@ -344,7 +347,7 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DPYTHON_EXECUTABLE=%{__python3} \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-%ifarch s390 s390x %{arm} %ix86 ppc64le
+%ifarch s390 s390x %{arm} %ix86 ppc64le riscv64
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
%endif
@@ -487,7 +490,7 @@ ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format
# requires lit.py from LLVM utilities
# FIXME: Fix failing ARM tests
LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C %{__cmake_builddir} || \
-%ifarch %{arm}
+%ifarch %{arm} riscv64
:
%else
false
@@ -618,6 +621,9 @@ false
%endif
%changelog
+* Fri Feb 23 2024 Songsong Zhang <U2FsdGVkX1(a)gmail.com> - 16.0.6-6
+- Add riscv64 support
+
* Tue Jan 23 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
3 hours, 1 minute
Architecture specific change in rpms/llvm16.git
by githook-noreply@fedoraproject.org
The package rpms/llvm16.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/llvm16.git/commit/?id=ca65ec172ed...
https://src.fedoraproject.org/cgit/rpms/llvm16.git/commit/?id=07fbf3ffee8...
https://src.fedoraproject.org/cgit/rpms/llvm16.git/commit/?id=30d933e7090...
https://src.fedoraproject.org/cgit/rpms/llvm16.git/commit/?id=8af362f59dd....
Change:
-%ifnarch riscv64
+%ifarch %ix86
+%ifarch riscv64
+%ifnarch riscv64
Thanks.
Full change:
============
commit ca65ec172ed943163c9a619126f0a1cc8f18e5d7
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Fri May 17 14:30:12 2024 -0300
Add missing code that disables LTO
This code was missing in the previous commit.
diff --git a/llvm16.spec b/llvm16.spec
index 1ccc1db..0db135a 100644
--- a/llvm16.spec
+++ b/llvm16.spec
@@ -17,7 +17,7 @@
%bcond_without compat_build
%bcond_without check
-%ifarch %ix86
+%ifarch %ix86 riscv64
# Disable LTO on x86 in order to reduce memory consumption
%bcond_with lto_build
%elif %{with snapshot_build}
@@ -34,10 +34,6 @@
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
-%ifarch riscv64
-# Disable LTO (ld.gold not supported on riscv64)
-%global _lto_cflags %{nil}
-%endif
%if %{with compat_build}
%global pkg_name llvm%{maj_ver}
@@ -254,6 +250,10 @@ mv %{third_party_srcdir} third-party
%build
+%if %{without lto_build}
+%global _lto_cflags %nil
+%endif
+
%ifarch s390 s390x %{arm} %ix86 riscv64
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
@@ -326,7 +326,7 @@ export ASMFLAGS="%{build_cflags}"
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-%ifnarch riscv64
+%if %{with lto_build}
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0"
%endif
commit 07fbf3ffee840ce7d0a77abb76c77ec7ea4c086c
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Thu May 16 17:29:29 2024 -0300
Disable LTO builds on x86
Backport the code that disables LTO in order to avoid memory exhaustion
on i686.
diff --git a/llvm16.spec b/llvm16.spec
index 9f0d6b5..1ccc1db 100644
--- a/llvm16.spec
+++ b/llvm16.spec
@@ -17,6 +17,16 @@
%bcond_without compat_build
%bcond_without check
+%ifarch %ix86
+# Disable LTO on x86 in order to reduce memory consumption
+%bcond_with lto_build
+%elif %{with snapshot_build}
+# Disable LTO to speed up builds
+%bcond_with lto_build
+%else
+%bcond_without lto_build
+%endif
+
#global rc_ver 4
%global maj_ver 16
%global min_ver 0
commit 30d933e70907fc1b6bd3194c7c114dcf34ace460
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue May 7 10:38:17 2024 -0300
Start distributing binaries
This is a partial backport from llvm17 that let llvm16 distribute the
binaries. It also comes with other fixes that had already been applied
to llvm17 and were missing in llvm16.
diff --git a/llvm16.spec b/llvm16.spec
index 1b85854..9f0d6b5 100644
--- a/llvm16.spec
+++ b/llvm16.spec
@@ -24,10 +24,8 @@
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
-%ifnarch riscv64
+%ifarch riscv64
# Disable LTO (ld.gold not supported on riscv64)
-%global _lto_cflags -flto=thin
-%else
%global _lto_cflags %{nil}
%endif
@@ -80,7 +78,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -160,9 +158,8 @@ Requires: libedit-devel
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
# patches.
Requires: %{name}-static%{?_isa} = %{version}-%{release}
-%if %{without compat_build}
Requires: %{name}-test%{?_isa} = %{version}-%{release}
-%endif
+Requires: %{name}-googletest%{?_isa} = %{version}-%{release}
Requires(post): %{_sbindir}/alternatives
@@ -207,8 +204,6 @@ Summary: CMake utilities shared across LLVM subprojects
CMake utilities shared across LLVM subprojects.
This is for internal use by LLVM packages only.
-%if %{without compat_build}
-
%package test
Summary: LLVM regression tests
Requires: %{name}%{?_isa} = %{version}-%{release}
@@ -225,8 +220,6 @@ Summary: LLVM's modified googletest sources
%description googletest
LLVM's modified googletest sources.
-%endif
-
%prep
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
@@ -257,7 +250,7 @@ mv %{third_party_srcdir} third-party
%endif
# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files.
-export ASMFLAGS=$CFLAGS
+export ASMFLAGS="%{build_cflags}"
# force off shared libs as cmake macros turns it on.
%cmake -G Ninja \
@@ -295,33 +288,23 @@ export ASMFLAGS=$CFLAGS
\
-DLLVM_INCLUDE_TESTS:BOOL=ON \
-DLLVM_BUILD_TESTS:BOOL=ON \
-%if %{with compat_build}
- -DLLVM_INSTALL_GTEST:BOOL=OFF \
-%else
-DLLVM_INSTALL_GTEST:BOOL=ON \
-%endif
-DLLVM_LIT_ARGS=-v \
\
-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
\
-DLLVM_INCLUDE_UTILS:BOOL=ON \
-%if %{with compat_build}
- -DLLVM_INSTALL_UTILS:BOOL=OFF \
-%else
-DLLVM_INSTALL_UTILS:BOOL=ON \
- -DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \
+ -DLLVM_UTILS_INSTALL_DIR:PATH=bin \
-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
-%endif
\
-DLLVM_INCLUDE_DOCS:BOOL=ON \
-DLLVM_BUILD_DOCS:BOOL=ON \
-DLLVM_ENABLE_SPHINX:BOOL=ON \
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
\
-%if %{without compat_build}
-DLLVM_VERSION_SUFFIX='' \
-%endif
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF \
-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
@@ -348,29 +331,33 @@ export ASMFLAGS=$CFLAGS
mkdir -p %{buildroot}/%{_bindir}
-%if %{without compat_build}
-
-# Fix some man pages
-ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
-
# Install binaries needed for lit tests
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
for f in %{test_binaries}
do
- install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{_bindir}
+ install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{install_bindir}
done
# Remove testing of update utility tools
rm -rf test/tools/UpdateTestChecks
-%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
-
# Install libraries needed for unittests
+%if %{without compat_build}
%global build_libdir %{_vpath_builddir}/%{_lib}
+%else
+%global build_libdir %{_vpath_builddir}/lib
+%endif
+
+install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{install_libdir}
+
+# Fix multi-lib
+%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
+
+%if %{without compat_build}
-install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
-install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{_libdir}
+# Fix some man pages
+ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1
%if %{with gold}
# Add symlink to lto plugin in the binutils plugin directory.
@@ -386,17 +373,9 @@ for f in %{buildroot}/%{install_bindir}/*; do
ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
done
-# Move header files
-mkdir -p %{buildroot}/%{pkg_includedir}
-ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
-ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
-
-# Fix multi-lib
-%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
-
# Create ld.so.conf.d entry
-mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
-cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
+mkdir -p %{buildroot}/etc/ld.so.conf.d
+cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
%{install_libdir}
EOF
@@ -407,9 +386,6 @@ for f in %{build_install_prefix}/share/man/man1/*; do
mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
done
-# Remove opt-viewer, since this is just a compatibility package.
-rm -Rf %{build_install_prefix}/share/opt-viewer
-
%endif
# llvm-config special casing. llvm-config is managed by update-alternatives.
@@ -474,59 +450,72 @@ LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
%if %{without compat_build}
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
+
+# During the upgrade from LLVM 16 (F38) to LLVM 17 (F39), we found out the
+# main llvm-devel package was leaving entries in the alternatives system.
+# Try to remove them now.
+for v in 14 15 16; do
+ if [[ -e %{_bindir}/llvm-config-$v
+ && "x$(%{_bindir}/llvm-config-$v --version | awk -F . '{ print $1 }')" != "x$v" ]]; then
+ %{_sbindir}/update-alternatives --remove llvm-config-$v %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
+ fi
+done
%endif
%postun devel
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
+fi
%if %{without compat_build}
+# When upgrading between minor versions (i.e. from x.y.1 to x.y.2), we must
+# not remove the alternative.
+# However, during a major version upgrade (i.e. from 16.x.y to 17.z.w), the
+# alternative must be removed in order to give priority to a newly installed
+# compat package.
+if [[ $1 -eq 0
+ || "x$(%{_bindir}/llvm-config-%{maj_ver} --version | awk -F . '{ print $1 }')" != "x%{maj_ver}" ]]; then
%{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
-%endif
fi
+%endif
%files
%license LICENSE.TXT
%exclude %{_mandir}/man1/llvm-config*
%{_mandir}/man1/*
-%{_bindir}/*
+%{install_bindir}/*
+%if %{with compat_build}
+# This is for all the binaries with the version suffix.
+%{_bindir}/*%{exec_suffix}
+%endif
%exclude %{_bindir}/llvm-config%{exec_suffix}
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
-%if %{without compat_build}
%exclude %{_bindir}/llvm-config-%{maj_ver}
%exclude %{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
-%exclude %{_bindir}/not
-%exclude %{_bindir}/count
-%exclude %{_bindir}/yaml-bench
-%exclude %{_bindir}/lli-child-target
-%exclude %{_bindir}/llvm-isel-fuzzer
-%exclude %{_bindir}/llvm-opt-fuzzer
-%{_datadir}/opt-viewer
-%else
-%{install_bindir}
-%endif
+%exclude %{install_bindir}/not
+%exclude %{install_bindir}/count
+%exclude %{install_bindir}/yaml-bench
+%exclude %{install_bindir}/lli-child-target
+%exclude %{install_bindir}/llvm-isel-fuzzer
+%exclude %{install_bindir}/llvm-opt-fuzzer
+%{pkg_datadir}/opt-viewer
%files libs
%license LICENSE.TXT
-%{install_libdir}/libLLVM-%{maj_ver}.so
-%if %{without compat_build}
+%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
%if %{with gold}
-%{_libdir}/LLVMgold.so
+%{install_libdir}/LLVMgold.so
+%if %{without compat_build}
%{_libdir}/bfd-plugins/LLVMgold.so
%endif
-%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
-%{_libdir}/libLTO.so*
-%else
-%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
-%if %{with gold}
-%{_libdir}/%{name}/lib/LLVMgold.so
%endif
%{install_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
%{install_libdir}/libLTO.so*
-%exclude %{install_libdir}/libLTO.so
-%endif
%{install_libdir}/libRemarks.so*
+%if %{with compat_build}
+%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
+%endif
%files devel
%license LICENSE.TXT
@@ -539,14 +528,8 @@ fi
%{install_includedir}/llvm-c
%{install_libdir}/libLLVM.so
%{install_libdir}/cmake/llvm
-%if %{without compat_build}
%{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
%ghost %{_bindir}/llvm-config-%{maj_ver}
-%else
-%{pkg_includedir}/llvm
-%{pkg_includedir}/llvm-c
-%{install_libdir}/libLTO.so
-%endif
%files doc
%license LICENSE.TXT
@@ -555,27 +538,23 @@ fi
%files static
%license LICENSE.TXT
%{install_libdir}/*.a
-%if %{without compat_build}
%exclude %{install_libdir}/libLLVMTestingSupport.a
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
%exclude %{install_libdir}/libllvm_gtest.a
%exclude %{install_libdir}/libllvm_gtest_main.a
-%endif
%files cmake-utils
%license LICENSE.TXT
%{pkg_datadir}/llvm/cmake
-%if %{without compat_build}
-
%files test
%license LICENSE.TXT
-%{_bindir}/not
-%{_bindir}/count
-%{_bindir}/yaml-bench
-%{_bindir}/lli-child-target
-%{_bindir}/llvm-isel-fuzzer
-%{_bindir}/llvm-opt-fuzzer
+%{install_bindir}/not
+%{install_bindir}/count
+%{install_bindir}/yaml-bench
+%{install_bindir}/lli-child-target
+%{install_bindir}/llvm-isel-fuzzer
+%{install_bindir}/llvm-opt-fuzzer
%files googletest
%license LICENSE.TXT
@@ -586,9 +565,11 @@ fi
%{install_includedir}/llvm-gtest
%{install_includedir}/llvm-gmock
-%endif
%changelog
+* Thu May 02 2024 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-9
+- Start distributing the binaries. Fix rhbz#2277782
+
* Sat Mar 16 2024 David Abdurachmanov <davidlt(a)rivosinc.com> - 16.0.6-9
- Add support for riscv64
- Fix build error: '/usr/bin/ld: bad -plugin-opt option' on riscv64.
commit 8af362f59dd54d0ab44b4cfb2420190dc8d6e3e0
Author: Zhengyu He <hezhy472013(a)gmail.com>
Date: Fri Mar 15 11:14:18 2024 +0800
Add support for riscv64
Co-authored-by: David Abdurachmanov <davidlt(a)rivosinc.com>
Co-authored-by: Zhengyu He <hezhy472013(a)gmail.com>
diff --git a/llvm16.spec b/llvm16.spec
index 45ae300..1b85854 100644
--- a/llvm16.spec
+++ b/llvm16.spec
@@ -24,7 +24,12 @@
%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
+%ifnarch riscv64
+# Disable LTO (ld.gold not supported on riscv64)
%global _lto_cflags -flto=thin
+%else
+%global _lto_cflags %{nil}
+%endif
%if %{with compat_build}
%global pkg_name llvm%{maj_ver}
@@ -246,7 +251,7 @@ mv %{third_party_srcdir} third-party
%build
-%ifarch s390 s390x %{arm} %ix86
+%ifarch s390 s390x %{arm} %ix86 riscv64
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
@@ -260,7 +265,7 @@ export ASMFLAGS=$CFLAGS
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_SKIP_RPATH:BOOL=ON \
-%ifarch s390 %{arm} %ix86
+%ifarch s390 %{arm} %ix86 riscv64
-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
%endif
@@ -328,7 +333,9 @@ export ASMFLAGS=$CFLAGS
-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
+%ifnarch riscv64
-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0"
+%endif
# Build libLLVM.so first. This ensures that when libLLVM.so is linking, there
# are no other compile jobs running. This will help reduce OOM errors on the
@@ -582,6 +589,12 @@ fi
%endif
%changelog
+* Sat Mar 16 2024 David Abdurachmanov <davidlt(a)rivosinc.com> - 16.0.6-9
+- Add support for riscv64
+- Fix build error: '/usr/bin/ld: bad -plugin-opt option' on riscv64.
+- Lower memory consumption on riscv64
+- Disable LTO (ld.gold not supported on riscv64)
+
* Tue Mar 05 2024 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-8
- Force ldconfig execution in compat packages. Fixes rhbz#2001328.
commit 7a9d990ee87859cb49bd4339d05cba4da6b040da
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue Mar 5 19:19:48 2024 -0300
Force ldconfig execution in compat packages
Fixes rhbz#2001328.
diff --git a/llvm16.spec b/llvm16.spec
index eda2ebc..45ae300 100644
--- a/llvm16.spec
+++ b/llvm16.spec
@@ -75,7 +75,7 @@
Name: %{pkg_name}
Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: The Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -183,6 +183,9 @@ Summary: LLVM shared libraries
%description libs
Shared libraries for the LLVM compiler infrastructure.
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
%package static
Summary: LLVM static libraries
Conflicts: %{name}-devel < 8
@@ -451,7 +454,14 @@ LD_LIBRARY_PATH=%{buildroot}/%{install_libdir} %{__ninja} check-all -C %{_vpath
%endif
-%ldconfig_scriptlets libs
+%if %{with compat_build}
+# Packages that install files in /etc/ld.so.conf have to manually run
+# ldconfig.
+# See https://bugzilla.redhat.com/show_bug.cgi?id=2001328 and
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_li...
+%post -p /sbin/ldconfig libs
+%postun -p /sbin/ldconfig libs
+%endif
%post devel
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
@@ -572,6 +582,9 @@ fi
%endif
%changelog
+* Tue Mar 05 2024 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-8
+- Force ldconfig execution in compat packages. Fixes rhbz#2001328.
+
* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
3 hours, 2 minutes
Architecture specific change in rpms/nfs-ganesha.git
by githook-noreply@fedoraproject.org
The package rpms/nfs-ganesha.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/nfs-ganesha.git/commit/?id=58d734...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=7ea846...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=5093e9....
Change:
-%ifnarch i686 armv7hl
+%ifnarch i686 armv7hl
-%ifnarch i686 armv7hl
Thanks.
Full change:
============
commit 377a8bd4eada37a8cec48054daa95c2b113433d2
Merge: e178159 58d7341
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 10:01:28 2024 -0400
NFS-Ganesha 5.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --cc nfs-ganesha.spec
index b407335,4feac18..d29fab2
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@@ -115,8 -117,8 +114,8 @@@ Requires: openSUSE-releas
#%%global dev rc6
Name: nfs-ganesha
- Version: 5.7
- Release: 3%{?dev:%{dev}}%{?dist}
+ Version: 5.8
-Release: 2%{?dev:%{dev}}%{?dist}
++Release: 1%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@@ -167,7 -168,7 +165,7 @@@ BuildRequires: libprometheus-cpp-deve
%endif
BuildRequires: gcc-c++
%if ( 0%{?with_system_ntirpc} )
--BuildRequires: libntirpc-devel >= 4.3
++BuildRequires: libntirpc-devel >= 5.0
%else
Requires: libntirpc = @NTIRPC_VERSION_EMBED@
%endif
@@@ -870,8 -904,6 +885,8 @@@ exit
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
%{python_sitelib}/Ganesha/*
%{python_sitelib}/ganeshactl-*-info
+%else
- %{python3_sitelib}/ganeshactl-*.egg
++%{python3_sitelib}/ganesha*.egg
%endif
%if ( 0%{?with_gui_utils} )
%{_bindir}/ganesha-admin
@@@ -879,6 -911,7 +894,7 @@@
%{_bindir}/manage_exports
%{_bindir}/manage_logger
%{_bindir}/ganeshactl
-%{python3_sitelib}/Ganesha/*
++%{_bindir}/ganesha-top
%if ( 0%{?with_9P} )
%{_bindir}/client_stats_9pOps
%{_bindir}/export_stats_9pOps
@@@ -898,11 -931,36 +914,14 @@@
%endif
%changelog
-* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-2
-- NFS-Ganesha 5.8, enable ceph again
-
-* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
++* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
+ - NFS-Ganesha 5.8 GA
-- temporarily disable ceph until there is an updated build
-
-* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
-- enable VFS_POSIX_ACL, for real this time
-
-* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
-- enable VFS_POSIX_ACL, which has been available since 4.x
-
-* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
-- rebuild with (lib)prometheus-cpp-1.2.4
-
-* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
-- rebuild with (lib)prometheus-cpp-1.2.3
-
-* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
-- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
+
-* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
-- rebuild with (lib)prometheus-cpp-1.2.0
+* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
+- enable ACLs in FSAL_VFS, this time for real
-* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
-- use python pep517 installer and build
+* Thu May 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
+- enable ACLs in FSAL_VFS
* Fri Nov 3 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-1
- NFS-Ganesha 5.7 GA
commit 58d7341bf76abae542921491790fa8b2058dec6e
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 07:18:29 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 8f1cd3a..4feac18 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -45,11 +45,7 @@ Requires: openSUSE-release
%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
commit 7ea8466da18938ddb05ba5c39245d84161335198
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 05:50:35 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7d11f68..8f1cd3a 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,10 +38,18 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
+%ifnarch i686 armv7hl
+%bcond_without ceph
+%else
%bcond_with ceph
+%endif
%global use_fsal_ceph %{on_off_switch ceph}
+%ifnarch i686 armv7hl
+%bcond_without rgw
+%else
%bcond_with rgw
+%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -76,10 +84,18 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
+%ifnarch i686 armv7hl
+%bcond_without rados_recov
+%else
%bcond_with rados_recov
+%endif
%global use_rados_recov %{on_off_switch rados_recov}
+%ifnarch i686 armv7hl
+%bcond_without rados_urls
+%else
%bcond_with rados_urls
+%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -106,7 +122,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.8
-Release: 1%{?dev:%{dev}}%{?dist}
+Release: 2%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -919,6 +935,9 @@ exit 0
%endif
%changelog
+* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-2
+- NFS-Ganesha 5.8, enable ceph again
+
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
- temporarily disable ceph until there is an updated build
commit e3ac850fef47c7fa0178085f4a79cf98a15125d1
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 13:34:56 2024 -0400
NFS-Ganesha 5.8 GA
temporarily disable ceph until there is an updated build
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0003-python-installer.patch b/0003-python-installer.patch
deleted file mode 100644
index 1c93f2b..0000000
--- a/0003-python-installer.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 631225223..1336103c5 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -1125,6 +1125,9 @@ if(USE_CAPS)
- endif (CAPS_FOUND)
- endif(USE_CAPS)
-
-+# default to ON so that it does the right thing in the CentOS CI
-+goption(USE_LEGACY_PYTHON_INSTALL "Use 'python setup.py install'" ON)
-+
- # Check if we have libblkid and libuuid, will just be reported under one
- # flag USE_BLKID
-
-@@ -1616,6 +1619,12 @@ else(SANITIZE_ADDRESS)
- set(BCOND_SANITIZE_ADDRESS "%bcond_with")
- endif(SANITIZE_ADDRESS)
-
-+if(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_without")
-+else(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_with")
-+endif(USE_LEGACY_PYTHON_INSTALL)
-+
- # Now create a usable specfile
- configure_file(
- "${PROJECT_SOURCE_DIR}/nfs-ganesha.spec-in.cmake"
-diff --git a/src/scripts/ganesha-top/CMakeLists.txt b/src/scripts/ganesha-top/CMakeLists.txt
-index f2f0e1df6..59c2eebac 100644
---- a/src/scripts/ganesha-top/CMakeLists.txt
-+++ b/src/scripts/ganesha-top/CMakeLists.txt
-@@ -56,18 +56,36 @@ if(USE_ADMIN_TOOLS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganesha_top ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganesha-top-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_ADMIN_TOOLS)
-diff --git a/src/scripts/ganeshactl/CMakeLists.txt b/src/scripts/ganeshactl/CMakeLists.txt
-index a6ba73ede..1339ccafe 100644
---- a/src/scripts/ganeshactl/CMakeLists.txt
-+++ b/src/scripts/ganeshactl/CMakeLists.txt
-@@ -137,19 +137,37 @@ if(Python3_FOUND)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganeshactl ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganeshactl-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
-
- # Man page
-diff --git a/src/scripts/gpfs-epoch/CMakeLists.txt b/src/scripts/gpfs-epoch/CMakeLists.txt
-index af8035444..796a3a64e 100644
---- a/src/scripts/gpfs-epoch/CMakeLists.txt
-+++ b/src/scripts/gpfs-epoch/CMakeLists.txt
-@@ -56,19 +56,38 @@ if(USE_FSAL_GPFS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_gpfs_epoch ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-- )
-+ if (USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/gpfs-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_FSAL_GPFS)
diff --git a/0004-gcc-14.patch b/0004-gcc-14.patch
deleted file mode 100644
index f9ccc59..0000000
--- a/0004-gcc-14.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- nfs-ganesha-5.7/src/monitoring/monitoring.cc.orig 2024-01-19 10:17:09.609065781 -0500
-+++ nfs-ganesha-5.7/src/monitoring/monitoring.cc 2024-01-19 10:17:28.535732620 -0500
-@@ -26,6 +26,7 @@
- #include <memory>
- #include <sstream>
- #include <string>
-+#include <algorithm>
-
- #include "prometheus/counter.h"
- #include "prometheus/exposer.h"
-@@ -260,7 +261,7 @@
- std::shared_ptr<prometheus::Registry> registry;
-
- static void toLowerCase(std::string &s) {
-- transform(s.begin(), s.end(), s.begin(), ::tolower);
-+ std::transform(s.begin(), s.end(), s.begin(), ::tolower);
- }
-
- static void observeNfsRequest(const char *operation,
---- nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c.orig 2024-01-19 10:26:57.758293091 -0500
-+++ nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c 2024-01-19 10:44:35.158948523 -0500
-@@ -131,14 +131,7 @@
- attrmask_t attrmask;
- };
-
--#if ((LIBRGW_FILE_VER_MAJOR > 1) || \
-- ((LIBRGW_FILE_VER_MAJOR == 1) && \
-- ((LIBRGW_FILE_VER_MINOR > 2) || \
-- ((LIBRGW_FILE_VER_MINOR == 2) && (LIBRGW_FILE_VER_EXTRA >= 1)))))
- static int
--#else
--static bool
--#endif
- rgw_cb(const char *name, void *arg, uint64_t offset,
- struct stat *st, uint32_t st_mask, uint32_t flags)
- {
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 06fe139..7d11f68 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -47,6 +47,9 @@ Requires: openSUSE-release
%bcond_without gluster
%global use_fsal_gluster %{on_off_switch gluster}
+%bcond_without saunafs
+%global use_fsal_saunafs %{on_off_switch saunafs}
+
%bcond_with kvsfs
%global use_fsal_kvsfs %{on_off_switch kvsfs}
@@ -446,6 +449,17 @@ This package contains a FSAL shared object to
be used with NFS-Ganesha to support Gluster
%endif
+# SAUNA
+%if ( 0%{?with_saunafs} )
+%package saunafs
+Summary: The NFS-GANESHA SAUNAFS FSAL
+Requires: nfs-ganesha = %{version}-%{release}
+
+%description saunafs
+This package contains a FSAL shared object to
+be used with NFS-Ganesha to support Sauna FS
+%endif
+
# SELINUX
%if ( 0%{?fedora} >= 29 || 0%{?rhel} >= 8 )
%package selinux
@@ -527,6 +541,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_FSAL_GPFS=%{use_fsal_gpfs} \
-DUSE_FSAL_KVSFS=%{use_fsal_kvsfs} \
-DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \
+ -DUSE_FSAL_SAUNAFS=%{use_fsal_saunafs} \
-DUSE_SYSTEM_NTIRPC=%{use_system_ntirpc} \
-DUSE_9P_RDMA=%{use_rdma} \
-DUSE_LTTNG=%{use_lttng} \
@@ -837,6 +852,11 @@ exit 0
%endif
%endif
+%if ( 0%{?with_saunafs} )
+%files saunafs
+%{_libdir}/ganesha/libfsalsaunafs*
+%endif
+
%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 )
%files selinux
%attr(0644,root,root) %{_selinux_store_path}/packages/ganesha.pp.bz2
@@ -901,6 +921,7 @@ exit 0
%changelog
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
+- temporarily disable ceph until there is an updated build
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
diff --git a/sources b/sources
index 2d5db93..21a567d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nfs-ganesha-5.7.tar.gz) = 611687283dbbdd87a67ec4b637297bf1442b4533ba88e8f2b29dba7a870cd249db135e8645686aef73d3af3e155729df9896da038a11992c87fc2da5192e8f8f
+SHA512 (nfs-ganesha-5.8.tar.gz) = 611457a6c0b651308bf5047aea7cfb1ebef79ea8652516be23996e0e06185a78a134c1bcb677b9b3d91174ae0fa9fe000afd428f265e04f3d242ae861bb0151e
commit 5093e93d6ef93baaf6242ce64ac383a6d7a26c89
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 11:39:51 2024 -0400
nfs-ganesha 5.8 GA
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index e3354e8..06fe139 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,18 +38,10 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
-%ifnarch i686 armv7hl
-%bcond_without ceph
-%else
%bcond_with ceph
-%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -81,18 +73,10 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
-%ifnarch i686 armv7hl
-%bcond_without rados_recov
-%else
%bcond_with rados_recov
-%endif
%global use_rados_recov %{on_off_switch rados_recov}
-%ifnarch i686 armv7hl
-%bcond_without rados_urls
-%else
%bcond_with rados_urls
-%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -118,16 +102,14 @@ Requires: openSUSE-release
#%%global dev rc6
Name: nfs-ganesha
-Version: 5.7
-Release: 9%{?dev:%{dev}}%{?dist}
+Version: 5.8
+Release: 1%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
-Patch0003: 0003-python-installer.patch
-Patch0004: 0004-gcc-14.patch
BuildRequires: cmake
BuildRequires: make
@@ -392,7 +374,7 @@ be used with NFS-Ganesha to support GPFS backend
%package ceph
Summary: The NFS-GANESHA CephFS FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: libcephfs2-devel >= 12.2.0
+BuildRequires: libcephfs-devel >= 12.2.0
BuildRequires: libacl-devel
%description ceph
@@ -405,7 +387,7 @@ be used with NFS-Ganesha to support CephFS
%package rgw
Summary: The NFS-GANESHA Ceph RGW FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: librgw2-devel >= 12.2.0
+BuildRequires: librgw-devel >= 12.2.0
%description rgw
This package contains a FSAL shared object to
@@ -917,6 +899,9 @@ exit 0
%endif
%changelog
+* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
+- NFS-Ganesha 5.8 GA
+
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
commit 5d4d9558f85e5449058eda8e72e5318b4b7accd7
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri May 10 07:58:12 2024 -0400
enable VFS_POSIX_ACL, for real this time
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0005-enable-acls.patch b/0005-enable-acls.patch
deleted file mode 100644
index ada594d..0000000
--- a/0005-enable-acls.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nfs-ganesha/src/cmake/modules/FindLibACL.cmake.orig 2024-05-02 11:12:57.170174484 -0400
-+++ nfs-ganesha/src/cmake/modules/FindLibACL.cmake 2024-05-02 11:15:27.184553194 -0400
-@@ -30,8 +30,11 @@
- check_library_exists(acl acl_get_file "" HAVE_LIBACL)
- endif(HAVE_ACL_LIBACL_H)
-
--if(HAVE_SYS_ACL_H)
-- # Available on FreeBSD (and perhaps others) - replace on Linux
-- check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
-- check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
--endif(HAVE_SYS_ACL_H)
-+if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-+ # We know Linux doesn't have them, use the versions in os/linux/acl.c
-+ if(HAVE_SYS_ACL_H)
-+ # Available on FreeBSD (and perhaps others) - replace on Linux
-+ check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
-+ check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
-+ endif(HAVE_SYS_ACL_H)
-+endif()
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7908bed..e3354e8 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 8%{?dev:%{dev}}%{?dist}
+Release: 9%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -128,7 +128,6 @@ Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
Patch0004: 0004-gcc-14.patch
-Patch0005: 0005-enable-acls.patch
BuildRequires: cmake
BuildRequires: make
@@ -554,6 +553,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_RADOS_RECOV=%{use_rados_recov} \
-DRADOS_URLS=%{use_rados_urls} \
-DUSE_FSAL_VFS=ON \
+ -DENABLE_VFS_POSIX_ACL=YES \
-DUSE_FSAL_PROXY_V4=ON \
-DUSE_FSAL_PROXY_V3=ON \
-DUSE_DBUS=ON \
@@ -917,6 +917,9 @@ exit 0
%endif
%changelog
+* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
+- enable VFS_POSIX_ACL, for real this time
+
* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
- enable VFS_POSIX_ACL, which has been available since 4.x
commit e627b6b7c732b856cbdea49b43476becfd186955
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Thu May 2 11:44:57 2024 -0400
enable VFS_POSIX_ACL, which has been available since 4.x
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0005-enable-acls.patch b/0005-enable-acls.patch
new file mode 100644
index 0000000..ada594d
--- /dev/null
+++ b/0005-enable-acls.patch
@@ -0,0 +1,19 @@
+--- nfs-ganesha/src/cmake/modules/FindLibACL.cmake.orig 2024-05-02 11:12:57.170174484 -0400
++++ nfs-ganesha/src/cmake/modules/FindLibACL.cmake 2024-05-02 11:15:27.184553194 -0400
+@@ -30,8 +30,11 @@
+ check_library_exists(acl acl_get_file "" HAVE_LIBACL)
+ endif(HAVE_ACL_LIBACL_H)
+
+-if(HAVE_SYS_ACL_H)
+- # Available on FreeBSD (and perhaps others) - replace on Linux
+- check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
+- check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
+-endif(HAVE_SYS_ACL_H)
++if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
++ # We know Linux doesn't have them, use the versions in os/linux/acl.c
++ if(HAVE_SYS_ACL_H)
++ # Available on FreeBSD (and perhaps others) - replace on Linux
++ check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
++ check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
++ endif(HAVE_SYS_ACL_H)
++endif()
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 74955c1..7908bed 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 7%{?dev:%{dev}}%{?dist}
+Release: 8%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -128,6 +128,7 @@ Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
Patch0004: 0004-gcc-14.patch
+Patch0005: 0005-enable-acls.patch
BuildRequires: cmake
BuildRequires: make
@@ -916,6 +917,9 @@ exit 0
%endif
%changelog
+* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
+- enable VFS_POSIX_ACL, which has been available since 4.x
+
* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
- rebuild with (lib)prometheus-cpp-1.2.4
commit 51ae5814e67d5dc9f89295d2e6ca799856847cb5
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Mar 15 11:01:33 2024 -0400
rebuild with (lib)prometheus-cpp-1.2.4
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 9f6f922..74955c1 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 6%{?dev:%{dev}}%{?dist}
+Release: 7%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
+- rebuild with (lib)prometheus-cpp-1.2.4
+
* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
- rebuild with (lib)prometheus-cpp-1.2.3
commit 66e905f497275b21093f46c8757e554ab10b9f06
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Thu Feb 8 11:05:27 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.3
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 673dc5f..9f6f922 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 5%{?dev:%{dev}}%{?dist}
+Release: 6%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
+- rebuild with (lib)prometheus-cpp-1.2.3
+
* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
commit 6d772e201498fe19d8593106c8fdb5cfdf37f324
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 25 08:56:51 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index ba58e6f..673dc5f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 4%{?dev:%{dev}}%{?dist}
+Release: 5%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
commit 1627b76ea1f9af93f2cf35f3ad9b123aa8022e60
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Jan 19 10:56:56 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 21da49f..ba58e6f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
+- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
+
* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
- rebuild with (lib)prometheus-cpp-1.2.0
commit 7a368990cb62a2481ebdbe31c4821a5f04dd8ef7
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Jan 19 10:54:28 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0004-gcc-14.patch b/0004-gcc-14.patch
new file mode 100644
index 0000000..f9ccc59
--- /dev/null
+++ b/0004-gcc-14.patch
@@ -0,0 +1,36 @@
+--- nfs-ganesha-5.7/src/monitoring/monitoring.cc.orig 2024-01-19 10:17:09.609065781 -0500
++++ nfs-ganesha-5.7/src/monitoring/monitoring.cc 2024-01-19 10:17:28.535732620 -0500
+@@ -26,6 +26,7 @@
+ #include <memory>
+ #include <sstream>
+ #include <string>
++#include <algorithm>
+
+ #include "prometheus/counter.h"
+ #include "prometheus/exposer.h"
+@@ -260,7 +261,7 @@
+ std::shared_ptr<prometheus::Registry> registry;
+
+ static void toLowerCase(std::string &s) {
+- transform(s.begin(), s.end(), s.begin(), ::tolower);
++ std::transform(s.begin(), s.end(), s.begin(), ::tolower);
+ }
+
+ static void observeNfsRequest(const char *operation,
+--- nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c.orig 2024-01-19 10:26:57.758293091 -0500
++++ nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c 2024-01-19 10:44:35.158948523 -0500
+@@ -131,14 +131,7 @@
+ attrmask_t attrmask;
+ };
+
+-#if ((LIBRGW_FILE_VER_MAJOR > 1) || \
+- ((LIBRGW_FILE_VER_MAJOR == 1) && \
+- ((LIBRGW_FILE_VER_MINOR > 2) || \
+- ((LIBRGW_FILE_VER_MINOR == 2) && (LIBRGW_FILE_VER_EXTRA >= 1)))))
+ static int
+-#else
+-static bool
+-#endif
+ rgw_cb(const char *name, void *arg, uint64_t offset,
+ struct stat *st, uint32_t st_mask, uint32_t flags)
+ {
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 712970f..21da49f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 3%{?dev:%{dev}}%{?dist}
+Release: 4%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -127,6 +127,7 @@ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
+Patch0004: 0004-gcc-14.patch
BuildRequires: cmake
BuildRequires: make
commit cb1677a3d8b7592df7170175325adb6f096b5a11
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue Jan 2 11:22:15 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index e276c2f..712970f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 2%{?dev:%{dev}}%{?dist}
+Release: 3%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -563,7 +563,6 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_MONITORING=%{use_monitoring_support} \
-DSANITIZE_ADDRESS=%{use_sanitize_address} \
-DUSE_LEGACY_PYTHON_INSTALL=%{use_legacy_python_install} \
- -DUSE_MONITORING=ON \
%ifarch x86_64 aarch64
-DCMAKE_LINKER=%{_bindir}/ld.mold \
%endif
@@ -916,6 +915,9 @@ exit 0
%endif
%changelog
+* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
+- rebuild with (lib)prometheus-cpp-1.2.0
+
* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
- use python pep517 installer and build
commit 1b951140cd35db04825ce1e1203ecd48bc50f2c3
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue Nov 21 12:01:21 2023 -0500
use python pep517 installer and build
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 8add67b..e276c2f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 1%{?dev:%{dev}}%{?dist}
+Release: 2%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
+- use python pep517 installer and build
+
* Fri Nov 3 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-1
- NFS-Ganesha 5.7 GA
commit 4d46eb4f08d34a4acbc3e0359835c54f8f98ce0e
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon Nov 20 15:55:38 2023 -0500
python 'standard' (pep517) installer
diff --git a/0002-CMakeLists.txt.patch b/0002-CMakeLists.txt.patch
deleted file mode 100644
index 97dad24..0000000
--- a/0002-CMakeLists.txt.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- nfs-ganesha-5.1/src/scripts/ganeshactl/CMakeLists.txt.orig 2023-05-02 07:58:59.039596775 -0400
-+++ nfs-ganesha-5.1/src/scripts/ganeshactl/CMakeLists.txt 2023-05-02 08:09:20.643443421 -0400
-@@ -65,7 +65,7 @@
- Ganesha/QtUI/ui_log_dialog.ui
- )
-
--if(Python3_FOUND)
-+if(PYTHONINTERP_FOUND)
- set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
- set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
- set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/ganeshactl_timestamp")
-@@ -139,7 +139,7 @@
-
- add_custom_command(
- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${PYTHON_EXECUTABLE} "${SETUP_PY}" build
- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
- )
-@@ -148,9 +148,9 @@
-
- install(
- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
- )
--endif(Python3_FOUND)
-+endif(PYTHONINTERP_FOUND)
-
- # Man page
- set(man8_file ganesha_conf.man)
---- nfs-ganesha-5.1/src/scripts/gpfs-epoch/CMakeLists.txt.orig 2023-05-02 07:58:59.049596595 -0400
-+++ nfs-ganesha-5.1/src/scripts/gpfs-epoch/CMakeLists.txt 2023-05-02 08:08:01.662858781 -0400
-@@ -21,7 +21,7 @@
- #-------------------------------------------------------------------------------
-
- if(USE_FSAL_GPFS)
-- if(Python3_FOUND)
-+ if(PYTHONINTERP_FOUND)
- set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
- set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
- set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/gpfs_epoch_timestamp")
-@@ -59,7 +59,7 @@
- add_custom_command(
- OUTPUT ${OUTPUT}
- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${PYTHON_EXECUTABLE} "${SETUP_PY}" build
- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
- )
-@@ -68,7 +68,7 @@
-
- install(
- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
- )
-- endif(Python3_FOUND)
-+ endif(PYTHONINTERP_FOUND)
- endif(USE_FSAL_GPFS)
---- nfs-ganesha-5.5/src/CMakeLists.txt.orig 2023-08-07 09:37:18.216112828 -0400
-+++ nfs-ganesha-5.5/src/CMakeLists.txt 2023-08-07 09:39:55.529443584 -0400
-@@ -297,11 +297,11 @@
- goption(USE_MONITORING "Build monitoring stack" OFF)
- gopt_test(USE_MONITORING)
- if(USE_MONITORING)
-- find_package(prometheus-cpp CONFIG REQUIRED)
-- if(NOT prometheus-cpp_INCLUDE_DIR)
-+ find_package(prometheus-cpp-core)
-+ if(NOT prometheus-cpp-core_INCLUDE_DIR)
- message(WARNING "prometheus not found; disabling USE_MONITORING")
- set(USE_MONITORING OFF)
-- endif(NOT prometheus-cpp_INCLUDE_DIR)
-+ endif(NOT prometheus-cpp-core_INCLUDE_DIR)
- set(MONITORING_LIBRARIES
- prometheus-cpp-pull
- prometheus-cpp-core
-@@ -593,11 +593,11 @@
-
- gopt_test(USE_ADMIN_TOOLS)
- if (USE_ADMIN_TOOLS)
-- find_package (Python3 COMPONENTS Interpreter)
-- if (NOT Python3_Interpreter_FOUND)
-+ find_package (PythonInterp COMPONENTS Interpreter)
-+ if (NOT PYTHONINTERP_FOUND)
- message(WARNING "Cannot find python. Disablin admin tools")
- set(USE_ADMIN_TOOLS OFF)
-- endif (NOT Python3_Interpreter_FOUND)
-+ endif (NOT PYTHONINTERP_FOUND)
- endif (USE_ADMIN_TOOLS)
-
- gopt_test(USE_GUI_ADMIN_TOOLS)
diff --git a/0003-python-installer.patch b/0003-python-installer.patch
new file mode 100644
index 0000000..1c93f2b
--- /dev/null
+++ b/0003-python-installer.patch
@@ -0,0 +1,184 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 631225223..1336103c5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1125,6 +1125,9 @@ if(USE_CAPS)
+ endif (CAPS_FOUND)
+ endif(USE_CAPS)
+
++# default to ON so that it does the right thing in the CentOS CI
++goption(USE_LEGACY_PYTHON_INSTALL "Use 'python setup.py install'" ON)
++
+ # Check if we have libblkid and libuuid, will just be reported under one
+ # flag USE_BLKID
+
+@@ -1616,6 +1619,12 @@ else(SANITIZE_ADDRESS)
+ set(BCOND_SANITIZE_ADDRESS "%bcond_with")
+ endif(SANITIZE_ADDRESS)
+
++if(USE_LEGACY_PYTHON_INSTALL)
++ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_without")
++else(USE_LEGACY_PYTHON_INSTALL)
++ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_with")
++endif(USE_LEGACY_PYTHON_INSTALL)
++
+ # Now create a usable specfile
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/nfs-ganesha.spec-in.cmake"
+diff --git a/src/scripts/ganesha-top/CMakeLists.txt b/src/scripts/ganesha-top/CMakeLists.txt
+index f2f0e1df6..59c2eebac 100644
+--- a/src/scripts/ganesha-top/CMakeLists.txt
++++ b/src/scripts/ganesha-top/CMakeLists.txt
+@@ -56,18 +56,36 @@ if(USE_ADMIN_TOOLS)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_ganesha_top ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganesha-top-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+ endif(USE_ADMIN_TOOLS)
+diff --git a/src/scripts/ganeshactl/CMakeLists.txt b/src/scripts/ganeshactl/CMakeLists.txt
+index a6ba73ede..1339ccafe 100644
+--- a/src/scripts/ganeshactl/CMakeLists.txt
++++ b/src/scripts/ganeshactl/CMakeLists.txt
+@@ -137,19 +137,37 @@ if(Python3_FOUND)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_ganeshactl ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganeshactl-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+
+ # Man page
+diff --git a/src/scripts/gpfs-epoch/CMakeLists.txt b/src/scripts/gpfs-epoch/CMakeLists.txt
+index af8035444..796a3a64e 100644
+--- a/src/scripts/gpfs-epoch/CMakeLists.txt
++++ b/src/scripts/gpfs-epoch/CMakeLists.txt
+@@ -56,19 +56,38 @@ if(USE_FSAL_GPFS)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_gpfs_epoch ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
+- )
++ if (USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/gpfs-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+ endif(USE_FSAL_GPFS)
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7f4033d..8add67b 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -107,6 +107,9 @@ Requires: openSUSE-release
%bcond_with sanitize_address
%global use_sanitize_address %{on_off_switch sanitize_address}
+%bcond_with legacy_python_install
+%global use_legacy_python_install %{on_off_switch legacy_python_install}
+
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
%global _rundir %{_localstatedir}/run
%endif
@@ -123,7 +126,7 @@ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
-Patch0002: 0002-CMakeLists.txt.patch
+Patch0003: 0003-python-installer.patch
BuildRequires: cmake
BuildRequires: make
@@ -284,6 +287,11 @@ BuildRequires: python-devel
Requires: python3-gobject, python3-pyparsing
BuildRequires: python3-devel
BuildRequires: python3-setuptools
+%if ( ! 0%{?with_legacy_python_install} )
+BuildRequires: python3-wheel
+BuildRequires: python3-build
+BuildRequires: python3-installer
+%endif
%if ( 0%{?suse_version} )
Requires: dbus-1-python
%else
@@ -554,6 +562,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-D_MSPAC_SUPPORT=%{use_mspac_support} \
-DUSE_MONITORING=%{use_monitoring_support} \
-DSANITIZE_ADDRESS=%{use_sanitize_address} \
+ -DUSE_LEGACY_PYTHON_INSTALL=%{use_legacy_python_install} \
-DUSE_MONITORING=ON \
%ifarch x86_64 aarch64
-DCMAKE_LINKER=%{_bindir}/ld.mold \
@@ -646,12 +655,23 @@ install -p -m 644 selinux/ganesha.if %{buildroot}%{_selinux_store_path}/devel/in
install -m 0644 selinux/ganesha.pp.bz2 %{buildroot}%{_selinux_store_path}/packages
%endif
+%if ( ! 0%{?with_legacy_python_install} )
+%if ( 0%{?with_gpfs} )
+mv %{buildroot}/usr/bin/gpfs-epoch %{buildroot}/usr/libexec/ganesha/
+%endif
+%endif
+
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
-rm -f %{buildroot}/%{python_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python_sitelib}/gpfs*
rm -f %{buildroot}/%{python_sitelib}/__init__.*
%else
-rm -f %{buildroot}/%{python3_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python3_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python3_sitelib}/ganeshactl*
rm -f %{buildroot}/%{python3_sitelib}/__init__.*
+rm -rf %{buildroot}/%{python3_sitelib}/__pycache__
+rm -f %{buildroot}/%{python3_sitelib}/Ganesha/__init__.*
+rm -f %{buildroot}/%{python3_sitelib}/Ganesha/QtUI/__init__.*
+rm -rf %{buildroot}/%{python3_sitelib}/Ganesha/QtUI/__pycache__
%endif
%post
@@ -869,8 +889,6 @@ exit 0
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
%{python_sitelib}/Ganesha/*
%{python_sitelib}/ganeshactl-*-info
-%else
-%{python3_sitelib}/ganeshactl-*.egg
%endif
%if ( 0%{?with_gui_utils} )
%{_bindir}/ganesha-admin
@@ -878,6 +896,7 @@ exit 0
%{_bindir}/manage_exports
%{_bindir}/manage_logger
%{_bindir}/ganeshactl
+%{python3_sitelib}/Ganesha/*
%if ( 0%{?with_9P} )
%{_bindir}/client_stats_9pOps
%{_bindir}/export_stats_9pOps
5 hours, 20 minutes
Architecture specific change in rpms/nfs-ganesha.git
by githook-noreply@fedoraproject.org
The package rpms/nfs-ganesha.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/nfs-ganesha.git/commit/?id=58d734...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=7ea846...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=5093e9....
Change:
-%ifnarch i686 armv7hl
+%ifnarch i686 armv7hl
-%ifnarch i686 armv7hl
Thanks.
Full change:
============
commit 58d7341bf76abae542921491790fa8b2058dec6e
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 07:18:29 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 8f1cd3a..4feac18 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -45,11 +45,7 @@ Requires: openSUSE-release
%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
commit 7ea8466da18938ddb05ba5c39245d84161335198
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 05:50:35 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7d11f68..8f1cd3a 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,10 +38,18 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
+%ifnarch i686 armv7hl
+%bcond_without ceph
+%else
%bcond_with ceph
+%endif
%global use_fsal_ceph %{on_off_switch ceph}
+%ifnarch i686 armv7hl
+%bcond_without rgw
+%else
%bcond_with rgw
+%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -76,10 +84,18 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
+%ifnarch i686 armv7hl
+%bcond_without rados_recov
+%else
%bcond_with rados_recov
+%endif
%global use_rados_recov %{on_off_switch rados_recov}
+%ifnarch i686 armv7hl
+%bcond_without rados_urls
+%else
%bcond_with rados_urls
+%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -106,7 +122,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.8
-Release: 1%{?dev:%{dev}}%{?dist}
+Release: 2%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -919,6 +935,9 @@ exit 0
%endif
%changelog
+* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-2
+- NFS-Ganesha 5.8, enable ceph again
+
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
- temporarily disable ceph until there is an updated build
commit e3ac850fef47c7fa0178085f4a79cf98a15125d1
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 13:34:56 2024 -0400
NFS-Ganesha 5.8 GA
temporarily disable ceph until there is an updated build
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0003-python-installer.patch b/0003-python-installer.patch
deleted file mode 100644
index 1c93f2b..0000000
--- a/0003-python-installer.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 631225223..1336103c5 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -1125,6 +1125,9 @@ if(USE_CAPS)
- endif (CAPS_FOUND)
- endif(USE_CAPS)
-
-+# default to ON so that it does the right thing in the CentOS CI
-+goption(USE_LEGACY_PYTHON_INSTALL "Use 'python setup.py install'" ON)
-+
- # Check if we have libblkid and libuuid, will just be reported under one
- # flag USE_BLKID
-
-@@ -1616,6 +1619,12 @@ else(SANITIZE_ADDRESS)
- set(BCOND_SANITIZE_ADDRESS "%bcond_with")
- endif(SANITIZE_ADDRESS)
-
-+if(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_without")
-+else(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_with")
-+endif(USE_LEGACY_PYTHON_INSTALL)
-+
- # Now create a usable specfile
- configure_file(
- "${PROJECT_SOURCE_DIR}/nfs-ganesha.spec-in.cmake"
-diff --git a/src/scripts/ganesha-top/CMakeLists.txt b/src/scripts/ganesha-top/CMakeLists.txt
-index f2f0e1df6..59c2eebac 100644
---- a/src/scripts/ganesha-top/CMakeLists.txt
-+++ b/src/scripts/ganesha-top/CMakeLists.txt
-@@ -56,18 +56,36 @@ if(USE_ADMIN_TOOLS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganesha_top ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganesha-top-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_ADMIN_TOOLS)
-diff --git a/src/scripts/ganeshactl/CMakeLists.txt b/src/scripts/ganeshactl/CMakeLists.txt
-index a6ba73ede..1339ccafe 100644
---- a/src/scripts/ganeshactl/CMakeLists.txt
-+++ b/src/scripts/ganeshactl/CMakeLists.txt
-@@ -137,19 +137,37 @@ if(Python3_FOUND)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganeshactl ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/ganeshactl-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
-
- # Man page
-diff --git a/src/scripts/gpfs-epoch/CMakeLists.txt b/src/scripts/gpfs-epoch/CMakeLists.txt
-index af8035444..796a3a64e 100644
---- a/src/scripts/gpfs-epoch/CMakeLists.txt
-+++ b/src/scripts/gpfs-epoch/CMakeLists.txt
-@@ -56,19 +56,38 @@ if(USE_FSAL_GPFS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_gpfs_epoch ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-- )
-+ if (USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} --install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR} dist/gpfs-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_FSAL_GPFS)
diff --git a/0004-gcc-14.patch b/0004-gcc-14.patch
deleted file mode 100644
index f9ccc59..0000000
--- a/0004-gcc-14.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- nfs-ganesha-5.7/src/monitoring/monitoring.cc.orig 2024-01-19 10:17:09.609065781 -0500
-+++ nfs-ganesha-5.7/src/monitoring/monitoring.cc 2024-01-19 10:17:28.535732620 -0500
-@@ -26,6 +26,7 @@
- #include <memory>
- #include <sstream>
- #include <string>
-+#include <algorithm>
-
- #include "prometheus/counter.h"
- #include "prometheus/exposer.h"
-@@ -260,7 +261,7 @@
- std::shared_ptr<prometheus::Registry> registry;
-
- static void toLowerCase(std::string &s) {
-- transform(s.begin(), s.end(), s.begin(), ::tolower);
-+ std::transform(s.begin(), s.end(), s.begin(), ::tolower);
- }
-
- static void observeNfsRequest(const char *operation,
---- nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c.orig 2024-01-19 10:26:57.758293091 -0500
-+++ nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c 2024-01-19 10:44:35.158948523 -0500
-@@ -131,14 +131,7 @@
- attrmask_t attrmask;
- };
-
--#if ((LIBRGW_FILE_VER_MAJOR > 1) || \
-- ((LIBRGW_FILE_VER_MAJOR == 1) && \
-- ((LIBRGW_FILE_VER_MINOR > 2) || \
-- ((LIBRGW_FILE_VER_MINOR == 2) && (LIBRGW_FILE_VER_EXTRA >= 1)))))
- static int
--#else
--static bool
--#endif
- rgw_cb(const char *name, void *arg, uint64_t offset,
- struct stat *st, uint32_t st_mask, uint32_t flags)
- {
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 06fe139..7d11f68 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -47,6 +47,9 @@ Requires: openSUSE-release
%bcond_without gluster
%global use_fsal_gluster %{on_off_switch gluster}
+%bcond_without saunafs
+%global use_fsal_saunafs %{on_off_switch saunafs}
+
%bcond_with kvsfs
%global use_fsal_kvsfs %{on_off_switch kvsfs}
@@ -446,6 +449,17 @@ This package contains a FSAL shared object to
be used with NFS-Ganesha to support Gluster
%endif
+# SAUNA
+%if ( 0%{?with_saunafs} )
+%package saunafs
+Summary: The NFS-GANESHA SAUNAFS FSAL
+Requires: nfs-ganesha = %{version}-%{release}
+
+%description saunafs
+This package contains a FSAL shared object to
+be used with NFS-Ganesha to support Sauna FS
+%endif
+
# SELINUX
%if ( 0%{?fedora} >= 29 || 0%{?rhel} >= 8 )
%package selinux
@@ -527,6 +541,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_FSAL_GPFS=%{use_fsal_gpfs} \
-DUSE_FSAL_KVSFS=%{use_fsal_kvsfs} \
-DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \
+ -DUSE_FSAL_SAUNAFS=%{use_fsal_saunafs} \
-DUSE_SYSTEM_NTIRPC=%{use_system_ntirpc} \
-DUSE_9P_RDMA=%{use_rdma} \
-DUSE_LTTNG=%{use_lttng} \
@@ -837,6 +852,11 @@ exit 0
%endif
%endif
+%if ( 0%{?with_saunafs} )
+%files saunafs
+%{_libdir}/ganesha/libfsalsaunafs*
+%endif
+
%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 )
%files selinux
%attr(0644,root,root) %{_selinux_store_path}/packages/ganesha.pp.bz2
@@ -901,6 +921,7 @@ exit 0
%changelog
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
+- temporarily disable ceph until there is an updated build
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
diff --git a/sources b/sources
index 2d5db93..21a567d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nfs-ganesha-5.7.tar.gz) = 611687283dbbdd87a67ec4b637297bf1442b4533ba88e8f2b29dba7a870cd249db135e8645686aef73d3af3e155729df9896da038a11992c87fc2da5192e8f8f
+SHA512 (nfs-ganesha-5.8.tar.gz) = 611457a6c0b651308bf5047aea7cfb1ebef79ea8652516be23996e0e06185a78a134c1bcb677b9b3d91174ae0fa9fe000afd428f265e04f3d242ae861bb0151e
commit 5093e93d6ef93baaf6242ce64ac383a6d7a26c89
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 11:39:51 2024 -0400
nfs-ganesha 5.8 GA
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index e3354e8..06fe139 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,18 +38,10 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
-%ifnarch i686 armv7hl
-%bcond_without ceph
-%else
%bcond_with ceph
-%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -81,18 +73,10 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
-%ifnarch i686 armv7hl
-%bcond_without rados_recov
-%else
%bcond_with rados_recov
-%endif
%global use_rados_recov %{on_off_switch rados_recov}
-%ifnarch i686 armv7hl
-%bcond_without rados_urls
-%else
%bcond_with rados_urls
-%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -118,16 +102,14 @@ Requires: openSUSE-release
#%%global dev rc6
Name: nfs-ganesha
-Version: 5.7
-Release: 9%{?dev:%{dev}}%{?dist}
+Version: 5.8
+Release: 1%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
-Patch0003: 0003-python-installer.patch
-Patch0004: 0004-gcc-14.patch
BuildRequires: cmake
BuildRequires: make
@@ -392,7 +374,7 @@ be used with NFS-Ganesha to support GPFS backend
%package ceph
Summary: The NFS-GANESHA CephFS FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: libcephfs2-devel >= 12.2.0
+BuildRequires: libcephfs-devel >= 12.2.0
BuildRequires: libacl-devel
%description ceph
@@ -405,7 +387,7 @@ be used with NFS-Ganesha to support CephFS
%package rgw
Summary: The NFS-GANESHA Ceph RGW FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: librgw2-devel >= 12.2.0
+BuildRequires: librgw-devel >= 12.2.0
%description rgw
This package contains a FSAL shared object to
@@ -917,6 +899,9 @@ exit 0
%endif
%changelog
+* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
+- NFS-Ganesha 5.8 GA
+
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
7 hours, 20 minutes
Architecture specific change in rpms/intel-vpl-gpu-rt.git
by githook-noreply@fedoraproject.org
The package rpms/intel-vpl-gpu-rt.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/intel-vpl-gpu-rt.git/commit/?id=e....
Change:
+ExclusiveArch: x86_64
Thanks.
Full change:
============
commit e0ae197c25c41e741fa61e4d5f81557c3a10ddcf
Author: Simone Caronni <negativo17(a)gmail.com>
Date: Mon May 20 18:06:32 2024 +0200
First import
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..59e276f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/intel-onevpl-24.2.2.tar.gz
diff --git a/intel-vpl-gpu-rt.spec b/intel-vpl-gpu-rt.spec
new file mode 100644
index 0000000..65dce1a
--- /dev/null
+++ b/intel-vpl-gpu-rt.spec
@@ -0,0 +1,68 @@
+%global mfx_ver_major 2
+%global mfx_ver_minor 10
+
+Name: intel-vpl-gpu-rt
+Version: 24.2.2
+Release: 2%{?dist}
+Summary: Intel Video Processing Library (Intel VPL) GPU Runtime
+License: MIT
+URL: https://www.intel.com/content/www/us/en/developer/tools/oneapi/onevpl.html
+ExclusiveArch: x86_64
+
+Source0: https://github.com/intel/%{name}/archive/intel-onevpl-%{version}/intel-on...
+
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: libvpl-devel >= 2.11.0
+BuildRequires: pkgconfig(libdrm) >= 2.4
+# Should be >= 1.9 but fails with libva < 2.12 (VAProcFilterCap3DLUT):
+# https://github.com/oneapi-src/oneVPL-intel-gpu/issues/198
+BuildRequires: pkgconfig(libva) >= 1.12
+
+Requires: libvpl%{?_isa} >= 1:2.10.1
+
+Obsoletes: oneVPL-intel-gpu < %{version}-%{release}
+Provides: oneVPL-intel-gpu = %{version}-%{release}
+
+%description
+Intel oneVPL GPU Runtime is a Runtime implementation of oneVPL API for Intel Gen
+GPUs. Runtime provides access to hardware-accelerated video decode, encode and
+filtering.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -p1 -n vpl-gpu-rt-intel-onevpl-%{version}
+
+%build
+%cmake
+%cmake_build
+
+%install
+%cmake_install
+
+%files
+%license LICENSE
+%doc README.md CONTRIBUTING.md
+%{_libdir}/libmfx-gen.so.1.%{mfx_ver_major}
+%{_libdir}/libmfx-gen.so.1.%{mfx_ver_major}.%{mfx_ver_minor}
+%dir %{_libdir}/libmfx-gen
+%{_libdir}/libmfx-gen/enctools.so
+
+%files devel
+%{_libdir}/libmfx-gen.so
+%{_libdir}/pkgconfig/libmfx-gen.pc
+
+%changelog
+* Sat May 04 2024 Simone Caronni <negativo17(a)gmail.com> - 24.2.2-2
+- Require libvpl 2.11.0 for building.
+
+* Sat May 04 2024 Simone Caronni <negativo17(a)gmail.com> - 24.2.2-1
+- Rename from oneVPL-intel-gpu.
+- Update to 24.2.2.
diff --git a/sources b/sources
new file mode 100644
index 0000000..eab7f9b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (intel-onevpl-24.2.2.tar.gz) = 47cdbcf39fddd7a54682b9d1dbeb210175fa052326b33664bc5b80f9dc073df333c9e21ae57db49781d494e49a199c6ffe2f90719041b09c5e5fa46922e3e159
12 hours, 9 minutes
Architecture specific change in rpms/intel-vpl-gpu-rt.git
by githook-noreply@fedoraproject.org
The package rpms/intel-vpl-gpu-rt.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/intel-vpl-gpu-rt.git/commit/?id=e....
Change:
+ExclusiveArch: x86_64
Thanks.
Full change:
============
commit e0ae197c25c41e741fa61e4d5f81557c3a10ddcf
Author: Simone Caronni <negativo17(a)gmail.com>
Date: Mon May 20 18:06:32 2024 +0200
First import
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..59e276f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/intel-onevpl-24.2.2.tar.gz
diff --git a/intel-vpl-gpu-rt.spec b/intel-vpl-gpu-rt.spec
new file mode 100644
index 0000000..65dce1a
--- /dev/null
+++ b/intel-vpl-gpu-rt.spec
@@ -0,0 +1,68 @@
+%global mfx_ver_major 2
+%global mfx_ver_minor 10
+
+Name: intel-vpl-gpu-rt
+Version: 24.2.2
+Release: 2%{?dist}
+Summary: Intel Video Processing Library (Intel VPL) GPU Runtime
+License: MIT
+URL: https://www.intel.com/content/www/us/en/developer/tools/oneapi/onevpl.html
+ExclusiveArch: x86_64
+
+Source0: https://github.com/intel/%{name}/archive/intel-onevpl-%{version}/intel-on...
+
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: libvpl-devel >= 2.11.0
+BuildRequires: pkgconfig(libdrm) >= 2.4
+# Should be >= 1.9 but fails with libva < 2.12 (VAProcFilterCap3DLUT):
+# https://github.com/oneapi-src/oneVPL-intel-gpu/issues/198
+BuildRequires: pkgconfig(libva) >= 1.12
+
+Requires: libvpl%{?_isa} >= 1:2.10.1
+
+Obsoletes: oneVPL-intel-gpu < %{version}-%{release}
+Provides: oneVPL-intel-gpu = %{version}-%{release}
+
+%description
+Intel oneVPL GPU Runtime is a Runtime implementation of oneVPL API for Intel Gen
+GPUs. Runtime provides access to hardware-accelerated video decode, encode and
+filtering.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+%prep
+%autosetup -p1 -n vpl-gpu-rt-intel-onevpl-%{version}
+
+%build
+%cmake
+%cmake_build
+
+%install
+%cmake_install
+
+%files
+%license LICENSE
+%doc README.md CONTRIBUTING.md
+%{_libdir}/libmfx-gen.so.1.%{mfx_ver_major}
+%{_libdir}/libmfx-gen.so.1.%{mfx_ver_major}.%{mfx_ver_minor}
+%dir %{_libdir}/libmfx-gen
+%{_libdir}/libmfx-gen/enctools.so
+
+%files devel
+%{_libdir}/libmfx-gen.so
+%{_libdir}/pkgconfig/libmfx-gen.pc
+
+%changelog
+* Sat May 04 2024 Simone Caronni <negativo17(a)gmail.com> - 24.2.2-2
+- Require libvpl 2.11.0 for building.
+
+* Sat May 04 2024 Simone Caronni <negativo17(a)gmail.com> - 24.2.2-1
+- Rename from oneVPL-intel-gpu.
+- Update to 24.2.2.
diff --git a/sources b/sources
new file mode 100644
index 0000000..eab7f9b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (intel-onevpl-24.2.2.tar.gz) = 47cdbcf39fddd7a54682b9d1dbeb210175fa052326b33664bc5b80f9dc073df333c9e21ae57db49781d494e49a199c6ffe2f90719041b09c5e5fa46922e3e159
12 hours, 9 minutes
[Report] Packages Restricting Arches
by root
New package excluding arches (1)
============================
- skanpage
ExclusiveArch: %{qt6_qtwebengine_arches}
Package no longer excluding arches (2)
==================================
- SuperLUMT
- oneVPL-intel-gpu
List of packages currently excluding arches (2248)
===========================================
- 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
- aws-c-cal
ExcludeArch: s390x
- aws-c-common
ExcludeArch: s390x
- aws-c-compression
ExcludeArch: s390x
- aws-c-sdkutils
ExcludeArch: s390x
- aws-checksums
ExcludeArch: s390x
- 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
- calceph
ExcludeArch: %{ix86}
- 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
- cosmic-comp
ExcludeArch: %{ix86}
- coxeter
ExcludeArch: %{ix86}
- cp2k
ExcludeArch: s390x
- 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: %{ix86} s390x
- 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
- 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}
- glibd
ExclusiveArch: %{ldc_arches}
- gloo
ExcludeArch: i686
- glycin-loaders
ExcludeArch: %{ix86}
- gmsh
ExcludeArch: %{ix86}
- gmult
ExcludeArch: %{ix86}
- gn
ExcludeArch: %{ix86}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- 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}
- hpx
ExcludeArch: i686
- 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: %{ix86} %{arm}
- 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}
ExcludeArch: x86_64
- 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}
- libstoragemgmt
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
- mlir17
ExcludeArch: i686
- mlpack
ExcludeArch: %{ix86}
ExcludeArch: s390
- mmapper
ExcludeArch: %{ix86}
- mmlib
ExcludeArch: %{ix86}
- mmtests
ExcludeArch: s390x
- 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}
- 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}
- nodejs22
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
- 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
- openxr-simple-playground
ExcludeArch: %{ix86}
- 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-Task-Catalyst
ExcludeArch: %{ix86}
- 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
- phosh-mobile-settings
ExcludeArch: i686
- php
ExcludeArch: %{ix86}
- 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 %{ix86}
- 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-calcephpy
ExcludeArch: %{ix86}
- 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-imagecodecs
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-jupytext
ExcludeArch: s390x
- 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-nipy
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-scikit-misc
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}
- 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-rpm-macros
ExclusiveArch: x86_64
- rocm-runtime
ExclusiveArch: x86_64
- rocm-smi
ExclusiveArch: x86_64 aarch64 ppc64le riscv64
- rocminfo
ExclusiveArch: x86_64
- 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}
- rpy
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-ethtool
ExcludeArch: %{arm32} %{ix86}
- rust-below-model
ExcludeArch: %{arm32} %{ix86}
- rust-below-render
ExcludeArch: %{arm32} %{ix86}
- rust-below-store
ExcludeArch: %{arm32} %{ix86}
- rust-below-view
ExcludeArch: %{arm32} %{ix86}
- rust-cgroupfs
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-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-resctrlfs
ExcludeArch: %{arm32} %{ix86}
- 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-vhost-device-sound
ExcludeArch: %{ix86} 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
- s2n-tls
ExcludeArch: %{ix86}
ExcludeArch: s390x
- 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
- scx_c_schedulers
ExcludeArch: %{ix86}
- 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
- skanpage
ExclusiveArch: %{qt6_qtwebengine_arches}
- 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
- vdo
ExcludeArch: %{ix86}
- 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
- wlmaker
ExcludeArch: %{ix86} 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
14 hours, 3 minutes
Architecture specific change in rpms/python-pep8-naming.git
by githook-noreply@fedoraproject.org
The package rpms/python-pep8-naming.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-pep8-naming.git/commit/?id....
Change:
-ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 8b1cfda3d6507a5c46f2ad39c0cc595b30899678
Author: Elliott Sales de Andrade <quantum.analyst(a)gmail.com>
Date: Mon May 20 23:43:05 2024 -0400
Update to latest version (#2280898)
diff --git a/.gitignore b/.gitignore
index 59077a3..ca55521 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/pep8-naming-0.13.1.tar.gz
/pep8-naming-0.13.2.tar.gz
/pep8-naming-0.13.3.tar.gz
+/pep8-naming-0.14.1.tar.gz
diff --git a/python-pep8-naming.spec b/python-pep8-naming.spec
index 70491cc..1a2ba93 100644
--- a/python-pep8-naming.spec
+++ b/python-pep8-naming.spec
@@ -1,13 +1,13 @@
%global srcname pep8-naming
%global srcname_ pep8ext_naming
-%global _description \
-Check the PEP-8 naming conventions. \
-This module provides a plugin for flake8, the Python code checker. \
-(It replaces the plugin flint-naming for the flint checker.)
+%global _description %{expand:
+Check the PEP-8 naming conventions.
+This module provides a plugin for flake8, the Python code checker.
+(It replaces the plugin flint-naming for the flint checker.)}
Name: python-%{srcname}
-Version: 0.13.3
+Version: 0.14.1
Release: %autorelease
Summary: Check PEP-8 naming conventions, a plugin for flake8
@@ -17,9 +17,6 @@ Source0: %pypi_source %{srcname}
BuildArch: noarch
-# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
-ExcludeArch: %{ix86}
-
BuildRequires: python3-devel
%description %{_description}
@@ -30,7 +27,7 @@ Summary: %{summary}
%description -n python3-%{srcname} %{_description}
%generate_buildrequires
-%pyproject_buildrequires -r
+%pyproject_buildrequires
%prep
%autosetup -n %{srcname}-%{version} -p1
@@ -43,7 +40,7 @@ Summary: %{summary}
%pyproject_save_files %{srcname_}
%check
-PYTHONPATH=%{buildroot}%{python3_sitelib} %{python3} run_tests.py
+%{py3_test_envvars} %{python3} run_tests.py
%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.rst
diff --git a/sources b/sources
index 38aee02..64c17cb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pep8-naming-0.13.3.tar.gz) = 67953b0908833fe6fb9fb1e78ffe315c076814dd5be7d813b2357c977acf5c7355961af76e2a2bb700a5da4030b65ee8e146be5227ec141c4f6ed329de8455d4
+SHA512 (pep8-naming-0.14.1.tar.gz) = 1d6a1e66b87dc1e0b408dc7ef433aa8a8d1f323487a63faf160d5cce27361bb572a40d1c8bd6ff971cf11593274d52ac889f5adc208c40585e1bc126d32fbbba
commit 19e69f1c89025ccf780c8cfefd284322ed416c8e
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 26 08:00:56 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
commit f351400eb9e9de7ecbfcfeacce95d9eb83ae7b6f
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Mon Jan 22 04:50:26 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
15 hours, 36 minutes