diff --git a/.CodeQL.yml b/.CodeQL.yml
new file mode 100644
index 00000000000..3710c697d95
--- /dev/null
+++ b/.CodeQL.yml
@@ -0,0 +1,29 @@
+path_classifiers:
+ library:
+ # Treat source files for all compiled languages in the specs directories
+ # as 3rd party library sources because they are not owned by us.
+ #
+ # Extensions from https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/.
+ - "SPECS*/**/*.c"
+ - "SPECS*/**/*.c++"
+ - "SPECS*/**/*.cc"
+ - "SPECS*/**/*.cpp"
+ - "SPECS*/**/*.cs"
+ - "SPECS*/**/*.cshtml"
+ - "SPECS*/**/*.csproj"
+ - "SPECS*/**/*.cts"
+ - "SPECS*/**/*.cxx"
+ - "SPECS*/**/*.go"
+ - "SPECS*/**/*.h"
+ - "SPECS*/**/*.h++"
+ - "SPECS*/**/*.hh"
+ - "SPECS*/**/*.hpp"
+ - "SPECS*/**/*.hxx"
+ - "SPECS*/**/*.java"
+ - "SPECS*/**/*.kt"
+ - "SPECS*/**/*.mts"
+ - "SPECS*/**/*.sln"
+ - "SPECS*/**/*.swift"
+ - "SPECS*/**/*.ts"
+ - "SPECS*/**/*.tsx"
+ - "SPECS*/**/*.xaml"
diff --git a/.github/workflows/check-manifests.yml b/.github/workflows/check-manifests.yml
index a18ed1824bd..e2d4aafa507 100644
--- a/.github/workflows/check-manifests.yml
+++ b/.github/workflows/check-manifests.yml
@@ -21,7 +21,9 @@ jobs:
# This PR runner uses an older Ubuntu with rpm version 4.17, which doesn't understand some newer macros like %bcond
- name: Define missing rpm macros
run: |
- [[ -n $(rpm --eval '%bcond test 1') ]] && echo '%bcond() %[ (%{2}) ? "%{expand:%%bcond_without %{1}}" : "%{expand:%%bcond_with %{1}}" ]' > ~/.rpmmacros
+ if [[ -n $(rpm --eval '%bcond test 1') ]]; then
+ echo '%bcond() %[ (%{2}) ? "%{expand:%%bcond_without %{1}}" : "%{expand:%%bcond_with %{1}}" ]' > ~/.rpmmacros
+ fi
- name: Check x86_64 manifests
run: |
diff --git a/.github/workflows/check-package-cgmanifest.yml b/.github/workflows/check-package-cgmanifest.yml
index 59b72371c38..98e7cf1fdf5 100644
--- a/.github/workflows/check-package-cgmanifest.yml
+++ b/.github/workflows/check-package-cgmanifest.yml
@@ -22,7 +22,9 @@ jobs:
# This PR runner uses an older Ubuntu with rpm version 4.17, which doesn't understand some newer macros like %bcond
- name: Define missing rpm macros
run: |
- [[ -n $(rpm --eval '%bcond test 1') ]] && echo '%bcond() %[ (%{2}) ? "%{expand:%%bcond_without %{1}}" : "%{expand:%%bcond_with %{1}}" ]' > ~/.rpmmacros
+ if [[ -n $(rpm --eval '%bcond test 1') ]]; then
+ echo '%bcond() %[ (%{2}) ? "%{expand:%%bcond_without %{1}}" : "%{expand:%%bcond_with %{1}}" ]' > ~/.rpmmacros
+ fi
- name: Get base commit for PRs
if: ${{ github.event_name == 'pull_request' }}
diff --git a/.pipelines/containerSourceData/valkey/Dockerfile-Valkey b/.pipelines/containerSourceData/valkey/Dockerfile-Valkey
new file mode 100644
index 00000000000..e9853d46850
--- /dev/null
+++ b/.pipelines/containerSourceData/valkey/Dockerfile-Valkey
@@ -0,0 +1,26 @@
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+
+ARG BASE_IMAGE
+
+FROM $BASE_IMAGE
+
+@INCLUDE_MAIN_RUN_INSTRUCTION@
+
+RUN set -eux && \
+ valkey-cli --version && \
+ valkey-server --version && \
+ mkdir /data && \
+ chown valkey:valkey /data
+
+VOLUME /data
+WORKDIR /data
+
+COPY valkey-docker-entrypoint.sh /usr/local/bin/
+
+RUN chmod +x /usr/local/bin/valkey-docker-entrypoint.sh
+
+ENTRYPOINT ["/usr/local/bin/valkey-docker-entrypoint.sh"]
+
+EXPOSE 6379
+CMD ["valkey-server"]
\ No newline at end of file
diff --git a/.pipelines/containerSourceData/valkey/configuration-files/valkey-docker-entrypoint.sh b/.pipelines/containerSourceData/valkey/configuration-files/valkey-docker-entrypoint.sh
new file mode 100755
index 00000000000..430f8d83254
--- /dev/null
+++ b/.pipelines/containerSourceData/valkey/configuration-files/valkey-docker-entrypoint.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+# Copyright (c) Microsoft Corporation.
+# Licensed under the MIT License.
+set -e
+
+# first arg is `-f` or `--some-option`
+# or first arg is `something.conf`
+if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then
+ set -- valkey-server "$@"
+fi
+
+# allow the container to be started with `--user`
+if [ "$1" = 'valkey-server' -a "$(id -u)" = '0' ]; then
+ find . \! -user valkey -exec chown valkey '{}' +
+ exec setpriv --reuid=valkey --regid=valkey --init-groups --inh-caps=-all "$BASH_SOURCE" "$@"
+fi
+
+# set an appropriate umask (if one isn't set already)
+# - https://github.com/docker-library/redis/issues/305
+# - https://github.com/redis/redis/blob/bb875603fb7ff3f9d19aad906bd45d7db98d9a39/utils/systemd-redis_server.service#L37
+um="$(umask)"
+if [ "$um" = '0022' ]; then
+ umask 0077
+fi
+
+exec "$@" $VALKEY_EXTRA_FLAGS
\ No newline at end of file
diff --git a/.pipelines/containerSourceData/valkey/valkey.name b/.pipelines/containerSourceData/valkey/valkey.name
new file mode 100644
index 00000000000..83f14fffee9
--- /dev/null
+++ b/.pipelines/containerSourceData/valkey/valkey.name
@@ -0,0 +1 @@
+valkey
diff --git a/.pipelines/containerSourceData/valkey/valkey.pkg b/.pipelines/containerSourceData/valkey/valkey.pkg
new file mode 100644
index 00000000000..3067cfc1626
--- /dev/null
+++ b/.pipelines/containerSourceData/valkey/valkey.pkg
@@ -0,0 +1,3 @@
+valkey
+cronie
+util-linux
diff --git a/.pipelines/prchecks/PackageBuildPRCheck.yml b/.pipelines/prchecks/PackageBuildPRCheck.yml
index 314773cada9..5d7b1fb4e13 100644
--- a/.pipelines/prchecks/PackageBuildPRCheck.yml
+++ b/.pipelines/prchecks/PackageBuildPRCheck.yml
@@ -80,9 +80,11 @@ extends:
# GCC fails to build as a regular package.
ignoredSpecs: ["gcc"]
- - script: echo "##vso[task.setvariable variable=toolchainArtifactName;isOutput=true]$(ob_artifactBaseName)"
+ - script: |
+ echo "##vso[task.setvariable variable=toolchainArtifactName;isOutput=true]$(ob_artifactBaseName)"
+ echo "##vso[task.setvariable variable=toolchainTarballName;isOutput=true]toolchain_built_rpms_all.tar.gz"
name: "ToolchainArtifactName"
- displayName: "Set variable for published artifact name"
+ displayName: "Set variables for published toolchain tarball"
# 1. Automatic publishing won't work if 'isCustom: true' is set on the pool. We cannot do 'isCustom: false' because
# then OneBranch attempts to perform additional actions (adding build tags for instance), which require additional permissions
@@ -104,24 +106,38 @@ extends:
isCustom: true
name: ${{ configuration.agentPool }}
variables:
+ inputArtifactsLocation: $(Agent.TempDirectory)
ob_artifactBaseName: $(rpmsArtifactNameBase)_${{ configuration.name }}_$(System.JobAttempt)
ob_outputDirectory: $(Build.ArtifactStagingDirectory)
+ outputRPMsTarballName: "rpms.tar.gz"
toolchainArtifactName: $[ stageDependencies.Toolchain_${{ configuration.name }}.Build.outputs['ToolchainArtifactName.toolchainArtifactName'] ]
+ toolchainTarballName: $[ stageDependencies.Toolchain_${{ configuration.name }}.Build.outputs['ToolchainArtifactName.toolchainTarballName'] ]
steps:
+ - task: DownloadPipelineArtifact@2
+ displayName: "Download toolchain"
+ inputs:
+ artifact: $(toolchainArtifactName)
+ patterns: "**/$(toolchainTarballName)"
+ targetPath: $(inputArtifactsLocation)
+
- template: .pipelines/templates/PackageBuild.yml@self
parameters:
checkBuildRetries: "1"
- customToolchainArtifactName: $(toolchainArtifactName)
+ customToolchainTarballName: $(toolchainTarballName)
+ inputArtifactsFolder: $(inputArtifactsLocation)
isCheckBuild: true
isQuickRebuildPackages: true
isUseCCache: true
maxCPU: "${{ configuration.maxCPUs }}"
outputArtifactsFolder: $(ob_outputDirectory)
+ outputRPMsTarballName: $(outputRPMsTarballName)
pipArtifactFeeds: "mariner/Mariner-Pypi-Feed"
selfRepoName: self
testSuiteName: "[${{ configuration.name }}] Package test"
- - script: echo "##vso[task.setvariable variable=rpmsArtifactName;isOutput=true]$(ob_artifactBaseName)"
+ - script: |
+ echo "##vso[task.setvariable variable=rpmsArtifactName;isOutput=true]$(ob_artifactBaseName)"
+ echo "##vso[task.setvariable variable=rpmsTarballName;isOutput=true]$(outputRPMsTarballName)"
name: "RPMsArtifactName"
displayName: "Set variable for published artifact name"
@@ -142,15 +158,25 @@ extends:
isCustom: true
name: ${{ configuration.agentPool }}
variables:
+ inputArtifactsLocation: $(Agent.TempDirectory)
ob_artifactBaseName: $(toolchainTestsArtifactNameBase)_${{ configuration.name }}_$(System.JobAttempt)
ob_outputDirectory: $(Build.ArtifactStagingDirectory)
testListFromToolchain: $[ stageDependencies.Toolchain_${{ configuration.name }}.Build.outputs['CalculateToolchainPackageRetestList.toolchainPackageRetestList'] ]
toolchainArtifactName: $[ stageDependencies.Toolchain_${{ configuration.name }}.Build.outputs['ToolchainArtifactName.toolchainArtifactName'] ]
+ toolchainTarballName: $[ stageDependencies.Toolchain_${{ configuration.name }}.Build.outputs['ToolchainArtifactName.toolchainTarballName'] ]
steps:
+ - task: DownloadPipelineArtifact@2
+ displayName: "Download toolchain"
+ inputs:
+ artifact: $(toolchainArtifactName)
+ patterns: "**/$(toolchainTarballName)"
+ targetPath: $(inputArtifactsLocation)
+
- template: .pipelines/templates/PackageBuild.yml@self
parameters:
checkBuildRetries: "1"
- customToolchainArtifactName: $(toolchainArtifactName)
+ customToolchainTarballName: $(toolchainTarballName)
+ inputArtifactsFolder: $(inputArtifactsLocation)
isAllowToolchainRebuilds: true
isCheckBuild: true
isQuickRebuildPackages: true
@@ -179,8 +205,18 @@ extends:
isCustom: true
name: ${{ configuration.agentPool }}
variables:
+ inputArtifactsLocation: $(Agent.TempDirectory)
rpmsArtifactName: $[ stageDependencies.RPMs_${{ configuration.name }}.BuildAndTest.outputs['RPMsArtifactName.rpmsArtifactName'] ]
+ rpmsTarballName: $[ stageDependencies.RPMs_${{ configuration.name }}.BuildAndTest.outputs['RPMsArtifactName.rpmsTarballName'] ]
steps:
+ - task: DownloadPipelineArtifact@2
+ displayName: "Download RPMs tarball"
+ inputs:
+ artifact: $(rpmsArtifactName)
+ patterns: "**/$(rpmsTarballName)"
+ targetPath: $(inputArtifactsLocation)
+
- template: .pipelines/templatesWithCheckout/SodiffCheck.yml@self
parameters:
- inputArtifactName: $(rpmsArtifactName)
+ inputArtifactsFolder: $(inputArtifactsLocation)
+ inputRPMsTarballName: $(rpmsTarballName)
diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml
index 4ce30b7e65f..abb9ac1d9ca 100644
--- a/.pipelines/templates/PackageBuild.yml
+++ b/.pipelines/templates/PackageBuild.yml
@@ -14,13 +14,9 @@ parameters:
type: number
default: 12
- - name: customToolchainArtifactName
- type: string
- default: ""
-
- name: customToolchainTarballName
type: string
- default: "toolchain_built_rpms_all.tar.gz"
+ default: ""
- name: extraPackageRepos
type: string
@@ -30,12 +26,16 @@ parameters:
type: boolean
default: true
- - name: inputCacheArtifacts
+ - name: inputArtifactsFolder
+ type: string
+ default: "$(Agent.TempDirectory)"
+
+ - name: inputCacheRPMsTarballs
type: object
default: []
# Sample:
- # - name: build-artifacts
- # rpmsTarball: cache.tar.gz
+ # - cache.tar.gz
+ # - cache2.tar.gz
- name: isAllowToolchainRebuilds
type: string
@@ -160,15 +160,9 @@ steps:
artifactFeeds: "${{ parameters.pipArtifactFeeds }}"
displayName: "Authenticate to custom pip artifact feeds"
- - ${{ if parameters.customToolchainArtifactName }}:
- - task: DownloadPipelineArtifact@2
- displayName: "Download toolchain"
- inputs:
- artifact: "${{ parameters.customToolchainArtifactName }}"
- patterns: "**/${{ parameters.customToolchainTarballName }}"
-
+ - ${{ if parameters.customToolchainTarballName }}:
- script: |
- toolchain_archive="$(find "$(Pipeline.Workspace)" -name "${{ parameters.customToolchainTarballName }}" -print -quit)"
+ toolchain_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ parameters.customToolchainTarballName }}" -print -quit)"
if [[ ! -f "$toolchain_archive" ]]; then
echo "ERROR: toolchain archive not found!" >&2
exit 1
@@ -178,17 +172,11 @@ steps:
sudo make -C "${{ parameters.buildRepoRoot }}/toolkit" toolchain TOOLCHAIN_ARCHIVE="$toolchain_archive"
displayName: "Populate toolchain"
- - ${{ each inputCacheArtifact in parameters.inputCacheArtifacts }}:
- - task: DownloadPipelineArtifact@2
- displayName: "Download input cache RPM from ${{ inputCacheArtifact.name }}"
- inputs:
- artifact: "${{ inputCacheArtifact.name }}"
- patterns: "**/${{ inputCacheArtifact.rpmsTarball }}"
-
+ - ${{ each inputCacheRPMsTarball in parameters.inputCacheRPMsTarballs }}:
- script: |
- rpms_archive="$(find "$(Pipeline.Workspace)" -name "${{ inputCacheArtifact.rpmsTarball }}" -print -quit)"
+ rpms_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ inputCacheRPMsTarball }}" -print -quit)"
if [[ ! -f "$rpms_archive" ]]; then
- echo "ERROR: cache RPMs archive '${{ inputCacheArtifact.rpmsTarball }}' not found!" >&2
+ echo "ERROR: cache RPMs archive '${{ inputCacheRPMsTarball }}' not found!" >&2
exit 1
fi
@@ -200,7 +188,7 @@ steps:
check_build_retries_arg="CHECK_BUILD_RETRIES=${{ parameters.checkBuildRetries }}"
fi
- if [[ -n "${{ parameters.customToolchainArtifactName }}" ]]; then
+ if [[ -n "${{ parameters.customToolchainTarballName }}" ]]; then
toolchain_archive_arg="TOOLCHAIN_ARCHIVE=$(toolchainArchive)"
fi
diff --git a/.pipelines/templatesWithCheckout/SodiffCheck.yml b/.pipelines/templatesWithCheckout/SodiffCheck.yml
index c4103caa78c..004fbaaa1e9 100644
--- a/.pipelines/templatesWithCheckout/SodiffCheck.yml
+++ b/.pipelines/templatesWithCheckout/SodiffCheck.yml
@@ -6,8 +6,9 @@ parameters:
type: string
default: "$(Build.SourcesDirectory)"
- - name: inputArtifactName
+ - name: inputArtifactsFolder
type: string
+ default: "$(Agent.TempDirectory)"
- name: inputRPMsTarballName
type: string
@@ -26,19 +27,11 @@ parameters:
default: "$(Agent.TempDirectory)/SourcesWorkspace"
steps:
- - task: DownloadPipelineArtifact@2
- displayName: "Download sources for signing"
- inputs:
- artifact: ${{ parameters.inputArtifactName }}
- patterns: |
- **/${{ parameters.inputRPMsTarballName }}
- targetPath: "$(Agent.TempDirectory)"
-
- script: |
set -e
mkdir -p "${{ parameters.sourcesWorkspace }}"
- find "$(Agent.TempDirectory)" -name "${{ parameters.inputRPMsTarballName }}" -print0 | xargs -0 -n 1 tar -C "${{ parameters.sourcesWorkspace }}" -xkf
+ find "${{ parameters.inputArtifactsFolder }}" -name "${{ parameters.inputRPMsTarballName }}" -print0 | xargs -0 -n 1 tar -C "${{ parameters.sourcesWorkspace }}" -xkf
displayName: "Extract sources tarball"
- script: |
diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
index a9942f9ccd1..69b9f2f6927 100644
--- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
+++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
@@ -5,14 +5,15 @@ The Azure Linux SPEC files originated from a variety of sources with varying lic
| CentOS | [MIT](https://www.centos.org/legal/#licensing-policy) | crash-ptdump-command
delve
fstrm
nodejs-nodemon
rhnlib
rt-setup
rt-tests
rtctl
tuned |
| Ceph source | [LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1) | ceph |
| Debian | [MIT](https://opensource.org/licenses/MIT) | prometheus-process-exporter |
-| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | 389-ds-base
a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capnproto
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpufrequtils
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dhcpcd
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libcxx
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbusmenu
libdc1394
libdecor
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libei
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmd
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libxcvt
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mosh
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-srpm-macros
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Refcount
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Match-Simple
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Infix
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-apcu
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
pssh
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-argparse-manpage
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-backoff
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-iniconfig
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-junitxml
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyproject-metadata
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmautospec-core
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-versioneer
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xlrd
python-xlsxwriter
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rr
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
shim-unsigned-aarch64
shim-unsigned-x64
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stress-ng
stunnel
subscription-manager
subunit
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-server-Xwayland
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib |
+| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | 389-ds-base
a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capnproto
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpufrequtils
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dhcpcd
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kernel-srpm-macros
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libcxx
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbusmenu
libdc1394
libdecor
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libei
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmd
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libxcvt
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mosh
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-srpm-macros
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Refcount
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Match-Simple
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Infix
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-apcu
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
pssh
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-argparse-manpage
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-backoff
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-iniconfig
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-junitxml
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-prometheus_client
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyproject-metadata
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmautospec-core
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-versioneer
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xlrd
python-xlsxwriter
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rr
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
shim-unsigned-aarch64
shim-unsigned-x64
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stress-ng
stunnel
subscription-manager
subunit
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-server-Xwayland
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib |
| Fedora (Copyright Remi Collet) | [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) | libmemcached-awesome
librabbitmq |
| Fedora (ISC) | [ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE) | python-resolvelib |
| Magnus Edenhill Open Source | [Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING) | librdkafka |
| Microsoft | [Microsoft MIT License](/LICENSES-AND-NOTICES/LICENSE.md) | application-gateway-kubernetes-ingress
asc
azcopy
azure-iot-sdk-c
azure-nvme-utils
azure-storage-cpp
azurelinux-release
azurelinux-repos
azurelinux-rpm-macros
azurelinux-sysinfo
bazel
blobfuse2
bmon
bpftrace
ccache
cert-manager
cf-cli
check-restart
clamav
cloud-hypervisor-cvm
cmake-fedora
containerd
containerd2
coredns
dcos-cli
debugedit
dejavu-fonts
distroless-packages
docker-buildx
docker-cli
docker-compose
doxygen
dtc
elixir
espeak-ng
espeakup
flannel
fluent-bit
freefont
gflags
gh
go-md2man
grpc
grub2-efi-binary-signed
GSL
gtk-update-icon-cache
helm
ig
intel-pf-bb-config
ivykis
jsonbuilder
jx
kata-containers-cc
kata-packages-uvm
keda
keras
kernel-64k-signed
kernel-signed
kernel-uki
kernel-uki-signed
kpatch
kube-vip-cloud-provider
kubernetes
libacvp
libconfini
libconfuse
libgdiplus
libmaxminddb
libmetalink
libsafec
libuv
libxml++
lld
local-path-provisioner
lsb-release
ltp
lttng-consume
mm-common
moby-containerd-cc
moby-engine
msgpack
ncompress
networkd-dispatcher
nlohmann-json
nmap
node-problem-detector
ntopng
opentelemetry-cpp
packer
pcaudiolib
pcre2
perl-Test-Warnings
perl-Text-Template
pigz
prebuilt-ca-certificates
prebuilt-ca-certificates-base
prometheus-adapter
python-cachetools
python-cherrypy
python-cstruct
python-execnet
python-google-pasta
python-libclang
python-libevdev
python-logutils
python-ml-dtypes
python-namex
python-nocasedict
python-omegaconf
python-opt-einsum
python-optree
python-pecan
python-pip
python-pyrpm
python-remoto
python-repoze-lru
python-routes
python-rsa
python-setuptools
python-sphinxcontrib-websupport
python-tensorboard
python-tensorboard-plugin-wit
python-yamlloader
R
rabbitmq-server
rocksdb
rubygem-addressable
rubygem-asciidoctor
rubygem-async
rubygem-async-http
rubygem-async-io
rubygem-async-pool
rubygem-bindata
rubygem-concurrent-ruby
rubygem-connection_pool
rubygem-console
rubygem-cool.io
rubygem-deep_merge
rubygem-digest-crc
rubygem-elastic-transport
rubygem-elasticsearch
rubygem-elasticsearch-api
rubygem-eventmachine
rubygem-excon
rubygem-faraday
rubygem-faraday-em_http
rubygem-faraday-em_synchrony
rubygem-faraday-excon
rubygem-faraday-httpclient
rubygem-faraday-multipart
rubygem-faraday-net_http
rubygem-faraday-net_http_persistent
rubygem-faraday-patron
rubygem-faraday-rack
rubygem-faraday-retry
rubygem-ffi
rubygem-fiber-local
rubygem-fluent-config-regexp-type
rubygem-fluent-logger
rubygem-fluent-plugin-elasticsearch
rubygem-fluent-plugin-kafka
rubygem-fluent-plugin-prometheus
rubygem-fluent-plugin-prometheus_pushgateway
rubygem-fluent-plugin-record-modifier
rubygem-fluent-plugin-rewrite-tag-filter
rubygem-fluent-plugin-systemd
rubygem-fluent-plugin-webhdfs
rubygem-fluent-plugin-windows-exporter
rubygem-fluentd
rubygem-hirb
rubygem-hocon
rubygem-hoe
rubygem-http_parser
rubygem-httpclient
rubygem-io-event
rubygem-jmespath
rubygem-ltsv
rubygem-mini_portile2
rubygem-minitest
rubygem-mocha
rubygem-msgpack
rubygem-multi_json
rubygem-multipart-post
rubygem-net-http-persistent
rubygem-nio4r
rubygem-nokogiri
rubygem-oj
rubygem-parallel
rubygem-power_assert
rubygem-prometheus-client
rubygem-protocol-hpack
rubygem-protocol-http
rubygem-protocol-http1
rubygem-protocol-http2
rubygem-public_suffix
rubygem-puppet-resource_api
rubygem-rdiscount
rubygem-rdkafka
rubygem-rexml
rubygem-ruby-kafka
rubygem-ruby-progressbar
rubygem-rubyzip
rubygem-semantic_puppet
rubygem-serverengine
rubygem-sigdump
rubygem-strptime
rubygem-systemd-journal
rubygem-test-unit
rubygem-thor
rubygem-timers
rubygem-tzinfo
rubygem-tzinfo-data
rubygem-webhdfs
rubygem-webrick
rubygem-yajl-ruby
rubygem-zip-zip
runc
sdbus-cpp
sgx-backwards-compatibility
shim
skopeo
span-lite
sriov-network-device-plugin
SymCrypt
SymCrypt-OpenSSL
systemd-boot-signed
tensorflow
tinyxml2
toml11
tracelogging
umoci
usrsctp
vala
valkey
vnstat
zstd |
| Netplan source | [GPLv3](https://github.com/canonical/netplan/blob/main/COPYING) | netplan |
| Numad source | [LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt) | numad |
-| NVIDIA | [ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0) | libnvidia-container
mlnx-tools
mlx-bootctl
nvidia-container-toolkit
ofed-scripts
perftest |
+| NVIDIA | [ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0) | fwctl
fwctl-signed
ibarr
ibsim
iser
iser-signed
isert
isert-signed
knem
knem-modules-signed
libnvidia-container
mft_kernel
mft_kernel-signed
mlnx-ethtool
mlnx-iproute2
mlnx-nfsrdma
mlnx-nfsrdma-signed
mlnx-ofa_kernel
mlnx-ofa_kernel-modules-signed
mlnx-tools
mlx-bootctl
mlx-steering-dump
multiperf
nvidia-container-toolkit
ofed-docs
ofed-scripts
perftest
rshim
sockperf
srp
srp-signed
xpmem
xpmem-lib
xpmem-modules-signed |
+| NVIDIA (BSD) | [BSD](https://github.com/Mellanox/sockperf/blob/sockperf_v2/copying) | sockperf |
| OpenEuler | [BSD-3 License](https://github.com/pytorch/pytorch/blob/master/LICENSE) | pytorch |
| OpenMamba | [Openmamba GPLv2 License](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt) | bash-completion |
| OpenSUSE | Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing) | ant
ant-junit
antlr
aopalliance
apache-commons-beanutils
apache-commons-cli
apache-commons-codec
apache-commons-collections
apache-commons-collections4
apache-commons-compress
apache-commons-daemon
apache-commons-dbcp
apache-commons-digester
apache-commons-httpclient
apache-commons-io
apache-commons-jexl
apache-commons-lang
apache-commons-lang3
apache-commons-logging
apache-commons-net
apache-commons-pool
apache-commons-pool2
apache-commons-validator
apache-commons-vfs2
apache-parent
args4j
atinject
base64coder
bcel
bea-stax
beust-jcommander
bsf
byaccj
cal10n
cdparanoia
cglib
cni
containerized-data-importer
cpulimit
cri-o
ecj
fillup
flux
gd
geronimo-specs
glassfish-annotation-api
gnu-getopt
gnu-regexp
golang-packaging
guava
guava20
hamcrest
hawtjni-runtime
httpcomponents-core
influx-cli
influxdb
jakarta-taglibs-standard
jansi
jarjar
java-cup
java-cup-bootstrap
javacc
javacc-bootstrap
javassist
jboss-interceptors-1.2-api
jdepend
jflex
jflex-bootstrap
jlex
jline
jna
jsch
jsoup
jsr-305
jtidy
junit
junitperf
jzlib
kubevirt
kured
libcontainers-common
libtheora
libva
libvdpau
lynx
maven-parent
multus
objectweb-anttask
objectweb-asm
objenesis
oro
osgi-annotation
osgi-compendium
osgi-core
patterns-ceph-containers
plexus-classworlds
plexus-interpolation
plexus-pom
plexus-utils
proj
psl-make-dafsa
publicsuffix
qdox
regexp
relaxngDatatype
rhino
ripgrep
servletapi4
servletapi5
shapelib
slf4j
trilead-ssh2
virtiofsd
xalan-j2
xbean
xcursor-themes
xerces-j2
xml-commons-apis
xml-commons-resolver
xmldb-api
xmlrpc-c
xmlunit
xpp2
xpp3
xz-java |
diff --git a/LICENSES-AND-NOTICES/SPECS/data/licenses.json b/LICENSES-AND-NOTICES/SPECS/data/licenses.json
index 80f62df89c0..be3ff0c5c10 100644
--- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json
+++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json
@@ -548,6 +548,7 @@
"kata-containers",
"kde-filesystem",
"kde-settings",
+ "kernel-srpm-macros",
"kexec-tools",
"keybinder3",
"keycloak-httpd-client-install",
@@ -1764,6 +1765,7 @@
"python-poetry-core",
"python-process-tests",
"python-productmd",
+ "python-prometheus_client",
"python-ptyprocess",
"python-pycares",
"python-pycosat",
@@ -2454,12 +2456,46 @@
"NVIDIA": {
"license": "[ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0)",
"specs": [
+ "fwctl",
+ "fwctl-signed",
+ "ibarr",
+ "ibsim",
+ "iser",
+ "iser-signed",
+ "isert",
+ "isert-signed",
+ "knem",
+ "knem-modules-signed",
"libnvidia-container",
+ "mft_kernel",
+ "mft_kernel-signed",
+ "mlnx-ethtool",
+ "mlnx-iproute2",
+ "mlnx-nfsrdma",
+ "mlnx-nfsrdma-signed",
+ "mlnx-ofa_kernel",
+ "mlnx-ofa_kernel-modules-signed",
"mlnx-tools",
"mlx-bootctl",
+ "mlx-steering-dump",
+ "multiperf",
"nvidia-container-toolkit",
+ "ofed-docs",
"ofed-scripts",
- "perftest"
+ "perftest",
+ "rshim",
+ "sockperf",
+ "srp",
+ "srp-signed",
+ "xpmem",
+ "xpmem-lib",
+ "xpmem-modules-signed"
+ ]
+ },
+ "NVIDIA (BSD)": {
+ "license": "[BSD](https://github.com/Mellanox/sockperf/blob/sockperf_v2/copying)",
+ "specs": [
+ "sockperf"
]
},
"OpenEuler": {
diff --git a/SPECS-EXTENDED/authselect/authselect.signatures.json b/SPECS-EXTENDED/authselect/authselect.signatures.json
deleted file mode 100644
index a73398ad519..00000000000
--- a/SPECS-EXTENDED/authselect/authselect.signatures.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Signatures": {
- "authselect-1.2.1.tar.gz": "6f58c36d8b405da836dc9d1f44c1a22660c60f9e7ece327138d1b2492cb57749"
- }
-}
diff --git a/SPECS-EXTENDED/authselect/authselect.spec b/SPECS-EXTENDED/authselect/authselect.spec
deleted file mode 100644
index a8444aca235..00000000000
--- a/SPECS-EXTENDED/authselect/authselect.spec
+++ /dev/null
@@ -1,380 +0,0 @@
-# Do not terminate build if language files are empty.
-%define _empty_manifest_terminate_build 0
-
-Name: authselect
-Version: 1.2.1
-Release: 2%{?dist}
-Summary: Configures authentication and identity sources from supported profiles
-Vendor: Microsoft Corporation
-Distribution: Azure Linux
-URL: https://github.com/authselect/authselect
-
-License: GPLv3+
-Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-%if 0%{?rhel}
-Source1: translations.tar.gz
-%endif
-
-%global makedir %{_builddir}/%{name}-%{version}
-
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: findutils
-BuildRequires: libtool
-BuildRequires: m4
-BuildRequires: gcc
-BuildRequires: pkgconfig
-BuildRequires: pkgconfig(popt)
-BuildRequires: gettext-devel
-BuildRequires: po4a
-BuildRequires: %{_bindir}/a2x
-BuildRequires: libcmocka-devel >= 1.0.0
-BuildRequires: libselinux-devel
-Requires: authselect-libs%{?_isa} = %{version}-%{release}
-Suggests: sssd
-Suggests: samba-winbind
-Suggests: fprintd-pam
-Suggests: oddjob-mkhomedir
-
-%description
-Authselect is designed to be a replacement for authconfig but it takes
-a different approach to configure the system. Instead of letting
-the administrator build the PAM stack with a tool (which may potentially
-end up with a broken configuration), it would ship several tested stacks
-(profiles) that solve a use-case and are well tested and supported.
-At the same time, some obsolete features of authconfig are not
-supported by authselect.
-
-%package libs
-Summary: Utility library used by the authselect tool
-# Required by scriptlets
-Requires: coreutils
-Requires: findutils
-Requires: gawk
-Requires: grep
-Requires: sed
-Requires: systemd
-Requires: pam >= 1.3.1-23
-
-%description libs
-Common library files for authselect. This package is used by the authselect
-command line tool and any other potential front-ends.
-
-%package compat
-Summary: Tool to provide minimum backwards compatibility with authconfig
-Obsoletes: authconfig < 7.0.1-6
-Provides: authconfig
-BuildRequires: python3-devel
-Requires: authselect%{?_isa} = %{version}-%{release}
-Recommends: oddjob-mkhomedir
-Suggests: sssd
-Suggests: realmd
-Suggests: samba-winbind
-# Required by scriptlets
-Requires: sed
-
-%description compat
-This package will replace %{_sbindir}/authconfig with a tool that will
-translate some of the authconfig calls into authselect calls. It provides
-only minimum backward compatibility and users are encouraged to migrate
-to authselect completely.
-
-%package devel
-Summary: Development libraries and headers for authselect
-Requires: authselect-libs%{?_isa} = %{version}-%{release}
-
-%description devel
-System header files and development libraries for authselect. Useful if
-you develop a front-end for the authselect library.
-
-
-%prep
-%setup -q
-
-for p in %patches ; do
- %__patch -p1 -i $p
-done
-
-# Install RHEL translations
-# It is not possible to use wildcards here so we need to use 'find'
-%if 0%{?rhel}
-find "%{makedir}/po" "%{makedir}/src/man/po" -name "*.po" -delete
-%__rm "%{makedir}/po/LINGUAS"
-%setup -T -D -a 1
-%endif
-
-%build
-autoreconf -if
-%configure --with-pythonbin="%{__python3}"
-%make_build
-
-%check
-%make_build check
-
-%install
-%make_install
-
-# Find translations
-%find_lang %{name}
-%find_lang %{name} %{name}.8.lang --with-man
-%find_lang %{name}-migration %{name}-migration.7.lang --with-man
-%find_lang %{name}-profiles %{name}-profiles.5.lang --with-man
-
-# We want this file to contain only manual page translations
-%__sed -i '/LC_MESSAGES/d' %{name}.8.lang
-
-# Remove .la and .a files created by libtool
-find $RPM_BUILD_ROOT -name "*.la" -exec %__rm -f {} \;
-find $RPM_BUILD_ROOT -name "*.a" -exec %__rm -f {} \;
-
-%ldconfig_scriptlets libs
-
-%files libs -f %{name}.lang -f %{name}-profiles.5.lang
-%dir %{_sysconfdir}/authselect
-%dir %{_sysconfdir}/authselect/custom
-%dir %{_localstatedir}/lib/authselect
-%ghost %attr(0755,root,root) %{_localstatedir}/lib/authselect/backups/
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/dconf-db
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/dconf-locks
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/fingerprint-auth
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/nsswitch.conf
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/password-auth
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/postlogin
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/smartcard-auth
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/system-auth
-%ghost %attr(0644,root,root) %{_localstatedir}/lib/authselect/user-nsswitch-created
-%dir %{_datadir}/authselect
-%dir %{_datadir}/authselect/vendor
-%dir %{_datadir}/authselect/default
-%dir %{_datadir}/authselect/default/minimal/
-%dir %{_datadir}/authselect/default/nis/
-%dir %{_datadir}/authselect/default/sssd/
-%dir %{_datadir}/authselect/default/winbind/
-%{_datadir}/authselect/default/minimal/nsswitch.conf
-%{_datadir}/authselect/default/minimal/password-auth
-%{_datadir}/authselect/default/minimal/postlogin
-%{_datadir}/authselect/default/minimal/README
-%{_datadir}/authselect/default/minimal/REQUIREMENTS
-%{_datadir}/authselect/default/minimal/system-auth
-%{_datadir}/authselect/default/nis/dconf-db
-%{_datadir}/authselect/default/nis/dconf-locks
-%{_datadir}/authselect/default/nis/fingerprint-auth
-%{_datadir}/authselect/default/nis/nsswitch.conf
-%{_datadir}/authselect/default/nis/password-auth
-%{_datadir}/authselect/default/nis/postlogin
-%{_datadir}/authselect/default/nis/README
-%{_datadir}/authselect/default/nis/REQUIREMENTS
-%{_datadir}/authselect/default/nis/system-auth
-%{_datadir}/authselect/default/sssd/dconf-db
-%{_datadir}/authselect/default/sssd/dconf-locks
-%{_datadir}/authselect/default/sssd/fingerprint-auth
-%{_datadir}/authselect/default/sssd/nsswitch.conf
-%{_datadir}/authselect/default/sssd/password-auth
-%{_datadir}/authselect/default/sssd/postlogin
-%{_datadir}/authselect/default/sssd/README
-%{_datadir}/authselect/default/sssd/REQUIREMENTS
-%{_datadir}/authselect/default/sssd/smartcard-auth
-%{_datadir}/authselect/default/sssd/system-auth
-%{_datadir}/authselect/default/winbind/dconf-db
-%{_datadir}/authselect/default/winbind/dconf-locks
-%{_datadir}/authselect/default/winbind/fingerprint-auth
-%{_datadir}/authselect/default/winbind/nsswitch.conf
-%{_datadir}/authselect/default/winbind/password-auth
-%{_datadir}/authselect/default/winbind/postlogin
-%{_datadir}/authselect/default/winbind/README
-%{_datadir}/authselect/default/winbind/REQUIREMENTS
-%{_datadir}/authselect/default/winbind/system-auth
-%{_libdir}/libauthselect.so.*
-%{_mandir}/man5/authselect-profiles.5*
-%{_datadir}/doc/authselect/COPYING
-%{_datadir}/doc/authselect/README.md
-%license COPYING
-%doc README.md
-
-%files compat
-%{_sbindir}/authconfig
-%{python3_sitelib}/authselect/
-
-%files devel
-%{_includedir}/authselect.h
-%{_libdir}/libauthselect.so
-%{_libdir}/pkgconfig/authselect.pc
-
-%files -f %{name}.8.lang -f %{name}-migration.7.lang
-%{_bindir}/authselect
-%{_mandir}/man8/authselect.8*
-%{_mandir}/man7/authselect-migration.7*
-%{_sysconfdir}/bash_completion.d/authselect-completion.sh
-
-%global validfile %{_localstatedir}/lib/rpm-state/%{name}.config-valid
-
-%pre libs
-%__rm -f %{validfile}
-if [ $1 -gt 1 ] ; then
- # Remember if the current configuration is valid
- %{_bindir}/authselect check &> /dev/null
- if [ $? -eq 0 ]; then
- touch %{validfile}
- fi
-fi
-
-exit 0
-
-%posttrans libs
-# Copy nsswitch.conf to user-nsswitch.conf if it was not yet created
-if [ ! -f %{_localstatedir}/lib/authselect/user-nsswitch-created ]; then
- %__cp -n %{_sysconfdir}/nsswitch.conf %{_sysconfdir}/authselect/user-nsswitch.conf &> /dev/null
- touch %{_localstatedir}/lib/authselect/user-nsswitch-created &> /dev/null
-
- # If we are upgrading from older version, we want to remove these comments.
- %__sed -i '/^# Generated by authselect on .*$/{$!{
- N;N # Read also next two lines
- /# Generated by authselect on .*\n# Do not modify this file manually.\n/d
- }}' %{_sysconfdir}/authselect/user-nsswitch.conf &> /dev/null
-fi
-
-# If the configuration is valid and we are upgrading from older version
-# we need to create these files since they were added in 1.0.
-if [ -f %{validfile} ]; then
- FILES="nsswitch.conf system-auth password-auth fingerprint-auth \
- smartcard-auth postlogin dconf-db dconf-locks"
-
- for FILE in $FILES ; do
- %__cp -n %{_sysconfdir}/authselect/$FILE \
- %{_localstatedir}/lib/authselect/$FILE &> /dev/null
- done
-
- %__rm -f %{validfile}
-fi
-
-# Apply any changes to profiles (validates configuration first internally)
-%{_bindir}/authselect apply-changes &> /dev/null
-
-# Enable with-sudo feature if sssd-sudo responder is enabled. RHBZ#1582111
-CURRENT=`%{_bindir}/authselect current --raw 2> /dev/null`
-if [ $? -eq 0 ]; then
- PROFILE=`echo $CURRENT | %__awk '{print $1;}'`
-
- if [ $PROFILE == "sssd" ] ; then
- if %__grep -E "services[[:blank:]]*=[[:blank:]]*.*sudo" /etc/sssd/sssd.conf &> /dev/null ; then
- %{_bindir}/authselect enable-feature with-sudo &> /dev/null
- elif systemctl is-active sssd-sudo.service sssd-sudo.socket --quiet || systemctl is-enabled sssd-sudo.socket --quiet ; then
- %{_bindir}/authselect enable-feature with-sudo &> /dev/null
- fi
- fi
-fi
-
-exit 0
-
-%posttrans compat
-# Fix for RHBZ#1618865
-# Remove invalid lines from pwquality.conf generated by authconfig compat tool
-# - previous version could write some options without value, which is invalid
-# - we delete all options without value from existing file
-%__sed -i -E '/^\w+=$/d' %{_sysconfdir}/security/pwquality.conf.d/10-authconfig-pwquality.conf &> /dev/null
-exit 0
-
-%changelog
-* Fri Oct 15 2021 Pawel Winogrodzki - 1.2.1-2
-- Initial CBL-Mariner import from Fedora 32 (license: MIT).
-
-* Mon May 11 2020 Pavel Březina - 1.2.1-1
-- Rebase to 1.2.1
-
-* Wed Mar 4 2020 Pavel Březina - 1.2-1
-- Rebase to 1.2
-
-* Mon Feb 17 2020 Pavel Březina - 1.1-7
-- fix restoring non-authselect configuration from backup
-
-* Wed Jan 29 2020 Pavel Březina - 1.1-6
-- cli: fix auto backup when --force is set
-
-* Tue Jan 28 2020 Fedora Release Engineering - 1.1-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Thu Oct 03 2019 Miro Hrončok - 1.1-4
-- Rebuilt for Python 3.8.0rc1 (#1748018)
-
-* Mon Aug 19 2019 Miro Hrončok - 1.1-3
-- Rebuilt for Python 3.8
-
-* Wed Jul 24 2019 Fedora Release Engineering - 1.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Thu Jun 13 2019 Pavel Březina - 1.1-1
-- Rebase to 1.1
-
-* Tue Feb 26 2019 Pavel Březina - 1.0.3-1
-- Rebase to 1.0.3
-
-* Tue Feb 26 2019 Igor Gnatenko - 1.0.2-4
-- Use %ghost for files owned by authselect
-
-* Thu Jan 31 2019 Fedora Release Engineering - 1.0.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Dec 3 2018 Pavel Březina - 1.0.2-2
-- Resolves rhbz#1655025 (invalid backup).
-
-* Fri Nov 23 2018 Pavel Březina - 1.0.2-1
-- Rebase to 1.0.2
-
-* Thu Sep 27 2018 Pavel Březina - 1.0.1-2
-- Require systemd instead of systemctl
-
-* Thu Sep 27 2018 Pavel Březina - 1.0.1-1
-- Rebase to 1.0.1
-
-* Fri Sep 14 2018 Pavel Březina - 1.0-3
-- Scriptlets should no produce any error messages (RHBZ #1622272)
-- Provide fix for pwquality configuration (RHBZ #1618865)
-
-* Thu Aug 30 2018 Adam Williamson - 1.0-2
-- Backport PR #78 to fix broken pwquality config (RHBZ #1618865)
-
-* Mon Aug 13 2018 Pavel Březina - 1.0-1
-- Rebase to 1.0
-
-* Thu Jul 12 2018 Fedora Release Engineering - 0.4-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
-
-* Tue Jun 19 2018 Miro Hrončok - 0.4-4
-- Rebuilt for Python 3.7
-
-* Mon May 14 2018 Pavel Březina - 0.4-3
-- Disable sssd as sudo rules source with sssd profile by default (RHBZ #1573403)
-
-* Wed Apr 25 2018 Christian Heimes - 0.4-2
-- Don't disable oddjobd.service (RHBZ #1571844)
-
-* Mon Apr 9 2018 Pavel Březina - 0.4-1
-- rebasing to 0.4
-
-* Tue Mar 6 2018 Pavel Březina - 0.3.2-1
-- rebasing to 0.3.2
-- authselect-compat now only suggests packages, not recommends
-
-* Mon Mar 5 2018 Pavel Březina - 0.3.1-1
-- rebasing to 0.3.1
-
-* Tue Feb 20 2018 Igor Gnatenko - 0.3-3
-- Provide authconfig
-
-* Tue Feb 20 2018 Igor Gnatenko - 0.3-2
-- Properly own all appropriate directories
-- Remove unneeded %%defattr
-- Remove deprecated Group tag
-- Make Obsoletes versioned
-- Remove unneeded ldconfig scriptlets
-
-* Tue Feb 20 2018 Pavel Březina - 0.3-1
-- rebasing to 0.3
-* Wed Feb 07 2018 Fedora Release Engineering - 0.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-* Wed Jan 10 2018 Pavel Březina - 0.2-2
-- fix rpmlint errors
-* Wed Jan 10 2018 Pavel Březina - 0.2-1
-- rebasing to 0.2
-* Mon Jul 31 2017 Jakub Hrozek - 0.1-1
-- initial packaging
diff --git a/SPECS-EXTENDED/certmonger/certmonger.signatures.json b/SPECS-EXTENDED/certmonger/certmonger.signatures.json
index 5f909aff2f6..ffc7373888e 100644
--- a/SPECS-EXTENDED/certmonger/certmonger.signatures.json
+++ b/SPECS-EXTENDED/certmonger/certmonger.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "certmonger-0.79.13.tar.gz": "70cdfb266ef51a0bc9ea4f84dcc9cea1f8869d8f7eb846208489b3782bb53d75"
+ "certmonger-0.79.20.tar.gz": "23645a5c1b284d73df448dbb97366c1b6e639223fc9465e7834fa5c5fef3f01e"
}
-}
+}
\ No newline at end of file
diff --git a/SPECS-EXTENDED/certmonger/certmonger.spec b/SPECS-EXTENDED/certmonger/certmonger.spec
index 89c30199e7b..99c90f09e7d 100644
--- a/SPECS-EXTENDED/certmonger/certmonger.spec
+++ b/SPECS-EXTENDED/certmonger/certmonger.spec
@@ -12,13 +12,13 @@ Distribution: Azure Linux
%bcond_with xmlrpc
Name: certmonger
-Version: 0.79.13
-Release: 2%{?dist}
+Version: 0.79.20
+Release: 1%{?dist}
Summary: Certificate status monitor and PKI enrollment client
-License: GPLv3+
+License: GPLv3 or later (with an exception that it can be linked with OpenSSL).
URL: http://pagure.io/certmonger/
-Source0: http://releases.pagure.org/certmonger/certmonger-%{version}.tar.gz
+Source0: https://pagure.io/certmonger/archive/%{version}/certmonger-%{version}.tar.gz
#Source1: http://releases.pagure.org/certmonger/certmonger-%%{version}.tar.gz.sig
BuildRequires: autoconf
@@ -238,6 +238,9 @@ exit 0
%endif
%changelog
+* Mon Dec 10 2024 Sandeep Karambelkar - 0.79.15-1
+- Update to upstream 0.79.20 to fix build issues with certmonger. Verified license.
+
* Tue Jun 22 2021 Thomas Crain - 0.79.13-2
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
- Add build-time requirement on systemd-devel for systemd pkgconfig files
diff --git a/SPECS-EXTENDED/gcr/gcr.signatures.json b/SPECS-EXTENDED/gcr/gcr.signatures.json
index 2037a1936f2..2476dbba579 100644
--- a/SPECS-EXTENDED/gcr/gcr.signatures.json
+++ b/SPECS-EXTENDED/gcr/gcr.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "gcr-3.36.0.tar.xz": "aaf9bed017a2263c6145c89a1a84178f9f40f238426463e4ae486694ef5f6601"
+ "gcr-3.38.1.tar.xz": "17fcaf9c4a93a65fb1c72b82643bb102c13344084687d5886ea66313868d9ec9"
}
}
diff --git a/SPECS-EXTENDED/gcr/gcr.spec b/SPECS-EXTENDED/gcr/gcr.spec
index 264a850cb41..9c5e1a6117f 100644
--- a/SPECS-EXTENDED/gcr/gcr.spec
+++ b/SPECS-EXTENDED/gcr/gcr.spec
@@ -1,3 +1,5 @@
+%define majmin %(echo %{version} | cut -d. -f1-2)
+
Vendor: Microsoft Corporation
Distribution: Azure Linux
%ifarch %{valgrind_arches}
@@ -5,13 +7,13 @@ Distribution: Azure Linux
%endif
Name: gcr
-Version: 3.36.0
-Release: 3%{?dist}
+Version: 3.38.1
+Release: 1%{?dist}
Summary: A library for bits of crypto UI and parsing
License: GPLv2
URL: https://wiki.gnome.org/Projects/CryptoGlue
-Source0: https://download.gnome.org/sources/%{name}/3.36/%{name}-%{version}.tar.xz
+Source0: https://download.gnome.org/sources/%{name}/%{majmin}/%{name}-%{version}.tar.xz
BuildRequires: gettext
BuildRequires: gtk-doc
@@ -113,6 +115,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/gcr-viewer.desktop
%{_libdir}/libgcr-base-3.so.*
%changelog
+* Mon Dec 30 2024 Pawel Winogrodzki - 3.38.1-1
+- Bump to 3.38.1 to fix missing OID header bug (GCR issue #48).
+
* Mon Mar 21 2022 Pawel Winogrodzki - 3.36.0-3
- Adding BR on "python3-pygments".
- License verified.
diff --git a/SPECS-EXTENDED/perl-IPC-Run3/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch b/SPECS-EXTENDED/perl-IPC-Run3/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch
deleted file mode 100644
index fedc11d0767..00000000000
--- a/SPECS-EXTENDED/perl-IPC-Run3/0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 8ebe48760cfdc78fbf4fc46413dde9470121b99e Mon Sep 17 00:00:00 2001
-From: Roderich Schupp
-Date: Sun, 29 Sep 2013 18:12:03 +0200
-Subject: [PATCH 5/5] test and fix for RT #52317: Calling run3 garbles STDIN
-
----
- lib/IPC/Run3.pm | 26 ++++++-------------------
- t/preserve_stdin.t | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 63 insertions(+), 20 deletions(-)
- create mode 100644 t/preserve_stdin.t
-
-diff --git a/lib/IPC/Run3.pm b/lib/IPC/Run3.pm
-index 12c9d8a..777e290 100644
---- a/lib/IPC/Run3.pm
-+++ b/lib/IPC/Run3.pm
-@@ -363,14 +363,12 @@ sub run3 {
- $options if defined $stderr;
-
- # this should make perl close these on exceptions
--# local *STDIN_SAVE;
-+ local *STDIN_SAVE;
- local *STDOUT_SAVE;
- local *STDERR_SAVE;
-
-- my $saved_fd0 = dup( 0 ) if defined $in_fh;
--
--# open STDIN_SAVE, "<&STDIN"# or croak "run3(): $! saving STDIN"
--# if defined $in_fh;
-+ open STDIN_SAVE, "<&STDIN" or croak "run3(): $! saving STDIN"
-+ if defined $in_fh;
- open STDOUT_SAVE, ">&STDOUT" or croak "run3(): $! saving STDOUT"
- if defined $out_fh;
- open STDERR_SAVE, ">&STDERR" or croak "run3(): $! saving STDERR"
-@@ -378,17 +376,10 @@ sub run3 {
-
- my $errno;
- my $ok = eval {
-- # The open() call here seems to not force fd 0 in some cases;
-- # I ran in to trouble when using this in VCP, not sure why.
-- # the dup2() seems to work.
-- dup2( fileno $in_fh, 0 )
--# open STDIN, "<&=" . fileno $in_fh
-+ open STDIN, "<&=" . fileno $in_fh
- or croak "run3(): $! redirecting STDIN"
- if defined $in_fh;
-
--# close $in_fh or croak "$! closing STDIN temp file"
--# if ref $stdin;
--
- open STDOUT, ">&" . fileno $out_fh
- or croak "run3(): $! redirecting STDOUT"
- if defined $out_fh;
-@@ -428,13 +419,8 @@ sub run3 {
-
- my @errs;
-
-- if ( defined $saved_fd0 ) {
-- dup2( $saved_fd0, 0 );
-- POSIX::close( $saved_fd0 );
-- }
--
--# open STDIN, "<&STDIN_SAVE"# or push @errs, "run3(): $! restoring STDIN"
--# if defined $in_fh;
-+ open STDIN, "<&STDIN_SAVE" or push @errs, "run3(): $! restoring STDIN"
-+ if defined $in_fh;
- open STDOUT, ">&STDOUT_SAVE" or push @errs, "run3(): $! restoring STDOUT"
- if defined $out_fh;
- open STDERR, ">&STDERR_SAVE" or push @errs, "run3(): $! restoring STDERR"
-diff --git a/t/preserve_stdin.t b/t/preserve_stdin.t
-new file mode 100644
-index 0000000..8e090ee
---- /dev/null
-+++ b/t/preserve_stdin.t
-@@ -0,0 +1,57 @@
-+#!perl -w
-+
-+## test whether reading from STDIN is preserved when
-+## run3 is called in between reads
-+
-+use Test::More;
-+use IPC::Run3;
-+use File::Temp qw(tempfile);
-+use strict;
-+
-+# call run3 at different lines (problems might manifest itself
-+# on different lines, probably due to different buffering of input)
-+my @check_at = (5, 10, 50, 100, 200, 500);
-+plan tests => @check_at * 3;
-+
-+# create a test file for input containing 1000 lines
-+my $nlines = 1000;
-+my @exp_lines;
-+my ($fh, $file) = tempfile(UNLINK => 1);
-+for (my $i = 1; $i <= $nlines; $i++)
-+{
-+ my $line = "this is line $i";
-+ push @exp_lines, $line;
-+ print $fh $line, "\n";
-+}
-+close $fh;
-+
-+
-+my ( $in, $out, $err );
-+
-+foreach my $n (@check_at)
-+{
-+ my $nread = 0;
-+ my $unexpected;
-+ open STDIN, "<", $file or die "can't open file $file: $!";
-+ while ()
-+ {
-+ chomp;
-+ $unexpected = qq[line $nread: expected "$exp_lines[$nread]", got "$_"\n]
-+ unless $exp_lines[$nread] eq $_ || $unexpected;
-+ $nread++;
-+
-+ if ($nread == $n)
-+ {
-+ $in = "checking at line $n";
-+ run3 [ $^X, '-e', 'print uc $_ while <>' ], \$in, \$out, \$err;
-+ die "command failed" unless $? == 0;
-+ is($out, uc $in);
-+ }
-+ }
-+ close STDIN;
-+
-+ is($nread, $nlines, "STDIN was read completely");
-+ ok(!$unexpected, "STDIN as expected") or diag($unexpected);
-+}
-+
-+
---
-1.8.5.3
-
diff --git a/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.signatures.json b/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.signatures.json
index f7b94f01683..eaf3dca841b 100644
--- a/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.signatures.json
+++ b/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "perl-IPC-Run3-0.048.tar.gz": "3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565"
+ "perl-IPC-Run3-0.049.tar.gz": "9d048ae7b9ae63871bae976ba01e081d887392d904e5d48b04e22d35ed22011a"
}
-}
+}
\ No newline at end of file
diff --git a/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.spec b/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.spec
index 2dc270dc516..a5fedbb244c 100644
--- a/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.spec
+++ b/SPECS-EXTENDED/perl-IPC-Run3/perl-IPC-Run3.spec
@@ -1,6 +1,6 @@
Name: perl-IPC-Run3
-Version: 0.048
-Release: 19%{?dist}
+Version: 0.049
+Release: 1%{?dist}
Summary: Run a subprocess in batch mode
License: GPL+ or Artistic or BSD
Vendor: Microsoft Corporation
@@ -27,11 +27,6 @@ BuildRequires: perl(Test::Pod::Coverage)
BuildRequires: perl(Test::Pod)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-# RHBZ #1062267 / https://rt.cpan.org/Public/Bug/Display.html?id=52317
-# Patch from
-# https://github.com/rschupp/IPC-Run3/commit/8ebe48760cfdc78fbf4fc46413dde9470121b99e
-Patch0: 0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch
-
%description
This module allows you to run a subprocess and redirect stdin, stdout,
and/or stderr to files and perl data structures. It aims to satisfy 99% of
@@ -39,10 +34,9 @@ the need for using system, qx, and open3 with a simple, extremely Perlish
API and none of the bloat and rarely used features of IPC::Run.
%prep
-%setup -q -n IPC-Run3-%{version}
-%patch 0 -p1
+%autosetup -n IPC-Run3-%{version}
-# Perms in tarballs are broken
+# Perms in tarballs are broken
find -type f -exec chmod -x {} \;
%build
@@ -63,6 +57,11 @@ make test RELEASE_TESTING=1
%{_mandir}/man3/*
%changelog
+* Mon Dec 23 2024 Kevin Lockwood - 0.049-1
+- Update to 0.049
+- License verified
+- No longer apply 0001-test-and-fix-for-RT-52317-Calling-run3-garbles-STDIN.patch
+
* Fri Oct 15 2021 Pawel Winogrodzki - 0.048-19
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
diff --git a/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.signatures.json b/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.signatures.json
index 5dff96fb405..c2882daadb2 100644
--- a/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.signatures.json
+++ b/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "perl-Lingua-EN-Inflect-1.904.tar.gz": "54d344884ba9b585680975bbd4049ddbf27bf654446fb00c7e1fc538e08c3173"
+ "perl-Lingua-EN-Inflect-1.905.tar.gz": "05c29ec3482e572313a60da2181b0b30c5db7cf01f8ae7616ad67e1b66263296"
}
-}
+}
\ No newline at end of file
diff --git a/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.spec b/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.spec
index a0160c8a024..d0444b73b19 100644
--- a/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.spec
+++ b/SPECS-EXTENDED/perl-Lingua-EN-Inflect/perl-Lingua-EN-Inflect.spec
@@ -1,6 +1,6 @@
Name: perl-Lingua-EN-Inflect
-Version: 1.904
-Release: 5%{?dist}
+Version: 1.905
+Release: 1%{?dist}
Summary: Convert singular to plural, select "a" or "an"
License: GPL+ or Artistic
Vendor: Microsoft Corporation
@@ -50,6 +50,10 @@ make test
%changelog
+* Tue Dec 24 2024 Kevin Lockwood - 1.905-1
+- Update to 1.905
+- License verified
+
* Fri Oct 15 2021 Pawel Winogrodzki - 1.904-5
- Initial CBL-Mariner import from Fedora 32 (license: MIT).
diff --git a/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.signatures.json b/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.signatures.json
index 716dd831102..1543b55d760 100644
--- a/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.signatures.json
+++ b/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "rpmfluff-0.5.7.1.tar.xz": "416b47529c5129ae37062c5a0d0d18c683c0f8c060f6181b7c0a2ca4eaa776a7"
+ "python-rpmfluff-0.6.5.tar.xz": "6604e8e6ee71d6675e7e94d879104d253f0551b668bbaefabf06d006b5a48178"
}
-}
+}
\ No newline at end of file
diff --git a/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.spec b/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.spec
index cd46aa35c0b..2eb6d83efe9 100644
--- a/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.spec
+++ b/SPECS-EXTENDED/python-rpmfluff/python-rpmfluff.spec
@@ -1,15 +1,15 @@
-Vendor: Microsoft Corporation
-Distribution: Azure Linux
%global modname rpmfluff
Name: python-%{modname}
-Version: 0.5.7.1
-Release: 6%{?dist}
+Version: 0.6.5
+Release: 4%{?dist}
Summary: Lightweight way of building RPMs, and sabotaging them
-License: GPLv2+
+License: GPL-2.0-or-later
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
URL: https://pagure.io/rpmfluff
-Source0: https://pagure.io/releases/%{modname}/%{modname}-%{version}.tar.xz
+Source0: https://pagure.io/releases/%{modname}/%{modname}-%{version}.tar.xz#/%{name}-%{version}.tar.xz
BuildArch: noarch
@@ -19,7 +19,7 @@ sabotaging them so they are broken in controlled ways.\
\
It is intended for use when validating package analysis tools such as RPM lint.\
It can also be used to construct test cases for package management software\
-such as rpm and yum.
+such as RPM, YUM, and DNF.
%description %{_description}
@@ -29,6 +29,7 @@ Summary: %{summary}
BuildRequires: gcc
BuildRequires: python3-devel
BuildRequires: python3-rpm
+BuildRequires: python3-setuptools
Requires: rpm-build
Requires: createrepo_c
@@ -46,18 +47,97 @@ Python 3 version.
%py3_install
%check
-python3 %{modname}.py
+python3 -m unittest %{modname}.test
%files -n python3-%{modname}
%license LICENSE
%doc README.md
-%{python3_sitelib}/%{modname}.py
-%{python3_sitelib}/__pycache__/%{modname}.*
-%{python3_sitelib}/%{modname}-*.egg-info
+%{python3_sitelib}/*
%changelog
-* Fri Oct 15 2021 Pawel Winogrodzki - 0.5.7.1-6
-- Initial CBL-Mariner import from Fedora 32 (license: MIT).
+* Fri Dec 20 2024 Akhila Guruju - 0.6.5-4
+- Initial Azure Linux import from Fedora 41 (license: MIT).
+- License verified.
+
+* Fri Jul 19 2024 Fedora Release Engineering - 0.6.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Fri Jun 07 2024 Python Maint - 0.6.5-2
+- Rebuilt for Python 3.13
+
+* Fri May 31 2024 Jan Hutar - 0.6.4-1
+- dshea: Explicitly disable debuginfo when not requested
+
+* Fri Jan 26 2024 Fedora Release Engineering - 0.6.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Mon Jan 22 2024 Fedora Release Engineering - 0.6.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jul 21 2023 Fedora Release Engineering - 0.6.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Mon Jul 17 2023 Jan Hutar - 0.6.3-1
+- gotmax23: remove usage of deprecated rpm.fi
+
+* Tue Jun 13 2023 Python Maint - 0.6.2-3
+- Rebuilt for Python 3.12
+
+* Fri Jan 20 2023 Fedora Release Engineering - 0.6.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Tue Oct 18 2022 Jan Hutar - 0.6.2-1
+- Change deprecated distutils to setuptools
+
+* Fri Jul 22 2022 Fedora Release Engineering - 0.6.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Mon Jun 13 2022 Python Maint - 0.6.1-6
+- Rebuilt for Python 3.11
+
+* Fri Jan 21 2022 Fedora Release Engineering - 0.6.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering - 0.6.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Thu Jun 03 2021 Python Maint - 0.6.1-3
+- Rebuilt for Python 3.10
+
+* Wed Jan 27 2021 Fedora Release Engineering - 0.6.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Aug 12 2020 Jan Hutar - 0.6.1-1
+- jhutar: Expose two more items
+
+* Fri Aug 07 2020 Jan Hutar - 0.6-1
+- jhutar: Workaround for https://github.com/rpm-software-management/rpm/issues/1301
+- msuchy: Do not write %clean by default
+- msuchy: Make build directory in /tmp
+- msuchy: Call buildArchs as named argument
+- msuchy: Do not clean install
+- msuchy: BuildRoot is ignored by rpm
+- msuchy: Remove artefacts after the test
+- msuchy: Fix various pylint warnings
+- msuchy: Break down package into several modules
+- msuchy: Remove dead code
+- msuchy: Apply 2to3 script
+- msuchy: Mention DNF in description
+- msuchy: Move rpmfluff.py to rpmfluff/__init__.py
+- dcantrell: Only write the License tag if it is set
+- jhutar: Sanitize values we use to construct file paths
+- tbaeder: Read compiler from CC environment variable
+- dcantrell: Allow setting a different spec file basename than the package name
+
+* Sat Aug 01 2020 Fedora Release Engineering - 0.5.7.1-8
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering - 0.5.7.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Sat May 23 2020 Miro Hrončok - 0.5.7.1-6
+- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering - 0.5.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
diff --git a/SPECS-EXTENDED/rdma-core/rdma-core.signatures.json b/SPECS-EXTENDED/rdma-core/rdma-core.signatures.json
new file mode 100644
index 00000000000..5ea5fabfee1
--- /dev/null
+++ b/SPECS-EXTENDED/rdma-core/rdma-core.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "rdma-core-55.0.tar.gz": "6F8B97267807CDAE54845F542EE3D75DE80FDC24FE2632F5DB1573ECEF132D0F"
+ }
+}
diff --git a/SPECS-EXTENDED/rdma-core/rdma-core.spec b/SPECS-EXTENDED/rdma-core/rdma-core.spec
new file mode 100644
index 00000000000..d45848fc7ed
--- /dev/null
+++ b/SPECS-EXTENDED/rdma-core/rdma-core.spec
@@ -0,0 +1,747 @@
+Summary: RDMA core userspace libraries and daemons
+Name: rdma-core
+Version: 55.0
+Release: 1%{?dist}
+URL: https://github.com/linux-rdma/rdma-core
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+
+# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
+# providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause
+# providers/rxe/ Incorporates code from ipathverbs and contains the patent clause
+# providers/hfi1verbs Uses the 3 Clause BSD license
+License: GPLv2 or BSD
+Source0: https://github.com/linux-rdma/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
+
+# Do not build static libs by default.
+%define with_static %{?_with_static: 1} %{?!_with_static: 0}
+
+# 32-bit arm is missing required arch-specific memory barriers,
+ExcludeArch: %{arm}
+
+BuildRequires: binutils
+BuildRequires: cmake >= 2.8.11
+BuildRequires: gcc
+BuildRequires: pkg-config
+BuildRequires: pkgconfig(libnl-3.0)
+BuildRequires: pkgconfig(libnl-route-3.0)
+# Disable pyverbs for azl, as pyverbs cannot build with cython > 3
+# pyverbs/device.c: error: redefinition of '__Pyx_Enum_ibv_event_type_to_py'
+# and non-matching exception definitions
+%if 0%{azl}
+%define with_pyverbs 0
+%endif
+%if %{with_pyverbs}
+BuildRequires: python3-Cython
+%endif
+BuildRequires: python3
+BuildRequires: python3-docutils
+BuildRequires: python3-devel
+BuildRequires: python3-xml
+BuildRequires: systemd
+BuildRequires: systemd-devel
+BuildRequires: valgrind
+Requires: pciutils
+
+Provides: rdma = %{version}-%{release}
+
+BuildRequires: ninja-build
+%define CMAKE_FLAGS -GNinja
+%define make_jobs ninja-build -C . -v %{?_smp_mflags}
+%define cmake_install DESTDIR=%{buildroot} ninja-build -C . install
+
+%description
+RDMA core userspace infrastructure and documentation, including initialization
+scripts, kernel driver-specific modprobe override configs, IPoIB network
+scripts, dracut rules, and the rdma-ndd utility.
+
+%package devel
+Summary: RDMA core development libraries and headers
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: libibverbs%{?_isa} = %{version}-%{release}
+Provides: libibverbs-devel = %{version}-%{release}
+Obsoletes: libibverbs-devel < %{version}-%{release}
+Requires: libibumad%{?_isa} = %{version}-%{release}
+Provides: libibumad-devel = %{version}-%{release}
+Obsoletes: libibumad-devel < %{version}-%{release}
+Requires: librdmacm%{?_isa} = %{version}-%{release}
+Provides: librdmacm-devel = %{version}-%{release}
+Obsoletes: librdmacm-devel < %{version}-%{release}
+Requires: ibacm%{?_isa} = %{version}-%{release}
+Provides: ibacm-devel = %{version}-%{release}
+Obsoletes: ibacm-devel < %{version}-%{release}
+Requires: infiniband-diags%{?_isa} = %{version}-%{release}
+Provides: infiniband-diags-devel = %{version}-%{release}
+Obsoletes: infiniband-diags-devel < %{version}-%{release}
+Provides: libibmad-devel = %{version}-%{release}
+Obsoletes: libibmad-devel < %{version}-%{release}
+%if %{with_static}
+# Since our pkg-config files include private references to these packages they
+# need to have their .pc files installed too, even for dynamic linking, or
+# pkg-config breaks.
+BuildRequires: pkgconfig(libnl-3.0)
+BuildRequires: pkgconfig(libnl-route-3.0)
+%endif
+
+%description devel
+RDMA core development libraries and headers.
+
+%package -n infiniband-diags
+Summary: InfiniBand Diagnostic Tools
+Requires: libibumad%{?_isa} = %{version}-%{release}
+Provides: perl(IBswcountlimits)
+Provides: libibmad = %{version}-%{release}
+Obsoletes: libibmad < %{version}-%{release}
+
+%description -n infiniband-diags
+This package provides IB diagnostic programs and scripts needed to diagnose an
+IB subnet. infiniband-diags now also provides libibmad. libibmad provides
+low layer IB functions for use by the IB diagnostic and management
+programs. These include MAD, SA, SMP, and other basic IB functions.
+
+%package -n infiniband-diags-compat
+Summary: OpenFabrics Alliance InfiniBand Diagnostic Tools
+
+%description -n infiniband-diags-compat
+Deprecated scripts and utilities which provide duplicated functionality, most
+often at a reduced performance. These are maintained for the time being for
+compatibility reasons.
+
+%package -n libibverbs
+Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWARP/RoCE) hardware
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Provides: libcxgb4 = %{version}-%{release}
+Obsoletes: libcxgb4 < %{version}-%{release}
+Provides: libefa = %{version}-%{release}
+Obsoletes: libefa < %{version}-%{release}
+Provides: libhfi1 = %{version}-%{release}
+Obsoletes: libhfi1 < %{version}-%{release}
+Provides: libi40iw = %{version}-%{release}
+Obsoletes: libi40iw < %{version}-%{release}
+Provides: libipathverbs = %{version}-%{release}
+Obsoletes: libipathverbs < %{version}-%{release}
+Provides: libmlx4 = %{version}-%{release}
+Obsoletes: libmlx4 < %{version}-%{release}
+Provides: libmlx5 = %{version}-%{release}
+Obsoletes: libmlx5 < %{version}-%{release}
+Provides: libmthca = %{version}-%{release}
+Obsoletes: libmthca < %{version}-%{release}
+Provides: libocrdma = %{version}-%{release}
+Obsoletes: libocrdma < %{version}-%{release}
+Provides: librxe = %{version}-%{release}
+Obsoletes: librxe < %{version}-%{release}
+
+%description -n libibverbs
+libibverbs is a library that allows userspace processes to use RDMA
+"verbs" as described in the InfiniBand Architecture Specification and
+the RDMA Protocol Verbs Specification. This includes direct hardware
+access from userspace to InfiniBand/iWARP adapters (kernel bypass) for
+fast path operations.
+
+Device-specific plug-in ibverbs userspace drivers are included:
+
+- libcxgb4: Chelsio T4 iWARP HCA
+- libefa: Amazon Elastic Fabric Adapter
+- libhfi1: Intel Omni-Path HFI
+- libhns: HiSilicon Hip06 SoC
+- libi40iw: Intel Ethernet Connection X722 RDMA
+- libipathverbs: QLogic InfiniPath HCA
+- libmlx4: Mellanox ConnectX-3 InfiniBand HCA
+- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
+- libmthca: Mellanox InfiniBand HCA
+- libocrdma: Emulex OneConnect RDMA/RoCE Device
+- libqedr: QLogic QL4xxx RoCE HCA
+- librxe: A software implementation of the RoCE protocol
+- libsiw: A software implementation of the iWarp protocol
+- libvmw_pvrdma: VMware paravirtual RDMA device
+
+%package -n libibverbs-utils
+Summary: Examples for the libibverbs library
+Requires: libibverbs%{?_isa} = %{version}-%{release}
+
+%description -n libibverbs-utils
+Useful libibverbs example programs such as ibv_devinfo, which
+displays information about RDMA devices.
+
+%package -n ibacm
+Summary: InfiniBand Communication Manager Assistant
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n ibacm
+The ibacm daemon helps reduce the load of managing path record lookups on
+large InfiniBand fabrics by providing a user space implementation of what
+is functionally similar to an ARP cache. The use of ibacm, when properly
+configured, can reduce the SA packet load of a large IB cluster from O(n^2)
+to O(n). The ibacm daemon is started and normally runs in the background,
+user applications need not know about this daemon as long as their app
+uses librdmacm to handle connection bring up/tear down. The librdmacm
+library knows how to talk directly to the ibacm daemon to retrieve data.
+
+%package -n iwpmd
+Summary: iWarp Port Mapper userspace daemon
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n iwpmd
+iwpmd provides a userspace service for iWarp drivers to claim
+tcp ports through the standard socket interface.
+
+%package -n libibumad
+Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n libibumad
+libibumad provides the userspace management datagram (umad) library
+functions, which sit on top of the umad modules in the kernel. These
+are used by the IB diagnostic and management tools, including OpenSM.
+
+%package -n librdmacm
+Summary: Userspace RDMA Connection Manager
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n librdmacm
+librdmacm provides a userspace RDMA Communication Management API.
+
+%package -n librdmacm-utils
+Summary: Examples for the librdmacm library
+Requires: librdmacm%{?_isa} = %{version}-%{release}
+
+%description -n librdmacm-utils
+Example test programs for the librdmacm library.
+
+%package -n srp_daemon
+Summary: Tools for using the InfiniBand SRP protocol devices
+Obsoletes: srptools <= 1.0.3
+Provides: srptools = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description -n srp_daemon
+In conjunction with the kernel ib_srp driver, srp_daemon allows you to
+discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
+
+%if %{with_pyverbs}
+%package -n python3-pyverbs
+Summary: Python3 API over IB verbs
+%{?python_provide:%python_provide python3-pyverbs}
+
+%description -n python3-pyverbs
+Pyverbs is a Cython-based Python API over libibverbs, providing an
+easy, object-oriented access to IB verbs.
+%endif
+
+%prep
+%autosetup -v -p1
+
+%build
+# This package uses top level ASM constructs which are incompatible with LTO.
+# Top level ASMs are often used to implement symbol versioning. gcc-10
+# introduces a new mechanism for symbol versioning which works with LTO.
+# Converting packages to use that mechanism instead of toplevel ASMs is
+# recommended.
+# Disable LTO
+%define _lto_cflags %{nil}
+
+# New RPM defines _rundir, usually as /run
+%if 0%{?_rundir:1}
+%else
+%define _rundir /var/run
+%endif
+
+%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}}
+
+# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
+%cmake %{CMAKE_FLAGS} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \
+ -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
+ -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
+ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \
+ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \
+ -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \
+ -DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \
+ -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
+ -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \
+ -DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \
+ -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
+ -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
+ -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
+ -DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \
+ -DENABLE_IBDIAGS_COMPAT:BOOL=True \
+%if %{with_static}
+ -DENABLE_STATIC=1 \
+%endif
+ %{EXTRA_CMAKE_FLAGS} \
+ -DPYTHON_EXECUTABLE:PATH=%{__python3} \
+ -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \
+%if %{with_pyverbs}
+ -DNO_PYVERBS=0
+%else
+ -DNO_PYVERBS=1
+%endif
+%make_jobs
+
+%install
+%cmake_install
+
+mkdir -p %{buildroot}/%{_sysconfdir}/rdma
+
+# Red Hat specific glue
+%global dracutlibdir %{_prefix}/lib/dracut
+%global sysmodprobedir %{_prefix}/lib/modprobe.d
+mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d
+mkdir -p %{buildroot}%{_libexecdir}
+mkdir -p %{buildroot}%{_udevrulesdir}
+mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma
+mkdir -p %{buildroot}%{sysmodprobedir}
+install -D -m0644 redhat/rdma.conf %{buildroot}/%{_sysconfdir}/rdma/rdma.conf
+install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
+install -D -m0755 redhat/rdma.modules-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
+install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/libmlx4.conf
+install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
+
+# ibacm
+bin/ib_acme -D . -O
+install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
+
+# Delete the package's init.d scripts
+rm -rf %{buildroot}/%{_initrddir}/
+rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
+
+%post -n libibverbs -p /sbin/ldconfig
+%postun -n libibverbs -p /sbin/ldconfig
+
+%post -n libibumad -p /sbin/ldconfig
+%postun -n libibumad -p /sbin/ldconfig
+
+%post -n librdmacm -p /sbin/ldconfig
+%postun -n librdmacm -p /sbin/ldconfig
+
+%post -n rdma-core
+if [ -x /sbin/udevadm ]; then
+/sbin/udevadm trigger --subsystem-match=infiniband --action=change || true
+/sbin/udevadm trigger --subsystem-match=net --action=change || true
+/sbin/udevadm trigger --subsystem-match=infiniband_mad --action=change || true
+fi
+
+%post -n ibacm
+%systemd_post ibacm.service
+%preun -n ibacm
+%systemd_preun ibacm.service
+%postun -n ibacm
+%systemd_postun_with_restart ibacm.service
+
+%post -n srp_daemon
+%systemd_post srp_daemon.service
+%preun -n srp_daemon
+%systemd_preun srp_daemon.service
+%postun -n srp_daemon
+%systemd_postun_with_restart srp_daemon.service
+
+%post -n iwpmd
+%systemd_post iwpmd.service
+%preun -n iwpmd
+%systemd_preun iwpmd.service
+%postun -n iwpmd
+%systemd_postun_with_restart iwpmd.service
+
+%files
+%license COPYING.BSD_FB COPYING.BSD_MIT COPYING.GPL2 COPYING.md
+%dir %{_sysconfdir}/rdma
+%dir %{_docdir}/%{name}
+%doc %{_docdir}/%{name}/README.md
+%doc %{_docdir}/%{name}/rxe.md
+%doc %{_docdir}/%{name}/udev.md
+%doc %{_docdir}/%{name}/tag_matching.md
+%doc %{_docdir}/%{name}/70-persistent-ipoib.rules
+%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/infiniband.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/iwarp.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf
+%config(noreplace) %{_sysconfdir}/rdma/rdma.conf
+%dir %{_sysconfdir}/modprobe.d
+%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
+%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
+%{_unitdir}/rdma-hw.target
+%{_unitdir}/rdma-load-modules@.service
+%dir %{dracutlibdir}
+%dir %{dracutlibdir}/modules.d
+%dir %{dracutlibdir}/modules.d/05rdma
+%{dracutlibdir}/modules.d/05rdma/module-setup.sh
+%dir %{_udevrulesdir}
+%{_udevrulesdir}/../rdma_rename
+%{_udevrulesdir}/60-rdma-ndd.rules
+%{_udevrulesdir}/60-rdma-persistent-naming.rules
+%{_udevrulesdir}/75-rdma-description.rules
+%{_udevrulesdir}/90-rdma-hw-modules.rules
+%{_udevrulesdir}/90-rdma-ulp-modules.rules
+%{_udevrulesdir}/90-rdma-umad.rules
+%dir %{sysmodprobedir}
+%{sysmodprobedir}/libmlx4.conf
+%{_libexecdir}/mlx4-setup.sh
+%{_libexecdir}/truescale-serdes.cmds
+%{_sbindir}/rdma-ndd
+%{_unitdir}/rdma-ndd.service
+%{_mandir}/man7/rxe*
+%{_mandir}/man8/rdma-ndd.*
+
+%files devel
+%doc %{_docdir}/%{name}/MAINTAINERS
+%dir %{_includedir}/infiniband
+%dir %{_includedir}/rdma
+%{_includedir}/infiniband/*
+%{_includedir}/rdma/*
+%if %{with_static}
+%{_libdir}/lib*.a
+%endif
+%{_libdir}/lib*.so
+%{_libdir}/pkgconfig/*.pc
+%{_mandir}/man3/efadv*
+%{_mandir}/man3/hnsdv*
+%{_mandir}/man3/ibv_*
+%{_mandir}/man3/rdma*
+%{_mandir}/man3/umad*
+%{_mandir}/man3/*_to_ibv_rate.*
+%{_mandir}/man7/rdma_cm.*
+%{_mandir}/man3/manadv*
+%{_mandir}/man3/mlx5dv*
+%{_mandir}/man3/mlx4dv*
+%{_mandir}/man7/efadv*
+%{_mandir}/man7/hnsdv*
+%{_mandir}/man7/manadv*
+%{_mandir}/man7/mlx5dv*
+%{_mandir}/man7/mlx4dv*
+%{_mandir}/man3/ibnd_*
+
+%files -n infiniband-diags-compat
+%{_sbindir}/ibcheckerrs
+%{_mandir}/man8/ibcheckerrs*
+%{_sbindir}/ibchecknet
+%{_mandir}/man8/ibchecknet*
+%{_sbindir}/ibchecknode
+%{_mandir}/man8/ibchecknode*
+%{_sbindir}/ibcheckport
+%{_mandir}/man8/ibcheckport.*
+%{_sbindir}/ibcheckportwidth
+%{_mandir}/man8/ibcheckportwidth*
+%{_sbindir}/ibcheckportstate
+%{_mandir}/man8/ibcheckportstate*
+%{_sbindir}/ibcheckwidth
+%{_mandir}/man8/ibcheckwidth*
+%{_sbindir}/ibcheckstate
+%{_mandir}/man8/ibcheckstate*
+%{_sbindir}/ibcheckerrors
+%{_mandir}/man8/ibcheckerrors*
+%{_sbindir}/ibdatacounts
+%{_mandir}/man8/ibdatacounts*
+%{_sbindir}/ibdatacounters
+%{_mandir}/man8/ibdatacounters*
+%{_sbindir}/ibdiscover.pl
+%{_mandir}/man8/ibdiscover*
+%{_sbindir}/ibswportwatch.pl
+%{_mandir}/man8/ibswportwatch*
+%{_sbindir}/ibqueryerrors.pl
+%{_sbindir}/iblinkinfo.pl
+%{_sbindir}/ibprintca.pl
+%{_mandir}/man8/ibprintca*
+%{_sbindir}/ibprintswitch.pl
+%{_mandir}/man8/ibprintswitch*
+%{_sbindir}/ibprintrt.pl
+%{_mandir}/man8/ibprintrt*
+%{_sbindir}/set_nodedesc.sh
+
+%files -n infiniband-diags
+%{_sbindir}/ibaddr
+%{_mandir}/man8/ibaddr*
+%{_sbindir}/ibnetdiscover
+%{_mandir}/man8/ibnetdiscover*
+%{_sbindir}/ibping
+%{_mandir}/man8/ibping*
+%{_sbindir}/ibportstate
+%{_mandir}/man8/ibportstate*
+%{_sbindir}/ibroute
+%{_mandir}/man8/ibroute.*
+%{_sbindir}/ibstat
+%{_mandir}/man8/ibstat.*
+%{_sbindir}/ibsysstat
+%{_mandir}/man8/ibsysstat*
+%{_sbindir}/ibtracert
+%{_mandir}/man8/ibtracert*
+%{_sbindir}/perfquery
+%{_mandir}/man8/perfquery*
+%{_sbindir}/sminfo
+%{_mandir}/man8/sminfo*
+%{_sbindir}/smpdump
+%{_mandir}/man8/smpdump*
+%{_sbindir}/smpquery
+%{_mandir}/man8/smpquery*
+%{_sbindir}/saquery
+%{_mandir}/man8/saquery*
+%{_sbindir}/vendstat
+%{_mandir}/man8/vendstat*
+%{_sbindir}/iblinkinfo
+%{_mandir}/man8/iblinkinfo*
+%{_sbindir}/ibqueryerrors
+%{_mandir}/man8/ibqueryerrors*
+%{_sbindir}/ibcacheedit
+%{_mandir}/man8/ibcacheedit*
+%{_sbindir}/ibccquery
+%{_mandir}/man8/ibccquery*
+%{_sbindir}/ibccconfig
+%{_mandir}/man8/ibccconfig*
+%{_sbindir}/dump_fts
+%{_mandir}/man8/dump_fts*
+%{_sbindir}/ibhosts
+%{_mandir}/man8/ibhosts*
+%{_sbindir}/ibswitches
+%{_mandir}/man8/ibswitches*
+%{_sbindir}/ibnodes
+%{_mandir}/man8/ibnodes*
+%{_sbindir}/ibrouters
+%{_mandir}/man8/ibrouters*
+%{_sbindir}/ibfindnodesusing.pl
+%{_mandir}/man8/ibfindnodesusing*
+%{_sbindir}/ibidsverify.pl
+%{_mandir}/man8/ibidsverify*
+%{_sbindir}/check_lft_balance.pl
+%{_mandir}/man8/check_lft_balance*
+%{_sbindir}/dump_lfts.sh
+%{_mandir}/man8/dump_lfts*
+%{_sbindir}/dump_mfts.sh
+%{_mandir}/man8/dump_mfts*
+%{_sbindir}/ibclearerrors
+%{_mandir}/man8/ibclearerrors*
+%{_sbindir}/ibclearcounters
+%{_mandir}/man8/ibclearcounters*
+%{_sbindir}/ibstatus
+%{_mandir}/man8/ibstatus*
+%{_mandir}/man8/infiniband-diags*
+%{_libdir}/libibmad*.so.*
+%{_libdir}/libibnetdisc*.so.*
+%{perl_vendorlib}/IBswcountlimits.pm
+%config(noreplace) %{_sysconfdir}/infiniband-diags/error_thresholds
+%config(noreplace) %{_sysconfdir}/infiniband-diags/ibdiag.conf
+
+%files -n libibverbs
+%dir %{_sysconfdir}/libibverbs.d
+%dir %{_libdir}/libibverbs
+%{_libdir}/libefa.so.*
+%{_libdir}/libhns.so.*
+%{_libdir}/libibverbs*.so.*
+%{_libdir}/libibverbs/*.so
+%{_libdir}/libmlx5.so.*
+%{_libdir}/libmlx4.so.*
+%{_libdir}/libmana.so.*
+%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
+%doc %{_docdir}/%{name}/libibverbs.md
+
+%files -n libibverbs-utils
+%{_bindir}/ibv_*
+%{_mandir}/man1/ibv_*
+
+%files -n ibacm
+%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
+%{_bindir}/ib_acme
+%{_sbindir}/ibacm
+%{_mandir}/man1/ib_acme.*
+%{_mandir}/man7/ibacm.*
+%{_mandir}/man7/ibacm_prov.*
+%{_mandir}/man8/ibacm.*
+%{_unitdir}/ibacm.service
+%{_unitdir}/ibacm.socket
+%dir %{_libdir}/ibacm
+%{_libdir}/ibacm/*
+%doc %{_docdir}/%{name}/ibacm.md
+
+%files -n iwpmd
+%{_sbindir}/iwpmd
+%{_unitdir}/iwpmd.service
+%config(noreplace) %{_sysconfdir}/rdma/modules/iwpmd.conf
+%config(noreplace) %{_sysconfdir}/iwpmd.conf
+%{_udevrulesdir}/90-iwpmd.rules
+%{_mandir}/man8/iwpmd.*
+%{_mandir}/man5/iwpmd.*
+
+%files -n libibumad
+%{_libdir}/libibumad*.so.*
+
+%files -n librdmacm
+%{_libdir}/librdmacm*.so.*
+%dir %{_libdir}/rsocket
+%{_libdir}/rsocket/*.so*
+%doc %{_docdir}/%{name}/librdmacm.md
+%{_mandir}/man7/rsocket.*
+
+%files -n librdmacm-utils
+%{_bindir}/cmtime
+%{_bindir}/mckey
+%{_bindir}/rcopy
+%{_bindir}/rdma_client
+%{_bindir}/rdma_server
+%{_bindir}/rdma_xclient
+%{_bindir}/rdma_xserver
+%{_bindir}/riostream
+%{_bindir}/rping
+%{_bindir}/rstream
+%{_bindir}/ucmatose
+%{_bindir}/udaddy
+%{_bindir}/udpong
+%{_mandir}/man1/cmtime.*
+%{_mandir}/man1/mckey.*
+%{_mandir}/man1/rcopy.*
+%{_mandir}/man1/rdma_client.*
+%{_mandir}/man1/rdma_server.*
+%{_mandir}/man1/rdma_xclient.*
+%{_mandir}/man1/rdma_xserver.*
+%{_mandir}/man1/riostream.*
+%{_mandir}/man1/rping.*
+%{_mandir}/man1/rstream.*
+%{_mandir}/man1/ucmatose.*
+%{_mandir}/man1/udaddy.*
+%{_mandir}/man1/udpong.*
+
+%files -n srp_daemon
+%config(noreplace) %{_sysconfdir}/srp_daemon.conf
+%config(noreplace) %{_sysconfdir}/rdma/modules/srp_daemon.conf
+%{_libexecdir}/srp_daemon/start_on_all_ports
+%{_unitdir}/srp_daemon.service
+%{_unitdir}/srp_daemon_port@.service
+%{_sbindir}/ibsrpdm
+%{_sbindir}/srp_daemon
+%{_sbindir}/run_srp_daemon
+%{_udevrulesdir}/60-srp_daemon.rules
+%{_mandir}/man5/srp_daemon.service.5*
+%{_mandir}/man5/srp_daemon_port@.service.5*
+%{_mandir}/man8/ibsrpdm.8*
+%{_mandir}/man8/srp_daemon.8*
+%doc %{_docdir}/%{name}/ibsrpdm.md
+
+%if %{with_pyverbs}
+%files -n python3-pyverbs
+%{python3_sitearch}/pyverbs
+%{_docdir}/%{name}/tests/*.py
+%endif
+
+%changelog
+* Tue Jan 07 2025 Elaheh Dehghani - 55.0-1
+- Upgrade to version 55.0
+- Add rdma-core to PMC extended repo
+
+* Mon Jan 22 2024 Kanika Nema - 49.1-1
+- Upgrade to version 49.1 for AzL 3.0 release
+- Disable pyverbs as it cannot build with Cython > 3, the default for AzL 3.0
+- Use released sources that include the prebuilt doc files as AzL does
+ not include pandoc
+- Package the additional files present in v49.1
+
+* Wed Sep 20 2023 Jon Slobodzian - 39.0-2
+- Recompile with stack-protection fixed gcc version (CVE-2023-4039)
+
+* Mon Feb 14 2022 Neha Agarwal - 39.0-1
+- Update to version 39.0.
+- Modified patch to apply to new version.
+
+* Wed Oct 20 2021 Thomas Crain - 31.0-3
+- Use python3-docutils dependency instead of python-docutils
+
+* Fri Aug 21 2020 Thomas Crain - 31.0-2
+- Initial CBL-Mariner import from Fedora 33 (license: MIT). License verified.
+
+* Wed Aug 19 2020 Honggang Li - 31.0-1
+- Rebase to upstream release v31.0
+
+* Thu Jul 30 2020 Honggang Li - 30.0-6
+- Update cmake options
+
+* Wed Jul 29 2020 Fedora Release Engineering - 30.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Thu Jul 02 2020 Stephen Gallagher - 30.0-4
+- Don't throw script errors if udev is not installed
+
+* Wed Jul 1 2020 Jeff Law - 30.0-3
+- Disable LTO
+
+* Thu Jun 25 2020 Zbigniew Jędrzejewski-Szmek - 30.0-2
+- Drop dependencies on systemd (#1837812)
+
+* Mon Jun 15 2020 Honggang Li - 30.0-1
+- Rebase to upstream release v30.0
+
+* Tue May 26 2020 Miro Hrončok - 29.0-2
+- Rebuilt for Python 3.9
+
+* Mon Apr 13 2020 Honggang Li - 29.0-1
+- Rebase to upstream release v29.0
+
+* Wed Feb 12 2020 Honggang Li - 28.0-1
+- Rebase to upstream release v28.0
+
+* Thu Jan 30 2020 Fedora Release Engineering - 27.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sun Jan 19 2020 Orion Poplawski - 27.0-3
+- Fix typo in requires
+
+* Sun Jan 19 2020 Honggang Li - 27.0-2
+- Backport some spec improvement from upstream
+
+* Thu Dec 12 2019 Honggang Li - 27.0-1
+- Rebase to upstream release v27.0
+
+* Thu Nov 28 2019 Honggang Li - 26.1-1
+- Rebase to upstream release v26.1
+
+* Fri Jul 26 2019 Fedora Release Engineering - 20.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sat Feb 02 2019 Fedora Release Engineering - 20.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Jan 23 2019 Björn Esser - 20.1-2
+- Append curdir to CMake invokation. (#1668512)
+
+* Fri Oct 19 2018 Jarod Wilson - 20.1-1
+- Long overdue update to upstream v20.1 stable release
+
+* Sat Jul 14 2018 Fedora Release Engineering - 16.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Sun Mar 18 2018 Iryna Shcherbina - 16.2-4
+- Update Python 2 dependency declarations to new packaging standards
+ (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Tue Feb 06 2018 Orion Poplawski - 16.2-3
+- Build for s390/x
+
+* Tue Feb 06 2018 Patrick Uiterwijk - 16.2-2
+- Fix escaped macro
+
+* Sun Feb 04 2018 Doug Ledford - 16.2-1
+- Update to rdma-core-16.2
+- Drop the old sysv initscript files
+
+* Wed Aug 09 2017 Jarod Wilson - 14-4
+- Make use of systemd_requires, own srp_daemon dir
+
+* Tue Aug 01 2017 Jarod Wilson - 14-3
+- Revert work-around for ppc64le library issues
+- Add Obsoletes/Provides for libusnic_verbs
+
+* Thu Jul 27 2017 Fedora Release Engineering - 14-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Tue Jul 25 2017 Jarod Wilson - 14-1
+- Update to upstream v14 release
+- Sync packaging updates from RHEL and upstream
+
+* Sat Feb 11 2017 Fedora Release Engineering - 12-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Jan 27 2017 Jarod Wilson - 12-1
+- Update to upstream final v12 release
+
+* Wed Jan 25 2017 Jarod Wilson - 12-0.1.rc3.1
+- Initial import to Fedora package database via post-v12-rc3 git snapshot
diff --git a/SPECS-EXTENDED/ucx/ucx.signatures.json b/SPECS-EXTENDED/ucx/ucx.signatures.json
new file mode 100644
index 00000000000..bc42282b5a9
--- /dev/null
+++ b/SPECS-EXTENDED/ucx/ucx.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "ucx-1.18.0.tar.gz": "C5DDBF6ADE53415CC2402FA540281C92958B67D3B1DD2B4D721D4019616B88D2"
+ }
+}
diff --git a/SPECS-EXTENDED/ucx/ucx.spec b/SPECS-EXTENDED/ucx/ucx.spec
new file mode 100644
index 00000000000..934e5973689
--- /dev/null
+++ b/SPECS-EXTENDED/ucx/ucx.spec
@@ -0,0 +1,431 @@
+%{!?configure_options: %global configure_options %{nil}}
+%bcond_without cma
+%bcond_with cuda
+%bcond_with gdrcopy
+%bcond_without ib
+%bcond_without rdmacm
+%bcond_with rocm
+%bcond_with ugni
+%bcond_with xpmem
+%bcond_with vfs
+%bcond_with mad
+%bcond_without mlx5
+
+Summary: UCX is a communication library implementing high-performance messaging
+Name: ucx
+Version: 1.18.0
+Release: 1%{?dist}
+License: BSD
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+Group: System Environment/Security
+URL: http://www.openucx.org
+Source0: https://github.com/openucx/%{name}/releases/download/v%{version}-rc3/ucx-%{version}.tar.gz
+
+
+# UCX currently supports only the following architectures
+ExclusiveArch: aarch64
+ExclusiveArch: ppc64le
+ExclusiveArch: x86_64
+
+%if %{defined extra_deps}
+Requires: %{?extra_deps}
+%endif
+
+BuildRequires: automake
+BuildRequires: autoconf
+BuildRequires: libtool
+BuildRequires: gcc-c++
+
+%if %{with cma}
+BuildRequires: glibc-devel >= 2.15
+%endif
+%if %{with gdrcopy}
+BuildRequires: gdrcopy
+%endif
+%if %{with ib}
+BuildRequires: libibverbs-devel
+%endif
+%if %{with mlx5}
+BuildRequires: rdma-core-devel
+%endif
+%if %{with rdmacm}
+BuildRequires: librdmacm-devel
+%endif
+%if %{with rocm}
+BuildRequires: hsa-rocr-dev
+%endif
+%if %{with xpmem}
+BuildRequires: pkgconfig(cray-xpmem)
+%endif
+%if %{with vfs}
+BuildRequires: fuse3-devel
+%endif
+%if "%{debug}" == "1"
+BuildRequires: valgrind-devel
+%endif
+%if %{with mad}
+BuildRequires: libibmad-devel libibumad-devel
+%endif
+
+%description
+UCX is an optimized communication framework for high-performance distributed
+applications. UCX utilizes high-speed networks, such as RDMA (InfiniBand, RoCE,
+etc), Cray Gemini or Aries, for inter-node communication. If no such network is
+available, TCP is used instead. UCX supports efficient transfer of data in
+either main memory (RAM) or GPU memory (through CUDA and ROCm libraries). In
+addition, UCX provides efficient intra-node communication, by leveraging the
+following shared memory mechanisms: posix, sysv, cma, knem, and xpmem.
+The acronym UCX stands for "Unified Communication X".
+
+This package was built from '' branch, commit f086c1d.
+
+%package devel
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: Header files required for developing with UCX
+
+%description devel
+Provides header files and examples for developing with UCX.
+
+%prep
+%setup -q
+
+%build
+%define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}}
+%define _enable_arg() %{expand:%%{?with_%{1}:--enable-%{2}}%%{!?with_%{1}:--disable-%{2}}}
+%configure --disable-optimizations \
+ %{!?debug:--disable-logging} \
+ %{!?debug:--disable-debug} \
+ %{!?debug:--disable-assertions} \
+ %{!?debug:--disable-params-check} \
+ %{?debug:--with-valgrind} \
+ %{?debug:--enable-profiling} \
+ %{?debug:--enable-frame-pointer} \
+ %{?debug:--enable-stats} \
+ %{?debug:--enable-debug-data} \
+ %{?debug:--enable-mt} \
+ --without-go \
+ --without-java \
+ %_enable_arg cma cma \
+ %_with_arg cuda cuda \
+ %_with_arg gdrcopy gdrcopy \
+ %_with_arg ib verbs \
+ %_with_arg mlx5 mlx5 \
+ %_with_arg rdmacm rdmacm \
+ %_with_arg rocm rocm \
+ %_with_arg xpmem xpmem \
+ %_with_arg vfs fuse3 \
+ %_with_arg ugni ugni \
+ %_with_arg mad mad \
+ %{?configure_options}
+make %{?_smp_mflags} V=1
+
+%install
+make DESTDIR=%{buildroot} install
+rm -f %{buildroot}%{_libdir}/*.la
+rm -f %{buildroot}%{_libdir}/libucs_signal.a
+rm -f %{buildroot}%{_libdir}/ucx/*.la
+rm -f %{buildroot}%{_libdir}/ucx/lib*.so
+
+%files
+%{_libdir}/lib*.so.*
+%{_bindir}/ucx_info
+%{_bindir}/ucx_perftest
+%{_bindir}/ucx_perftest_daemon
+%{_bindir}/ucx_read_profile
+%if "%{debug}" == "1"
+%{_bindir}/ucs_stats_parser
+%endif
+%{_bindir}/io_demo
+%{_datadir}/ucx
+%exclude %{_datadir}/ucx/examples
+%doc README AUTHORS NEWS
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%{_sysconfdir}/ucx/ucx.conf
+
+%files devel
+%{_includedir}/uc*
+%{_libdir}/lib*.so
+%{_libdir}/pkgconfig/ucx.pc
+%{_libdir}/pkgconfig/ucx-uct.pc
+%{_libdir}/pkgconfig/ucx-ucs.pc
+%{_libdir}/cmake/ucx/*.cmake
+%{_datadir}/ucx/examples
+
+%post
+/sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%package static
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: Static libraries required for developing with UCX
+Group: Development/Libraries
+
+%description static
+Provides static libraries required for developing with UCX.
+
+%files static
+%{_libdir}/lib*.a
+%{_libdir}/ucx/lib*.a
+%if %{with cma}
+%{_libdir}/pkgconfig/ucx-cma.pc
+%endif
+%if %{with xpmem}
+%{_libdir}/pkgconfig/ucx-xpmem.pc
+%endif
+%if %{with ib}
+%{_libdir}/pkgconfig/ucx-ib.pc
+%endif
+%if %{with mlx5}
+%{_libdir}/pkgconfig/ucx-ib-mlx5.pc
+%endif
+%if %{with rdmacm}
+%{_libdir}/pkgconfig/ucx-rdmacm.pc
+%endif
+%if %{with vfs}
+%{_libdir}/pkgconfig/ucx-fuse.pc
+%endif
+
+%if %{with cma}
+%package cma
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX CMA support
+
+%description cma
+Provides CMA (Linux cross-memory-attach) transport for UCX. It utilizes the
+system calls process_vm_readv/writev() for one-shot memory copy from another
+process.
+
+%files cma
+%{_libdir}/ucx/libuct_cma.so.*
+%endif
+
+%if %{with cuda}
+%package cuda
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX CUDA support
+
+%description cuda
+Provide CUDA (NVIDIA GPU) support for UCX. Enables passing GPU memory pointers
+to UCX communication routines, and transports taking advantage of GPU-Direct
+technology for direct data transfer between GPU and RDMA devices.
+
+%files cuda
+%{_libdir}/ucx/libucx_perftest_cuda.so.*
+%{_libdir}/ucx/libucm_cuda.so.*
+%{_libdir}/ucx/libuct_cuda.so.*
+%endif
+
+%if %{with gdrcopy}
+%package gdrcopy
+Requires: %{name}-cuda%{?_isa} = %{version}-%{release}
+Summary: UCX GDRCopy support
+
+%description gdrcopy
+Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy
+library, built on top of the NVIDIA GPUDirect RDMA technology.
+
+%files gdrcopy
+%{_libdir}/ucx/libuct_cuda_gdrcopy.so.*
+%endif
+
+%if %{with ib}
+%package ib
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX RDMA support
+
+%description ib
+Provides support for IBTA-compliant transports for UCX. This includes RoCE,
+InfiniBand, OmniPath, and any other transport supported by IB Verbs API.
+Typically these transports provide RDMA support, which enables a fast and
+hardware-offloaded data transfer.
+
+%files ib
+%{_libdir}/ucx/libuct_ib.so.*
+%endif
+
+%if %{with mlx5}
+%package ib-mlx5
+Requires: %{name} = %{version}-%{release}
+Summary: UCX IB MLX5 RDMA provider support
+Group: System Environment/Libraries
+
+%description ib-mlx5
+Provides support for DevX, Direct Verbs and DC transports for Infiniband
+devices.
+
+%files ib-mlx5
+%{_libdir}/ucx/libuct_ib_mlx5.so.*
+%endif
+
+%if %{with mad}
+%package mad
+Requires: %{name} = %{version}-%{release}
+Summary: UCX Infiniband MAD support
+Group: System Environment/Libraries
+
+%description mad
+Provide Infiniband MAD support for UCX. Enables running perftest using
+Infiniband datagrams for out-of-band communications.
+
+%files mad
+%{_libdir}/ucx/libucx_perftest_mad.so.*
+%endif
+
+%if %{with rdmacm}
+%package rdmacm
+Requires: %{name}-ib%{?_isa} = %{version}-%{release}
+Summary: UCX RDMA connection manager support
+
+%description rdmacm
+Provides RDMA connection-manager support to UCX, which enables client/server
+based connection establishment for RDMA-capable transports.
+
+%files rdmacm
+%{_libdir}/ucx/libuct_rdmacm.so.*
+%endif
+
+%if %{with rocm}
+%package rocm
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX ROCm GPU support
+
+%description rocm
+Provides Radeon Open Compute (ROCm) Runtime support for UCX.
+
+%files rocm
+%{_libdir}/ucx/libuct_rocm.so.*
+%{_libdir}/ucx/libucm_rocm.so.*
+
+%if %{with gdrcopy}
+%package rocmgdr
+Requires: %{name}-rocm%{?_isa} = %{version}-%{release}
+Summary: UCX GDRCopy support for ROCM
+
+%description rocmgdr
+Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU memory copy
+library, built on top of the NVIDIA GPUDirect RDMA technology.
+
+%files rocmgdr
+%{_libdir}/ucx/libuct_rocm_gdr.so.*
+%endif
+%endif
+
+%if %{with ugni}
+%package ugni
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX Gemini/Aries transport support.
+
+%description ugni
+Provides Gemini/Aries transport for UCX.
+
+%files ugni
+%{_libdir}/ucx/libuct_ugni.so.*
+%endif
+
+%if %{with xpmem}
+%package xpmem
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX XPMEM transport support.
+
+%description xpmem
+Provides XPMEM transport for UCX. XPMEM is a Linux kernel module that enables a
+process to map the memory of another process into its virtual address space.
+
+%files xpmem
+%{_libdir}/ucx/libuct_xpmem.so.*
+%endif
+
+%if %{with vfs}
+%package vfs
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Summary: UCX Virtual Filesystem support.
+Group: System Environment/Libraries
+
+%description vfs
+Provides a virtual filesystem over FUSE which allows real-time monitoring of UCX
+library internals, protocol objects, transports status, and more.
+
+%files vfs
+%{_libdir}/ucx/libucs_fuse.so.*
+%{_bindir}/ucx_vfs
+%endif
+
+%changelog
+* Wed Jan 08 2025 Elaheh Dehghani - 1.18.0-1
+- Bump version to 1.18.0
+
+* Fri Jan 26 2024 Juan Camposeco - 1.15.0-5
+- Update version to 1.15.0 and remove knem dependency
+
+* Wed Sep 20 2023 Jon Slobodzian - 1.11.0-4
+- Recompile with stack-protection fixed gcc version (CVE-2023-4039)
+
+* Tue Jul 26 2022 Rachel Menge - 1.11.0-3
+- Move from SPECS-EXTENDED to SPECS
+- License verified
+
+* Thu Aug 26 2021 Thomas Crain - 1.11.0-2
+- Initial CBL-Mariner import from Fedora 35 (license: MIT).
+- Remove option to build with libibcm
+
+* Mon Aug 09 2021 Yurii Shestakov 1.11.0-1
+- Bump version to 1.11.0
+
+* Fri Jul 23 2021 Fedora Release Engineering - 1.10.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Thu May 27 2021 Yurii Shestakov 1.10.1-2
+- Bump version to 1.10.1
+
+* Mon Apr 26 2021 Yurii Shestakov 1.10.1-rc1
+- Bump version to 1.10.1-rc1
+
+* Wed Jan 27 2021 Fedora Release Engineering - 1.9.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Nov 11 2020 Yossi Itigin 1.10.0-1
+- Make the RPM relocatable
+
+* Mon Nov 2 2020 Orion Poplawski - 1.9.0-1
+- Update to 1.9.0
+
+* Fri Oct 30 2020 Jeff Law 1.8.1-5
+- Adjust workaround for gcc-11 diagnostic to narrow its scope
+
+* Thu Oct 29 2020 Jeff Law 1.8.1-4
+- Disable -Warray-bounds diagnostics for gcc-11
+
+* Wed Jul 29 2020 Fedora Release Engineering - 1.8.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 20 2020 Jeff Law 1.8.1-2
+- Fix broken configure files compromised by LTO
+
+* Wed Jul 1 2020 Yossi Itigin 1.8.1-1
+- Bump version to 1.8.1
+* Sun Sep 22 2019 Yossi Itigin 1.8.0-1
+- Bump version to 1.8.0
+* Sun Mar 24 2019 Yossi Itigin 1.7.0-1
+- Bump version to 1.7.0
+* Thu Jan 24 2019 Yossi Itigin 1.6.0-1
+- Add cma, knem, and xpmem sub-packages
+* Tue Nov 20 2018 Yossi Itigin 1.6.0-1
+- Bump version to 1.6.0
+* Tue Nov 6 2018 Andrey Maslennikov 1.5.0-1
+- Bump version to 1.5.0
+- See NEWS for details
+* Tue Oct 30 2018 Andrey Maslennikov 1.4.0-1
+- See NEWS for details
+* Mon Aug 20 2018 Andrey Maslennikov 1.3.1-1
+- See NEWS for details
+* Thu Aug 16 2018 Andrey Maslennikov 1.3.0-1
+- Explicitly set gcc-c++ as requirements
+* Wed Mar 7 2018 Andrey Maslennikov 1.3.0-1
+- See NEWS for details
+* Mon Aug 21 2017 Andrey Maslennikov 1.2.1-1
+- Spec file now complies with Fedora guidelines
+* Mon Jul 3 2017 Andrey Maslennikov 1.2.0-1
+- Fedora package created
diff --git a/SPECS-EXTENDED/xdg-utils/0001-open-for-post-1.1.3-development.patch b/SPECS-EXTENDED/xdg-utils/0001-open-for-post-1.1.3-development.patch
deleted file mode 100644
index 0472e213e10..00000000000
--- a/SPECS-EXTENDED/xdg-utils/0001-open-for-post-1.1.3-development.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0b73fb82ccf178d496bd8da5b8c0a6906b14d030 Mon Sep 17 00:00:00 2001
-From: Rex Dieter
-Date: Sun, 13 May 2018 08:40:55 -0500
-Subject: [PATCH 1/2] open for post 1.1.3 development
-
----
- ChangeLog | 3 +++
- scripts/xdg-utils-common.in | 2 +-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index c9eaeea..6864f88 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,6 @@
-+=== xdg-utils 1.1.4 ===
-+
-+
- === xdg-utils 1.1.3 ===
-
- 2018-05-10
-diff --git a/scripts/xdg-utils-common.in b/scripts/xdg-utils-common.in
-index 9cfc8a3..a8abed8 100644
---- a/scripts/xdg-utils-common.in
-+++ b/scripts/xdg-utils-common.in
-@@ -245,7 +245,7 @@ check_common_commands()
- ;;
-
- --version)
-- echo "@NAME@ 1.1.3"
-+ echo "@NAME@ 1.1.3+"
- exit_success
- ;;
- esac
---
-2.17.0
-
diff --git a/SPECS-EXTENDED/xdg-utils/0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch b/SPECS-EXTENDED/xdg-utils/0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch
deleted file mode 100644
index f5ed02e371d..00000000000
--- a/SPECS-EXTENDED/xdg-utils/0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 31525d3855f876ddf2e29091b2e8d376f923e09e Mon Sep 17 00:00:00 2001
-From: Rex Dieter
-Date: Thu, 24 May 2018 14:40:53 -0500
-Subject: [PATCH 2/2] xdg-open: better pcmanfm check (BR106636,BR106161)
-
----
- ChangeLog | 2 ++
- scripts/xdg-open.in | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 6864f88..3eed7c4 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,5 +1,7 @@
- === xdg-utils 1.1.4 ===
-
-+2018-05-24
-+ * xdg-open: better pcmanfm check (BR106636,BR106161)
-
- === xdg-utils 1.1.3 ===
-
-diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
-index 630e63e..bf9da4c 100644
---- a/scripts/xdg-open.in
-+++ b/scripts/xdg-open.in
-@@ -451,7 +451,7 @@ open_lxde()
- {
-
- # pcmanfm only knows how to handle file:// urls and filepaths, it seems.
-- if pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"; then
-+ if pcmanfm --help >/dev/null 2>&1 && is_file_url_or_path "$1"; then
- local file="$(file_url_to_path "$1")"
-
- # handle relative paths
---
-2.17.0
-
diff --git a/SPECS-EXTENDED/xdg-utils/xdg-utils-git_checkout.sh b/SPECS-EXTENDED/xdg-utils/xdg-utils-git_checkout.sh
deleted file mode 100755
index b00452a0451..00000000000
--- a/SPECS-EXTENDED/xdg-utils/xdg-utils-git_checkout.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-
-MODULE=xdg-utils
-VERSION=1.1.0
-DATE=$(date +%Y%m%d)git
-
-set -x
-
-rm -rf $MODULE
-
-git clone git://anongit.freedesktop.org/git/xdg/xdg-utils $MODULE/
-pushd $MODULE
-git archive master --format tar --prefix=${MODULE}-${VERSION}/ | gzip -9 > ../${MODULE}-${VERSION}-${DATE}.tar.gz
-popd
-
-rm -rf $MODULE
diff --git a/SPECS-EXTENDED/xdg-utils/xdg-utils.signatures.json b/SPECS-EXTENDED/xdg-utils/xdg-utils.signatures.json
index e670e820da7..ded50f22ba1 100644
--- a/SPECS-EXTENDED/xdg-utils/xdg-utils.signatures.json
+++ b/SPECS-EXTENDED/xdg-utils/xdg-utils.signatures.json
@@ -1,6 +1,5 @@
{
"Signatures": {
- "xdg-utils-1.1.3.tar.gz": "d798b08af8a8e2063ddde6c9fa3398ca81484f27dec642c5627ffcaa0d4051d9",
- "xdg-utils-git_checkout.sh": "90195ebcfd437270360156f3dc633dfeed04e2dbc2199ed1a6c2deffa8603dbb"
+ "xdg-utils-v1.2.1.tar.gz": "f6b648c064464c2636884c05746e80428110a576f8daacf46ef2e554dcfdae75"
}
-}
+}
\ No newline at end of file
diff --git a/SPECS-EXTENDED/xdg-utils/xdg-utils.spec b/SPECS-EXTENDED/xdg-utils/xdg-utils.spec
index 2c6220e7be8..2af1238a6c9 100644
--- a/SPECS-EXTENDED/xdg-utils/xdg-utils.spec
+++ b/SPECS-EXTENDED/xdg-utils/xdg-utils.spec
@@ -1,30 +1,24 @@
Vendor: Microsoft Corporation
Distribution: Azure Linux
-Summary: Basic desktop integration functions
+Summary: Basic desktop integration functions
Name: xdg-utils
-Version: 1.1.3
-Release: 7%{?dist}
+Version: 1.2.1
+Release: 3%{?dist}
-URL: http://portland.freedesktop.org/
+URL: https://www.freedesktop.org/wiki/Software/xdg-utils/
%if 0%{?snap:1}
Source0: xdg-utils-%{version}-%{snap}.tar.gz
%else
-# at least until freedesktop folks move over to release dir
-Source0: https://people.freedesktop.org/~rdieter/xdg-utils/xdg-utils-%{version}.tar.gz
-#Source0: http://portland.freedesktop.org/download/xdg-utils-%{version}%{?prerelease:-%{prerelease}}.tar.gz
+Source0: https://gitlab.freedesktop.org/xdg/%{name}/-/archive/v%{version}/%{name}-v%{version}.tar.gz
%endif
-Source1: xdg-utils-git_checkout.sh
-License: MIT
-
-## upstream patches (treat as sources in lookaside cache)
-Patch1: 0001-open-for-post-1.1.3-development.patch
-Patch2: 0002-xdg-open-better-pcmanfm-check-BR106636-BR106161.patch
+License: MIT
# make sure BuildArch comes *after* patches, to ensure %%autosetup works right
# http://bugzilla.redhat.com/1084309
BuildArch: noarch
+BuildRequires: make
BuildRequires: gawk
BuildRequires: xmlto lynx
@@ -35,7 +29,7 @@ Requires: which
%description
The %{name} package is a set of simple scripts that provide basic
desktop integration functions for any Free Desktop, such as Linux.
-They are intended to provide a set of defacto standards.
+They are intended to provide a set of defacto standards.
This means that:
* Third party software developers can rely on these xdg-utils
for all of their simple integration needs.
@@ -56,25 +50,25 @@ The following scripts are provided at this time:
%prep
-%autosetup -n %{name}-%{version}%{?pre:-%{pre}} -p1
+%autosetup -n %{name}-v%{version} -p1
%build
%configure
%if 0%{?snap:1}
-make scripts-clean -C scripts
+make scripts-clean -C scripts
make man scripts %{?_smp_mflags} -C scripts
%endif
-make %{?_smp_mflags}
-
+%make_build
%install
-make install DESTDIR=%{buildroot}
+%make_install
%files
-%doc ChangeLog LICENSE README TODO
+%doc ChangeLog README.md TODO
+%license LICENSE
%{_bindir}/xdg-desktop-icon
%{_bindir}/xdg-desktop-menu
%{_bindir}/xdg-email
@@ -94,8 +88,57 @@ make install DESTDIR=%{buildroot}
%changelog
-* Fri Oct 15 2021 Pawel Winogrodzki - 1.1.3-7
-- Initial CBL-Mariner import from Fedora 32 (license: MIT).
+* Thu Dec 26 2024 Aninda Pradhan - 1.2.1-3
+- Initial Azure Linux import from Fedora 41 (license: MIT)
+- License Verified
+
+* Sat Jul 20 2024 Fedora Release Engineering - 1.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Sun Feb 11 2024 Zbigniew Jedrzejewski-Szmek - 1.2.1-1
+- Update to 1.2.1 (rhbz#2241305)
+
+* Tue Jan 30 2024 Steve Cossette - 1.2.0-1
+- Release to 1.2.0 final
+
+* Sat Jan 27 2024 Fedora Release Engineering - 1.2.0~git20231511.21fb316-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sat Nov 18 2023 Alessandro Astone - 1.2.0~git20231511.21fb316-1
+- Update to 1.2.0~ git snapshot
+
+* Tue Jul 25 2023 Rafael Guterres Jeffman - 1.1.3-15
+- Use "grep -E" instead of the obsoleted "egrep"
+ Resolves: BZ#2140197
+- mark LICENSE as %%license
+- Spec cleanup
+- Small patches, as a rule, are in git dist, to be more easy to read.
+- Migrated to SPDX license (noop)
+
+* Sat Jul 22 2023 Fedora Release Engineering - 1.1.3-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Sat Jan 21 2023 Fedora Release Engineering - 1.1.3-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Sat Jul 23 2022 Fedora Release Engineering - 1.1.3-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Jan 22 2022 Fedora Release Engineering - 1.1.3-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering - 1.1.3-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Fri Apr 23 2021 Rex Dieter - 1.1.3-9
+- pull in upstream fixes
+- xdg-open run indefinetly (#1881372)
+
+* Wed Jan 27 2021 Fedora Release Engineering - 1.1.3-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering - 1.1.3-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering - 1.1.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
@@ -392,5 +435,4 @@ make install DESTDIR=%{buildroot}
- Requires: desktop-file-utils
* Mon Jul 24 2006 Rex Dieter 1.0-0.1.beta1
-- 1.0beta1
-
+- 1.0beta1
\ No newline at end of file
diff --git a/SPECS-SIGNED/fwctl-signed/fwctl-signed.spec b/SPECS-SIGNED/fwctl-signed/fwctl-signed.spec
new file mode 100644
index 00000000000..9d3f6d9a7a1
--- /dev/null
+++ b/SPECS-SIGNED/fwctl-signed/fwctl-signed.spec
@@ -0,0 +1,105 @@
+#
+# Copyright (c) 2024 Nvidia Inc. All rights reserved.
+#
+# This software is available to you under a choice of one of two
+# licenses. You may choose to be licensed under the terms of the GNU
+# General Public License (GPL) Version 2, available from the file
+# COPYING in the main directory of this source tree, or the
+# OpenIB.org BSD license below:
+#
+# Redistribution and use in source and binary forms, with or
+# without modification, are permitted provided that the following
+# conditions are met:
+#
+# - Redistributions of source code must retain the above
+# copyright notice, this list of conditions and the following
+# disclaimer.
+#
+# - Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials
+# provided with the distribution.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%{!?_name: %define _name fwctl}
+
+Summary: %{_name} Driver
+Name: %{_name}
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://nvidia.com
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: fwctl.ko
+Source2: mlx5_fwctl.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+fwctl signed kernel modules
+
+%prep
+
+%build
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/fwctl/fwctl.ko
+cp -r %{SOURCE2} %{buildroot}/lib/modules/%{KVERSION}/updates/fwctl/mlx5/mlx5_fwctl.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%files
+%defattr(-,root,root,-)
+%license %{_datadir}/licenses/%{name}/copyright
+/lib/modules/%{KVERSION}/updates/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 24.10.0.6.7.1
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/iser-signed/iser-signed.spec b/SPECS-SIGNED/iser-signed/iser-signed.spec
new file mode 100644
index 00000000000..3879e6d8aa1
--- /dev/null
+++ b/SPECS-SIGNED/iser-signed/iser-signed.spec
@@ -0,0 +1,100 @@
+#
+# Copyright (c) 2014 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%{!?_name: %define _name iser}
+
+Summary: %{_name} Driver
+Name: %{_name}
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: ib_iser.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+iser signed kernel modules
+
+%prep
+
+%build
+
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/iser/ib_iser.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%files
+%defattr(-,root,root,-)
+%license %{_datadir}/licenses/%{name}/copyright
+/lib/modules/%{KVERSION}/updates/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 24.10.0.6.7.1
+- Creating signed spec
+- License verified
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
diff --git a/SPECS-SIGNED/isert-signed/isert-signed.spec b/SPECS-SIGNED/isert-signed/isert-signed.spec
new file mode 100644
index 00000000000..a52b4481a6c
--- /dev/null
+++ b/SPECS-SIGNED/isert-signed/isert-signed.spec
@@ -0,0 +1,100 @@
+#
+# Copyright (c) 2014 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%{!?_name: %define _name isert}
+
+Summary: %{_name} Driver
+Name: %{_name}
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: ib_isert.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+isert signed kernel modules
+
+%prep
+
+%build
+
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/isert/ib_isert.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%files
+%defattr(-,root,root,-)
+%license %{_datadir}/licenses/%{name}/copyright
+/lib/modules/%{KVERSION}/updates/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 24.10.0.6.7.1
+- Creating signed spec
+- License verified
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
diff --git a/SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec b/SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
index 993e94dfb6f..1ee2e809d70 100644
--- a/SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
+++ b/SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
@@ -6,8 +6,8 @@
%define uname_r %{version}-%{release}
Summary: Signed Linux Kernel for %{buildarch} systems
Name: kernel-64k-signed-%{buildarch}
-Version: 6.6.57.1
-Release: 7%{?dist}
+Version: 6.6.64.2
+Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -105,6 +105,15 @@ echo "initrd of kernel %{uname_r} removed" >&2
%exclude /module_info.ld
%changelog
+* Fri Jan 10 2025 Rachel Menge - 6.6.64.2-2
+- Bump release to match kernel-64k
+
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
+* Wed Jan 08 2025 Tobias Brick - 6.6.57.1-8
+- Bump release to match kernel
+
* Sun Dec 22 2024 Ankita Pareek - 6.6.57.1-7
- Bump release to match kernel
diff --git a/SPECS-SIGNED/kernel-signed/kernel-signed.spec b/SPECS-SIGNED/kernel-signed/kernel-signed.spec
index 51bf71bb822..a2d667bd3da 100644
--- a/SPECS-SIGNED/kernel-signed/kernel-signed.spec
+++ b/SPECS-SIGNED/kernel-signed/kernel-signed.spec
@@ -9,8 +9,8 @@
%define uname_r %{version}-%{release}
Summary: Signed Linux Kernel for %{buildarch} systems
Name: kernel-signed-%{buildarch}
-Version: 6.6.57.1
-Release: 7%{?dist}
+Version: 6.6.64.2
+Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -145,6 +145,15 @@ echo "initrd of kernel %{uname_r} removed" >&2
%exclude /module_info.ld
%changelog
+* Fri Jan 10 2025 Rachel Menge - 6.6.64.2-2
+- Bump release to match kernel
+
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
+* Wed Jan 08 2025 Tobias Brick - 6.6.57.1-8
+- Bump release to match kernel
+
* Sun Dec 22 2024 Ankita Pareek - 6.6.57.1-7
- Bump release to match kernel
diff --git a/SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec b/SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
index bcf7c0c4cb1..9437c910796 100644
--- a/SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
+++ b/SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
@@ -5,8 +5,8 @@
%define kernelver %{version}-%{release}
Summary: Signed Unified Kernel Image for %{buildarch} systems
Name: kernel-uki-signed-%{buildarch}
-Version: 6.6.57.1
-Release: 7%{?dist}
+Version: 6.6.64.2
+Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -68,6 +68,15 @@ popd
/boot/efi/EFI/Linux/vmlinuz-uki-%{kernelver}.efi
%changelog
+* Fri Jan 10 2025 Rachel Menge - 6.6.64.2-2
+- Bump release to match kernel
+
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
+* Wed Jan 08 2025 Tobias Brick - 6.6.57.1-8
+- Bump release to match kernel
+
* Sun Dec 22 2024 Ankita Pareek - 6.6.57.1-7
- Bump release to match kernel
diff --git a/SPECS-SIGNED/knem-signed/knem-modules-signed.spec b/SPECS-SIGNED/knem-signed/knem-modules-signed.spec
new file mode 100644
index 00000000000..c4df6592bc0
--- /dev/null
+++ b/SPECS-SIGNED/knem-signed/knem-modules-signed.spec
@@ -0,0 +1,105 @@
+# Copyright © INRIA 2009-2010
+# Brice Goglin
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+# set package name
+%{!?_name: %global _name knem}
+%global non_kmp_pname %{_name}-modules
+
+# knem-modules is a sub-package in SPECS/knem. We are making that into a
+# main package for signing.
+
+Summary: KNEM: High-Performance Intra-Node MPI Communication
+Name: %{_name}-modules
+Version: 1.1.4.90mlnx3
+Release: 1%{?dist}
+Provides: knem-mlnx = %{version}-%{release}
+Obsoletes: knem-mlnx < %{version}-%{release}
+License: BSD and GPLv2
+Group: System Environment/Libraries
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: knem.ko
+BuildRoot: /var/tmp/%{name}-%{version}-build
+
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+KNEM is a Linux kernel module enabling high-performance intra-node MPI communication for large messages. KNEM offers support for asynchronous and vectorial data transfers as well as offloading memory copies on to Intel I/OAT hardware.
+See http://knem.gitlabpages.inria.fr for details.
+
+%global debug_package %{nil}
+
+%prep
+
+%build
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/extra/knem/knem.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+depmod %{KVERSION} -a
+
+%postun
+if [ $1 = 0 ]; then # 1 : Erase, not upgrade
+ depmod %{KVERSION} -a
+fi
+
+%files
+%{_datadir}/licenses
+/lib/modules/
+%if %{IS_RHEL_VENDOR}
+%if ! 0%{?fedora}
+%config(noreplace) %{_sysconfdir}/depmod.d/%{_name}.conf
+%endif
+%endif
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 1.1.4.90mlnx3
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/mft_kernel-signed/mft_kernel-signed.spec b/SPECS-SIGNED/mft_kernel-signed/mft_kernel-signed.spec
new file mode 100644
index 00000000000..cfdfbad1ddb
--- /dev/null
+++ b/SPECS-SIGNED/mft_kernel-signed/mft_kernel-signed.spec
@@ -0,0 +1,68 @@
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%global _name kernel-mft
+
+Name: %{_name}
+Summary: %{name} Kernel Module for the %{KVERSION} kernel
+Version: 4.30.0
+Release: 1%{?dist}
+License: Dual BSD/GPLv2
+Group: System Environment/Kernel
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: mst_pci.ko
+Source2: mst_pciconf.ko
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+mft kernel module(s)
+
+%global debug_package %{nil}
+
+%prep
+
+%build
+
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/mst_pci.ko
+cp -r %{SOURCE2} %{buildroot}/lib/modules/%{KVERSION}/updates/mst_pciconf.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+/sbin/depmod %{KVERSION}
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%files
+%defattr(-,root,root,-)
+%license %{_datadir}/licenses/%{name}/COPYING
+/lib/modules/%{KVERSION}/updates/
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 4.30.0
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/mlnx-nfsrdma-signed/mlnx-nfsrdma-signed.spec b/SPECS-SIGNED/mlnx-nfsrdma-signed/mlnx-nfsrdma-signed.spec
new file mode 100644
index 00000000000..761c7eb34d7
--- /dev/null
+++ b/SPECS-SIGNED/mlnx-nfsrdma-signed/mlnx-nfsrdma-signed.spec
@@ -0,0 +1,104 @@
+#
+# Copyright (c) 2016 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%{!?_name: %define _name mlnx-nfsrdma}
+
+Summary: %{_name} Driver
+Name: %{_name}
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: rpcrdma.ko
+Source2: svcrdma.ko
+Source3: xprtrdma.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+mellanox rdma signed kernel modules
+
+%prep
+
+%build
+
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/mlnx-nfsrdma/rpcrdma.ko
+cp -r %{SOURCE2} %{buildroot}/lib/modules/%{KVERSION}/updates/mlnx-nfsrdma/svcrdma.ko
+cp -r %{SOURCE3} %{buildroot}/lib/modules/%{KVERSION}/updates/mlnx-nfsrdma/xprtrdma.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%files
+%defattr(-,root,root,-)
+%license %{_datadir}/licenses/%{name}/copyright
+/lib/modules/%{KVERSION}/updates/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 24.10.0.6.7.1
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/mlnx-ofa_kernel-signed/mlnx-ofa_kernel-modules-signed.spec b/SPECS-SIGNED/mlnx-ofa_kernel-signed/mlnx-ofa_kernel-modules-signed.spec
new file mode 100644
index 00000000000..ffa0bc558d5
--- /dev/null
+++ b/SPECS-SIGNED/mlnx-ofa_kernel-signed/mlnx-ofa_kernel-modules-signed.spec
@@ -0,0 +1,177 @@
+#
+# Copyright (c) 2012 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+%{!?_name: %global _name mlnx-ofa_kernel}
+
+# mlnx-ofa_kernel-modules is a sub-package in SPECS/mlnx-ofa_kernel.
+# We are making that into a main package for signing.
+
+Summary: Infiniband HCA Driver
+Name: %{_name}-modules
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com/
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: mlx_compat.ko
+Source2: ib_cm.ko
+Source3: ib_core.ko
+Source4: ib_ucm.ko
+Source5: ib_umad.ko
+Source6: ib_uverbs.ko
+Source7: iw_cm.ko
+Source8: rdma_cm.ko
+Source9: rdma_ucm.ko
+Source10: bnxt_re.ko
+Source11: efa.ko
+Source12: mlx4_ib.ko
+Source13: mlx5_ib.ko
+Source14: rdma_rxe.ko
+Source15: ib_ipoib.ko
+Source16: ib_iser.ko
+Source17: ib_isert.ko
+Source18: ib_srp.ko
+Source19: mlx5_core.ko
+Source10: mlxfw.ko
+Source11: mlxsw_spectrum.ko
+Source12: nvme-rdma.ko
+Source13: nvmet-rdma.ko
+Source14: mlxdevm.ko
+Source15: smc.ko
+Source16: smc_diag.ko
+Source17: rpcrdma.ko
+Source18: svcrdma.ko
+Source19: xprtrdma.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Obsoletes: kernel-ib
+Obsoletes: mlnx-en
+Obsoletes: mlnx_en
+Obsoletes: mlnx-en-utils
+Obsoletes: kmod-mlnx-en
+Obsoletes: mlnx-en-kmp-default
+Obsoletes: mlnx-en-kmp-xen
+Obsoletes: mlnx-en-kmp-trace
+Obsoletes: mlnx-en-doc
+Obsoletes: mlnx-en-debuginfo
+Obsoletes: mlnx-en-sources
+
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+Requires: libstdc++
+Requires: libunwind
+
+Requires: mlnx-tools >= 5.2.0
+Requires: coreutils
+Requires: pciutils
+Requires: grep
+Requires: procps
+Requires: module-init-tools
+Requires: lsof
+Requires: ofed-scripts
+
+
+%description
+Mellanox infiniband kernel modules.
+The driver sources are located at: http://www.mellanox.com/downloads/
+
+%prep
+
+%build
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/compat/mlx_compat.ko
+cp -r %{SOURCE2} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/ib_cm.ko
+cp -r %{SOURCE3} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/ib_core.ko
+cp -r %{SOURCE4} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/ib_ucm.ko
+cp -r %{SOURCE5} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/ib_umad.ko
+cp -r %{SOURCE6} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/ib_uverbs.ko
+cp -r %{SOURCE7} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/iw_cm.ko
+cp -r %{SOURCE8} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/rdma_cm.ko
+cp -r %{SOURCE9} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/core/rdma_ucm.ko
+cp -r %{SOURCE10} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/hw/bnxt_re/bnxt_re.ko
+cp -r %{SOURCE11} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/hw/efa/efa.ko
+cp -r %{SOURCE12} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/hw/mlx4/mlx4_ib.ko
+cp -r %{SOURCE13} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/hw/mlx5/mlx5_ib.ko
+cp -r %{SOURCE14} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/sw/rxe/rdma_rxe.ko
+cp -r %{SOURCE15} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/ulp/ipoib/ib_ipoib.ko
+cp -r %{SOURCE16} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/ulp/iser/ib_iser.ko
+cp -r %{SOURCE17} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/ulp/isert/ib_isert.ko
+cp -r %{SOURCE18} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/infiniband/ulp/srp/ib_srp.ko
+cp -r %{SOURCE19} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko
+cp -r %{SOURCE10} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/net/ethernet/mellanox/mlxfw/mlxfw.ko
+cp -r %{SOURCE11} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/net/ethernet/mellanox/mlxsw/mlxsw_spectrum.ko
+cp -r %{SOURCE12} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/nvme/host/nvme-rdma.ko
+cp -r %{SOURCE13} %{buildroot}/lib/modules/%{KVERSION}/updates/drivers/nvme/target/nvmet-rdma.ko
+cp -r %{SOURCE14} %{buildroot}/lib/modules/%{KVERSION}/updates/net/mlxdevm/mlxdevm.ko
+cp -r %{SOURCE15} %{buildroot}/lib/modules/%{KVERSION}/updates/net/smc/smc.ko
+cp -r %{SOURCE16} %{buildroot}/lib/modules/%{KVERSION}/updates/net/smc/smc_diag.ko
+cp -r %{SOURCE17} %{buildroot}/lib/modules/%{KVERSION}/updates/net/sunrpc/xprtrdma/rpcrdma.ko
+cp -r %{SOURCE18} %{buildroot}/lib/modules/%{KVERSION}/updates/net/sunrpc/xprtrdma/svcrdma.ko
+cp -r %{SOURCE19} %{buildroot}/lib/modules/%{KVERSION}/updates/net/sunrpc/xprtrdma/xprtrdma.ko
+
+%clean
+rm -rf %{buildroot}
+
+%post
+/sbin/depmod %{KVERSION}
+
+%postun
+if [ $1 = 0 ]; then # 1 : Erase, not upgrade
+ /sbin/depmod %{KVERSION}
+fi
+
+%files
+/lib/modules/%{KVERSION}/updates/
+%license %{_datadir}/licenses/%{name}/copyright
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 24.10
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/srp-signed/srp-signed.spec b/SPECS-SIGNED/srp-signed/srp-signed.spec
new file mode 100644
index 00000000000..21b993da44a
--- /dev/null
+++ b/SPECS-SIGNED/srp-signed/srp-signed.spec
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2014 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%if 0%{azl}
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel-headers)
+%else
+%global target_kernel_version_full f.a.k.e
+%endif
+
+%global KVERSION %{target_kernel_version_full}
+
+Summary: srp driver
+Name: srp
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: ib_srp.ko
+Source2: scsi_transport_srp.ko
+
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+srp kernel modules
+
+%prep
+
+%build
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/srp/ib_srp.ko
+cp -r %{SOURCE2} %{buildroot}/lib/modules/%{KVERSION}/updates/srp/scsi/scsi_transport_srp.ko
+
+%clean
+rm -rf %{buildroot}
+
+%files modules
+%defattr(-,root,root,-)
+/lib/modules/%{KVERSION}/updates/srp/ib_srp.ko
+/lib/modules/%{KVERSION}/updates/srp/scsi/scsi_transport_srp.ko
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+%license %{_datadir}/licenses/%{name}/copyright
+
+%changelog
+* Thu Jan 9 2024 Binu Jose Philip
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS-SIGNED/systemd-boot-signed/systemd-boot-signed.spec b/SPECS-SIGNED/systemd-boot-signed/systemd-boot-signed.spec
index 6178a71997b..ed68c99a957 100644
--- a/SPECS-SIGNED/systemd-boot-signed/systemd-boot-signed.spec
+++ b/SPECS-SIGNED/systemd-boot-signed/systemd-boot-signed.spec
@@ -14,7 +14,7 @@ Version: 255
# determine the build information from local checkout
Version: %(tools/meson-vcs-tag.sh . error | sed -r 's/-([0-9])/.^\1/; s/-g/_g/')
%endif
-Release: 19%{?dist}
+Release: 20%{?dist}
License: LGPL-2.1-or-later AND MIT AND GPL-2.0-or-later
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -93,6 +93,10 @@ popd
/boot/efi/EFI/BOOT/grubx64.efi
%changelog
+* Fri Jan 10 2024 Aditya Dubey - 255-20
+- Updating to version 255-19
+- Includes patch for enhancing DNSSEC signature validation integrity
+
* Thu Dec 12 2024 Daniel McIlvaney - 255-19
- Version bump to force signing with new Azure Linux secure boot key
- Add confilcts/recommends on shim to ensure the keys match
diff --git a/SPECS-SIGNED/xpmem-signed/xpmem-modules-signed.spec b/SPECS-SIGNED/xpmem-signed/xpmem-modules-signed.spec
new file mode 100644
index 00000000000..47f370d26b4
--- /dev/null
+++ b/SPECS-SIGNED/xpmem-signed/xpmem-modules-signed.spec
@@ -0,0 +1,69 @@
+%{!?KMP: %global KMP 0}
+
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_azurelinux_build_kernel_version %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}' $(/bin/rpm -q --whatprovides kernel-headers))
+%global target_kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel-headers) | /bin/cut -d . -f 1)
+
+%global KVERSION %{target_kernel_version_full}
+
+# xpmem-modules is a sub-package in SPECS/xpmem.
+# We are making that into a main package for signing.
+
+Summary: Cross-partition memory
+Name: xpmem-modules
+Version: 2.7.4
+Release: 1%{?dist}
+License: GPLv2 and LGPLv2.1
+Group: System Environment/Libraries
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+BuildRequires: automake autoconf
+URL: https://github.com/openucx/xpmem
+ExclusiveArch: x86_64
+
+#
+# To populate these sources:
+# 1. Build the unsigned packages as normal
+# 2. Sign the desired binary
+# 3. Place the unsigned package and signed binary in this spec's folder
+# 4. Build this spec
+
+Source0: %{name}-%{version}-%{release}.%{_arch}.rpm
+Source1: xpmem.ko
+
+Requires: mlnx-ofa_kernel
+Requires: mlnx-ofa_kernel-modules
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+XPMEM is a Linux kernel module that enables a process to map the
+memory of another process into its virtual address space. Source code
+can be obtained by cloning the Git repository, original Mercurial
+repository or by downloading a tarball from the link above.
+
+This package includes the kernel module.
+
+%prep
+
+%build
+
+
+%install
+rpm2cpio %{SOURCE0} | cpio -idmv -D %{buildroot}
+
+cp -r %{SOURCE1} %{buildroot}/lib/modules/%{KVERSION}/updates/xpmem.ko
+
+%clean
+rm -rf %{buildroot}
+
+%files modules
+/lib/modules/%{KVERSION}/updates/xpmem.ko
+%{_datadir}/licenses
+
+
+%changelog
+* Tue Dec 16 2024 Binu Jose Philip - 2.7.4
+- Creating signed spec
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS/azurelinux-release/azurelinux-release.spec b/SPECS/azurelinux-release/azurelinux-release.spec
index 116861abf90..e4d43ebdf21 100644
--- a/SPECS/azurelinux-release/azurelinux-release.spec
+++ b/SPECS/azurelinux-release/azurelinux-release.spec
@@ -5,7 +5,7 @@
Summary: Azure Linux release files
Name: azurelinux-release
Version: %{dist_version}.0
-Release: 23%{?dist}
+Release: 24%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -118,6 +118,9 @@ install -Dm0644 %{SOURCE4} -t %{buildroot}%{_sysctldir}/
%{_sysctldir}/*.conf
%changelog
+* Wed Jan 15 2025 CBL-Mariner Servicing Account - 3.0-24
+- Bump release for January 2025 Update 2
+
* Sat Dec 21 2024 Jon Slobodzian - 3.0-23
- Bump release for January 2025 Update
diff --git a/SPECS/cert-manager/CVE-2024-45337.patch b/SPECS/cert-manager/CVE-2024-45337.patch
new file mode 100644
index 00000000000..41cdea3ce45
--- /dev/null
+++ b/SPECS/cert-manager/CVE-2024-45337.patch
@@ -0,0 +1,80 @@
+From 784057d777784f1737dbf5d660f32bf2577add4c Mon Sep 17 00:00:00 2001
+From: Roland Shoemaker
+Date: Tue, 3 Dec 2024 09:03:03 -0800
+Subject: [PATCH] ssh: make the public key cache a 1-entry FIFO cache
+
+Users of the the ssh package seem to extremely commonly misuse the
+PublicKeyCallback API, assuming that the key passed in the last call
+before a connection is established is the key used for authentication.
+Some users then make authorization decisions based on this key. This
+property is not documented, and may not be correct, due to the caching
+behavior of the package, resulting in users making incorrect
+authorization decisions about the connection.
+
+This change makes the cache a one entry FIFO cache, making the assumed
+property, that the last call to PublicKeyCallback represents the key
+actually used for authentication, actually hold.
+
+Thanks to Damien Tournoud, Patrick Dawkins, Vince Parker, and
+Jules Duvivier from the Platform.sh / Upsun engineering team
+for reporting this issue.
+
+Fixes golang/go#70779
+Fixes CVE-2024-45337
+
+Change-Id: Ife7c7b4045d8b6bcd7e3a417bdfae370c709797f
+Reviewed-on: https://go-review.googlesource.com/c/crypto/+/635315
+Reviewed-by: Roland Shoemaker
+Auto-Submit: Gopher Robot
+Reviewed-by: Damien Neil
+Reviewed-by: Nicola Murino
+LUCI-TryBot-Result: Go LUCI
+Signed-off-by: Muhammad Falak R Wani
+---
+ .../vendor/golang.org/x/crypto/ssh/server.go | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/cmd/controller/vendor/golang.org/x/crypto/ssh/server.go b/cmd/controller/vendor/golang.org/x/crypto/ssh/server.go
+index 3ca9e89..a8b673c 100644
+--- a/cmd/controller/vendor/golang.org/x/crypto/ssh/server.go
++++ b/cmd/controller/vendor/golang.org/x/crypto/ssh/server.go
+@@ -149,7 +149,7 @@ func (s *ServerConfig) AddHostKey(key Signer) {
+ }
+
+ // cachedPubKey contains the results of querying whether a public key is
+-// acceptable for a user.
++// acceptable for a user. This is a FIFO cache.
+ type cachedPubKey struct {
+ user string
+ pubKeyData []byte
+@@ -157,7 +157,13 @@ type cachedPubKey struct {
+ perms *Permissions
+ }
+
+-const maxCachedPubKeys = 16
++// maxCachedPubKeys is the number of cache entries we store.
++//
++// Due to consistent misuse of the PublicKeyCallback API, we have reduced this
++// to 1, such that the only key in the cache is the most recently seen one. This
++// forces the behavior that the last call to PublicKeyCallback will always be
++// with the key that is used for authentication.
++const maxCachedPubKeys = 1
+
+ // pubKeyCache caches tests for public keys. Since SSH clients
+ // will query whether a public key is acceptable before attempting to
+@@ -179,9 +185,10 @@ func (c *pubKeyCache) get(user string, pubKeyData []byte) (cachedPubKey, bool) {
+
+ // add adds the given tuple to the cache.
+ func (c *pubKeyCache) add(candidate cachedPubKey) {
+- if len(c.keys) < maxCachedPubKeys {
+- c.keys = append(c.keys, candidate)
++ if len(c.keys) >= maxCachedPubKeys {
++ c.keys = c.keys[1:]
+ }
++ c.keys = append(c.keys, candidate)
+ }
+
+ // ServerConn is an authenticated SSH connection, as seen from the
+--
+2.34.1
+
diff --git a/SPECS/cert-manager/cert-manager.spec b/SPECS/cert-manager/cert-manager.spec
index 777e932403a..8f783d19989 100644
--- a/SPECS/cert-manager/cert-manager.spec
+++ b/SPECS/cert-manager/cert-manager.spec
@@ -1,7 +1,7 @@
Summary: Automatically provision and manage TLS certificates in Kubernetes
Name: cert-manager
Version: 1.12.13
-Release: 1%{?dist}
+Release: 2%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -13,6 +13,7 @@ Source0: https://github.com/jetstack/%{name}/archive/refs/tags/v%{version
# 1. wget https://github.com/jetstack/%%{name}/archive/refs/tags/v%%{version}.tar.gz -O %%{name}-%%{version}.tar.gz
# 2. /SPECS/cert-manager/generate_source_tarball.sh --srcTarball %%{name}-%%{version}.tar.gz --pkgVersion %%{version}
Source1: %{name}-%{version}-vendor.tar.gz
+Patch0: CVE-2024-45337.patch
BuildRequires: golang
Requires: %{name}-acmesolver
Requires: %{name}-cainjector
@@ -57,7 +58,7 @@ Summary: cert-manager's webhook binary
Webhook component providing API validation, mutation and conversion functionality for cert-manager.
%prep
-%setup -q -a 1
+%autosetup -a 1 -p1
%build
@@ -103,6 +104,9 @@ install -D -m0755 bin/webhook %{buildroot}%{_bindir}/
%{_bindir}/webhook
%changelog
+* Wed Jan 08 2025 Muhammad Falak - 1.12.13-2
+- Patch CVE-2024-45337
+
* Mon Sep 16 2024 Jiri Appl - 1.12.13-1
- Upgrade to 1.12.13 which carries helm 3.14.2 to fix CVE-2024-26147 and CVE-2024-25620
diff --git a/SPECS/cmake/CVE-2024-11053.patch b/SPECS/cmake/CVE-2024-11053.patch
new file mode 100644
index 00000000000..e0e5b4787dc
--- /dev/null
+++ b/SPECS/cmake/CVE-2024-11053.patch
@@ -0,0 +1,304 @@
+From c67d69ef80e6d91d4124c704aceb667859d6a0df Mon Sep 17 00:00:00 2001
+From: Henry Beberman
+Date: Wed, 15 Jan 2025 21:26:44 +0000
+Subject: [PATCH] Backport patch for CVE-2024-11053
+
+Backport fix for CVE-2024-11053 from upstream commit to vendored libcurl 8.8.0
+
+From e9b9bbac22c26cf67316fa8e6c6b9e831af31949 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg
+Date: Fri, 15 Nov 2024 11:06:36 +0100
+Subject: [PATCH] netrc: address several netrc parser flaws
+
+- make sure that a match that returns a username also returns a
+ password, that should be blank if no password is found
+
+- fix handling of multiple logins for same host where the password/login
+ order might be reversed.
+
+- reject credentials provided in the .netrc if they contain ASCII control
+ codes - if the used protocol does not support such (like HTTP and WS do)
+
+---
+ lib/netrc.c | 205 +++++++++++++++++++++++++++++-----------------------
+ lib/url.c | 2 +
+ 2 files changed, 116 insertions(+), 91 deletions(-)
+
+diff --git a/Utilities/cmcurl/lib/netrc.c b/Utilities/cmcurl/lib/netrc.c
+index cd2a284..83dd9eb 100644
+--- a/Utilities/cmcurl/lib/netrc.c
++++ b/Utilities/cmcurl/lib/netrc.c
+@@ -49,6 +49,15 @@ enum host_lookup_state {
+ MACDEF
+ };
+
++enum found_state {
++ NONE,
++ LOGIN,
++ PASSWORD
++};
++
++#define FOUND_LOGIN 1
++#define FOUND_PASSWORD 2
++
+ #define NETRC_FILE_MISSING 1
+ #define NETRC_FAILED -1
+ #define NETRC_SUCCESS 0
+@@ -66,11 +75,13 @@ static int parsenetrc(const char *host,
+ FILE *file;
+ int retcode = NETRC_FILE_MISSING;
+ char *login = *loginp;
+- char *password = *passwordp;
++ char *password = NULL;
+ bool specific_login = (login && *login != 0);
+- bool login_alloc = FALSE;
+- bool password_alloc = FALSE;
+ enum host_lookup_state state = NOTHING;
++ enum found_state keyword = NONE;
++ unsigned char found = 0; /* login + password found bits, as they can come in
++ any order */
++ bool our_login = FALSE; /* found our login name */
+
+ char state_login = 0; /* Found a login keyword */
+ char state_password = 0; /* Found a password keyword */
+@@ -156,117 +167,129 @@ static int parsenetrc(const char *host,
+ }
+ }
+
+- if((login && *login) && (password && *password)) {
+- done = TRUE;
+- break;
+- }
+-
+ switch(state) {
+- case NOTHING:
+- if(strcasecompare("macdef", tok)) {
+- /* Define a macro. A macro is defined with the specified name; its
+- contents begin with the next .netrc line and continue until a
+- null line (consecutive new-line characters) is encountered. */
+- state = MACDEF;
+- }
+- else if(strcasecompare("machine", tok)) {
+- /* the next tok is the machine name, this is in itself the
+- delimiter that starts the stuff entered for this machine,
+- after this we need to search for 'login' and
+- 'password'. */
+- state = HOSTFOUND;
+- }
+- else if(strcasecompare("default", tok)) {
+- state = HOSTVALID;
+- retcode = NETRC_SUCCESS; /* we did find our host */
+- }
+- break;
+- case MACDEF:
+- if(!strlen(tok)) {
+- state = NOTHING;
+- }
+- break;
+- case HOSTFOUND:
+- if(strcasecompare(host, tok)) {
+- /* and yes, this is our host! */
+- state = HOSTVALID;
+- retcode = NETRC_SUCCESS; /* we did find our host */
+- }
+- else
+- /* not our host */
+- state = NOTHING;
+- break;
+- case HOSTVALID:
+- /* we are now parsing sub-keywords concerning "our" host */
+- if(state_login) {
+- if(specific_login) {
+- state_our_login = !Curl_timestrcmp(login, tok);
++ case NOTHING:
++ if(strcasecompare("macdef", tok))
++ /* Define a macro. A macro is defined with the specified name; its
++ contents begin with the next .netrc line and continue until a
++ null line (consecutive new-line characters) is encountered. */
++ state = MACDEF;
++ else if(strcasecompare("machine", tok)) {
++ /* the next tok is the machine name, this is in itself the delimiter
++ that starts the stuff entered for this machine, after this we
++ need to search for 'login' and 'password'. */
++ state = HOSTFOUND;
++ keyword = NONE;
++ found = 0;
++ our_login = FALSE;
++ Curl_safefree(password);
++ if(!specific_login)
++ Curl_safefree(login);
+ }
+- else if(!login || Curl_timestrcmp(login, tok)) {
+- if(login_alloc) {
++ else if(strcasecompare("default", tok)) {
++ state = HOSTVALID;
++ retcode = NETRC_SUCCESS; /* we did find our host */
++ }
++ break;
++ case MACDEF:
++ if(!*tok)
++ state = NOTHING;
++ break;
++ case HOSTFOUND:
++ if(strcasecompare(host, tok)) {
++ /* and yes, this is our host! */
++ state = HOSTVALID;
++ retcode = NETRC_SUCCESS; /* we did find our host */
++ }
++ else
++ /* not our host */
++ state = NOTHING;
++ break;
++ case HOSTVALID:
++ /* we are now parsing sub-keywords concerning "our" host */
++ if(keyword == LOGIN) {
++ if(specific_login)
++ our_login = !Curl_timestrcmp(login, tok);
++ else {
++ our_login = TRUE;
+ free(login);
+- login_alloc = FALSE;
++ login = strdup(tok);
++ if(!login) {
++ retcode = NETRC_FAILED; /* allocation failed */
++ goto out;
++ }
+ }
+- login = strdup(tok);
+- if(!login) {
+- retcode = NETRC_FAILED; /* allocation failed */
+- goto out;
+- }
+- login_alloc = TRUE;
++ found |= FOUND_LOGIN;
++ keyword = NONE;
+ }
+- state_login = 0;
+- }
+- else if(state_password) {
+- if((state_our_login || !specific_login)
+- && (!password || Curl_timestrcmp(password, tok))) {
+- if(password_alloc) {
+- free(password);
+- password_alloc = FALSE;
+- }
++ else if(keyword == PASSWORD) {
++ free(password);
+ password = strdup(tok);
+ if(!password) {
+ retcode = NETRC_FAILED; /* allocation failed */
+ goto out;
+ }
+- password_alloc = TRUE;
++ if(!specific_login || our_login)
++ found |= FOUND_PASSWORD;
++ keyword = NONE;
+ }
+- state_password = 0;
+- }
+- else if(strcasecompare("login", tok))
+- state_login = 1;
+- else if(strcasecompare("password", tok))
+- state_password = 1;
+- else if(strcasecompare("machine", tok)) {
+- /* ok, there's machine here go => */
+- state = HOSTFOUND;
+- state_our_login = FALSE;
+- }
+- break;
+- } /* switch (state) */
++ else if(strcasecompare("login", tok))
++ keyword = LOGIN;
++ else if(strcasecompare("password", tok))
++ keyword = PASSWORD;
++ else if(strcasecompare("machine", tok)) {
++ /* a new machine here */
++ if(found & FOUND_PASSWORD) {
++ done = TRUE;
++ break;
++ }
++ state = HOSTFOUND;
++ keyword = NONE;
++ found = 0;
++ Curl_safefree(password);
++ if(!specific_login)
++ Curl_safefree(login);
++ }
++ else if(strcasecompare("default", tok)) {
++ state = HOSTVALID;
++ retcode = NETRC_SUCCESS; /* we did find our host */
++ Curl_safefree(password);
++ if(!specific_login)
++ Curl_safefree(login);
++ }
++ if((found == (FOUND_PASSWORD|FOUND_LOGIN)) && our_login) {
++ done = TRUE;
++ break;
++ }
++ break;
++ } /* switch (state) */
+ tok = ++tok_end;
+ }
+ } /* while Curl_get_line() */
+
+ out:
+ Curl_dyn_free(&buf);
++ if(!retcode) {
++ if(!password && our_login) {
++ /* success without a password, set a blank one */
++ password = strdup("");
++ if(!password)
++ retcode = 1; /* out of memory */
++ }
++ else if(!login && !password)
++ /* a default with no credentials */
++ retcode = NETRC_FILE_MISSING;
++ }
+ if(!retcode) {
+ /* success */
+- if(login_alloc) {
+- if(*loginp)
+- free(*loginp);
++ if(!specific_login)
+ *loginp = login;
+- }
+- if(password_alloc) {
+- if(*passwordp)
+- free(*passwordp);
+- *passwordp = password;
+- }
++ *passwordp = password;
+ }
+ else {
+- if(login_alloc)
++ if(!specific_login)
+ free(login);
+- if(password_alloc)
+- free(password);
++ free(password);
+ }
+ fclose(file);
+ }
+diff --git a/Utilities/cmcurl/lib/url.c b/Utilities/cmcurl/lib/url.c
+index 2814d31..51c7f88 100644
+--- a/Utilities/cmcurl/lib/url.c
++++ b/Utilities/cmcurl/lib/url.c
+@@ -2698,6 +2698,7 @@ static CURLcode override_login(struct Curl_easy *data,
+ url_provided = TRUE;
+ }
+
++ if(!*passwdp) {
+ ret = Curl_parsenetrc(conn->host.name,
+ userp, passwdp,
+ data->set.str[STRING_NETRC_FILE]);
+@@ -2729,6 +2730,7 @@ static CURLcode override_login(struct Curl_easy *data,
+ if(!*userp)
+ return CURLE_OUT_OF_MEMORY;
+ }
++ }
+ }
+ #endif
+
+--
+2.45.2
+
diff --git a/SPECS/cmake/cmake.spec b/SPECS/cmake/cmake.spec
index 84631e3818f..cdbe4a585e2 100644
--- a/SPECS/cmake/cmake.spec
+++ b/SPECS/cmake/cmake.spec
@@ -2,7 +2,7 @@
Summary: Cmake
Name: cmake
Version: 3.30.3
-Release: 2%{?dist}
+Release: 3%{?dist}
License: BSD AND LGPLv2+
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -14,6 +14,7 @@ Patch0: 0001-manually-recreating-patches.patch
Patch1: CVE-2024-6197.patch
Patch2: CVE-2024-6874.patch
Patch3: CVE-2024-8096.patch
+Patch4: CVE-2024-11053.patch
BuildRequires: bzip2
BuildRequires: bzip2-devel
BuildRequires: curl
@@ -93,6 +94,9 @@ bin/ctest --force-new-ctest-process --rerun-failed --output-on-failure
%{_libdir}/rpm/macros.d/macros.cmake
%changelog
+* Wed Jan 15 2025 Henry Beberman - 3.30.3-3
+- Patch vendored curl for CVE-2024-11053
+
* Thu Sep 26 2024 Jonathan Behrens - 3.30.3-2
- Fix CVE-2024-6197, CVE-2024-6874, and CVE-2024-8096
diff --git a/SPECS/packer/CVE-2024-45337.patch b/SPECS/docker-compose/CVE-2024-45337.patch
similarity index 85%
rename from SPECS/packer/CVE-2024-45337.patch
rename to SPECS/docker-compose/CVE-2024-45337.patch
index f7d2f6a6724..868ef502b5d 100644
--- a/SPECS/packer/CVE-2024-45337.patch
+++ b/SPECS/docker-compose/CVE-2024-45337.patch
@@ -1,6 +1,4 @@
-https://github.com/golang/crypto/commit/b4f1988a35dee11ec3e05d6bf3e90b695fbd8909.patch
-
-From b4f1988a35dee11ec3e05d6bf3e90b695fbd8909 Mon Sep 17 00:00:00 2001
+From 66fd5d19c5ea8c7f4f7ff69bcc93a7c8231ce4cf Mon Sep 17 00:00:00 2001
From: Roland Shoemaker
Date: Tue, 3 Dec 2024 09:03:03 -0800
Subject: [PATCH] ssh: make the public key cache a 1-entry FIFO cache
@@ -31,26 +29,28 @@ Auto-Submit: Gopher Robot
Reviewed-by: Damien Neil
Reviewed-by: Nicola Murino
LUCI-TryBot-Result: Go LUCI
+Signed-off-by: Muhammad Falak R Wani
---
- vendor/golang.org/x/crypto/ssh/server.go | 15 ++++++++++----
+ vendor/golang.org/x/crypto/ssh/server.go | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/vendor/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go
-index c0d1c29e6f..5b5ccd96f4 100644
+index c2dfe32..39dcc09 100644
--- a/vendor/golang.org/x/crypto/ssh/server.go
+++ b/vendor/golang.org/x/crypto/ssh/server.go
-@@ -142,7 +142,7 @@ func (s *ServerConfig) AddHostKey(key Signer) {
+@@ -149,7 +149,7 @@ func (s *ServerConfig) AddHostKey(key Signer) {
}
-
+
// cachedPubKey contains the results of querying whether a public key is
-// acceptable for a user.
+// acceptable for a user. This is a FIFO cache.
type cachedPubKey struct {
user string
pubKeyData []byte
-@@ -150,7 +150,13 @@ type cachedPubKey struct {
+@@ -157,7 +157,13 @@ type cachedPubKey struct {
perms *Permissions
}
-
+
-const maxCachedPubKeys = 16
+// maxCachedPubKeys is the number of cache entries we store.
+//
@@ -59,11 +59,11 @@ index c0d1c29e6f..5b5ccd96f4 100644
+// forces the behavior that the last call to PublicKeyCallback will always be
+// with the key that is used for authentication.
+const maxCachedPubKeys = 1
-
+
// pubKeyCache caches tests for public keys. Since SSH clients
// will query whether a public key is acceptable before attempting to
-@@ -172,9 +178,10 @@ func (c *pubKeyCache) get(user string, pubKeyData []byte) (cachedPubKey, bool) {
-
+@@ -179,9 +185,10 @@ func (c *pubKeyCache) get(user string, pubKeyData []byte) (cachedPubKey, bool) {
+
// add adds the given tuple to the cache.
func (c *pubKeyCache) add(candidate cachedPubKey) {
- if len(c.keys) < maxCachedPubKeys {
@@ -73,5 +73,8 @@ index c0d1c29e6f..5b5ccd96f4 100644
}
+ c.keys = append(c.keys, candidate)
}
-
+
// ServerConn is an authenticated SSH connection, as seen from the
+--
+2.34.1
+
diff --git a/SPECS/docker-compose/docker-compose.spec b/SPECS/docker-compose/docker-compose.spec
index 6301797a965..eec9881ad79 100644
--- a/SPECS/docker-compose/docker-compose.spec
+++ b/SPECS/docker-compose/docker-compose.spec
@@ -1,7 +1,7 @@
Summary: Define and run multi-container applications with Docker
Name: docker-compose
Version: 2.27.0
-Release: 1%{?dist}
+Release: 2%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -12,6 +12,7 @@ Source0: https://github.com/docker/compose/archive/refs/tags/v%{version}.
# NOTE: govendor-v1 format is for inplace CVE updates so that we do not have to overwrite in the blob-store.
# After fixing any possible CVE for the vendored source, we must bump v1 -> v2
Source1: %{name}-%{version}-govendor-v1.tar.gz
+Patch0: CVE-2024-45337.patch
BuildRequires: golang
Requires: docker-cli
Obsoletes: moby-compose < %{version}-%{release}
@@ -44,6 +45,9 @@ install -D -m0755 bin/build/docker-compose %{buildroot}/%{_libexecdir}/docker/cl
%{_libexecdir}/docker/cli-plugins/docker-compose
%changelog
+* Wed Jan 08 2025 Muhammad Falak - 2.27.0-2
+- Patch CVE-2024-45337
+
* Thu May 02 2024 CBL-Mariner Servicing Account - 2.27.0-1
- Auto-upgrade to 2.27.0 - address CVE-2024-23653
diff --git a/SPECS/fwctl/fwctl.signatures.json b/SPECS/fwctl/fwctl.signatures.json
new file mode 100644
index 00000000000..e5d4ed40f30
--- /dev/null
+++ b/SPECS/fwctl/fwctl.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "fwctl-24.10.tgz": "ec00a549851d9c506a8e2aed365db2506e3d8bb31dad970da82f8f665191deec"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/fwctl/fwctl.spec b/SPECS/fwctl/fwctl.spec
new file mode 100644
index 00000000000..c079bcb9458
--- /dev/null
+++ b/SPECS/fwctl/fwctl.spec
@@ -0,0 +1,257 @@
+#
+# Copyright (c) 2024 Nvidia Inc. All rights reserved.
+#
+# This software is available to you under a choice of one of two
+# licenses. You may choose to be licensed under the terms of the GNU
+# General Public License (GPL) Version 2, available from the file
+# COPYING in the main directory of this source tree, or the
+# OpenIB.org BSD license below:
+#
+# Redistribution and use in source and binary forms, with or
+# without modification, are permitted provided that the following
+# conditions are met:
+#
+# - Redistributions of source code must retain the above
+# copyright notice, this list of conditions and the following
+# disclaimer.
+#
+# - Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials
+# provided with the distribution.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#
+
+%global last-known-kernel 6.6.64.2
+
+%{!?_name: %define _name fwctl}
+%{!?_version: %define _version 24.10}
+%{!?_release: %define _release OFED.24.10.0.6.7.1}
+
+%if 0%{azl}
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel-headers)
+%else
+%global target_kernel_version_full f.a.k.e
+%endif
+
+%global KVERSION %{target_kernel_version_full}
+%global K_SRC /lib/modules/%{target_kernel_version_full}/build
+
+# KMP is disabled by default
+%{!?KMP: %global KMP 0}
+
+# take kernel version or default to uname -r
+%{!?KVERSION: %global KVERSION %{target_kernel_version_full}}
+%global kernel_version %{KVERSION}
+%global krelver %(echo -n %{KVERSION} | sed -e 's/-/_/g')
+# take path to kernel sources if provided, otherwise look in default location (for non KMP rpms).
+%{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build}
+
+# define release version
+%{!?src_release: %global src_release %{_release}_%{krelver}}
+%if "%{KMP}" != "1"
+%global _release1 %{src_release}
+%else
+%global _release1 %{_release}
+%endif
+%global _kmp_rel %{_release1}%{?_kmp_build_num}%{?_dist}
+
+Summary: %{_name} Driver
+Name: fwctl
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://nvidia.com
+Group: System Environment/Base
+Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/fwctl-24.10.tgz#/%{_name}-%{_version}.tgz
+BuildRoot: /var/tmp/%{name}-%{version}-build
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: kernel-devel = %{target_kernel_version_full}
+BuildRequires: kernel-headers = %{target_kernel_version_full}
+BuildRequires: binutils
+BuildRequires: systemd
+BuildRequires: kmod
+BuildRequires: mlnx-ofa_kernel-devel = %{_version}
+BuildRequires: mlnx-ofa_kernel-source = %{_version}
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+%{name} kernel modules
+
+# build KMP rpms?
+%if "%{KMP}" == "1"
+%global kernel_release() $(make -s -C %{1} kernelrelease M=$PWD)
+BuildRequires: %kernel_module_package_buildreqs
+%(mkdir -p %{buildroot})
+%(echo '%defattr (-,root,root)' > %{buildroot}/file_list)
+%(echo '/lib/modules/%2-%1' >> %{buildroot}/file_list)
+%(echo '%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*-%1.conf' >> %{buildroot}/file_list)
+%{kernel_module_package -f %{buildroot}/file_list -x xen -r %{_kmp_rel} }
+%else
+%global kernel_source() %{K_SRC}
+%global kernel_release() %{KVERSION}
+%global flavors_to_build default
+%endif
+
+#
+# setup module sign scripts if paths to the keys are given
+#
+%global WITH_MOD_SIGN %(if ( test -f "$MODULE_SIGN_PRIV_KEY" && test -f "$MODULE_SIGN_PUB_KEY" ); \
+ then \
+ echo -n '1'; \
+ else \
+ echo -n '0'; fi)
+
+%if "%{WITH_MOD_SIGN}" == "1"
+# call module sign script
+%global __modsign_install_post \
+ %{_builddir}/%{name}-%{version}/source/tools/sign-modules %{buildroot}/lib/modules/ %{kernel_source default} || exit 1 \
+%{nil}
+
+%global __debug_package 1
+%global buildsubdir %{name}-%{version}
+# Disgusting hack alert! We need to ensure we sign modules *after* all
+# invocations of strip occur, which is in __debug_install_post if
+# find-debuginfo.sh runs, and __os_install_post if not.
+#
+%global __spec_install_post \
+ %{?__debug_package:%{__debug_install_post}} \
+ %{__arch_install_post} \
+ %{__os_install_post} \
+ %{__modsign_install_post} \
+%{nil}
+
+%endif # end of setup module sign scripts
+#
+
+%if "%{_vendor}" == "suse"
+%debug_package
+%endif
+
+%if 0%{?anolis} == 8
+%global __find_requires %{nil}
+%endif
+
+# set modules dir
+%if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+%if 0%{?fedora}
+%global install_mod_dir updates/%{name}
+%else
+%global install_mod_dir extra/%{name}
+%endif
+%endif
+
+%if "%{_vendor}" == "suse"
+%global install_mod_dir updates/%{name}
+%endif
+
+%{!?install_mod_dir: %global install_mod_dir updates/%{name}}
+
+%prep
+%setup
+set -- *
+mkdir source
+mv "$@" source/
+mkdir obj
+
+%build
+export EXTRA_CFLAGS='-DVERSION=\"%version\"'
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export CONF_OPTIONS="%{configure_options}"
+for flavor in %{flavors_to_build}; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ export LIB_MOD_DIR=/lib/modules/$KVER/$INSTALL_MOD_DIR
+ rm -rf obj/$flavor
+ cp -r source obj/$flavor
+ cd $PWD/obj/$flavor
+ make
+ cd -
+done
+
+%install
+export INSTALL_MOD_PATH=%{buildroot}
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export PREFIX=%{_prefix}
+for flavor in %flavors_to_build; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ cd $PWD/obj/$flavor
+ make install KERNELRELEASE=$KVER
+ # Cleanup unnecessary kernel-generated module dependency files.
+ find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
+ cd -
+done
+
+# Set the module(s) to be executable, so that they will be stripped when packaged.
+find %{buildroot} \( -type f -name '*.ko' -o -name '*ko.gz' \) -exec %{__chmod} u+x \{\} \;
+
+%{__install} -d %{buildroot}%{_sysconfdir}/depmod.d/
+for module in `find %{buildroot}/ -name '*.ko' -o -name '*.ko.gz' | sort`
+do
+ko_name=${module##*/}
+mod_name=${ko_name/.ko*/}
+mod_path=${module/*\/%{name}}
+mod_path=${mod_path/\/${ko_name}}
+%if "%{_vendor}" == "suse"
+ for flavor in %{flavors_to_build}; do
+ if [[ $module =~ $flavor ]] || [ "X%{KMP}" != "X1" ];then
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}-$flavor.conf
+ fi
+ done
+%else
+ %if 0%{?fedora}
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %else
+ %if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+ echo "override ${mod_name} * weak-updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+ echo "override ${mod_name} * extra/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+%endif
+done
+
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%if "%{KMP}" != "1"
+%files
+%defattr(-,root,root,-)
+%license source/debian/copyright
+/lib/modules/%{KVERSION}/%{install_mod_dir}/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+%endif
+
+%changelog
+* Tue Dec 17 2024 Binu Jose Philip
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
+* Mon Jul 29 2024
+- Initial packaging
diff --git a/SPECS/gh/CVE-2024-45337.patch b/SPECS/gh/CVE-2024-45337.patch
new file mode 100644
index 00000000000..868ef502b5d
--- /dev/null
+++ b/SPECS/gh/CVE-2024-45337.patch
@@ -0,0 +1,80 @@
+From 66fd5d19c5ea8c7f4f7ff69bcc93a7c8231ce4cf Mon Sep 17 00:00:00 2001
+From: Roland Shoemaker
+Date: Tue, 3 Dec 2024 09:03:03 -0800
+Subject: [PATCH] ssh: make the public key cache a 1-entry FIFO cache
+
+Users of the the ssh package seem to extremely commonly misuse the
+PublicKeyCallback API, assuming that the key passed in the last call
+before a connection is established is the key used for authentication.
+Some users then make authorization decisions based on this key. This
+property is not documented, and may not be correct, due to the caching
+behavior of the package, resulting in users making incorrect
+authorization decisions about the connection.
+
+This change makes the cache a one entry FIFO cache, making the assumed
+property, that the last call to PublicKeyCallback represents the key
+actually used for authentication, actually hold.
+
+Thanks to Damien Tournoud, Patrick Dawkins, Vince Parker, and
+Jules Duvivier from the Platform.sh / Upsun engineering team
+for reporting this issue.
+
+Fixes golang/go#70779
+Fixes CVE-2024-45337
+
+Change-Id: Ife7c7b4045d8b6bcd7e3a417bdfae370c709797f
+Reviewed-on: https://go-review.googlesource.com/c/crypto/+/635315
+Reviewed-by: Roland Shoemaker
+Auto-Submit: Gopher Robot
+Reviewed-by: Damien Neil
+Reviewed-by: Nicola Murino
+LUCI-TryBot-Result: Go LUCI
+Signed-off-by: Muhammad Falak R Wani
+---
+ vendor/golang.org/x/crypto/ssh/server.go | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/vendor/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go
+index c2dfe32..39dcc09 100644
+--- a/vendor/golang.org/x/crypto/ssh/server.go
++++ b/vendor/golang.org/x/crypto/ssh/server.go
+@@ -149,7 +149,7 @@ func (s *ServerConfig) AddHostKey(key Signer) {
+ }
+
+ // cachedPubKey contains the results of querying whether a public key is
+-// acceptable for a user.
++// acceptable for a user. This is a FIFO cache.
+ type cachedPubKey struct {
+ user string
+ pubKeyData []byte
+@@ -157,7 +157,13 @@ type cachedPubKey struct {
+ perms *Permissions
+ }
+
+-const maxCachedPubKeys = 16
++// maxCachedPubKeys is the number of cache entries we store.
++//
++// Due to consistent misuse of the PublicKeyCallback API, we have reduced this
++// to 1, such that the only key in the cache is the most recently seen one. This
++// forces the behavior that the last call to PublicKeyCallback will always be
++// with the key that is used for authentication.
++const maxCachedPubKeys = 1
+
+ // pubKeyCache caches tests for public keys. Since SSH clients
+ // will query whether a public key is acceptable before attempting to
+@@ -179,9 +185,10 @@ func (c *pubKeyCache) get(user string, pubKeyData []byte) (cachedPubKey, bool) {
+
+ // add adds the given tuple to the cache.
+ func (c *pubKeyCache) add(candidate cachedPubKey) {
+- if len(c.keys) < maxCachedPubKeys {
+- c.keys = append(c.keys, candidate)
++ if len(c.keys) >= maxCachedPubKeys {
++ c.keys = c.keys[1:]
+ }
++ c.keys = append(c.keys, candidate)
+ }
+
+ // ServerConn is an authenticated SSH connection, as seen from the
+--
+2.34.1
+
diff --git a/SPECS/gh/gh.spec b/SPECS/gh/gh.spec
index 4e8e16fa9d3..333a8a65a89 100644
--- a/SPECS/gh/gh.spec
+++ b/SPECS/gh/gh.spec
@@ -1,7 +1,7 @@
Summary: GitHub official command line tool
Name: gh
Version: 2.62.0
-Release: 2%{?dist}
+Release: 3%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -15,6 +15,8 @@ Source1: %{name}-%{version}-vendor.tar.gz
Patch0: 0001-Fix-false-negative-in-TestMigrationWriteErrors-when-.patch
Patch1: CVE-2024-54132.patch
+Patch2: CVE-2024-45337.patch
+
BuildRequires: golang < 1.23
BuildRequires: git
Requires: git
@@ -25,10 +27,9 @@ Requires: git
GitHub official command line tool.
%prep
-%autosetup -p1 -n cli-%{version}
+%autosetup -p1 -n cli-%{version} -a1
%build
-tar --no-same-owner -xf %{SOURCE1}
export GOPATH=%{our_gopath}
# No mod download use vednor cache locally
export GOFLAGS="-buildmode=pie -trimpath -mod=vendor -modcacherw -ldflags=-linkmode=external"
@@ -57,6 +58,9 @@ make test
%{_datadir}/zsh/site-functions/_gh
%changelog
+* Wed Jan 08 2025 Muhammad Falak - 2.62.0-3
+- Patch CVE-2024-45337
+
* Fri Dec 13 2024 Sandeep Karambelkar - 2.62.0-2
- Patch CVE-2024-54132
diff --git a/SPECS/git/git.signatures.json b/SPECS/git/git.signatures.json
index f7b4bbdeb4f..d27c9665785 100644
--- a/SPECS/git/git.signatures.json
+++ b/SPECS/git/git.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "git-2.45.2.tar.xz": "51bfe87eb1c02fed1484051875365eeab229831d30d0cec5d89a14f9e40e9adb"
+ "git-2.45.3.tar.gz": "3075ec9cbcf44a72d7fb232191c0982d6676a1d7432d3c74b96d397ff874b071"
}
}
diff --git a/SPECS/git/git.spec b/SPECS/git/git.spec
index b183d08408d..9cbfe9771a4 100644
--- a/SPECS/git/git.spec
+++ b/SPECS/git/git.spec
@@ -6,14 +6,14 @@
Summary: Fast distributed version control system
Name: git
-Version: 2.45.2
+Version: 2.45.3
Release: 1%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
Group: System Environment/Programming
URL: https://git-scm.com/
-Source0: https://www.kernel.org/pub/software/scm/git/%{name}-%{version}.tar.xz
+Source0: https://github.com/git/git/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: curl-devel
BuildRequires: python3-devel
Requires: curl
@@ -110,6 +110,7 @@ BuildArch: noarch
%{py3_shebang_fix} git-p4.py
%build
+make configure
%configure \
CFLAGS="%{optflags}" \
CXXFLAGS="%{optflags}" \
@@ -172,6 +173,9 @@ fi
%endif
%changelog
+* Tue Jan 14 2025 CBL-Mariner Servicing Account - 2.45.3-1
+- Auto-upgrade to 2.45.3 - CVE-2024-50349 and CVE-2024-52006
+
* Fri Jul 05 2024 CBL-Mariner Servicing Account - 2.45.2-1
- Auto-upgrade to 2.45.2 - none
diff --git a/SPECS/golang/golang-1.22.signatures.json b/SPECS/golang/golang-1.22.signatures.json
index 0c259155811..9172f212331 100644
--- a/SPECS/golang/golang-1.22.signatures.json
+++ b/SPECS/golang/golang-1.22.signatures.json
@@ -2,7 +2,7 @@
"Signatures": {
"go.20230802.5.src.tar.gz": "56b9e0e0c3c13ca95d5efa6de4e7d49a9d190eca77919beff99d33cd3fa74e95",
"go.20240206.2.src.tar.gz": "7982e0011aa9ab95fd0530404060410af4ba57326d26818690f334fdcb6451cd",
- "go1.22.9-20241202.5.src.tar.gz": "e7a4e32e0690878fd5d64c4c133134d5a4bdbcbc508a93624ce69a0642eedbd4",
+ "go1.22.10-20241203.4.src.tar.gz": "3a6318a0ff28798a1b1797b8d22c4f9604cae2088000c39a6875b2598ec4ab22",
"go1.4-bootstrap-20171003.tar.gz": "f4ff5b5eb3a3cae1c993723f3eab519c5bae18866b5e5f96fe1102f0cb5c3e52"
}
}
diff --git a/SPECS/golang/golang-1.22.spec b/SPECS/golang/golang-1.22.spec
index 1daa78acf6c..e854d24b5ba 100644
--- a/SPECS/golang/golang-1.22.spec
+++ b/SPECS/golang/golang-1.22.spec
@@ -1,7 +1,7 @@
%global goroot %{_libdir}/golang
%global gopath %{_datadir}/gocode
-%global ms_go_filename go1.22.9-20241202.5.src.tar.gz
-%global ms_go_revision 2
+%global ms_go_filename go1.22.10-20241203.4.src.tar.gz
+%global ms_go_revision 1
%global go_priority %(echo %{version}.%{ms_go_revision} | tr -d .)
%ifarch aarch64
%global gohostarch arm64
@@ -15,7 +15,7 @@
%define __find_requires %{nil}
Summary: Go
Name: golang
-Version: 1.22.9
+Version: 1.22.10
Release: 1%{?dist}
License: BSD-3-Clause
Vendor: Microsoft Corporation
@@ -162,6 +162,9 @@ fi
%{_bindir}/*
%changelog
+* Wed Dec 04 2024 Microsoft Golang Bot - 1.22.10-1
+- Bump version to 1.22.10-1
+
* Tue Dec 03 2024 Microsoft Golang Bot - 1.22.9-1
- Bump version to 1.22.9-2
diff --git a/SPECS/grpc/CVE-2024-11407.patch b/SPECS/grpc/CVE-2024-11407.patch
new file mode 100644
index 00000000000..b820c2b0f70
--- /dev/null
+++ b/SPECS/grpc/CVE-2024-11407.patch
@@ -0,0 +1,28 @@
+From f3d8e3c99764e1d279326ed1ee7ba9b1bdba7a20 Mon Sep 17 00:00:00 2001
+From: Vignesh Babu
+Date: Thu, 12 Sep 2024 11:13:45 -0700
+Subject: [PATCH] Fix bug in Tx0cp code path in posix endpoint.
+
+This fix ensures that the iov_base pointers point to the right address.
+
+PiperOrigin-RevId: 673923651
+---
+ src/core/lib/event_engine/posix_engine/posix_endpoint.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/lib/event_engine/posix_engine/posix_endpoint.cc b/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
+index 019c2a3..048bc54 100644
+--- a/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
++++ b/src/core/lib/event_engine/posix_engine/posix_endpoint.cc
+@@ -240,7 +240,7 @@ msg_iovlen_type TcpZerocopySendRecord::PopulateIovs(size_t* unwind_slice_idx,
+ iov_size++) {
+ MutableSlice& slice = internal::SliceCast(
+ buf_.MutableSliceAt(out_offset_.slice_idx));
+- iov[iov_size].iov_base = slice.begin();
++ iov[iov_size].iov_base = slice.begin() + out_offset_.byte_idx;
+ iov[iov_size].iov_len = slice.length() - out_offset_.byte_idx;
+ *sending_length += iov[iov_size].iov_len;
+ ++(out_offset_.slice_idx);
+--
+2.34.1
+
diff --git a/SPECS/grpc/grpc.spec b/SPECS/grpc/grpc.spec
index 1474bbf659f..16a721c60c7 100644
--- a/SPECS/grpc/grpc.spec
+++ b/SPECS/grpc/grpc.spec
@@ -1,7 +1,7 @@
Summary: Open source remote procedure call (RPC) framework
Name: grpc
Version: 1.62.0
-Release: 3%{?dist}
+Release: 4%{?dist}
License: ASL 2.0
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -10,6 +10,7 @@ URL: https://www.grpc.io
Source0: https://github.com/grpc/grpc/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{name}-%{version}-submodules.tar.gz
Patch0: grpcio-cython3.patch
+Patch1: CVE-2024-11407.patch
BuildRequires: abseil-cpp-devel >= 20240116.0-2
BuildRequires: build-essential
BuildRequires: c-ares-devel
@@ -67,9 +68,7 @@ Requires: python3-six
Python language bindings for gRPC.
%prep
-%setup -q -n %{name}-%{version}
-%setup -T -D -a 1
-%patch 0 -p1
+%autosetup -n %{name}-%{version} -a 1 -p1
# remove third party code taken from installed packages (build requires)
rm -r %{_builddir}/%{name}-%{version}/third_party/abseil-cpp
@@ -153,6 +152,9 @@ export GRPC_PYTHON_CFLAGS="%{optflags} -std=c++$CXX_VERSION"
%{python3_sitearch}/grpcio-%{version}-py%{python3_version}.egg-info
%changelog
+* Wed Jan 25 2024 Suresh Thelkar - 1.62.0-4
+- Patch CVE-2024-11407
+
* Thu Jul 25 2024 Devin Anderson - 1.62.0-3
- Bump release to rebuild with latest 'abseil-cpp'.
diff --git a/SPECS/harfbuzz/CVE-2024-56732.patch b/SPECS/harfbuzz/CVE-2024-56732.patch
new file mode 100644
index 00000000000..bf053fdc9f7
--- /dev/null
+++ b/SPECS/harfbuzz/CVE-2024-56732.patch
@@ -0,0 +1,59 @@
+From 1767f99e2e2196c3fcae27db6d8b60098d3f6d26 Mon Sep 17 00:00:00 2001
+From: Behdad Esfahbod
+Date: Sun, 10 Nov 2024 22:43:28 -0700
+Subject: [PATCH] [cairo] Guard hb_cairo_glyphs_from_buffer() against bad UTF-8
+
+Previously it was assuming valid UTF-8.
+---
+ src/hb-cairo.cc | 2 ++
+ src/hb-utf.hh | 6 ++++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/hb-cairo.cc b/src/hb-cairo.cc
+index d8b582c4908..4d22ae059ff 100644
+--- a/src/hb-cairo.cc
++++ b/src/hb-cairo.cc
+@@ -1000,6 +1000,7 @@ hb_cairo_glyphs_from_buffer (hb_buffer_t *buffer,
+ end = start + hb_glyph[i].cluster - hb_glyph[i+1].cluster;
+ else
+ end = (const char *) hb_utf_offset_to_pointer ((const uint8_t *) start,
++ (const uint8_t *) utf8, utf8_len,
+ (signed) (hb_glyph[i].cluster - hb_glyph[i+1].cluster));
+ (*clusters)[cluster].num_bytes = end - start;
+ start = end;
+@@ -1020,6 +1021,7 @@ hb_cairo_glyphs_from_buffer (hb_buffer_t *buffer,
+ end = start + hb_glyph[i].cluster - hb_glyph[i-1].cluster;
+ else
+ end = (const char *) hb_utf_offset_to_pointer ((const uint8_t *) start,
++ (const uint8_t *) utf8, utf8_len,
+ (signed) (hb_glyph[i].cluster - hb_glyph[i-1].cluster));
+ (*clusters)[cluster].num_bytes = end - start;
+ start = end;
+diff --git a/src/hb-utf.hh b/src/hb-utf.hh
+index 1120bd1cccf..6db9bf2fd79 100644
+--- a/src/hb-utf.hh
++++ b/src/hb-utf.hh
+@@ -458,19 +458,21 @@ struct hb_ascii_t
+ template
+ static inline const typename utf_t::codepoint_t *
+ hb_utf_offset_to_pointer (const typename utf_t::codepoint_t *start,
++ const typename utf_t::codepoint_t *text,
++ unsigned text_len,
+ signed offset)
+ {
+ hb_codepoint_t unicode;
+
+ while (offset-- > 0)
+ start = utf_t::next (start,
+- start + utf_t::max_len,
++ text + text_len,
+ &unicode,
+ HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT);
+
+ while (offset++ < 0)
+ start = utf_t::prev (start,
+- start - utf_t::max_len,
++ text,
+ &unicode,
+ HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT);
+
diff --git a/SPECS/harfbuzz/harfbuzz.spec b/SPECS/harfbuzz/harfbuzz.spec
index f8a7af796af..93362b045ec 100644
--- a/SPECS/harfbuzz/harfbuzz.spec
+++ b/SPECS/harfbuzz/harfbuzz.spec
@@ -1,13 +1,14 @@
Summary: opentype text shaping engine
Name: harfbuzz
Version: 8.3.0
-Release: 2%{?dist}
+Release: 3%{?dist}
License: MIT
Vendor: Microsoft Corporation
Distribution: Azure Linux
Group: System Environment/Libraries
URL: https://harfbuzz.github.io/
Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
+Patch0: CVE-2024-56732.patch
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(glib-2.0)
@@ -90,6 +91,9 @@ find . -type f -name "*.py" -exec sed -i'' -e '1 s|^#!\s*/usr/bin/env\s\+python3
%{_libdir}/libharfbuzz-icu.so.*
%changelog
+* Wed Jan 08 2025 Sudipta Pandit - 8.3.0-3
+- Patch for CVE-2024-56732
+
* Wed Jul 31 2024 Andrew Phelps - 8.3.0-2
- Update file listings to remove duplicate files
diff --git a/SPECS/hyperv-daemons/hyperv-daemons.signatures.json b/SPECS/hyperv-daemons/hyperv-daemons.signatures.json
index de83d61ba93..549c12df7b4 100644
--- a/SPECS/hyperv-daemons/hyperv-daemons.signatures.json
+++ b/SPECS/hyperv-daemons/hyperv-daemons.signatures.json
@@ -7,6 +7,6 @@
"hypervkvpd.service": "c1bb207cf9f388f8f3cf5b649abbf8cfe4c4fcf74538612946e68f350d1f265f",
"hypervvss.rules": "94cead44245ef6553ab79c0bbac8419e3ff4b241f01bcec66e6f508098cbedd1",
"hypervvssd.service": "22270d9f0f23af4ea7905f19c1d5d5495e40c1f782cbb87a99f8aec5a011078d",
- "kernel-6.6.57.1.tar.gz": "1b967b2dd19d13561fb28c5cf05fd35b8990a2ea70cc802c33d8dd1297a6fee3"
+ "kernel-6.6.64.2.tar.gz": "8b19b1d4db4add880154d1bf563625efc1b5f52e20792fc6e2628d63b74eb393"
}
}
diff --git a/SPECS/hyperv-daemons/hyperv-daemons.spec b/SPECS/hyperv-daemons/hyperv-daemons.spec
index cbf41377aa7..fb31db6708c 100644
--- a/SPECS/hyperv-daemons/hyperv-daemons.spec
+++ b/SPECS/hyperv-daemons/hyperv-daemons.spec
@@ -10,7 +10,7 @@
Summary: Hyper-V daemons suite
Name: hyperv-daemons
-Version: 6.6.57.1
+Version: 6.6.64.2
Release: 1%{?dist}
License: GPLv2+
Vendor: Microsoft Corporation
@@ -221,6 +221,9 @@ fi
%{_sbindir}/lsvmbus
%changelog
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
* Tue Oct 29 2024 CBL-Mariner Servicing Account - 6.6.57.1-1
- Auto-upgrade to 6.6.57.1
diff --git a/SPECS/ibarr/ibarr.signatures.json b/SPECS/ibarr/ibarr.signatures.json
new file mode 100644
index 00000000000..741df92c21e
--- /dev/null
+++ b/SPECS/ibarr/ibarr.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "ibarr-0.1.3.tar.gz": "db24745abfd49af9ed2b3f1990b9b00e0bd51258c282caa6fa3cf420f90b8b25"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/ibarr/ibarr.spec b/SPECS/ibarr/ibarr.spec
new file mode 100644
index 00000000000..2a4a5a481bc
--- /dev/null
+++ b/SPECS/ibarr/ibarr.spec
@@ -0,0 +1,60 @@
+Name: ibarr
+Version: 0.1.3
+Release: 2%{?dist}
+Summary: Nvidia address and route userspace resolution services for Infiniband
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/ibarr-0.1.3.tar.gz#/%{name}-%{version}.tar.gz
+Group: Applications/System
+License: (GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause
+ExclusiveArch: x86_64
+
+BuildRequires: cmake
+BuildRequires: gcc
+BuildRequires: libnl3-devel
+BuildRequires: rdma-core-devel
+
+# The SLES cmake macros do more than the RHEL ones, and have an extra
+# cmake_install with a 'cd build' inside.
+%if %{undefined cmake_install}
+%global cmake_install %make_install
+%endif
+%if %{undefined cmake_build}
+ %if %{defined make_jobs}
+ # SLES12
+ %global cmake_build %make_jobs
+ %else
+ # RHEL < 9, Fedora < ??
+ %global cmake_build %make_build
+ %endif
+%endif
+
+%description
+a userspace application that interacts over NetLink with the Linux RDMA
+subsystem and provides 2 services: ip2gid (address resolution) and gid2lid
+(PathRecord resolution).
+
+%prep
+%setup -q
+
+%build
+%cmake
+%cmake_build
+
+%install
+%cmake_install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%doc README.md
+%license COPYING.BSD_MIT
+%{_bindir}/ibarr
+# FIXME: should be in the standard directory, under _prefix.
+/lib/systemd/system/%{name}.service
+
+%changelog
+* Tue Dec 17 2024 Binu Jose Philip
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS/ibsim/ibsim.signatures.json b/SPECS/ibsim/ibsim.signatures.json
new file mode 100644
index 00000000000..bd36bdca1e6
--- /dev/null
+++ b/SPECS/ibsim/ibsim.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "ibsim-0.12.tar.gz": "f137872bf1ec1ca56c9f301ddef237a5f9c4111d6b83b4be853b58c054e454a3"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/ibsim/ibsim.spec b/SPECS/ibsim/ibsim.spec
new file mode 100644
index 00000000000..041a89f2dcf
--- /dev/null
+++ b/SPECS/ibsim/ibsim.spec
@@ -0,0 +1,53 @@
+
+%define RELEASE 2
+%define rel %{?CUSTOM_RELEASE}%{!?CUSTOM_RELEASE:%RELEASE}
+
+Summary: InfiniBand fabric simulator for management
+Name: ibsim
+Version: 0.12
+Release: 1%{?dist}
+License: GPLv2 or BSD
+Group: System Environment/Libraries
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/ibsim-0.12.tar.gz#/ibsim-%{version}.tar.gz
+Url: https://github.com/linux-rdma/ibsim
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+BuildRequires: libibmad-devel
+BuildRequires: libibumad-devel
+BuildRequires: gcc
+
+%description
+ibsim provides simulation of infiniband fabric for using with
+OFA OpenSM, diagnostic and management tools.
+
+%prep
+%setup -q
+
+%build
+export CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}"
+export LDFLAGS="${LDFLAGS:-${RPM_OPT_FLAGS}}"
+make prefix=%_prefix libpath=%_libdir binpath=%_bindir %{?_smp_mflags}
+
+%install
+export CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}"
+export LDFLAGS="${LDFLAGS:-${RPM_OPT_FLAGS}}"
+make DESTDIR=${RPM_BUILD_ROOT} prefix=%_prefix libpath=%_libdir binpath=%_bindir install
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%{_libdir}/umad2sim/libumad2sim*.so*
+%{_bindir}/ibsim
+%{_bindir}/ibsim-run
+%doc README TODO net-examples scripts
+%license COPYING
+
+%changelog
+* Tue Dec 17 2024 Binu Jose Philip
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
diff --git a/SPECS/iperf3/CVE-2024-53580.patch b/SPECS/iperf3/CVE-2024-53580.patch
new file mode 100644
index 00000000000..a91c612e31a
--- /dev/null
+++ b/SPECS/iperf3/CVE-2024-53580.patch
@@ -0,0 +1,287 @@
+From 837c1f9389fc64938a6081517c34a749a11692b0 Mon Sep 17 00:00:00 2001
+From: Kanishk-Bansal
+Date: Tue, 31 Dec 2024 09:23:23 +0000
+Subject: [PATCH] Fix CVE-2024-53580
+
+---
+ src/iperf_api.c | 98 +++++++++++++++++++++++------------------------
+ src/iperf_error.c | 6 +--
+ src/iperf_util.c | 36 +++++++++++++++++
+ src/iperf_util.h | 1 +
+ 4 files changed, 89 insertions(+), 52 deletions(-)
+
+diff --git a/src/iperf_api.c b/src/iperf_api.c
+index 7fb741e..bb3be92 100644
+--- a/src/iperf_api.c
++++ b/src/iperf_api.c
+@@ -2308,72 +2308,72 @@ get_parameters(struct iperf_test *test)
+ cJSON_free(str);
+ }
+
+- if ((j_p = cJSON_GetObjectItem(j, "tcp")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "tcp", cJSON_True)) != NULL)
+ set_protocol(test, Ptcp);
+- if ((j_p = cJSON_GetObjectItem(j, "udp")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "udp", cJSON_True)) != NULL)
+ set_protocol(test, Pudp);
+- if ((j_p = cJSON_GetObjectItem(j, "sctp")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "sctp", cJSON_True)) != NULL)
+ set_protocol(test, Psctp);
+- if ((j_p = cJSON_GetObjectItem(j, "omit")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "omit", cJSON_Number)) != NULL)
+ test->omit = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "server_affinity")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "server_affinity", cJSON_Number)) != NULL)
+ test->server_affinity = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "time")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "time", cJSON_Number)) != NULL)
+ test->duration = j_p->valueint;
+ test->settings->bytes = 0;
+- if ((j_p = cJSON_GetObjectItem(j, "num")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "num", cJSON_Number)) != NULL)
+ test->settings->bytes = j_p->valueint;
+ test->settings->blocks = 0;
+- if ((j_p = cJSON_GetObjectItem(j, "blockcount")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "blockcount", cJSON_Number)) != NULL)
+ test->settings->blocks = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "MSS")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "MSS", cJSON_Number)) != NULL)
+ test->settings->mss = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "nodelay")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "nodelay", cJSON_True)) != NULL)
+ test->no_delay = 1;
+- if ((j_p = cJSON_GetObjectItem(j, "parallel")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "parallel", cJSON_Number)) != NULL)
+ test->num_streams = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "reverse")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "reverse", cJSON_True)) != NULL)
+ iperf_set_test_reverse(test, 1);
+- if ((j_p = cJSON_GetObjectItem(j, "bidirectional")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "bidirectional", cJSON_True)) != NULL)
+ iperf_set_test_bidirectional(test, 1);
+- if ((j_p = cJSON_GetObjectItem(j, "window")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "window", cJSON_Number)) != NULL)
+ test->settings->socket_bufsize = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "len")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "len", cJSON_Number)) != NULL)
+ test->settings->blksize = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "bandwidth")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "bandwidth", cJSON_Number)) != NULL)
+ test->settings->rate = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "fqrate")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "fqrate", cJSON_Number)) != NULL)
+ test->settings->fqrate = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "pacing_timer")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "pacing_timer", cJSON_Number)) != NULL)
+ test->settings->pacing_timer = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "burst")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "burst", cJSON_Number)) != NULL)
+ test->settings->burst = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "TOS")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "TOS", cJSON_Number)) != NULL)
+ test->settings->tos = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "flowlabel")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "flowlabel", cJSON_Number)) != NULL)
+ test->settings->flowlabel = j_p->valueint;
+- if ((j_p = cJSON_GetObjectItem(j, "title")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "title", cJSON_String)) != NULL)
+ test->title = strdup(j_p->valuestring);
+- if ((j_p = cJSON_GetObjectItem(j, "extra_data")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "extra_data", cJSON_String)) != NULL)
+ test->extra_data = strdup(j_p->valuestring);
+- if ((j_p = cJSON_GetObjectItem(j, "congestion")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "congestion", cJSON_String)) != NULL)
+ test->congestion = strdup(j_p->valuestring);
+- if ((j_p = cJSON_GetObjectItem(j, "congestion_used")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "congestion_used", cJSON_String)) != NULL)
+ test->congestion_used = strdup(j_p->valuestring);
+- if ((j_p = cJSON_GetObjectItem(j, "get_server_output")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "get_server_output", cJSON_Number)) != NULL)
+ iperf_set_test_get_server_output(test, 1);
+- if ((j_p = cJSON_GetObjectItem(j, "udp_counters_64bit")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "udp_counters_64bit", cJSON_Number)) != NULL)
+ iperf_set_test_udp_counters_64bit(test, 1);
+- if ((j_p = cJSON_GetObjectItem(j, "repeating_payload")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "repeating_payload", cJSON_Number)) != NULL)
+ test->repeating_payload = 1;
+- if ((j_p = cJSON_GetObjectItem(j, "zerocopy")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "zerocopy", cJSON_Number)) != NULL)
+ test->zerocopy = j_p->valueint;
+ #if defined(HAVE_DONT_FRAGMENT)
+- if ((j_p = cJSON_GetObjectItem(j, "dont_fragment")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "dont_fragment", cJSON_Number)) != NULL)
+ test->settings->dont_fragment = j_p->valueint;
+ #endif /* HAVE_DONT_FRAGMENT */
+ #if defined(HAVE_SSL)
+- if ((j_p = cJSON_GetObjectItem(j, "authtoken")) != NULL)
++ if ((j_p = iperf_cJSON_GetObjectItemType(j, "authtoken", cJSON_String)) != NULL)
+ test->settings->authtoken = strdup(j_p->valuestring);
+ #endif //HAVE_SSL
+ if (test->mode && test->protocol->id == Ptcp && has_tcpinfo_retransmits())
+@@ -2532,10 +2532,10 @@ get_results(struct iperf_test *test)
+ i_errno = IERECVRESULTS;
+ r = -1;
+ } else {
+- j_cpu_util_total = cJSON_GetObjectItem(j, "cpu_util_total");
+- j_cpu_util_user = cJSON_GetObjectItem(j, "cpu_util_user");
+- j_cpu_util_system = cJSON_GetObjectItem(j, "cpu_util_system");
+- j_sender_has_retransmits = cJSON_GetObjectItem(j, "sender_has_retransmits");
++ j_cpu_util_total = iperf_cJSON_GetObjectItemType(j, "cpu_util_total", cJSON_Number);
++ j_cpu_util_user = iperf_cJSON_GetObjectItemType(j, "cpu_util_user", cJSON_Number);
++ j_cpu_util_system = iperf_cJSON_GetObjectItemType(j, "cpu_util_system", cJSON_Number);
++ j_sender_has_retransmits = iperf_cJSON_GetObjectItemType(j, "sender_has_retransmits", cJSON_Number);
+ if (j_cpu_util_total == NULL || j_cpu_util_user == NULL || j_cpu_util_system == NULL || j_sender_has_retransmits == NULL) {
+ i_errno = IERECVRESULTS;
+ r = -1;
+@@ -2557,7 +2557,7 @@ get_results(struct iperf_test *test)
+ else if ( test->mode == BIDIRECTIONAL )
+ test->other_side_has_retransmits = result_has_retransmits;
+
+- j_streams = cJSON_GetObjectItem(j, "streams");
++ j_streams = iperf_cJSON_GetObjectItemType(j, "streams", cJSON_Array);
+ if (j_streams == NULL) {
+ i_errno = IERECVRESULTS;
+ r = -1;
+@@ -2569,16 +2569,16 @@ get_results(struct iperf_test *test)
+ i_errno = IERECVRESULTS;
+ r = -1;
+ } else {
+- j_id = cJSON_GetObjectItem(j_stream, "id");
+- j_bytes = cJSON_GetObjectItem(j_stream, "bytes");
+- j_retransmits = cJSON_GetObjectItem(j_stream, "retransmits");
+- j_jitter = cJSON_GetObjectItem(j_stream, "jitter");
+- j_errors = cJSON_GetObjectItem(j_stream, "errors");
+- j_omitted_errors = cJSON_GetObjectItem(j_stream, "omitted_errors");
+- j_packets = cJSON_GetObjectItem(j_stream, "packets");
+- j_omitted_packets = cJSON_GetObjectItem(j_stream, "omitted_packets");
+- j_start_time = cJSON_GetObjectItem(j_stream, "start_time");
+- j_end_time = cJSON_GetObjectItem(j_stream, "end_time");
++ j_id = iperf_cJSON_GetObjectItemType(j_stream, "id", cJSON_Number);
++ j_bytes = iperf_cJSON_GetObjectItemType(j_stream, "bytes", cJSON_Number);
++ j_retransmits = iperf_cJSON_GetObjectItemType(j_stream, "retransmits", cJSON_Number);
++ j_jitter = iperf_cJSON_GetObjectItemType(j_stream, "jitter", cJSON_Number);
++ j_errors = iperf_cJSON_GetObjectItemType(j_stream, "errors", cJSON_Number);
++ j_omitted_errors = iperf_cJSON_GetObjectItemType(j_stream, "omitted_errors", cJSON_Number);
++ j_packets = iperf_cJSON_GetObjectItemType(j_stream, "packets", cJSON_Number);
++ j_omitted_packets = iperf_cJSON_GetObjectItemType(j_stream, "omitted_packets", cJSON_Number);
++ j_start_time = iperf_cJSON_GetObjectItemType(j_stream, "start_time", cJSON_Number);
++ j_end_time = iperf_cJSON_GetObjectItemType(j_stream, "end_time", cJSON_Number);
+ if (j_id == NULL || j_bytes == NULL || j_retransmits == NULL || j_jitter == NULL || j_errors == NULL || j_packets == NULL) {
+ i_errno = IERECVRESULTS;
+ r = -1;
+@@ -2667,7 +2667,7 @@ get_results(struct iperf_test *test)
+ }
+ else {
+ /* No JSON, look for textual output. Make a copy of the text for later. */
+- j_server_output = cJSON_GetObjectItem(j, "server_output_text");
++ j_server_output = iperf_cJSON_GetObjectItemType(j, "server_output_text", cJSON_String);
+ if (j_server_output != NULL) {
+ test->server_output_text = strdup(j_server_output->valuestring);
+ }
+@@ -2676,7 +2676,7 @@ get_results(struct iperf_test *test)
+ }
+ }
+
+- j_remote_congestion_used = cJSON_GetObjectItem(j, "congestion_used");
++ j_remote_congestion_used = iperf_cJSON_GetObjectItemType(j, "congestion_used", cJSON_String);
+ if (j_remote_congestion_used != NULL) {
+ test->remote_congestion_used = strdup(j_remote_congestion_used->valuestring);
+ }
+@@ -4878,7 +4878,7 @@ iperf_json_finish(struct iperf_test *test)
+
+ /* --json-stream, so we print various individual objects */
+ if (test->json_stream) {
+- cJSON *error = cJSON_GetObjectItem(test->json_top, "error");
++ cJSON *error = iperf_cJSON_GetObjectItemType(test->json_top, "error", cJSON_String);
+ if (error) {
+ JSONStream_Output(test, "error", error);
+ }
+diff --git a/src/iperf_error.c b/src/iperf_error.c
+index 0fedf31..3cb9b45 100644
+--- a/src/iperf_error.c
++++ b/src/iperf_error.c
+@@ -60,11 +60,11 @@ iperf_err(struct iperf_test *test, const char *format, ...)
+ if (test != NULL && test->json_output && test->json_top != NULL)
+ cJSON_AddStringToObject(test->json_top, "error", str);
+ else {
+- if (pthread_mutex_lock(&(test->print_mutex)) != 0) {
++ if (test != NULL && pthread_mutex_lock(&(test->print_mutex)) != 0) {
+ perror("iperf_err: pthread_mutex_lock");
+ }
+
+- if (test && test->outfile && test->outfile != stdout) {
++ if (test != NULL && test->outfile != NULL && test->outfile != stdout) {
+ if (ct) {
+ fprintf(test->outfile, "%s", ct);
+ }
+@@ -77,7 +77,7 @@ iperf_err(struct iperf_test *test, const char *format, ...)
+ fprintf(stderr, "iperf3: %s\n", str);
+ }
+
+- if (pthread_mutex_unlock(&(test->print_mutex)) != 0) {
++ if (test != NULL && pthread_mutex_unlock(&(test->print_mutex)) != 0) {
+ perror("iperf_err: pthread_mutex_unlock");
+ }
+
+diff --git a/src/iperf_util.c b/src/iperf_util.c
+index 81e8da1..a8a32e1 100644
+--- a/src/iperf_util.c
++++ b/src/iperf_util.c
+@@ -430,6 +430,42 @@ iperf_json_printf(const char *format, ...)
+ return o;
+ }
+
++/********************** cJSON GetObjectItem w/ Type Helper ********************/
++cJSON * iperf_cJSON_GetObjectItemType(cJSON * j, char * item_string, int expected_type){
++ cJSON *j_p;
++ if((j_p = cJSON_GetObjectItem(j, item_string)) != NULL)
++ switch(expected_type){
++ case cJSON_True:
++ if(cJSON_IsBool(j_p))
++ return j_p;
++ else
++ iperf_err(NULL, "iperf_cJSON_GetObjectItemType mismatch %s", item_string);
++ break;
++ case cJSON_String:
++ if(cJSON_IsString(j_p))
++ return j_p;
++ else
++ iperf_err(NULL, "iperf_cJSON_GetObjectItemType mismatch %s", item_string);
++ break;
++ case cJSON_Number:
++ if(cJSON_IsNumber(j_p))
++ return j_p;
++ else
++ iperf_err(NULL, "iperf_cJSON_GetObjectItemType mismatch %s", item_string);
++ break;
++ case cJSON_Array:
++ if(cJSON_IsArray(j_p))
++ return j_p;
++ else
++ iperf_err(NULL, "iperf_cJSON_GetObjectItemType mismatch %s", item_string);
++ break;
++ default:
++ iperf_err(NULL, "unsupported type");
++ }
++
++ return NULL;
++}
++
+ /* Debugging routine to dump out an fd_set. */
+ void
+ iperf_dump_fdset(FILE *fp, const char *str, int nfds, fd_set *fds)
+diff --git a/src/iperf_util.h b/src/iperf_util.h
+index b109af2..c39a1f7 100644
+--- a/src/iperf_util.h
++++ b/src/iperf_util.h
+@@ -53,6 +53,7 @@ const char* get_system_info(void);
+ const char* get_optional_features(void);
+
+ cJSON* iperf_json_printf(const char *format, ...);
++cJSON * iperf_cJSON_GetObjectItemType(cJSON * j_p, char * item_string, int expected_type);
+
+ void iperf_dump_fdset(FILE *fp, const char *str, int nfds, fd_set *fds);
+
+--
+2.45.2
+
diff --git a/SPECS/iperf3/iperf3.spec b/SPECS/iperf3/iperf3.spec
index 77ae18a0319..6b5adf200cc 100644
--- a/SPECS/iperf3/iperf3.spec
+++ b/SPECS/iperf3/iperf3.spec
@@ -1,7 +1,7 @@
Summary: A network performance benchmark tool.
Name: iperf3
Version: 3.17.1
-Release: 1%{?dist}
+Release: 2%{?dist}
License: BSD and MIT and Public Domain
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -9,6 +9,7 @@ Group: Applications/System
URL: https://github.com/esnet/iperf
Source0: https://github.com/esnet/iperf/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch1: disablepg.patch
+Patch2: CVE-2024-53580.patch
BuildRequires: autoconf >= 2.71
BuildRequires: automake
@@ -66,6 +67,9 @@ make %{?_smp_mflags} check
%{_mandir}/man3/libiperf.3.gz
%changelog
+* Tue Dec 31 2024 Kanishk Bansal - 3.17.1-2
+- Address CVE-2024-53580 using an upstream patch.
+
* Fri Aug 09 2024 Muhammad Falak - 3.17.1-1
- Update version to 3.17.1 to address CVE-2024-26306
diff --git a/SPECS/iptraf-ng/iptraf-ng.signatures.json b/SPECS/iptraf-ng/iptraf-ng.signatures.json
index 2bfd3221d23..92d93eeda65 100644
--- a/SPECS/iptraf-ng/iptraf-ng.signatures.json
+++ b/SPECS/iptraf-ng/iptraf-ng.signatures.json
@@ -1,7 +1,7 @@
{
- "Signatures": {
- "iptraf-ng-1.2.1.tar.gz": "9f5cef584065420dea1ba32c86126aede1fa9bd25b0f8362b0f9fd9754f00870",
- "iptraf-ng-logrotate.conf": "c9c1f849fb04dceeff50aa3e2bd2c40f5e8656e00d1dabcde36e1e9dcfa7a1bb",
- "iptraf-ng-tmpfiles.conf": "cd9e13572be9836f8efe6fcea198ccffad97b1db7f97bf0133b7d477f9d65ed0"
- }
+ "Signatures": {
+ "iptraf-ng-logrotate.conf": "c9c1f849fb04dceeff50aa3e2bd2c40f5e8656e00d1dabcde36e1e9dcfa7a1bb",
+ "iptraf-ng-tmpfiles.conf": "cd9e13572be9836f8efe6fcea198ccffad97b1db7f97bf0133b7d477f9d65ed0",
+ "iptraf-ng-1.2.2.tar.gz": "75fd653745ea0705995c25e6c07b34252ecc2563c6a91b007a3a8c26f29cc252"
+ }
}
diff --git a/SPECS/iptraf-ng/iptraf-ng.spec b/SPECS/iptraf-ng/iptraf-ng.spec
index e6470100552..700c1657171 100644
--- a/SPECS/iptraf-ng/iptraf-ng.spec
+++ b/SPECS/iptraf-ng/iptraf-ng.spec
@@ -2,7 +2,7 @@ Vendor: Microsoft Corporation
Distribution: Azure Linux
Summary: A console-based network monitoring utility
Name: iptraf-ng
-Version: 1.2.1
+Version: 1.2.2
Release: 1%{?dist}
Source0: https://github.com/iptraf-ng/iptraf-ng/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: %{name}-logrotate.conf
@@ -70,6 +70,9 @@ install -d -m 0755 %{buildroot}/run/%{name}/
%{_prefix}/lib/tmpfiles.d/%{name}.conf
%changelog
+* Mon Jan 06 2025 CBL-Mariner Servicing Account - 1.2.2-1
+- Auto-upgrade to 1.2.2 - none
+
* Tue Jun 21 2022 Jon Slobodzian - 1.2.1-1
- Upgrading to fix build break and align with latest ncurses update.
- License verified.
diff --git a/SPECS/iser/iser.signatures.json b/SPECS/iser/iser.signatures.json
new file mode 100644
index 00000000000..7091fd70f69
--- /dev/null
+++ b/SPECS/iser/iser.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "iser-24.10.tgz": "d9c1344146697664a32d47e933b1ab26d4ba1899ea5936c2b6216316a1d974a5"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/iser/iser.spec b/SPECS/iser/iser.spec
new file mode 100644
index 00000000000..f1bfeaba193
--- /dev/null
+++ b/SPECS/iser/iser.spec
@@ -0,0 +1,254 @@
+#
+# Copyright (c) 2014 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global last-known-kernel 6.6.64.2
+
+%if 0%{azl}
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel-headers)
+%else
+%global target_kernel_version_full f.a.k.e
+%endif
+
+%global KVERSION %{target_kernel_version_full}
+%global K_SRC /lib/modules/%{target_kernel_version_full}/build
+
+%{!?_name: %define _name iser}
+%{!?_version: %define _version 24.10}
+%{!?_release: %define _release OFED.24.10.0.6.7.1}
+
+# KMP is disabled by default
+%{!?KMP: %global KMP 0}
+
+# take kernel version or default to uname -r
+# %{!?KVERSION: %global KVERSION %(uname -r)}
+%{!?KVERSION: %global KVERSION %{target_kernel_version_full}}
+%global kernel_version %{KVERSION}
+%global krelver %(echo -n %{KVERSION} | sed -e 's/-/_/g')
+# take path to kernel sources if provided, otherwise look in default location (for non KMP rpms).
+# %{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build}
+
+# define release version
+%{!?src_release: %global src_release %{_release}_%{krelver}}
+%if "%{KMP}" != "1"
+%global _release1 %{src_release}
+%else
+%global _release1 %{_release}
+%endif
+%global _kmp_rel %{_release1}%{?_kmp_build_num}%{?_dist}
+
+Summary: %{_name} Driver
+Name: iser
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/iser-24.10.tgz#/iser-%{_version}.tgz
+BuildRoot: /var/tmp/%{name}-%{version}-build
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: kernel-devel = %{target_kernel_version_full}
+BuildRequires: kernel-headers = %{target_kernel_version_full}
+BuildRequires: binutils
+BuildRequires: systemd
+BuildRequires: kmod
+BuildRequires: mlnx-ofa_kernel-devel = %{_version}
+BuildRequires: mlnx-ofa_kernel-source = %{_version}
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+%{name} kernel modules
+
+# build KMP rpms?
+%if "%{KMP}" == "1"
+%global kernel_release() $(make -s -C %{1} kernelrelease M=$PWD)
+BuildRequires: %kernel_module_package_buildreqs
+%(mkdir -p %{buildroot})
+%(echo '%defattr (-,root,root)' > %{buildroot}/file_list)
+%(echo '/lib/modules/%2-%1' >> %{buildroot}/file_list)
+%(echo '%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*-%1.conf' >> %{buildroot}/file_list)
+%{kernel_module_package -f %{buildroot}/file_list -x xen -r %{_kmp_rel} }
+%else
+%global kernel_source() %{K_SRC}
+%global kernel_release() %{KVERSION}
+%global flavors_to_build default
+%endif
+
+#
+# setup module sign scripts if paths to the keys are given
+#
+%global WITH_MOD_SIGN %(if ( test -f "$MODULE_SIGN_PRIV_KEY" && test -f "$MODULE_SIGN_PUB_KEY" ); \
+ then \
+ echo -n '1'; \
+ else \
+ echo -n '0'; fi)
+
+%if "%{WITH_MOD_SIGN}" == "1"
+# call module sign script
+%global __modsign_install_post \
+ %{_builddir}/%{name}-%{version}/source/tools/sign-modules %{buildroot}/lib/modules/ %{kernel_source default} || exit 1 \
+%{nil}
+
+%global __debug_package 1
+%global buildsubdir %{name}-%{version}
+# Disgusting hack alert! We need to ensure we sign modules *after* all
+# invocations of strip occur, which is in __debug_install_post if
+# find-debuginfo.sh runs, and __os_install_post if not.
+#
+%global __spec_install_post \
+ %{?__debug_package:%{__debug_install_post}} \
+ %{__arch_install_post} \
+ %{__os_install_post} \
+ %{__modsign_install_post} \
+%{nil}
+
+%endif # end of setup module sign scripts
+#
+
+%if "%{_vendor}" == "suse"
+%debug_package
+%endif
+
+%if 0%{?anolis} == 8
+%global __find_requires %{nil}
+%endif
+
+# set modules dir
+%if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+%if 0%{?fedora}
+%global install_mod_dir updates/%{name}
+%else
+%global install_mod_dir extra/%{name}
+%endif
+%endif
+
+%if "%{_vendor}" == "suse"
+%global install_mod_dir updates/%{name}
+%endif
+
+%{!?install_mod_dir: %global install_mod_dir updates/%{name}}
+
+%prep
+%setup
+set -- *
+mkdir source
+mv "$@" source/
+mkdir obj
+
+%build
+export EXTRA_CFLAGS='-DVERSION=\"%version\"'
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export CONF_OPTIONS="%{configure_options}"
+for flavor in %{flavors_to_build}; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ export LIB_MOD_DIR=/lib/modules/$KVER/$INSTALL_MOD_DIR
+ rm -rf obj/$flavor
+ cp -r source obj/$flavor
+ cd $PWD/obj/$flavor
+ make
+ cd -
+done
+
+%install
+export INSTALL_MOD_PATH=%{buildroot}
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export PREFIX=%{_prefix}
+for flavor in %flavors_to_build; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ cd $PWD/obj/$flavor
+ make install KERNELRELEASE=$KVER
+ # Cleanup unnecessary kernel-generated module dependency files.
+ find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
+ cd -
+done
+
+# Set the module(s) to be executable, so that they will be stripped when packaged.
+find %{buildroot} \( -type f -name '*.ko' -o -name '*ko.gz' \) -exec %{__chmod} u+x \{\} \;
+
+%{__install} -d %{buildroot}%{_sysconfdir}/depmod.d/
+for module in `find %{buildroot}/ -name '*.ko' -o -name '*.ko.gz' | sort`
+do
+ko_name=${module##*/}
+mod_name=${ko_name/.ko*/}
+mod_path=${module/*\/%{name}}
+mod_path=${mod_path/\/${ko_name}}
+%if "%{_vendor}" == "suse"
+ for flavor in %{flavors_to_build}; do
+ if [[ $module =~ $flavor ]] || [ "X%{KMP}" != "X1" ];then
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}-$flavor.conf
+ fi
+ done
+%else
+ %if 0%{?fedora}
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %else
+ %if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+ echo "override ${mod_name} * weak-updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+ echo "override ${mod_name} * extra/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+%endif
+done
+
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%if "%{KMP}" != "1"
+%files
+%defattr(-,root,root,-)
+%license source/debian/copyright
+/lib/modules/%{KVERSION}/%{install_mod_dir}/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+%endif
+
+%changelog
+* Tue Dec 17 2024 Binu Jose Philip
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
+* Thu Feb 20 2014 Alaa Hleihel
+- Initial packaging
diff --git a/SPECS/isert/isert.signatures.json b/SPECS/isert/isert.signatures.json
new file mode 100644
index 00000000000..616d6a2865f
--- /dev/null
+++ b/SPECS/isert/isert.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "isert-24.10.tgz": "ee91338b063800563b7a1cc1adfb29ff8913b17b0bc941a24995211f3268d33a"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/isert/isert.spec b/SPECS/isert/isert.spec
new file mode 100644
index 00000000000..bb145a141d8
--- /dev/null
+++ b/SPECS/isert/isert.spec
@@ -0,0 +1,254 @@
+#
+# Copyright (c) 2014 Mellanox Technologies. All rights reserved.
+#
+# This Software is licensed under one of the following licenses:
+#
+# 1) under the terms of the "Common Public License 1.0" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/cpl.php.
+#
+# 2) under the terms of the "The BSD License" a copy of which is
+# available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/bsd-license.php.
+#
+# 3) under the terms of the "GNU General Public License (GPL) Version 2" a
+# copy of which is available from the Open Source Initiative, see
+# http://www.opensource.org/licenses/gpl-license.php.
+#
+# Licensee has the right to choose one of the above licenses.
+#
+# Redistributions of source code must retain the above copyright
+# notice and one of the license notices.
+#
+# Redistributions in binary form must reproduce both the above copyright
+# notice, one of the license notices in the documentation
+# and/or other materials provided with the distribution.
+#
+#
+
+%global last-known-kernel 6.6.64.2
+
+%if 0%{azl}
+%global target_kernel_version_full %(/bin/rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel-headers)
+%else
+%global target_kernel_version_full f.a.k.e
+%endif
+
+%global KVERSION %{target_kernel_version_full}
+%global K_SRC /lib/modules/%{target_kernel_version_full}/build
+
+%{!?_name: %define _name isert}
+%{!?_version: %define _version 24.10}
+%{!?_release: %define _release OFED.24.10.0.6.7.1}
+
+# KMP is disabled by default
+%{!?KMP: %global KMP 0}
+
+# take kernel version or default to uname -r
+# %{!?KVERSION: %global KVERSION %(uname -r)}
+%{!?KVERSION: %global KVERSION %{target_kernel_version_full}}
+%global kernel_version %{KVERSION}
+%global krelver %(echo -n %{KVERSION} | sed -e 's/-/_/g')
+# take path to kernel sources if provided, otherwise look in default location (for non KMP rpms).
+# %{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build}
+
+# define release version
+%{!?src_release: %global src_release %{_release}_%{krelver}}
+%if "%{KMP}" != "1"
+%global _release1 %{src_release}
+%else
+%global _release1 %{_release}
+%endif
+%global _kmp_rel %{_release1}%{?_kmp_build_num}%{?_dist}
+
+Summary: %{_name} Driver
+Name: isert
+Version: 24.10
+Release: 1%{?dist}
+License: GPLv2
+Url: http://www.mellanox.com
+Group: System Environment/Base
+Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/isert-24.10.tgz#/isert-%{_version}.tgz
+BuildRoot: /var/tmp/%{name}-%{version}-build
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+ExclusiveArch: x86_64
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: kernel-devel = %{target_kernel_version_full}
+BuildRequires: kernel-headers = %{target_kernel_version_full}
+BuildRequires: binutils
+BuildRequires: systemd
+BuildRequires: kmod
+BuildRequires: mlnx-ofa_kernel-devel = %{_version}
+BuildRequires: mlnx-ofa_kernel-source = %{_version}
+
+Requires: mlnx-ofa_kernel = %{_version}
+Requires: mlnx-ofa_kernel-modules = %{_version}
+Requires: kernel = %{target_kernel_version_full}
+Requires: kmod
+
+%description
+%{name} kernel modules
+
+# build KMP rpms?
+%if "%{KMP}" == "1"
+%global kernel_release() $(make -s -C %{1} kernelrelease M=$PWD)
+BuildRequires: %kernel_module_package_buildreqs
+%(mkdir -p %{buildroot})
+%(echo '%defattr (-,root,root)' > %{buildroot}/file_list)
+%(echo '/lib/modules/%2-%1' >> %{buildroot}/file_list)
+%(echo '%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*-%1.conf' >> %{buildroot}/file_list)
+%{kernel_module_package -f %{buildroot}/file_list -x xen -r %{_kmp_rel} }
+%else
+%global kernel_source() %{K_SRC}
+%global kernel_release() %{KVERSION}
+%global flavors_to_build default
+%endif
+
+#
+# setup module sign scripts if paths to the keys are given
+#
+%global WITH_MOD_SIGN %(if ( test -f "$MODULE_SIGN_PRIV_KEY" && test -f "$MODULE_SIGN_PUB_KEY" ); \
+ then \
+ echo -n '1'; \
+ else \
+ echo -n '0'; fi)
+
+%if "%{WITH_MOD_SIGN}" == "1"
+# call module sign script
+%global __modsign_install_post \
+ %{_builddir}/%{name}-%{version}/source/tools/sign-modules %{buildroot}/lib/modules/ %{kernel_source default} || exit 1 \
+%{nil}
+
+%global __debug_package 1
+%global buildsubdir %{name}-%{version}
+# Disgusting hack alert! We need to ensure we sign modules *after* all
+# invocations of strip occur, which is in __debug_install_post if
+# find-debuginfo.sh runs, and __os_install_post if not.
+#
+%global __spec_install_post \
+ %{?__debug_package:%{__debug_install_post}} \
+ %{__arch_install_post} \
+ %{__os_install_post} \
+ %{__modsign_install_post} \
+%{nil}
+
+%endif # end of setup module sign scripts
+#
+
+%if "%{_vendor}" == "suse"
+%debug_package
+%endif
+
+%if 0%{?anolis} == 8
+%global __find_requires %{nil}
+%endif
+
+# set modules dir
+%if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+%if 0%{?fedora}
+%global install_mod_dir updates/%{name}
+%else
+%global install_mod_dir extra/%{name}
+%endif
+%endif
+
+%if "%{_vendor}" == "suse"
+%global install_mod_dir updates/%{name}
+%endif
+
+%{!?install_mod_dir: %global install_mod_dir updates/%{name}}
+
+%prep
+%setup
+set -- *
+mkdir source
+mv "$@" source/
+mkdir obj
+
+%build
+export EXTRA_CFLAGS='-DVERSION=\"%version\"'
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export CONF_OPTIONS="%{configure_options}"
+for flavor in %{flavors_to_build}; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ export LIB_MOD_DIR=/lib/modules/$KVER/$INSTALL_MOD_DIR
+ rm -rf obj/$flavor
+ cp -r source obj/$flavor
+ cd $PWD/obj/$flavor
+ make
+ cd -
+done
+
+%install
+export INSTALL_MOD_PATH=%{buildroot}
+export INSTALL_MOD_DIR=%{install_mod_dir}
+export PREFIX=%{_prefix}
+for flavor in %flavors_to_build; do
+ export K_BUILD=%{kernel_source $flavor}
+ export KVER=%{kernel_release $K_BUILD}
+ cd $PWD/obj/$flavor
+ make install KERNELRELEASE=$KVER
+ # Cleanup unnecessary kernel-generated module dependency files.
+ find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
+ cd -
+done
+
+# Set the module(s) to be executable, so that they will be stripped when packaged.
+find %{buildroot} \( -type f -name '*.ko' -o -name '*ko.gz' \) -exec %{__chmod} u+x \{\} \;
+
+%{__install} -d %{buildroot}%{_sysconfdir}/depmod.d/
+for module in `find %{buildroot}/ -name '*.ko' -o -name '*.ko.gz' | sort`
+do
+ko_name=${module##*/}
+mod_name=${ko_name/.ko*/}
+mod_path=${module/*\/%{name}}
+mod_path=${mod_path/\/${ko_name}}
+%if "%{_vendor}" == "suse"
+ for flavor in %{flavors_to_build}; do
+ if [[ $module =~ $flavor ]] || [ "X%{KMP}" != "X1" ];then
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}-$flavor.conf
+ fi
+ done
+%else
+ %if 0%{?fedora}
+ echo "override ${mod_name} * updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %else
+ %if "%{_vendor}" == "redhat" || ("%{_vendor}" == "openEuler")
+ echo "override ${mod_name} * weak-updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+ echo "override ${mod_name} * extra/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz02-%{name}-${mod_name}.conf
+ %endif
+%endif
+done
+
+
+%clean
+rm -rf %{buildroot}
+
+%post
+if [ $1 -ge 1 ]; then # 1 : This package is being installed or reinstalled
+ /sbin/depmod %{KVERSION}
+fi # 1 : closed
+# END of post
+
+%postun
+/sbin/depmod %{KVERSION}
+
+%if "%{KMP}" != "1"
+%files
+%defattr(-,root,root,-)
+%license source/debian/copyright
+/lib/modules/%{KVERSION}/%{install_mod_dir}/
+%config(noreplace) %{_sysconfdir}/depmod.d/zz02-%{name}-*.conf
+%endif
+
+%changelog
+* Tue Dec 17 2024 Binu Jose Philip
+- Initial Azure Linux import from NVIDIA (license: GPLv2)
+- License verified
+* Thu Feb 20 2014 Alaa Hleihel
+- Initial packaging
diff --git a/SPECS/kernel-64k/config_aarch64 b/SPECS/kernel-64k/config_aarch64
index f9ea766b12b..b6028476fa0 100644
--- a/SPECS/kernel-64k/config_aarch64
+++ b/SPECS/kernel-64k/config_aarch64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 6.6.57.1 Kernel Configuration
+# Linux/arm64 6.6.64.2 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.0"
CONFIG_CC_IS_GCC=y
@@ -529,7 +529,6 @@ CONFIG_ARM64_EPAN=y
# end of ARMv8.7 architectural features
CONFIG_ARM64_SVE=y
-CONFIG_ARM64_SME=y
CONFIG_ARM64_PSEUDO_NMI=y
# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set
CONFIG_RELOCATABLE=y
@@ -8770,10 +8769,8 @@ CONFIG_COMMON_CLK_MT8192=y
# CONFIG_COMMON_CLK_MT8192_VENCSYS is not set
CONFIG_COMMON_CLK_MT8195=y
CONFIG_COMMON_CLK_MT8195_APUSYS=y
-CONFIG_COMMON_CLK_MT8195_AUDSYS=y
CONFIG_COMMON_CLK_MT8195_IMP_IIC_WRAP=y
CONFIG_COMMON_CLK_MT8195_MFGCFG=y
-CONFIG_COMMON_CLK_MT8195_MSDC=y
CONFIG_COMMON_CLK_MT8195_SCP_ADSP=y
CONFIG_COMMON_CLK_MT8195_VDOSYS=y
CONFIG_COMMON_CLK_MT8195_VPPSYS=y
@@ -10411,6 +10408,8 @@ CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y
CONFIG_SECURITY_LANDLOCK=y
CONFIG_SECURITY_IPE=y
CONFIG_IPE_BOOT_POLICY=""
+CONFIG_IPE_POLICY_SIG_SECONDARY_KEYRING=y
+CONFIG_IPE_POLICY_SIG_PLATFORM_KEYRING=y
#
# IPE Trust Providers
@@ -10419,7 +10418,6 @@ CONFIG_IPE_PROP_DM_VERITY=y
CONFIG_IPE_PROP_DM_VERITY_SIGNATURE=y
CONFIG_IPE_PROP_FS_VERITY=y
CONFIG_IPE_PROP_FS_VERITY_BUILTIN_SIG=y
-CONFIG_IPE_PROP_INTENDED_PATHNAME=y
# end of IPE Trust Providers
CONFIG_INTEGRITY=y
@@ -10550,7 +10548,8 @@ CONFIG_CRYPTO_ENGINE=y
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
-# CONFIG_CRYPTO_DH is not set
+CONFIG_CRYPTO_DH=m
+# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
# CONFIG_CRYPTO_ECDSA is not set
diff --git a/SPECS/kernel-64k/kernel-64k.signatures.json b/SPECS/kernel-64k/kernel-64k.signatures.json
index a935b60e887..0d3ae0bd6a4 100644
--- a/SPECS/kernel-64k/kernel-64k.signatures.json
+++ b/SPECS/kernel-64k/kernel-64k.signatures.json
@@ -1,10 +1,10 @@
{
"Signatures": {
"azurelinux-ca-20230216.pem": "d545401163c75878319f01470455e6bc18a5968e39dd964323225e3fe308849b",
- "config_aarch64": "2e511edb6a5a6236c6f7307f070df422bd6032b1e572f8f44ef4134ecea7d5b7",
+ "config_aarch64": "6f1c7d15f41c38d45b131e3fd33fa4161f732e4afa1c47fbb2aaea078fbb3183",
"cpupower": "d7518767bf2b1110d146a49c7d42e76b803f45eb8bd14d931aa6d0d346fae985",
"cpupower.service": "b057fe9e5d0e8c36f485818286b80e3eba8ff66ff44797940e99b1fd5361bb98",
"sha512hmac-openssl.sh": "02ab91329c4be09ee66d759e4d23ac875037c3b56e5a598e32fd1206da06a27f",
- "kernel-6.6.57.1.tar.gz": "1b967b2dd19d13561fb28c5cf05fd35b8990a2ea70cc802c33d8dd1297a6fee3"
+ "kernel-6.6.64.2.tar.gz": "8b19b1d4db4add880154d1bf563625efc1b5f52e20792fc6e2628d63b74eb393"
}
}
diff --git a/SPECS/kernel-64k/kernel-64k.spec b/SPECS/kernel-64k/kernel-64k.spec
index ff0277bfec8..e7859e230b0 100644
--- a/SPECS/kernel-64k/kernel-64k.spec
+++ b/SPECS/kernel-64k/kernel-64k.spec
@@ -24,8 +24,8 @@
Summary: Linux Kernel
Name: kernel-64k
-Version: 6.6.57.1
-Release: 7%{?dist}
+Version: 6.6.64.2
+Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -370,6 +370,16 @@ echo "initrd of kernel %{uname_r} removed" >&2
%{_sysconfdir}/bash_completion.d/bpftool
%changelog
+* Fri Jan 10 2025 Rachel Menge - 6.6.64.2-2
+- Bump release to match kernel
+
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
+* Wed Jan 08 2025 Tobias Brick - 6.6.57.1-8
+- Enable dh kernel module (CONFIG_CRYPTO_DH) in aarch64
+- Bump release to match kernel
+
* Sun Dec 22 2024 Ankita Pareek - 6.6.57.1-7
- Bump release to match kernel
diff --git a/SPECS/kernel-headers/kernel-headers.signatures.json b/SPECS/kernel-headers/kernel-headers.signatures.json
index 302a1c69051..8338b5bda0b 100644
--- a/SPECS/kernel-headers/kernel-headers.signatures.json
+++ b/SPECS/kernel-headers/kernel-headers.signatures.json
@@ -1,5 +1,5 @@
{
"Signatures": {
- "kernel-6.6.57.1.tar.gz": "1b967b2dd19d13561fb28c5cf05fd35b8990a2ea70cc802c33d8dd1297a6fee3"
+ "kernel-6.6.64.2.tar.gz": "8b19b1d4db4add880154d1bf563625efc1b5f52e20792fc6e2628d63b74eb393"
}
}
diff --git a/SPECS/kernel-headers/kernel-headers.spec b/SPECS/kernel-headers/kernel-headers.spec
index 96cebd1e25c..d8b359eab81 100644
--- a/SPECS/kernel-headers/kernel-headers.spec
+++ b/SPECS/kernel-headers/kernel-headers.spec
@@ -13,8 +13,8 @@
Summary: Linux API header files
Name: kernel-headers
-Version: 6.6.57.1
-Release: 7%{?dist}
+Version: 6.6.64.2
+Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Azure Linux
@@ -75,6 +75,15 @@ done
%endif
%changelog
+* Fri Jan 10 2025 Rachel Menge - 6.6.64.2-2
+- Bump release to match kernel
+
+* Thu Jan 09 2025 CBL-Mariner Servicing Account - 6.6.64.2-1
+- Auto-upgrade to 6.6.64.2
+
+* Wed Jan 08 2025 Tobias Brick - 6.6.57.1-8
+- Bump release to match kernel
+
* Sun Dec 22 2024 Ankita Pareek - 6.6.57.1-7
- Bump release to match kernel
diff --git a/SPECS/kernel-srpm-macros/brp-kmod-restore-perms b/SPECS/kernel-srpm-macros/brp-kmod-restore-perms
new file mode 100755
index 00000000000..ffabefc2307
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/brp-kmod-restore-perms
@@ -0,0 +1,28 @@
+#! /bin/bash -efu
+
+## A counterpart of brp-kmod-set-exec-bits that restores original kmod
+## file permissions
+
+# If using normal root, avoid changing anything.
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] || exit 0
+
+# Checking for required programs
+which chmod >/dev/null || exit 0
+
+[ -r "$RPM_BUILD_ROOT/kmod-permissions.list" ] || exit 0
+
+while read perm path; do
+ [ -n "$perm" ] || continue
+
+ # Account for possible kernel module compression
+ [ -e "$RPM_BUILD_ROOT/$path" ] || {
+ [ \! -e "$RPM_BUILD_ROOT/$path.gz" ] || path="$path.gz"
+ [ \! -e "$RPM_BUILD_ROOT/$path.bz2" ] || path="$path.bz2"
+ [ \! -e "$RPM_BUILD_ROOT/$path.xz" ] || path="$path.xz"
+ [ \! -e "$RPM_BUILD_ROOT/$path.zst" ] || path="$path.zst"
+ }
+
+ chmod "$perm" "$RPM_BUILD_ROOT/$path"
+done < "$RPM_BUILD_ROOT/kmod-permissions.list"
+
+rm -f "$RPM_BUILD_ROOT/kmod-permissions.list"
diff --git a/SPECS/kernel-srpm-macros/brp-kmod-set-exec-bit b/SPECS/kernel-srpm-macros/brp-kmod-set-exec-bit
new file mode 100755
index 00000000000..eccd5b4c1d9
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/brp-kmod-set-exec-bit
@@ -0,0 +1,14 @@
+#! /bin/bash -efux
+
+## A hack for making brp-strip taking into account kmod files
+
+# If using normal root, avoid changing anything.
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] || exit 0
+
+# Checking for required programs
+which find chmod >/dev/null || exit 0
+
+find "$RPM_BUILD_ROOT" \
+ -name '*.ko' \
+ -printf '%#m %P\n' \
+ -exec chmod u+x '{}' \; > "$RPM_BUILD_ROOT/kmod-permissions.list"
diff --git a/SPECS/kernel-srpm-macros/find-provides.ksyms b/SPECS/kernel-srpm-macros/find-provides.ksyms
new file mode 100755
index 00000000000..230fc09d8fb
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/find-provides.ksyms
@@ -0,0 +1,138 @@
+#! /bin/bash
+
+IFS=$'\n'
+export LC_ALL=C
+
+# Prevent elfutils from trying to download debuginfos
+unset DEBUGINFOD_URLS
+
+for module in $(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz|\.zst)?$') "$@"; do
+ dep_pfx="ksym"
+ # For built-in kmods, "kernel()" syntax is used instead of "ksym()"
+ printf "%s" "$module" | grep -v "^${RPM_BUILD_ROOT}/\?lib/modules/[1-9][^/]*/kernel" > /dev/null \
+ || dep_pfx="kernel"
+
+ tmpfile=""
+ if [ "x${module%.ko}" = "x${module}" ]; then
+ tmpfile=$(mktemp -t ${0##*/}.XXXXXX.ko)
+ proc_bin=
+ case "${module##*.}" in
+ zst)
+ proc_bin=zstd
+ ;;
+ xz)
+ proc_bin=xz
+ ;;
+ bz2)
+ proc_bin=bzip2
+ ;;
+ gz)
+ proc_bin=gzip
+ ;;
+ esac
+
+ [ -n "$proc_bin" ] || continue
+
+ "$proc_bin" -d -c - < "$module" > "$tmpfile" || continue
+ module="$tmpfile"
+ fi
+
+ # A modversion can be stored as an ELF symbol in various ways:
+ # - An immediate symbol whose value is available directly; it shows up
+ # in the nm or objdump -t output, for example:
+ # $ nm mlx5_core_5.14.x86_64.ko | grep '__crc_' | head -n 3
+ # 0000000092f175ca A __crc_mlx5_access_reg
+ # 000000005b88c9f1 A __crc_mlx5_add_flow_rules
+ # 00000000e7c0ec8a A __crc_mlx5_alloc_bfreg
+ # $ objdump -t lib/modules/mlx5_core_5.14.x86_64.ko | grep __crc_ | sort -k 5,5 | head -n 3
+ # 0000000092f175ca g *ABS* 0000000000000000 __crc_mlx5_access_reg
+ # 000000005b88c9f1 g *ABS* 0000000000000000 __crc_mlx5_add_flow_rules
+ # 00000000e7c0ec8a g *ABS* 0000000000000000 __crc_mlx5_alloc_bfreg
+ # $ zgrep mlx5_access_reg ./lib/modules/5.14.0-284.15.1.el9_2.x86_64/symvers.gz
+ # 0x92f175ca mlx5_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
+ # This approach was being used on x86 and arm before Linux 5.19,
+ # for example.
+ #
+ # - A globally or locally visible symbol in a read-only (or not;
+ # sometimes .rodata is not a read-only section, after all, as binutils
+ # commit binutils-2_33~1385 has revealed (and binutils-2_35~1768 hasn't
+ # concealed back)) section (historically .rodata, __kcrctab/__kcrctab_gpl
+ # since Linux v5.19-rc1~139^2~2):
+ # $ nm mlx5_core_5.14.s390x.ko | grep '__crc_' | head -n 3
+ # 0000000000002f7c R __crc_mlx5_access_reg
+ # 0000000000003304 R __crc_mlx5_add_flow_rules
+ # 0000000000002d2c R __crc_mlx5_alloc_bfreg
+ # This layout is used on ppc since Linux v4.10-rc7~15^2~1, for example,
+ # and on all architectures since Linux 5.19. To extract the symbol
+ # versions in this case, we get the offset and the section name
+ # from the "objdump -t" output:
+ # $ objdump -t lib/modules/mlx5_core_5.14.s390x.ko | grep '__crc_' | sort -k 5,5 | head -n 2
+ # 0000000000002f7c g .rodata 0000000000000000 __crc_mlx5_access_reg
+ # 0000000000003304 g .rodata 0000000000000000 __crc_mlx5_add_flow_rules
+ # and the section contents from the "readelf -R" call:
+ # $ readelf -R .rodata mlx5_core_5.14.s390x.ko
+ # [... skipped output ...]
+ # 0x00002f70 6c6f635f 6e6f6465 00000000 ed6560a8 loc_node.....e`.
+ # ^^^^^^^^
+ # comparison with the contents
+ # of lib/modules/5.14.0-284.15.1.el9_2.s390x/symvers.gz corroborates
+ # its correctness:
+ # 0xed6560a8 mlx5_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
+ # As mentioned earlier, for the later kernel versions, __kcrctab{,_gpl}
+ # sections are used:
+ # $ objdump -t lib/modules/mlx5_core_6.4.x86_64.ko | grep '__crc_' | sort -k 5,5 | head -n 2
+ # 0000000000000000 l __kcrctab_gpl 0000000000000000 __crc_mlx5_access_reg
+ # 0000000000000090 l __kcrctab 0000000000000000 __crc_mlx5_add_flow_rules
+ # $ readelf -R __kcrctab_gpl mlx5_core_6.4.x86_64.ko
+ # 0x00000000 38b0d3c3 1840ce35 b99babc7 70b4700c 8....@.5....p.p.
+ # ^^^^^^^^
+ # and in lib/modules/6.4.0-0.rc1.20230511git80e62bc8487b.19.eln126.x86_64/symvers.xz
+ # we see that it is correct (when accounted for the little endianness):
+ # 0xc3d3b038 mlx5_access_reg drivers/net/ethernet/mellanox/mlx5/core/mlx5_core EXPORT_SYMBOL_GPL
+ # This data, after some post-processing, can be used in the awk script
+ # that extracts parts of the section according to the offsets got
+ # from the "objdump -t" output.
+ objdump -t "$module" \
+ | awk \
+ -v 'dep_pfx='"$dep_pfx" \
+ -v 'module='"$module" \
+ --non-decimal-data \
+ 'BEGIN { revbytes = 0 }
+
+ function check_endianness( t) {
+ if (revbytes) return revbytes;
+
+ revbytes = -1;
+ while (("readelf -h \"" module "\"" | getline t) > 0) {
+ if (match(t, /^ Data: *2\047s complement, little endian$/)) {
+ revbytes = 1;
+ break;
+ }
+ }
+
+ return revbytes;
+ }
+
+ function readsect(name, a, t) {
+ a = "";
+ while (("readelf -R \"" name "\" \"" module "\"" | getline t) > 0) {
+ if (match(t, /^ 0x[0-9a-f]{8}/))
+ a = a substr(t, 14, 8) substr(t, 23, 8) substr(t, 32, 8) substr(t, 41, 8);
+ }
+ if (check_endianness() == 1)
+ a = gensub(/(..)(..)(..)(..)/, "\\4\\3\\2\\1", "g", a);
+ sectdata[name] = a;
+ }
+
+ match($0, /^([0-9a-f]+) [gl]...... (.*) [0-9a-f]+ __crc_(.*)$/, a) {
+ if (a[2] == "*ABS*") {
+ printf("%s(%s) = 0x%08x\n", dep_pfx, a[3], strtonum("0x" a[1]));
+ } else {
+ if (!(a[2] in sectdata)) { readsect(a[2]) }
+ printf("%s(%s) = 0x%08s\n", dep_pfx, a[3], substr(sectdata[a[2]], (strtonum("0x" a[1]) * 2) + 1, 8))
+ }
+ }'
+
+ [ -z "$tmpfile" ] || rm -f -- "$tmpfile"
+done \
+| sort -k1,1 -u
diff --git a/SPECS/kernel-srpm-macros/find-requires.ksyms b/SPECS/kernel-srpm-macros/find-requires.ksyms
new file mode 100755
index 00000000000..8ac7c40fba1
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/find-requires.ksyms
@@ -0,0 +1,188 @@
+#! /bin/bash
+#
+# This script is called during external module building to create dependencies
+# both upon the RHEL kernel, and on additional external modules. Symbols that
+# cannot be reconciled against those provided by the kernel are assumed to be
+# provided by an external module and "ksym" replaces th regular "kernel" dep.
+
+IFS=$'\n'
+export LC_ALL=C
+
+# Prevent elfutils from trying to download debuginfos
+unset DEBUGINFOD_URLS
+
+# Extract all of the symbols provided by this module.
+all_provides() {
+ for module in "$@"; do
+ tmpfile=""
+ if [ "x${module%.ko}" = "x${module}" ]; then
+ tmpfile=$(mktemp -t ${0##*/}.XXXXXX.ko)
+ proc_bin=
+ case "${module##*.}" in
+ zst)
+ proc_bin=zstd
+ ;;
+ xz)
+ proc_bin=xz
+ ;;
+ bz2)
+ proc_bin=bzip2
+ ;;
+ gz)
+ proc_bin=gzip
+ ;;
+ esac
+
+ [ -n "$proc_bin" ] || continue
+
+ "$proc_bin" -d -c - < "$module" > "$tmpfile" || continue
+ module="$tmpfile"
+ fi
+
+ objdump -t "$module" \
+ | awk \
+ -v 'dep_pfx='"$dep_pfx" \
+ -v 'module='"$module" \
+ --non-decimal-data \
+ 'BEGIN { revbytes = 0 }
+
+ function check_endianness( t) {
+ if (revbytes) return revbytes;
+
+ revbytes = -1;
+ while (("readelf -h \"" module "\"" | getline t) > 0) {
+ if (match(t, /^ Data: *2\047s complement, little endian$/)) {
+ revbytes = 1;
+ break;
+ }
+ }
+
+ return revbytes;
+ }
+
+ function readsect(name, a, t) {
+ a = "";
+ while (("readelf -R \"" name "\" \"" module "\"" | getline t) > 0) {
+ if (match(t, /^ 0x[0-9a-f]{8}/))
+ a = a substr(t, 14, 8) substr(t, 23, 8) substr(t, 32, 8) substr(t, 41, 8);
+ }
+ if (revbytes) { a = gensub(/(..)(..)(..)(..)/, "\\4\\3\\2\\1", "g", a); }
+ sectdata[name] = a;
+ }
+
+ match($0, /^([0-9a-f]+) [gl]...... (.*) [0-9a-f]+ __crc_(.*)$/, a) {
+ if (a[2] == "*ABS*") {
+ printf("%s(%s) = 0x%08x\n", dep_pfx, a[3], strtonum("0x" a[1]));
+ } else {
+ if (!(a[2] in sectdata)) { readsect(a[2]) }
+ printf("%s(%s) = 0x%08s\n", dep_pfx, a[3], substr(sectdata[a[2]], (strtonum("0x" a[1]) * 2) + 1, 8))
+ }
+ }'
+
+ [ -z "$tmpfile" ] || rm -f -- "$tmpfile"
+ done \
+ | sort -k1,1 -u
+}
+
+# Extract all of the requirements of this module.
+all_requires() {
+ for module in "$@"; do
+ set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q)
+ /sbin/modprobe --dump-modversions "$module" \
+ | awk --non-decimal-data '
+ BEGIN { FS = "\t" ; OFS = "\t" }
+ {printf("%s:0x%08x\n", $2, $1)}' \
+ | sed -r -e 's:$:\t'"$1"':'
+ done \
+ | sort -k1,1 -u
+}
+
+# Filter out requirements fulfilled by the module itself.
+mod_requires() {
+ join -t $'\t' -j 1 -v 1 \
+ <(all_requires "$@") \
+ <(all_provides "$@") \
+ | sort -k1,1 -u
+}
+
+if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then
+ cat > /dev/null
+ exit 0
+fi
+
+check_kabi() {
+ arch=$(uname -m)
+ kabi_file="/lib/modules/kabi-current/kabi_stablelist_$arch"
+
+ # If not installed, output a warning and return (continue)
+ if [ ! -f "$kabi_file" ]; then
+ echo "" >&2
+ echo "********************************************************************************" >&2
+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2
+ echo "********************************************************************************" >&2
+ echo "The kernel ABI reference files (provided by "kabi-stablelists") were not found." >&2
+ echo "No compatibility check was performed. Please install the kABI reference files" >&2
+ echo "and rebuild if you would like to verify compatibility with kernel ABI." >&2
+ echo "" >&2
+ return
+ fi
+
+ unset non_kabi
+ for symbol in "$@"; do
+ if ! egrep "^[[:space:]]$symbol\$" $kabi_file >/dev/null; then
+ non_kabi=("${non_kabi[@]}" "$symbol")
+ fi
+ done
+
+ if [ ${#non_kabi[@]} -gt 0 ]; then
+ echo "" >&2
+ echo "********************************************************************************" >&2
+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2
+ echo "********************************************************************************" >&2
+ echo "The following kernel symbols are not guaranteed to remain compatible with" >&2
+ echo "future kernel updates to this RHEL release:" >&2
+ echo "" >&2
+ for symbol in "${non_kabi[@]}"; do
+ printf "\t$symbol\n" >&2
+ done
+ echo "" >&2
+ echo "Red Hat recommends that you consider using only official kernel ABI symbols" >&2
+ echo "where possible. Requests for additions to the kernel ABI can be filed with" >&2
+ echo "your partner or customer representative (component: driver-update-program)." >&2
+ echo "" >&2
+ fi
+}
+
+modules=($(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz|\.zst)?$') "$@")
+if [ ${#modules[@]} -gt 0 ]; then
+ kernel=$(/sbin/modinfo -F vermagic "${modules[0]}" | sed -e 's: .*::' -e q)
+
+ # get all that kernel provides
+ symvers=$(mktemp -t ${0##*/}.XXXXX)
+
+ cat /usr/src/kernels/$kernel/Module.symvers | awk '
+ BEGIN { FS = "\t" ; OFS = "\t" }
+ { print $2 ":" $1 }
+ ' \
+ | sed -r -e 's:$:\t'"$kernel"':' \
+ | sort -k1,1 -u > $symvers
+
+ # Symbols matching with the kernel get a "kernel" dependency
+ mod_req=$(mktemp -t mod_req.XXXXX)
+ mod_requires "${modules[@]}" > "$mod_req"
+ join -t $'\t' -j 1 $symvers "$mod_req" | sort -u \
+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }'
+
+ # Symbols from elsewhere get a "ksym" dependency
+ join -t $'\t' -j 1 -v 2 $symvers "$mod_req" | sort -u \
+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }'
+
+ os_id=$(sed -nr '/^ID[[:space:]]*=/{ s/ID[[:space:]]*=[[:space:]]*//; s/^"(.*)"$/\1/; p }' /etc/os-release)
+ if [ "rhel" = "$os_id" ]; then
+ # Check kABI if the kabi-stablelists package is installed
+ # Do this last so we can try to output this error at the end
+ kabi_check_symbols=($(join -t $'\t' -j 1 $symvers "$mod_req" | sort -u \
+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print $1 }'))
+ check_kabi "${kabi_check_symbols[@]}"
+ fi
+fi
diff --git a/SPECS/kernel-srpm-macros/firmware.prov b/SPECS/kernel-srpm-macros/firmware.prov
new file mode 100644
index 00000000000..8c5b7e4d798
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/firmware.prov
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# firmware.prov - Automatically extract any and all firmware dependencies from
+# kernel object (.ko) files and add to RPM deps.
+
+IFS=$'\n'
+
+for module in $(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz|\.zst)?$') $*;
+do
+ for firmware in `/sbin/modinfo -F firmware $module`;
+ do
+ echo "firmware($firmware)"
+ done
+done
diff --git a/SPECS/kernel-srpm-macros/kabi.attr b/SPECS/kernel-srpm-macros/kabi.attr
new file mode 100644
index 00000000000..5500b1730c2
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/kabi.attr
@@ -0,0 +1,2 @@
+%__kabi_provides %{_rpmconfigdir}/kabi.sh
+%__kabi_path ^(/boot/symvers-.*|/lib/modules/[1-9].*/symvers)\.(gz|xz)$
diff --git a/SPECS/kernel-srpm-macros/kabi.sh b/SPECS/kernel-srpm-macros/kabi.sh
new file mode 100644
index 00000000000..dd49b8b291b
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/kabi.sh
@@ -0,0 +1,22 @@
+#!/bin/bash +x
+#
+# kabi.sh - Automatically extract any kernel symbol checksum from the
+# symvers file and add to RPM deps. This is used to move the
+# checksum checking from modprobe to rpm install for 3rd party
+# modules (so they can fail during install and not at load).
+
+IFS=$'\n'
+
+for symvers in $(grep -E '(/boot/symvers-.*|/lib/modules/[1-9].*/symvers)\.(gz|xz)') "$@";
+do
+ cat_prog="cat"
+ case "$symvers" in
+ *.gz) cat_prog="zcat" ;;
+ *.xz) cat_prog="xzcat" ;;
+ esac
+
+ # We generate dependencies only for symbols exported by vmlinux itself
+ # and not for kmods here as they are spread across subpackages,
+ # so Provides: generation for kmods is handled by find-provides.ksyms.
+ "$cat_prog" "$symvers" | awk '/[^ ]* [^ ]* vmlinux .*/ { print "kernel(" $2 ") = " $1 }'
+done
diff --git a/SPECS/kernel-srpm-macros/kernel-srpm-macros.signatures.json b/SPECS/kernel-srpm-macros/kernel-srpm-macros.signatures.json
new file mode 100644
index 00000000000..79b02fc6601
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/kernel-srpm-macros.signatures.json
@@ -0,0 +1,21 @@
+{
+ "Signatures": {
+ "macros.kernel-srpm": "1cc89ac40a9d8eb30914917f62e1cf793c744510104a7b7870668bfc9d39f94c",
+ "macros.kmp": "407b4a425b3499fdcc78003ae3c3557da636e9a778390d7049c8e0756e158fb2",
+ "find-provides.ksyms": "c28ff43f881d347c82d2147daccd52e741d1e5b9389b57b0b2bc8c2a82b27808",
+ "find-requires.ksyms": "647a54a4d77f1c7a613e3ca4d073624adbe25f77e809c7142a738fb8f44b7885",
+ "firmware.prov": "0eb0052e964c1c2675b37bf078886cb564154fa686b2dc2556213f6be01c97a3",
+ "modalias.prov": "75cd6a3ba82831a86974004f5e1a4c5c23f7a10380e1ffab26a2ee7123668dc5",
+ "provided_ksyms.attr": "122c82aad04d824e35b568c8ff8773cfa65a5b78b394422cf7b0e28b5672e810",
+ "required_ksyms.attr": "e65bdc243a60e31120ad63870294a5a1b24c6f448667c0bd2bbaff218266cdd3",
+ "modalias.attr": "5cce7f849c9844017fafb54ec858266c97dc2099ca8bbd89e8259a20f4dd4a70",
+ "kmod.attr": "5c224344d0ad392236b184b9ee0939f24ca48a332688643c8aa8913ee3025339",
+ "kmodtool": "691b7231216616c26e170abc875199f0cfcbdd22380364bd6f91bc3c5514db54",
+ "rpmsort": "8ec77fd7087f4b22b5f2701272fc3fcbd460e78a3b1238d3c3ddc1f4e877e4ee",
+ "symset-table": "0e4f878d9d9f123b5e80678135511a48161d5d728efff9f1d4672687885426a3",
+ "kabi.attr": "5837779d0ea4bb35d5ec34885bc966a0e955cfd2f9f968edcd36097a59c6e69a",
+ "kabi.sh": "8298974fc5d860759da00583706679eedaa64a79343cf19a1692014f9e595ac9",
+ "brp-kmod-set-exec-bit": "2bffc9b96300203a49d409757d370aac4acb4e780a82f82cf4fa2be43c6efeb1",
+ "brp-kmod-restore-perms": "76548fc932ff5fa4da3dc16afebd9edfb42534b00de22d3bd0632b60622790f4"
+ }
+}
\ No newline at end of file
diff --git a/SPECS/kernel-srpm-macros/kernel-srpm-macros.spec b/SPECS/kernel-srpm-macros/kernel-srpm-macros.spec
new file mode 100644
index 00000000000..4fc4c350439
--- /dev/null
+++ b/SPECS/kernel-srpm-macros/kernel-srpm-macros.spec
@@ -0,0 +1,220 @@
+Name: kernel-srpm-macros
+Version: 1.0
+# when bumping version and resetting release, don't forget to bump version of kernel-rpm-macros as well
+Release: 25%{?dist}
+Summary: RPM macros that list arches the full kernel is built on
+# This package only exist in Fedora repositories
+# The license is the standard (MIT) specified in
+# Fedora Project Contribution Agreement
+# and as URL we provide dist-git URL
+License: MIT
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+URL: https://src.fedoraproject.org/rpms/kernel-srpm-macros
+BuildArch: noarch
+# We are now the ones shipping kmod.attr
+Conflicts: redhat-rpm-config < 205
+# macros.kmp, kmodtool and rpmsort were moved from kernel-rpm-macros
+# to kernel-srpm-macros in 1.0-9/185-9
+Conflicts: kernel-rpm-macros < 205
+
+# Macros
+Source001: macros.kernel-srpm
+Source002: macros.kmp
+
+# Dependency generator scripts
+Source100: find-provides.ksyms
+Source101: find-requires.ksyms
+Source102: firmware.prov
+Source103: modalias.prov
+Source104: provided_ksyms.attr
+Source105: required_ksyms.attr
+Source106: modalias.attr
+
+# Dependency generators & their rules
+Source200: kmod.attr
+
+# Misc helper scripts
+Source300: kmodtool
+Source301: rpmsort
+Source302: symset-table
+
+# kabi provides generator
+Source400: kabi.attr
+Source401: kabi.sh
+
+# BRPs
+Source500: brp-kmod-set-exec-bit
+Source501: brp-kmod-restore-perms
+
+%global rrcdir /usr/lib/rpm/redhat
+
+
+%description
+This packages contains the rpm macro that list what arches
+the full kernel is built on.
+The variable to use is kernel_arches.
+
+%package -n kernel-rpm-macros
+Version: 205
+Summary: Macros and scripts for building kernel module packages
+# rpmsort is GPL-2.0-or-later
+License: MIT AND GPL-2.0-or-later
+Requires: redhat-rpm-config >= 205
+
+# for brp-kmod-compress
+Requires: xz
+# for brp-kmod-compress, brp-kmod-set-exec-bit
+Requires: findutils
+# for find-provides.ksyms, find-requires.ksyms, kmodtool
+Requires: sed
+# for find-provides.ksyms, find-requires.ksyms
+Requires: gawk
+Requires: grep
+Requires: binutils
+# for find-requires.ksyms
+Requires: kmod
+
+%description -n kernel-rpm-macros
+Macros and scripts for building kernel module packages.
+
+%prep
+# Not strictly necessary but allows working on file names instead
+# of source numbers in install section
+%setup -c -T
+cp -p %{sources} .
+
+%build
+# nothing to do
+
+%install
+mkdir -p %{buildroot}/%{_rpmconfigdir}/macros.d
+install -p -m 0644 -t %{buildroot}/%{_rpmconfigdir}/macros.d macros.kernel-srpm
+%if 0%{?rhel} >= 8
+ sed -i 's/^%%kernel_arches.*/%%kernel_arches x86_64 s390x ppc64le aarch64/' \
+ %{buildroot}/%{_rpmconfigdir}/macros.d/macros.kernel-srpm
+%endif
+
+mkdir -p %{buildroot}%{rrcdir}/find-provides.d
+mkdir -p %{buildroot}%{_fileattrsdir}
+install -p -m 755 -t %{buildroot}%{rrcdir} kmodtool rpmsort symset-table
+install -p -m 755 -t %{buildroot}%{rrcdir} find-provides.ksyms find-requires.ksyms
+install -p -m 755 -t %{buildroot}%{rrcdir}/find-provides.d firmware.prov modalias.prov
+install -p -m 755 -t %{buildroot}%{rrcdir} brp-kmod-restore-perms brp-kmod-set-exec-bit
+install -p -m 644 -t %{buildroot}%{_rpmconfigdir}/macros.d macros.kmp
+install -p -m 644 -t %{buildroot}%{_fileattrsdir} kmod.attr
+
+install -p -m 644 -t "%{buildroot}%{_fileattrsdir}" kabi.attr
+install -p -m 755 -t "%{buildroot}%{_rpmconfigdir}" kabi.sh
+
+install -p -m 644 -t "%{buildroot}%{_fileattrsdir}" provided_ksyms.attr required_ksyms.attr
+install -p -m 644 -t "%{buildroot}%{_fileattrsdir}" modalias.attr
+
+%files
+%{_rpmconfigdir}/macros.d/macros.kernel-srpm
+%{_fileattrsdir}/kmod.attr
+
+%files -n kernel-rpm-macros
+%{_rpmconfigdir}/macros.d/macros.kmp
+%{_rpmconfigdir}/kabi.sh
+%{_fileattrsdir}/kabi.attr
+%{_fileattrsdir}/modalias.attr
+%{_fileattrsdir}/provided_ksyms.attr
+%{_fileattrsdir}/required_ksyms.attr
+%dir %{rrcdir}/find-provides.d
+%{rrcdir}/brp-kmod-restore-perms
+%{rrcdir}/brp-kmod-set-exec-bit
+%{rrcdir}/symset-table
+%{rrcdir}/find-provides.ksyms
+%{rrcdir}/find-requires.ksyms
+%{rrcdir}/find-provides.d/firmware.prov
+%{rrcdir}/find-provides.d/modalias.prov
+%{rrcdir}/kmodtool
+%{rrcdir}/rpmsort
+
+%changelog
+* Tue Dec 17 2024 Elaheh Dehghani - 1.0-25
+- Initial CBL-Mariner import from Fedora 41 (license: MIT).
+- License verified.
+
+* Thu Jul 18 2024 Fedora Release Engineering - 1.0-24
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Wed Mar 06 2024 David Abdurachmanov - 1.0-23
+- Add riscv64
+
+* Wed Jan 24 2024 Fedora Release Engineering - 1.0-22
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sun Jan 21 2024 Fedora Release Engineering - 1.0-21
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Thu Jul 20 2023 Fedora Release Engineering - 1.0-20
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Tue May 09 2023 Eugene Syromiatnikov - 1.0-19
+- Capture local __crc_* symbols for "Provides: kernel()".
+- Add support for XZ compression for the symvers file.
+- Fix "Provides: kernel()" generation when both __kcrctab and __kcrctab_gpl
+ are present.
+- Fix regression for "Provides:" generation in cases when modversions are stored
+ in a section that is over 64K in size.
+- Speedup and cleanup changes in find-provides.ksyms and find-requires.ksyms.
+- Fix regex usage in kmod.attr. (Denys Vlasenko)
+- Implement modalias "Provides:" grouping. (Denys Vlasenko)
+- Speedup and cleanup changes in modalias.prov and kmod.attr. (Denys Vlasenko)
+
+* Tue Mar 30 2023 Eugene Syromiatnikov