From d7bc078b4554090a1523a26bf115312925b32500 Mon Sep 17 00:00:00 2001 From: binujp Date: Thu, 16 Jan 2025 17:12:49 -0800 Subject: [PATCH] Bphilip/add mofed and dependencies (#11479) Co-authored-by: Binu Jose Philip Co-authored-by: chalamalasetty --- LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md | 3 +- LICENSES-AND-NOTICES/SPECS/data/licenses.json | 35 +- SPECS-SIGNED/fwctl-signed/fwctl-signed.spec | 105 +++ SPECS-SIGNED/iser-signed/iser-signed.spec | 100 +++ SPECS-SIGNED/isert-signed/isert-signed.spec | 100 +++ .../knem-signed/knem-modules-signed.spec | 105 +++ .../mft_kernel-signed/mft_kernel-signed.spec | 68 ++ .../mlnx-nfsrdma-signed.spec | 104 +++ .../mlnx-ofa_kernel-modules-signed.spec | 177 ++++ SPECS-SIGNED/srp-signed/srp-signed.spec | 92 +++ .../xpmem-signed/xpmem-modules-signed.spec | 69 ++ SPECS/fwctl/fwctl.signatures.json | 5 + SPECS/fwctl/fwctl.spec | 255 ++++++ SPECS/ibarr/ibarr.signatures.json | 5 + SPECS/ibarr/ibarr.spec | 60 ++ SPECS/ibsim/ibsim.signatures.json | 5 + SPECS/ibsim/ibsim.spec | 53 ++ SPECS/iser/iser.signatures.json | 5 + SPECS/iser/iser.spec | 252 ++++++ SPECS/isert/isert.signatures.json | 5 + SPECS/isert/isert.spec | 252 ++++++ SPECS/knem/knem.signatures.json | 5 + SPECS/knem/knem.spec | 289 +++++++ SPECS/mft_kernel/mft_kernel.signatures.json | 5 + SPECS/mft_kernel/mft_kernel.spec | 234 ++++++ .../mlnx-ethtool/mlnx-ethtool.signatures.json | 5 + SPECS/mlnx-ethtool/mlnx-ethtool.spec | 46 ++ .../mlnx-iproute2.signatures.json | 5 + SPECS/mlnx-iproute2/mlnx-iproute2.spec | 116 +++ .../mlnx-nfsrdma/mlnx-nfsrdma.signatures.json | 5 + SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec | 253 ++++++ .../mlnx-ofa_kernel.signatures.json | 5 + SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec | 766 ++++++++++++++++++ .../mlx-steering-dump.signatures.json | 5 + .../mlx-steering-dump/mlx-steering-dump.spec | 80 ++ SPECS/multiperf/multiperf.signatures.json | 5 + SPECS/multiperf/multiperf.spec | 44 + SPECS/rshim/rshim.signatures.json | 5 + SPECS/rshim/rshim.spec | 415 ++++++++++ SPECS/sockperf/sockperf.signatures.json | 5 + SPECS/sockperf/sockperf.spec | 88 ++ SPECS/srp/srp.signatures.json | 5 + SPECS/srp/srp.spec | 258 ++++++ SPECS/xpmem-lib/xpmem-lib.signatures.json | 5 + SPECS/xpmem-lib/xpmem-lib.spec | 88 ++ SPECS/xpmem/xpmem.signatures.json | 5 + SPECS/xpmem/xpmem.spec | 251 ++++++ cgmanifest.json | 180 ++++ toolkit/scripts/check_entangled_specs.py | 37 + toolkit/scripts/spec_source_attributions.py | 2 +- 50 files changed, 5064 insertions(+), 3 deletions(-) create mode 100644 SPECS-SIGNED/fwctl-signed/fwctl-signed.spec create mode 100644 SPECS-SIGNED/iser-signed/iser-signed.spec create mode 100644 SPECS-SIGNED/isert-signed/isert-signed.spec create mode 100644 SPECS-SIGNED/knem-signed/knem-modules-signed.spec create mode 100644 SPECS-SIGNED/mft_kernel-signed/mft_kernel-signed.spec create mode 100644 SPECS-SIGNED/mlnx-nfsrdma-signed/mlnx-nfsrdma-signed.spec create mode 100644 SPECS-SIGNED/mlnx-ofa_kernel-signed/mlnx-ofa_kernel-modules-signed.spec create mode 100644 SPECS-SIGNED/srp-signed/srp-signed.spec create mode 100644 SPECS-SIGNED/xpmem-signed/xpmem-modules-signed.spec create mode 100644 SPECS/fwctl/fwctl.signatures.json create mode 100644 SPECS/fwctl/fwctl.spec create mode 100644 SPECS/ibarr/ibarr.signatures.json create mode 100644 SPECS/ibarr/ibarr.spec create mode 100644 SPECS/ibsim/ibsim.signatures.json create mode 100644 SPECS/ibsim/ibsim.spec create mode 100644 SPECS/iser/iser.signatures.json create mode 100644 SPECS/iser/iser.spec create mode 100644 SPECS/isert/isert.signatures.json create mode 100644 SPECS/isert/isert.spec create mode 100644 SPECS/knem/knem.signatures.json create mode 100644 SPECS/knem/knem.spec create mode 100644 SPECS/mft_kernel/mft_kernel.signatures.json create mode 100644 SPECS/mft_kernel/mft_kernel.spec create mode 100644 SPECS/mlnx-ethtool/mlnx-ethtool.signatures.json create mode 100644 SPECS/mlnx-ethtool/mlnx-ethtool.spec create mode 100644 SPECS/mlnx-iproute2/mlnx-iproute2.signatures.json create mode 100644 SPECS/mlnx-iproute2/mlnx-iproute2.spec create mode 100644 SPECS/mlnx-nfsrdma/mlnx-nfsrdma.signatures.json create mode 100644 SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec create mode 100644 SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.signatures.json create mode 100644 SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec create mode 100644 SPECS/mlx-steering-dump/mlx-steering-dump.signatures.json create mode 100644 SPECS/mlx-steering-dump/mlx-steering-dump.spec create mode 100644 SPECS/multiperf/multiperf.signatures.json create mode 100644 SPECS/multiperf/multiperf.spec create mode 100644 SPECS/rshim/rshim.signatures.json create mode 100644 SPECS/rshim/rshim.spec create mode 100644 SPECS/sockperf/sockperf.signatures.json create mode 100644 SPECS/sockperf/sockperf.spec create mode 100644 SPECS/srp/srp.signatures.json create mode 100644 SPECS/srp/srp.spec create mode 100644 SPECS/xpmem-lib/xpmem-lib.signatures.json create mode 100644 SPECS/xpmem-lib/xpmem-lib.spec create mode 100644 SPECS/xpmem/xpmem.signatures.json create mode 100644 SPECS/xpmem/xpmem.spec diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md index bc5969c8d08..5fcd03e11c9 100644 --- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md +++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md @@ -12,7 +12,8 @@ The Azure Linux SPEC files originated from a variety of sources with varying lic | 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-docs
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 272fbba826c..086ec693df5 100644 --- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json +++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json @@ -2455,13 +2455,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-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/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/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/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..63217a5aef7 --- /dev/null +++ b/SPECS/fwctl/fwctl.spec @@ -0,0 +1,255 @@ +# +# 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. +# + +%{!?_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/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/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..989ab646028 --- /dev/null +++ b/SPECS/iser/iser.spec @@ -0,0 +1,252 @@ +# +# 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} +%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..7d909d47d90 --- /dev/null +++ b/SPECS/isert/isert.spec @@ -0,0 +1,252 @@ +# +# 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} +%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/knem/knem.signatures.json b/SPECS/knem/knem.signatures.json new file mode 100644 index 00000000000..d2d2c1af0c6 --- /dev/null +++ b/SPECS/knem/knem.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "knem-1.1.4.90mlnx3.tar.gz": "69e917448e76f402890d5e43065ab1afe5b222a678fa0c3f7b61bacde294f053" + } +} \ No newline at end of file diff --git a/SPECS/knem/knem.spec b/SPECS/knem/knem.spec new file mode 100644 index 00000000000..bd33dacfc0d --- /dev/null +++ b/SPECS/knem/knem.spec @@ -0,0 +1,289 @@ +# 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. + +# KMP is disabled by default +%{!?KMP: %global KMP 0} + +%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 + +%{!?_release: %global _release OFED.23.10.0.2.1.1} +# %{!?KVERSION: %global KVERSION %(uname -r)} +%global kernel_version %{KVERSION} +%global krelver %(echo -n %{KVERSION} | sed -e 's/-/_/g') +%{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build} +%global _kmp_rel %{_release}%{?_kmp_build_num}%{?_dist} +%global IS_RHEL_VENDOR "%{_vendor}" == "redhat" || ("%{_vendor}" == "bclinux") || ("%{_vendor}" == "openEuler") +%global KMOD_PREAMBLE "%{_vendor}" != "openEuler" + +# set package name +%{!?_name: %global _name knem} +%global non_kmp_pname %{_name}-modules + +Summary: KNEM: High-Performance Intra-Node MPI Communication +Name: knem +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 +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/knem-1.1.4.90mlnx3.tar.gz#/knem-%{version}.tar.gz +BuildRoot: /var/tmp/%{name}-%{version}-build +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 + +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} + +# build KMP rpms? +%if "%{KMP}" == "1" +%global kernel_release() $(make -C %{1} M=$PWD kernelrelease | grep -v make) +BuildRequires: %kernel_module_package_buildreqs +# prep file list for kmp rpm +%(cat > %{_builddir}/kmp.files << EOF +%defattr(644,root,root,755) +/lib/modules/%2-%1 +%if %{IS_RHEL_VENDOR} +%config(noreplace) %{_sysconfdir}/depmod.d/%{_name}.conf +%endif +EOF) +%(cat > %{_builddir}/preamble << EOF +Obsoletes: kmod-knem-mlnx < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-default < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-trace < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-xen < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-trace < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-ppc64 < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-ppc < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-smp < %{version}-%{release} +Obsoletes: knem-mlnx-kmp-pae < %{version}-%{release} +EOF) +%if %KMOD_PREAMBLE +%kernel_module_package -f %{_builddir}/kmp.files -r %{_kmp_rel} -p %{_builddir}/preamble +%else +%kernel_module_package -f %{_builddir}/kmp.files -r %{_kmp_rel} +%endif +%else # not KMP +%global kernel_source() %{K_SRC} +%global kernel_release() %{KVERSION} +%global flavors_to_build default + +%package -n %{non_kmp_pname} +Release: 1%{?dist} +Summary: KNEM: High-Performance Intra-Node MPI Communication +Group: System Environment/Libraries +%description -n %{non_kmp_pname} +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 loading memory copies on to Intel I/OAT hardware. +See http://runtime.bordeaux.inria.fr/knem/ for details. +%endif #end if "%{KMP}" == "1" + +# +# 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 \ + $RPM_BUILD_DIR/knem-%{version}/source/tools/sign-modules $RPM_BUILD_ROOT/lib/modules/ %{kernel_source default} || exit 1 \ +%{nil} + +# 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" +%global install_mod_dir updates +%endif + + +%global install_mod_dir extra/%{_name} +%global __find_requires %{nil} + +%prep +%setup -n knem-%{version} +set -- * +mkdir source +mv "$@" source/ +mkdir obj + +%build +rm -rf $RPM_BUILD_ROOT +export INSTALL_MOD_DIR=%install_mod_dir +for flavor in %flavors_to_build; do + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + export LIB_MOD_DIR=/lib/modules/$KVERSION/$INSTALL_MOD_DIR + export MODULE_DESTDIR=/lib/modules/$KVERSION/$INSTALL_MOD_DIR + rm -rf obj/$flavor + cp -a source obj/$flavor + cd $PWD/obj/$flavor + find . -type f -exec touch -t 200012201010 '{}' \; || true + ./configure --prefix=/opt/knem-%{version} --with-linux-release=$KVERSION --with-linux=/lib/modules/$KVERSION/source --with-linux-build=$KSRC --libdir=/opt/knem-%{version}/lib + make + cd - +done + +%install +export INSTALL_MOD_PATH=$RPM_BUILD_ROOT +export INSTALL_MOD_DIR=%install_mod_dir +export KPNAME=%{_name} +mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d +install -d $RPM_BUILD_ROOT/usr/lib64/pkgconfig +for flavor in %flavors_to_build; do + cd $PWD/obj/$flavor + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + make DESTDIR=$RPM_BUILD_ROOT install KERNELRELEASE=$KVERSION + export MODULE_DESTDIR=/lib/modules/$KVERSION/$INSTALL_MOD_DIR + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KVERSION/$INSTALL_MOD_DIR + MODULE_DESTDIR=/lib/modules/$KVERSION/$INSTALL_MOD_DIR DESTDIR=$RPM_BUILD_ROOT KVERSION=$KVERSION $RPM_BUILD_ROOT/opt/knem-%{version}/sbin/knem_local_install + cp knem.pc $RPM_BUILD_ROOT/usr/lib64/pkgconfig + cd - +done + +/bin/rm -rf %{buildroot}/opt/knem-%{version}/lib/modules || true + +%if %{IS_RHEL_VENDOR} +# 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 \{\} \; + +%if ! 0%{?fedora} +%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/ +echo "override knem * weak-updates/%{_name}" >> $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/%{_name}.conf +echo "override knem * extra/%{_name}" >> $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/%{_name}.conf +%endif +%else +find %{buildroot} \( -type f -name '*.ko' -o -name '*ko.gz' \) -exec %{__strip} -p --strip-debug --discard-locals -R .comment -R .note \{\} \; +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +getent group rdma >/dev/null 2>&1 || groupadd -r rdma +touch /etc/udev/rules.d/10-knem.rules +# load knem +/sbin/modprobe -r knem > /dev/null 2>&1 +/sbin/modprobe knem > /dev/null 2>&1 + +# automatically load knem onboot +if [ -d /etc/sysconfig/modules ]; then + # RH + echo "/sbin/modprobe knem > /dev/null 2>&1" > /etc/sysconfig/modules/knem.modules + chmod +x /etc/sysconfig/modules/knem.modules +elif [ -e /etc/sysconfig/kernel ]; then + # SLES + if ! (grep -w knem /etc/sysconfig/kernel); then + sed -i -r -e 's/^(MODULES_LOADED_ON_BOOT=)"(.*)"/\1"\2 knem"/' /etc/sysconfig/kernel + fi +fi + +%preun +# unload knem +/sbin/modprobe -r knem > /dev/null 2>&1 +# RH +/bin/rm -f /etc/sysconfig/modules/knem.modules +# SLES +if (grep -qw knem /etc/sysconfig/kernel 2>/dev/null); then + sed -i -e 's/ knem//g' /etc/sysconfig/kernel 2>/dev/null +fi + +%if "%{KMP}" != "1" +%post -n %{non_kmp_pname} +depmod %{KVERSION} -a + +%postun -n %{non_kmp_pname} +if [ $1 = 0 ]; then # 1 : Erase, not upgrade + depmod %{KVERSION} -a +fi +%endif # end KMP=1 + +%files +%defattr(-, root, root) +%license source/COPYING source/COPYING.BSD-3 source/COPYING.GPL-2 +/opt/knem-%{version} +/usr/lib64/pkgconfig/knem.pc + +%config(noreplace) +/etc/udev/rules.d/10-knem.rules + + +%if "%{KMP}" != "1" +%files -n %{non_kmp_pname} +%license source/COPYING source/COPYING.BSD-3 source/COPYING.GPL-2 +/lib/modules/%{KVERSION}/%{install_mod_dir}/ +%if %{IS_RHEL_VENDOR} +%if ! 0%{?fedora} +%config(noreplace) %{_sysconfdir}/depmod.d/%{_name}.conf +%endif +%endif +%endif + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified +* Mon Mar 17 2014 Alaa Hleihel +- Use one spec for KMP and non-KMP OS's. +* Thu Apr 18 2013 Alaa Hleihel +- Added KMP support diff --git a/SPECS/mft_kernel/mft_kernel.signatures.json b/SPECS/mft_kernel/mft_kernel.signatures.json new file mode 100644 index 00000000000..71b70dfe5ed --- /dev/null +++ b/SPECS/mft_kernel/mft_kernel.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "kernel-mft-4.30.0.tgz": "9f882bd84a3345c1270e0d05233df66bffc5cb506484916bb15c80da50f41fe6" + } +} \ No newline at end of file diff --git a/SPECS/mft_kernel/mft_kernel.spec b/SPECS/mft_kernel/mft_kernel.spec new file mode 100644 index 00000000000..28a344ba27a --- /dev/null +++ b/SPECS/mft_kernel/mft_kernel.spec @@ -0,0 +1,234 @@ + +%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 cpu arch from uname -m +%global _cpu_arch %(uname -m) +%global docdir /etc/mft +%global mlxfwreset_ko_path %{docdir}/mlxfwreset/ + + +# 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} + +%if "%{KMP}" == "1" +%global _name kernel-mft-mlnx +%else +%global _name kernel-mft +%endif + +%{!?version: %global version 4.30.0} +%{!?_release: %global _release 1} +%global _kmp_rel %{_release}%{?_kmp_build_num}%{?_dist} + +Name: kernel-mft +Summary: %{name} Kernel Module for the %{KVERSION} kernel +Version: 4.30.0 +Release: 1%{?dist} +License: Dual BSD/GPLv2 +Group: System Environment/Kernel +BuildRoot: /var/tmp/%{name}-%{version}-build +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/kernel-mft-4.30.0.tgz#/kernel-mft-%{version}.tgz +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 + +Requires: kernel = %{target_kernel_version_full} +Requires: kmod + + +%description +mft kernel module(s) + +%global debug_package %{nil} + +%global IS_RHEL_VENDOR "%{_vendor}" == "redhat" || "%{_vendor}" == "bclinux" || "%{_vendor}" == "openEuler" + +# build KMP rpms? +%if "%{KMP}" == "1" +%global kernel_release() $(make -C %{1} M=$PWD kernelrelease | grep -v make | tail -1) +BuildRequires: %kernel_module_package_buildreqs +# prep file list for kmp rpm +%(cat > %{_builddir}/kmp.files << EOF +%defattr(644,root,root,755) +/lib/modules/%2-%1 +%if %{IS_RHEL_VENDOR} +%config(noreplace) %{_sysconfdir}/depmod.d/kernel-mft-*.conf +%endif +EOF) +%{kernel_module_package -f %{_builddir}/kmp.files -r %{_kmp_rel} } +%else +%global kernel_source() %{K_SRC} +%global kernel_release() %{KVERSION} +%global flavors_to_build default +%endif + +%description +This package provides a %{name} kernel module for kernel. + +%if "%{KMP}" == "1" +%package utils +Summary: KO utils for MFT +Group: System Environment/Kernel +Vendor: Microsoft Corporation +%description utils +mft utils kernel module(s) +%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 \ + $RPM_BUILD_DIR/kernel-mft-%{version}/source/tools/sign-modules $RPM_BUILD_ROOT/lib/modules/ %{kernel_source default} || exit 1 \ +%{nil} + +# 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 %{IS_RHEL_VENDOR} +%global __find_requires %{nil} +%endif + +# set modules dir +%if %{IS_RHEL_VENDOR} +%if 0%{?fedora} +%global install_mod_dir updates +%else +%global install_mod_dir extra/%{name} +%endif +%endif + +%if "%{_vendor}" == "suse" +%global install_mod_dir updates +%endif + +%{!?install_mod_dir: %global install_mod_dir updates} + +%prep +%setup -n kernel-mft-%{version} +set -- * +mkdir source +mv "$@" source/ +mkdir obj + +%build +rm -rf $RPM_BUILD_ROOT +export EXTRA_CFLAGS='-DVERSION=\"%version\"' +for flavor in %{flavors_to_build}; do + rm -rf obj/$flavor + cp -a source obj/$flavor + cd $PWD/obj/$flavor + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + make KPVER=$KVERSION + cd - +done + +%install +export INSTALL_MOD_PATH=$RPM_BUILD_ROOT +export INSTALL_MOD_DIR=%{install_mod_dir} +mkdir -p %{install_mod_dir} +for flavor in %{flavors_to_build}; do + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + install -d $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir} + cp $PWD/obj/$flavor/mst_backward_compatibility/mst_pci/mst_pci.ko $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir} + cp $PWD/obj/$flavor/mst_backward_compatibility/mst_pciconf/mst_pciconf.ko $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir} + %if "%{_cpu_arch}" == "ppc64" || "%{_cpu_arch}" == "ppc64le" + install -d $INSTALL_MOD_PATH/%{mlxfwreset_ko_path}/$KVERSION + install $PWD/obj/$flavor/mst_backward_compatibility/mst_ppc/mst_ppc_pci_reset.ko $INSTALL_MOD_PATH/%{mlxfwreset_ko_path}/$KVERSION/ + %endif + %if "%{_cpu_arch}" == "aarch64" + cp $PWD/obj/$flavor/misc_drivers/bf3_livefish/bf3_livefish.ko $INSTALL_MOD_PATH/lib/modules/$KVERSION/%{install_mod_dir} + %endif +done + +%if %{IS_RHEL_VENDOR} +# Set the module(s) to be executable, so that they will be stripped when packaged. +find %{buildroot} -type f -name \*.ko -exec %{__chmod} u+x \{\} \; + +%if ! 0%{?fedora} +%{__install} -d %{buildroot}%{_sysconfdir}/depmod.d/ +for module in `find %{buildroot}/ -name '*.ko*' | grep -v "%{mlxfwreset_ko_path}" | sort` +do +ko_name=${module##*/} +mod_name=${ko_name/.ko*/} +mod_path=${module/*%{name}} +mod_path=${mod_path/\/${ko_name}} +echo "override ${mod_name} * weak-updates/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/%{name}-${mod_name}.conf +echo "override ${mod_name} * extra/%{name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/%{name}-${mod_name}.conf +done +%endif +%else +find %{buildroot} -type f -name \*.ko -exec %{__strip} -p --strip-debug --discard-locals -R .comment -R .note \{\} \; +%endif + +%post +/sbin/depmod %{KVERSION} + +%postun +/sbin/depmod %{KVERSION} + +%if "%{KMP}" != "1" +%files +%defattr(-,root,root,-) +%license source/COPYING +/lib/modules/%{KVERSION}/%{install_mod_dir}/ +%if %{IS_RHEL_VENDOR} +%if ! 0%{?fedora} +%config(noreplace) %{_sysconfdir}/depmod.d/kernel-mft-*.conf +%endif +%endif +%endif +%if "%{_cpu_arch}" == "ppc64" || "%{_cpu_arch}" == "ppc64le" +%if "%{KMP}" == "1" +%files utils +%defattr(-,root,root,-) +%license source/COPYING +%endif +%{docdir} +%endif + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified diff --git a/SPECS/mlnx-ethtool/mlnx-ethtool.signatures.json b/SPECS/mlnx-ethtool/mlnx-ethtool.signatures.json new file mode 100644 index 00000000000..eda2cb8014a --- /dev/null +++ b/SPECS/mlnx-ethtool/mlnx-ethtool.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "mlnx-ethtool-6.9.tar.gz": "927834fe390dda259484cebfa033c962eadcc293422817aa442847ce167b919a" + } +} \ No newline at end of file diff --git a/SPECS/mlnx-ethtool/mlnx-ethtool.spec b/SPECS/mlnx-ethtool/mlnx-ethtool.spec new file mode 100644 index 00000000000..d65e26b5cd9 --- /dev/null +++ b/SPECS/mlnx-ethtool/mlnx-ethtool.spec @@ -0,0 +1,46 @@ +Name: mlnx-ethtool +Version: 6.9 +Release: 2%{?dist} +Group: Utilities +Summary: Settings tool for Ethernet and other network devices +License: GPLv2 +Vendor: Microsoft Corporation +Distribution: Azure Linux +URL: https://ftp.kernel.org/pub/software/network/ethtool/ +Buildroot: /var/tmp/%{name}-%{version}-build +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-ethtool-6.9.tar.gz#/%{name}-%{version}.tar.gz +ExclusiveArch: x86_64 + +BuildRequires: libmnl-devel + +%description +This utility allows querying and changing settings such as speed, +port, auto-negotiation, PCI locations and checksum offload on many +network devices, especially Ethernet devices. + +%prep +%setup -q + + +%build +CFLAGS="${RPM_OPT_FLAGS}" ./configure --prefix=%{_prefix} --mandir=%{_mandir} +make + + +%install +make install DESTDIR=${RPM_BUILD_ROOT} + + +%files +%defattr(-,root,root) +%{_sbindir}/ethtool +%{_mandir}/man8/ethtool.8* +%{_datadir}/bash-completion/completions/ethtool +%doc AUTHORS NEWS README +%license COPYING + + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified diff --git a/SPECS/mlnx-iproute2/mlnx-iproute2.signatures.json b/SPECS/mlnx-iproute2/mlnx-iproute2.signatures.json new file mode 100644 index 00000000000..7a3487a6604 --- /dev/null +++ b/SPECS/mlnx-iproute2/mlnx-iproute2.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "mlnx-iproute2-6.10.0.tar.gz": "f8333badc404ccd6e79eb29d2761a4f53db122eb86ac4193c65fdb10d6f916f1" + } +} \ No newline at end of file diff --git a/SPECS/mlnx-iproute2/mlnx-iproute2.spec b/SPECS/mlnx-iproute2/mlnx-iproute2.spec new file mode 100644 index 00000000000..a205128e61b --- /dev/null +++ b/SPECS/mlnx-iproute2/mlnx-iproute2.spec @@ -0,0 +1,116 @@ +# This is a version of iproute2.spec sent to upstream with mlnx customization. + +# On e.g. Mariner, __make is set to {_bindir}/make which gets broken when +# you modify _prefix that modifies _bindir. Use 'global' to save this with +# the original value. This works with a simple macro such as __make but +# should probably not ne used with more complex ones: +%global __make %{__make} + +%global _prefix /opt/mellanox/iproute2 +%global _exec_prefix %{_prefix} +%global package_name mlnx-iproute2 +%global package_version 6.10.0 +%global configs_under_prefix 1 +%global netns_package_name netns-mlnx + +# Specify mandatory rpmbuild parameter package_version, like: +# rpmbuild -d'package_version 5.1.0' +# +# Other optional parameters are: package_name, netns_package_name +# and configs_under_prefix. + +%global debug_package %{nil} + +%{!?package_name: %global package_name iproute2} +%{!?netns_package_name: %global netns_package_name netns} + +%if 0%{?configs_under_prefix:1} + %global config_dir %{_prefix}%{_sysconfdir} + %global netns_config_dir %{config_dir}/netns +%else + %global config_dir %{_sysconfdir}/mlnx-iproute2 + %global netns_config_dir %{_sysconfdir}/%{netns_package_name} +%endif + +Summary: Advanced IP routing and network device configuration tools +Name: mlnx-iproute2 +Version: 6.10.0 +Release: 2%{?dist} +License: GPLv2 +Group: Networking/Admin +Vendor: Microsoft Corporation +Distribution: Azure Linux +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-iproute2-6.10.0.tar.gz#/%{name}-%{version}.tar.gz +URL: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 +ExclusiveArch: x86_64 + +BuildRequires: bison +BuildRequires: flex +BuildRoot: /var/tmp/%{name}-%{version}-build + +%description +The iproute package contains networking utilities (like ip and tc) +designed to use the advanced networking capabilities of the Linux kernel. + +%package -n libnetlink-devel +Summary: Library for the netlink interface +Group: Development/Libraries + +%description -n libnetlink-devel +This library provides an interface for kernel-user netlink interface. + +# The dependency on libdb-5.3 comes from arpd. This tool is not really +# used in our package. In some platforms libdb-5.3 is not available by +# default even though we include the devel package on the build system. +# But users don't really need arpd from this package. +%global __requires_exclude_from sbin/arpd + +%prep +%setup -q + +%build +./configure +%{__make} \ + CC="%{__cc}" \ + PREFIX="%{_prefix}" \ + LIBDIR="%{_libdir}" \ + SBINDIR="%{_sbindir}" \ + CONF_ETC_DIR="%{config_dir}/etc" \ + CONF_USR_DIR="%{config_dir}/usr" \ + NETNS_RUN_DIR="%{_var}/run/%{netns_package_name}" \ + NETNS_ETC_DIR="%{netns_config_dir}" \ + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT{%{_includedir},%{_libdir},%{_sbindir}} + +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT \ + PREFIX="%{_prefix}" \ + LIBDIR="%{_libdir}" \ + SBINDIR="%{_sbindir}" \ + CONF_ETC_DIR="%{config_dir}/etc" \ + CONF_USR_DIR="%{config_dir}/usr" \ + NETNS_RUN_DIR="%{_var}/run/%{netns_package_name}" \ + NETNS_ETC_DIR="%{netns_config_subdir}" \ + +install -m 644 lib/libnetlink.a $RPM_BUILD_ROOT%{_libdir} +install -m 644 include/libnetlink.h $RPM_BUILD_ROOT%{_includedir} + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root,-) +%license COPYING +%doc README README.devel +%config(noreplace) %verify(not md5 mtime size) %{config_dir}/* +%{_prefix}/include/* +%{_prefix}/share/* +%{_libdir}/* +%{_sbindir}/* + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified diff --git a/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.signatures.json b/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.signatures.json new file mode 100644 index 00000000000..c4fe2cb95e4 --- /dev/null +++ b/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "mlnx-nfsrdma-24.10.tgz": "d2e66a9b6d6e40e621728ea25fa10b4b9ccd5ea3952fdaf2546e9420687a648c" + } +} \ No newline at end of file diff --git a/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec b/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec new file mode 100644 index 00000000000..0b6f23d1e1c --- /dev/null +++ b/SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec @@ -0,0 +1,253 @@ +# +# 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. +# +# + +%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 mlnx-nfsrdma} +%{!?_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: mlnx-nfsrdma +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/mlnx-nfsrdma-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 -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 # This package is being installed or reinstalled + /sbin/depmod %{KVERSION} +fi +# 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 Aug 15 2016 Alaa Hleihel +- Initial packaging diff --git a/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.signatures.json b/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.signatures.json new file mode 100644 index 00000000000..1bc6c70886f --- /dev/null +++ b/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "mlnx-ofa_kernel-24.10.tgz": "571588614a9f10409078703252357f69760577909191a3089b95258185b49d2f" + } +} \ No newline at end of file diff --git a/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec b/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec new file mode 100644 index 00000000000..5fec8715dbc --- /dev/null +++ b/SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec @@ -0,0 +1,766 @@ +# +# 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. +# +# + +%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} + +%global WITH_SYSTEMD %(if ( test -d "%{_unitdir}" > /dev/null); then echo -n '1'; else echo -n '0'; fi) + +%{!?configure_options: %global configure_options --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx5-mod --with-mlxfw-mod --with-ipoib-mod} + +%global MEMTRACK %(if ( echo %{configure_options} | grep "with-memtrack" > /dev/null ); then echo -n '1'; else echo -n '0'; fi) +%global MADEYE %(if ( echo %{configure_options} | grep "with-madeye-mod" > /dev/null ); then echo -n '1'; else echo -n '0'; fi) + +%global WINDRIVER %(if (grep -qiE "Wind River" /etc/issue /etc/*release* 2>/dev/null); then echo -n '1'; else echo -n '0'; fi) +%global POWERKVM %(if (grep -qiE "powerkvm" /etc/issue /etc/*release* 2>/dev/null); then echo -n '1'; else echo -n '0'; fi) +%global BLUENIX %(if (grep -qiE "Bluenix" /etc/issue /etc/*release* 2>/dev/null); then echo -n '1'; else echo -n '0'; fi) +%global XENSERVER65 %(if (grep -qiE "XenServer.*6\.5" /etc/issue /etc/*release* 2>/dev/null); then echo -n '1'; else echo -n '0'; fi) + +%global IS_RHEL_VENDOR "%{_vendor}" == "redhat" || ("%{_vendor}" == "bclinux") || ("%{_vendor}" == "openEuler") +%global KMOD_PREAMBLE "%{_vendor}" != "openEuler" + +# MarinerOS 1.0 sets -fPIE in the hardening cflags +# (in the gcc specs file). +# This seems to break only this package and not other kernel packages. +%if "%{_vendor}" == "mariner" || "%{_vendor}" == "azl" || "%{_vendor}" == "azurelinux" || (0%{?rhel} >= 10) +%global _hardened_cflags %{nil} +%endif + +# WA: Centos Stream 10 kernel doesn't support PIC mode, so we removed the following flags +%if (0%{?rhel} >= 10) +%global _hardening_gcc_ldflags %{nil} +%global _gcc_lto_cflags %{nil} +%endif + +# %{!?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} + +# Select packages to build + +# Kernel module packages to be included into kernel-ib +%global build_ipoib %(if ( echo %{configure_options} | grep "with-ipoib-mod" > /dev/null ); then echo -n '1'; else echo -n '0'; fi) +%global build_oiscsi %(if ( echo %{configure_options} | grep "with-iscsi-mod" > /dev/null ); then echo -n '1'; else echo -n '0'; fi) +%global build_mlx5 %(if ( echo %{configure_options} | grep "with-mlx5-mod" > /dev/null ); then echo -n '1'; else echo -n '0'; fi) + +%{!?LIB_MOD_DIR: %global LIB_MOD_DIR /lib/modules/%{KVERSION}/updates} + +%{!?IB_CONF_DIR: %global IB_CONF_DIR /etc/infiniband} + +%{!?KERNEL_SOURCES: %global KERNEL_SOURCES /lib/modules/%{KVERSION}/source} + +%{!?_name: %global _name mlnx-ofa_kernel} +%{!?_version: %global _version 24.10} +%{!?_release: %global _release OFED.24.10.0.7.0.1} +%global _kmp_rel %{_release}%{?_kmp_build_num}%{?_dist} + +%global utils_pname %{_name} +%global devel_pname %{_name}-devel +%global non_kmp_pname %{_name}-modules + +Summary: Infiniband HCA Driver +Name: mlnx-ofa_kernel +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/mlnx-ofa_kernel-24.10.tgz#/%{_name}-%{_version}.tgz +BuildRoot: /var/tmp/%{name}-%{version}-build +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 + +BuildRequires: kernel-devel = %{target_kernel_version_full} +BuildRequires: kernel-headers = %{target_kernel_version_full} +BuildRequires: binutils +BuildRequires: kmod +BuildRequires: libstdc++-devel +BuildRequires: libunwind-devel +BuildRequires: pkgconfig + +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 + + +%if "%{KMP}" == "1" +BuildRequires: %kernel_module_package_buildreqs +BuildRequires: /usr/bin/perl +%endif +%description +InfiniBand "verbs", Access Layer and ULPs. +Utilities rpm. +The driver sources are located at: http://www.mellanox.com/downloads/ofed/mlnx-ofa_kernel-24.10-0.7.0.tgz + + +# build KMP rpms? +%if "%{KMP}" == "1" +%global kernel_release() $(make -s -C %{1} kernelrelease M=$PWD) +# prep file list for kmp rpm +%(cat > %{_builddir}/kmp.files << EOF +%defattr(644,root,root,755) +/lib/modules/%2-%1 +%if %{IS_RHEL_VENDOR} +%config(noreplace) %{_sysconfdir}/depmod.d/zz01-%{_name}-*.conf +%endif +EOF) +%(echo "Obsoletes: kmod-mlnx-rdma-rxe, mlnx-rdma-rxe-kmp" >> %{_builddir}/preamble) +%if %KMOD_PREAMBLE +%kernel_module_package -f %{_builddir}/kmp.files -r %{_kmp_rel} -p %{_builddir}/preamble +%else +%kernel_module_package -f %{_builddir}/kmp.files -r %{_kmp_rel} +%endif +%else # not KMP +%global kernel_source() %{K_SRC} +%global kernel_release() %{KVERSION} +%global flavors_to_build default +%package -n %{non_kmp_pname} +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 +Obsoletes: mlnx-rdma-rxe +Version: %{_version} +Release: 1%{?dist} +Summary: Infiniband Driver and ULPs kernel modules +Group: System Environment/Libraries +%description -n %{non_kmp_pname} +Core, HW and ULPs kernel modules +Non-KMP format kernel modules rpm. +The driver sources are located at: http://www.mellanox.com/downloads/ofed/mlnx-ofa_kernel-24.10-0.7.0.tgz +%endif #end if "%{KMP}" == "1" + +%package -n %{devel_pname} +Version: %{_version} +# build KMP rpms? +Release: 1%{?dist} +Obsoletes: kernel-ib-devel +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: coreutils +Requires: pciutils +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Summary: Infiniband Driver and ULPs kernel modules sources +Group: System Environment/Libraries +%description -n %{devel_pname} +Core, HW and ULPs kernel modules sources +The driver sources are located at: http://www.mellanox.com/downloads/ofed/mlnx-ofa_kernel-24.10-0.7.0.tgz + +%package source +Summary: Source of the MLNX_OFED main kernel driver +Group: System Environment/Libraries +%description source +Source of the mlnx-ofa_kernel modules. + +You should probably only install this package if you want to view the +sourecs of driver. Use the -devel package if you want to build other +drivers against it. + +# +# 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/ofed_scripts/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 %{IS_RHEL_VENDOR} +%global __find_requires %{nil} +%endif + +# set modules dir +%if %{IS_RHEL_VENDOR} +%if 0%{?fedora} +%global install_mod_dir updates +%else +%global install_mod_dir extra/%{_name} +%endif +%endif + +%if "%{_vendor}" == "suse" +%global install_mod_dir updates +%endif + +%{!?install_mod_dir: %global install_mod_dir updates} + +%prep +%setup -n %{_name}-%{_version} +set -- * +mkdir source +mv "$@" source/ +mkdir obj + +%build +EXTRA_CFLAGS='-DVERSION=\"%version\"' +%if (0%{?rhel} >= 10) +EXTRA_CFLAGS+=' -fno-exceptions' +%endif +export EXTRA_CFLAGS +export CFLAGS="$CFLAGS -fno-exceptions " +export INSTALL_MOD_DIR=%{install_mod_dir} +export CONF_OPTIONS="%{configure_options}" +for flavor in %flavors_to_build; do + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + export LIB_MOD_DIR=/lib/modules/$KVERSION/$INSTALL_MOD_DIR + rm -rf obj/$flavor + cp -a source obj/$flavor + cd $PWD/obj/$flavor + find compat -type f -exec touch -t 200012201010 '{}' \; || true + ./configure --build-dummy-mods --prefix=%{_prefix} --kernel-version $KVERSION --kernel-sources $KSRC --modules-dir $LIB_MOD_DIR $CONF_OPTIONS %{?_smp_mflags} + make %{?_smp_mflags} kernel + make build_py_scripts + cd - +done + +%install +export RECORD_PY_FILES=1 +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=%{install_mod_dir} +export NAME=%{name} +export VERSION=%{version} +export PREFIX=%{_prefix} +mkdir -p %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch} +for flavor in %flavors_to_build; do + export KSRC=%{kernel_source $flavor} + export KVERSION=%{kernel_release $KSRC} + cd $PWD/obj/$flavor + make install_modules KERNELRELEASE=$KVERSION + # install script and configuration files + make install_scripts + mkdir -p %{_builddir}/src/$NAME/$flavor + cp -ar include/ %{_builddir}/src/$NAME/$flavor + cp -ar config* %{_builddir}/src/$NAME/$flavor + cp -ar compat* %{_builddir}/src/$NAME/$flavor + cp -ar ofed_scripts %{_builddir}/src/$NAME/$flavor + + modsyms=`find . -name Module.symvers -o -name Modules.symvers` + if [ -n "$modsyms" ]; then + for modsym in $modsyms + do + cat $modsym >> %{_builddir}/src/$NAME/$flavor/Module.symvers + done + else + ./ofed_scripts/create_Module.symvers.sh + cp ./Module.symvers %{_builddir}/src/$NAME/$flavor/Module.symvers + fi + cp -a %{_builddir}/src/$NAME/$flavor %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch}/$KVERSION + # 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 \{\} \; + +%if %{IS_RHEL_VENDOR} +%if ! 0%{?fedora} +%{__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}} +echo "override ${mod_name} * weak-updates/%{_name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz01-%{_name}-${mod_name}.conf +echo "override ${mod_name} * extra/%{_name}${mod_path}" >> %{buildroot}%{_sysconfdir}/depmod.d/zz01-%{_name}-${mod_name}.conf +done +%endif +%endif + +# copy sources +mkdir -p %{buildroot}/%{_prefix}/src/ofa_kernel-%{version} +cp -a %{_builddir}/%{name}-%{version}/source %{buildroot}/%{_prefix}/src/ofa_kernel-%{version}/source +ln -s ofa_kernel-%{version}/source %{buildroot}/%{_prefix}/src/mlnx-ofa_kernel-%{version} +# Fix path of BACKPORT_INCLUDES +sed -i -e "s@=-I.*backport_includes@=-I/usr/src/ofa_kernel-$VERSION/backport_includes@" %{buildroot}/%{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION}/configure.mk.kernel || true +rm -rf %{_builddir}/src + +INFO=${RPM_BUILD_ROOT}/etc/infiniband/info +/bin/rm -f ${INFO} +mkdir -p ${RPM_BUILD_ROOT}/etc/infiniband +touch ${INFO} + +cat >> ${INFO} << EOFINFO +#!/bin/bash + +echo prefix=%{_prefix} +echo Kernel=%{KVERSION} +echo +echo "Configure options: %{configure_options}" +echo +EOFINFO + +chmod +x ${INFO} > /dev/null 2>&1 + +%if "%{WITH_SYSTEMD}" == "1" +install -d %{buildroot}%{_unitdir} +install -d %{buildroot}/etc/systemd/system +install -m 0644 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/openibd.service %{buildroot}%{_unitdir} +install -m 0644 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/mlnx_interface_mgr\@.service %{buildroot}/etc/systemd/system +%endif + +install -d %{buildroot}/bin +install -m 0755 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/mlnx_conf_mgr.sh %{buildroot}/bin/ +%if "%{WINDRIVER}" == "0" && "%{BLUENIX}" == "0" +install -m 0755 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/mlnx_interface_mgr.sh %{buildroot}/bin/ +%else +# Wind River and Mellanox Bluenix are rpm based, however, interfaces management is done in Debian style +install -d %{buildroot}/usr/sbin +install -m 0755 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/mlnx_interface_mgr_deb.sh %{buildroot}/bin/mlnx_interface_mgr.sh +install -m 0755 %{_builddir}/$NAME-$VERSION/source/ofed_scripts/net-interfaces %{buildroot}/usr/sbin +%endif + +# Install ibroute utilities +# TBD: move these utilities into standalone package +install -d %{buildroot}%{_sbindir} + +# update /etc/init.d/openibd header +is_euler=`grep 'NAME=".*Euler' /etc/os-release 2>/dev/null || :` +if [[ -f /etc/redhat-release || -f /etc/rocks-release || "$is_euler" != '' ]]; then +perl -i -ne 'if (m@^#!/bin/bash@) { + print q@#!/bin/bash +# +# Bring up/down openib +# +# chkconfig: 2345 05 95 +# description: Activates/Deactivates InfiniBand Driver to \ +# start at boot time. +# +### BEGIN INIT INFO +# Provides: openibd +### END INIT INFO +@; + } else { + print; + }' %{buildroot}/etc/init.d/openibd +fi + +if grep -qwE 'suse|SLES' /etc/os-release 2>/dev/null; then + local_fs='$local_fs' + openiscsi='' + %if %{build_oiscsi} + openiscsi='open-iscsi' + %endif + perl -i -ne "if (m@^#!/bin/bash@) { + print q@#!/bin/bash +### BEGIN INIT INFO +# Provides: openibd +# Required-Start: $local_fs +# Required-Stop: opensmd $openiscsi +# Default-Start: 2 3 5 +# Default-Stop: 0 1 2 6 +# Description: Activates/Deactivates InfiniBand Driver to \ +# start at boot time. +### END INIT INFO +@; + } else { + print; + }" %{buildroot}/etc/init.d/openibd +fi + +%if %{build_ipoib} +case $(uname -m) in + i[3-6]86) + # Decrease send/receive queue sizes on 32-bit arcitecture + echo "options ib_ipoib send_queue_size=64 recv_queue_size=128" >> %{buildroot}/etc/modprobe.d/ib_ipoib.conf + ;; +esac +%endif + +%clean +rm -rf %{buildroot} + + +%if "%{KMP}" != "1" +%post -n %{non_kmp_pname} +/sbin/depmod %{KVERSION} +# W/A for OEL6.7/7.x inbox modules get locked in memory +# in dmesg we get: Module mlx4_core locked in memory until next boot +if (grep -qiE "Oracle.*(6.([7-9]|10)| 7)" /etc/issue /etc/*release* 2>/dev/null); then + /sbin/dracut --force +fi + +%postun -n %{non_kmp_pname} +if [ $1 = 0 ]; then # 1 : Erase, not upgrade + /sbin/depmod %{KVERSION} + # W/A for OEL6.7/7.x inbox modules get locked in memory + # in dmesg we get: Module mlx4_core locked in memory until next boot + if (grep -qiE "Oracle.*(6.([7-9]|10)| 7)" /etc/issue /etc/*release* 2>/dev/null); then + /sbin/dracut --force + fi +fi +%endif # end KMP=1 + +%post -n %{utils_pname} +if [ $1 -eq 1 ]; then # 1 : This package is being installed +############################################################################################################# +is_euler=`grep 'NAME=".*Euler' /etc/os-release 2>/dev/null || :` +is_kylin=`grep 'NAME=".*Kylin' /etc/os-release 2>/dev/null || :` +if [[ -f /etc/redhat-release || -f /etc/rocks-release || -f /etc/UnionTech-release || -f /etc/ctyunos-release || "$is_euler" != '' || "$is_kylin" != '' ]]; then + /sbin/chkconfig openibd off >/dev/null 2>&1 || true + /usr/bin/systemctl disable openibd >/dev/null 2>&1 || true + /sbin/chkconfig --del openibd >/dev/null 2>&1 || true + +%if "%{WITH_SYSTEMD}" != "1" + /sbin/chkconfig --add openibd >/dev/null 2>&1 || true + /sbin/chkconfig openibd on >/dev/null 2>&1 || true +%else + /usr/bin/systemctl enable openibd >/dev/null 2>&1 || true +%endif +fi + +if grep -qwE 'suse|SLES' /etc/os-release 2>/dev/null; then + /sbin/chkconfig openibd off >/dev/null 2>&1 || true + /usr/bin/systemctl disable openibd >/dev/null 2>&1 || true + /sbin/insserv -r openibd >/dev/null 2>&1 || true + +%if "%{WITH_SYSTEMD}" != "1" + /sbin/insserv openibd >/dev/null 2>&1 || true + /sbin/chkconfig openibd on >/dev/null 2>&1 || true +%else + /usr/bin/systemctl enable openibd >/dev/null 2>&1 || true +%endif +fi + +%if "%{WINDRIVER}" == "1" || "%{BLUENIX}" == "1" +/usr/sbin/update-rc.d openibd defaults || true +%endif + +%if "%{POWERKVM}" == "1" +/usr/bin/systemctl disable openibd >/dev/null 2>&1 || true +/usr/bin/systemctl enable openibd >/dev/null 2>&1 || true +%endif + +%if "%{WITH_SYSTEMD}" == "1" +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +cat /proc/sys/kernel/random/boot_id 2>/dev/null | sed -e 's/-//g' > /var/run/openibd.bootid || true +test -s /var/run/openibd.bootid || echo manual > /var/run/openibd.bootid || true +%endif + +# Comment core modules loading hack +if [ -e /etc/modprobe.conf.dist ]; then + sed -i -r -e 's/^(\s*install ib_core.*)/#MLX# \1/' /etc/modprobe.conf.dist + sed -i -r -e 's/^(\s*alias ib.*)/#MLX# \1/' /etc/modprobe.conf.dist +fi + +%if %{build_ipoib} +if [ -e /etc/modprobe.d/ipv6 ]; then + sed -i -r -e 's/^(\s*install ipv6.*)/#MLX# \1/' /etc/modprobe.d/ipv6 +fi +%endif + +# Update limits.conf (but not for Containers) +if [ ! -e "/.dockerenv" ] && ! (grep -q docker /proc/self/cgroup 2>/dev/null); then + if [ -e /etc/security/limits.conf ]; then + LIMITS_UPDATED=0 + if ! (grep -qE "soft.*memlock" /etc/security/limits.conf 2>/dev/null); then + echo "* soft memlock unlimited" >> /etc/security/limits.conf + LIMITS_UPDATED=1 + fi + if ! (grep -qE "hard.*memlock" /etc/security/limits.conf 2>/dev/null); then + echo "* hard memlock unlimited" >> /etc/security/limits.conf + LIMITS_UPDATED=1 + fi + if [ $LIMITS_UPDATED -eq 1 ]; then + echo "Configured /etc/security/limits.conf" + fi + fi +fi + +# Make IPoIB interfaces be unmanaged on XenServer +if (grep -qi xenserver /etc/issue /etc/*-release 2>/dev/null); then + IPOIB_PNUM=$(lspci -d 15b3: 2>/dev/null | wc -l 2>/dev/null) + IPOIB_PNUM=$(($IPOIB_PNUM * 2)) + for i in $(seq 1 $IPOIB_PNUM) + do + uuid=$(xe pif-list 2>/dev/null | grep -B2 ib${i} | grep uuid | cut -d : -f 2 | sed -e 's/ //g') + if [ "X${uuid}" != "X" ]; then + xe pif-forget uuid=${uuid} >/dev/null 2>&1 || true + fi + done +fi + +fi # 1 : closed +# END of post + +%preun -n %{utils_pname} +is_euler=`grep 'NAME=".*Euler' /etc/os-release 2>/dev/null || :` +is_kylin=`grep 'NAME=".*Kylin' /etc/os-release 2>/dev/null || :` +if [ $1 = 0 ]; then # 1 : Erase, not upgrade + if [[ -f /etc/redhat-release || -f /etc/rocks-release || -f /etc/UnionTech-release || "$is_euler" != '' || "$is_kylin" != '' ]]; then + /sbin/chkconfig openibd off >/dev/null 2>&1 || true + /usr/bin/systemctl disable openibd >/dev/null 2>&1 || true + /sbin/chkconfig --del openibd >/dev/null 2>&1 || true + fi + if grep -qwE 'suse|SLES' /etc/os-release 2>/dev/null; then + /sbin/chkconfig openibd off >/dev/null 2>&1 || true + /usr/bin/systemctl disable openibd >/dev/null 2>&1 || true + /sbin/insserv -r openibd >/dev/null 2>&1 || true + fi + if [ -f /etc/debian_version ]; then + if ! ( /usr/sbin/update-rc.d openibd remove > /dev/null 2>&1 ); then + true + fi + fi +%if "%{WINDRIVER}" == "1" || "%{BLUENIX}" == "1" +/usr/sbin/update-rc.d -f openibd remove || true +%endif + +%if "%{POWERKVM}" == "1" +/usr/bin/systemctl disable openibd >/dev/null 2>&1 || true +%endif +fi + +%postun -n %{utils_pname} +%if "%{WITH_SYSTEMD}" == "1" +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : +%endif + +# Uncomment core modules loading hack +if [ -e /etc/modprobe.conf.dist ]; then + sed -i -r -e 's/^#MLX# (.*)/\1/' /etc/modprobe.conf.dist +fi + +%if %{build_ipoib} +if [ -e /etc/modprobe.d/ipv6 ]; then + sed -i -r -e 's/^#MLX# (.*)/\1/' /etc/modprobe.d/ipv6 +fi +%endif + +#end of post uninstall + +%post -n %{devel_pname} +if [ -d "%{_prefix}/src/ofa_kernel/default" -a $1 -gt 1 ]; then + touch %{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION}.missing_link + # Will run update-alternatives in posttrans +else + update-alternatives --install \ + %{_prefix}/src/ofa_kernel/default \ + ofa_kernel_headers \ + %{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION} \ + 20 +fi + +%posttrans -n %{devel_pname} +symlink="%{_prefix}/src/ofa_kernel/default" +# Should only be used for upgrading from pre-5.5-0.2.6.0 packages: +# At the time of upgrade there was still a directory, so postpone +# generating the alternative symlink to that point: +for flag_file in %{_prefix}/src/ofa_kernel/*/*.missing_link; do + dir=${flag_file%.missing_link} + if [ ! -d "$dir" ]; then + # Directory is no longer there. Nothing left to handle + rm -f "$flag_file" + continue + fi + if [ -d "$symlink" ]; then + echo "%{devel_pname}-%{version}: $symlink is still a non-empty directory. Deleting in preparation for a symlink." + rm -rf "$symlink" + fi + update-alternatives --install \ + "$symlink" \ + ofa_kernel_headers \ + "$dir" \ + 20 + rm -f "$flag_file" +done + +%postun -n %{devel_pname} +update-alternatives --remove \ + ofa_kernel_headers \ + %{_prefix}/src/ofa_kernel/%{_arch}/%{KVERSION} \ + +%files -n %{utils_pname} +%defattr(-,root,root,-) +%license source/debian/copyright +%doc source/ofed_scripts/82-net-setup-link.rules source/ofed_scripts/vf-net-link-name.sh +%if "%{KMP}" == "1" +%if %{IS_RHEL_VENDOR} +%endif # end rh +%endif # end KMP=1 +%dir /etc/infiniband +%config(noreplace) /etc/infiniband/openib.conf +%config(noreplace) /etc/infiniband/mlx5.conf +/etc/infiniband/info +/etc/init.d/openibd +%if "%{WITH_SYSTEMD}" == "1" +%{_unitdir}/openibd.service +/etc/systemd/system/mlnx_interface_mgr@.service +%endif +/lib/udev/sf-rep-netdev-rename +/lib/udev/auxdev-sf-netdev-rename +/usr/sbin/setup_mr_cache.sh +%_datadir/mlnx_ofed/mlnx_bf_assign_ct_cores.sh +%config(noreplace) /etc/modprobe.d/mlnx.conf +%config(noreplace) /etc/modprobe.d/mlnx-bf.conf +%{_sbindir}/* +/lib/udev/rules.d/83-mlnx-sf-name.rules +/lib/udev/rules.d/90-ib.rules +/bin/mlnx_interface_mgr.sh +/bin/mlnx_conf_mgr.sh +%if "%{WINDRIVER}" == "1" || "%{BLUENIX}" == "1" +/usr/sbin/net-interfaces +%endif +%if %{build_ipoib} +%config(noreplace) /etc/modprobe.d/ib_ipoib.conf +%endif +%if %{build_mlx5} +%{_sbindir}/ibdev2netdev +%endif + +%if "%{KMP}" != "1" +%files -n %{non_kmp_pname} +%license source/debian/copyright +/lib/modules/%{KVERSION}/%{install_mod_dir}/ +%if %{IS_RHEL_VENDOR} +%if ! 0%{?fedora} +%config(noreplace) %{_sysconfdir}/depmod.d/zz01-%{_name}-*.conf +%endif +%endif +%endif + +%files -n %{devel_pname} +%defattr(-,root,root,-) +%license source/debian/copyright +%{_prefix}/src/ofa_kernel/%{_arch}/[0-9]* + +%files source +%defattr(-,root,root,-) +%license source/debian/copyright +%{_prefix}/src/ofa_kernel-%version/source +%{_prefix}/src/mlnx-ofa_kernel-%version + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified +* Thu Jun 18 2015 Alaa Hleihel +- Renamed kernel-ib package to mlnx-ofa_kernel-modules +* Thu Apr 10 2014 Alaa Hleihel +- Add QoS utils. +* Thu Mar 13 2014 Alaa Hleihel +- Use one spec for KMP and non-KMP OS's. +* Tue Apr 24 2012 Vladimir Sokolovsky +- Remove FC support +* Tue Mar 6 2012 Vladimir Sokolovsky +- Add weak updates support +* Wed Jul 6 2011 Vladimir Sokolovsky +- Add KMP support +* Mon Oct 4 2010 Vladimir Sokolovsky +- Add mlx4_fc and mlx4_vnic support +* Mon May 10 2010 Vladimir Sokolovsky +- Support install macro that removes RPM_BUILD_ROOT +* Thu Feb 4 2010 Vladimir Sokolovsky +- Added ibdev2netdev script +* Mon Sep 8 2008 Vladimir Sokolovsky +- Added nfsrdma support +* Wed Aug 13 2008 Vladimir Sokolovsky +- Added mlx4_en support +* Tue Aug 21 2007 Vladimir Sokolovsky +- Added %build macro +* Sun Jan 28 2007 Vladimir Sokolovsky +- Created spec file for kernel-ib diff --git a/SPECS/mlx-steering-dump/mlx-steering-dump.signatures.json b/SPECS/mlx-steering-dump/mlx-steering-dump.signatures.json new file mode 100644 index 00000000000..831b41489af --- /dev/null +++ b/SPECS/mlx-steering-dump/mlx-steering-dump.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "mlx-steering-dump-1.0.0.tar.gz": "d0c5aa459fc248246d07a439a5ce0fa297c05be98654981d718ab74196d0334c" + } +} \ No newline at end of file diff --git a/SPECS/mlx-steering-dump/mlx-steering-dump.spec b/SPECS/mlx-steering-dump/mlx-steering-dump.spec new file mode 100644 index 00000000000..d5d0c266669 --- /dev/null +++ b/SPECS/mlx-steering-dump/mlx-steering-dump.spec @@ -0,0 +1,80 @@ +# +# Copyright (c) 2017 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. +# +# + +Summary: Mellanox steering dump parser +Name: mlx-steering-dump +Version: 1.0.0 +Release: 1%{?dist} +License: GPLv2 +Url: https://github.com/Mellanox/mlx_steering_dump +Group: Applications/System +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlx-steering-dump-1.0.0.tar.gz#/%{name}-%{version}.tar.gz +BuildRoot: /var/tmp/%{name}-%{version}-build +Vendor: Microsoft Corporation +Distribution: Azure Linux +ExclusiveArch: x86_64 +Requires: python3 + +%description +This is Mellanox SW steering parser and triggering for dump files in CSV format. +The supported dump files are those generated by ConnectX5 and ConnectX6DX. + +%prep +%setup -q %{name}-%{version} + +%install +install -d %{buildroot}/usr/share/mlx-steering-dump/sws/src/parsers +install -d %{buildroot}/usr/share/mlx-steering-dump/hws/src +install -d %{buildroot}/usr/bin/ + +install -m 755 sws/mlx_steering_dump_parser.py %{buildroot}/usr/share/mlx-steering-dump/sws +install -m 644 sws/src/*.py %{buildroot}/usr/share/mlx-steering-dump/sws/src/ +install -m 644 sws/src/parsers/*.py %{buildroot}/usr/share/mlx-steering-dump/sws/src/parsers/ +install -m 755 sws/mlx_steering_dump %{buildroot}/usr/bin/ + +install -m 755 hws/mlx_hw_steering_parser.py %{buildroot}/usr/share/mlx-steering-dump/hws +install -m 644 hws/src/*.py %{buildroot}/usr/share/mlx-steering-dump/hws/src/ +install -m 755 hws/mlx_hw_steering_dump %{buildroot}/usr/bin/ + +%clean + +%preun + + +%files +%license debian/copyright +/usr/share/mlx-steering-dump/* +/usr/bin/mlx_steering_dump +/usr/bin/mlx_hw_steering_dump + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified +* Wed Oct 6 2021 Mohammad Kabat +- Add rpm support diff --git a/SPECS/multiperf/multiperf.signatures.json b/SPECS/multiperf/multiperf.signatures.json new file mode 100644 index 00000000000..29bc7c149fe --- /dev/null +++ b/SPECS/multiperf/multiperf.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "multiperf-3.0.tar.gz": "b9c43501a200c20ee5af7614da324372cd9f1fbd2fc3d7dfd775a9164bf3a68e" + } +} \ No newline at end of file diff --git a/SPECS/multiperf/multiperf.spec b/SPECS/multiperf/multiperf.spec new file mode 100644 index 00000000000..a589ef6089c --- /dev/null +++ b/SPECS/multiperf/multiperf.spec @@ -0,0 +1,44 @@ +Name: multiperf +Summary: IB Performance tests +Version: 3.0 +Release: 1%{?dist} +License: BSD 3-Clause, GPL v2 or later +Vendor: Microsoft Corporation +Distribution: Azure Linux +Group: Productivity/Networking/Diagnostic +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/multiperf-3.0.tar.gz#/%{name}-%{version}.tar.gz +Url: "" +BuildRoot: /var/tmp/%{name}-%{version}-build +ExclusiveArch: x86_64 + +BuildRequires: libibverbs-devel + +%description +gen3 uverbs microbenchmarks + +%prep +%setup -q + +%build +%configure +%{__make} + +%install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=%{buildroot} install + +%clean +rm -rf ${RPM_BUILD_ROOT} + +%files +%defattr(-, root, root) +%doc README +%license COPYING +%_bindir/* + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified +* Sun Feb 08 2015 - gilr@mellanox.com +- Initial Package, Version 3.0 diff --git a/SPECS/rshim/rshim.signatures.json b/SPECS/rshim/rshim.signatures.json new file mode 100644 index 00000000000..89bdfe8312e --- /dev/null +++ b/SPECS/rshim/rshim.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "rshim-2.1.5.tar.gz": "a7776c66696dd7d1ff2983cfa536673f987394083f9e4c8434fb95f5bea15e8b" + } +} \ No newline at end of file diff --git a/SPECS/rshim/rshim.spec b/SPECS/rshim/rshim.spec new file mode 100644 index 00000000000..a954745b57e --- /dev/null +++ b/SPECS/rshim/rshim.spec @@ -0,0 +1,415 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (C) 2019 Mellanox Technologies. All Rights Reserved. +# + +Name: rshim +Version: 2.1.5 +Release: 1%{?dist} +Summary: User-space driver for Mellanox BlueField SoC +License: GPLv2 +Vendor: Microsoft Corporation +Distribution: Azure Linux +URL: https://github.com/mellanox/rshim-user-space +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/rshim-2.1.5.tar.gz#/%{name}-%{version}.tar.gz +ExclusiveArch: x86_64 +BuildRequires: gcc, autoconf, automake, pkgconfig, make +BuildRequires: pkgconfig(libpci), pkgconfig(libusb-1.0) fuse3-devel fuse3-libs + +%global with_systemd %(if (test -d "%{_unitdir}" > /dev/null); then echo -n '1'; else echo -n '0'; fi) +%global debug_package %{nil} + +%description +This is the user-space driver to access the BlueField SoC via the rshim +interface. It provides ways to push boot stream, debug the target or login +via the virtual console or network interface. + +%prep +rm -fr %{name}-%{version} +mkdir %{name}-%{version} +tar -axf %{SOURCE0} -C %{name}-%{version} --strip-components 1 +%setup -q -D -T + +%build +./bootstrap.sh +%configure +%if %{?make_build:1}%{!?make_build:0} +%make_build +%else +make +%endif + +%install +%undefine _missing_build_ids_terminate_build +%makeinstall -C src INSTALL_DIR="%{buildroot}%{_sbindir}" +%if "%{with_systemd}" == "1" + %{__install} -d %{buildroot}%{_unitdir} + %{__install} -m 0644 rshim.service %{buildroot}%{_unitdir} +%endif +%{__install} -d %{buildroot}%{_mandir}/man8 +%{__install} -m 0644 man/rshim.8 %{buildroot}%{_mandir}/man8 +%{__install} -m 0644 man/bfb-install.8 %{buildroot}%{_mandir}/man8 +%{__install} -m 0644 man/bf-reg.8 %{buildroot}%{_mandir}/man8 +%{__install} -d %{buildroot}%{_sysconfdir} +%{__install} -m 0644 etc/rshim.conf %{buildroot}%{_sysconfdir} +%{__install} -m 0755 scripts/bfb-install %{buildroot}%{_sbindir} +%{__install} -m 0755 scripts/bf-reg %{buildroot}%{_sbindir} + +%pre +%if "%{with_systemd}" == "1" + if systemctl is-active --quiet rshim ; then + systemctl stop rshim + fi +%endif + +%post +%if "%{with_systemd}" == "1" + echo "Installation complete. To enable and start the rshim service, run:" + echo " systemctl daemon-reload" + echo " systemctl enable rshim" + echo " systemctl start rshim" +%endif + +%preun +if [ "$1" = "0" ]; then +%if "%{with_systemd}" == "1" + if systemctl is-active --quiet rshim ; then + systemctl stop rshim + fi +%else + killall -9 rshim +%endif +fi + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE +%defattr(-,root,root,-) +%doc README.md +%config(noreplace) %{_sysconfdir}/rshim.conf +%if "%{with_systemd}" == "1" + %{_unitdir}/rshim.service +%endif +%{_sbindir}/rshim +%{_sbindir}/bfb-install +%{_sbindir}/bf-reg +%{_mandir}/man8/rshim.8.gz +%{_mandir}/man8/bfb-install.8.gz +%{_mandir}/man8/bf-reg.8.gz + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified + +* Mon Oct 14 2024 Penghe Geng - 2.1.5 +- Revert "Abort rshim rpm installation if no cuse.ko found" + +* Thu Oct 10 2024 Penghe Geng - 2.1.4 +- Make rshim run in single instance +- Abort rshim rpm installation if no cuse.ko found +- Increase default boot timeout to 300s +- bfb-install: Fix premature bfb-install exit when rebooting BMC + +* Tue Sep 10 2024 Penghe Geng - 2.1.3 +- Reduce the access_check() wait time + +* Fri Aug 30 2024 Liming Sun - 2.1.2 +- Improve access_check() to reduce likelihood of race condition +- Revert the 2-second delay + +* Thu Aug 15 2024 Liming Sun - 2.1.1 +- Add support for command mode +- Fix some coding style issues +- Cleanup rshim debug/syslog messages + +* Thu Aug 08 2024 Liming Sun - 2.0.41 +- Add a small delay to access the boot file +- Fix a valgrind warning + +* Mon Aug 05 2024 Penghe Geng - 2.0.40 +- Fix rshim deb package for DOCA build on Ubuntu + +* Fri Aug 02 2024 Penghe Geng - 2.0.39 +- Fix rshim masking issue on Ubuntu +- bfb-install: Fix NIC_MODE installation for BlueField-2 +- pcie: Add VFIO support for BlueField-3 + +* Fri Jul 26 2024 Penghe Geng - 2.0.38 +- Make sending the initial force command a one-time event +- bfb-install: adjust the log file to be per rshim + +* Tue Jul 16 2024 Penghe Geng - 2.0.37 +- add missing --force in help menu + +* Mon Jul 15 2024 Penghe Geng - 2.0.36 +- Allow /dev/rshim devfs creation only with --force option enabled +- bfb-install: fix for NIC mode +- bfb-install: Exit with error if running remote bfb-install without + password-less root SSH +- Fix compiling issue for FreeBSD + +* Fri Jul 05 2024 Penghe Geng - 2.0.35 +- Add ownership transfer feature (primarily via "FORCE_CMD") +- bfb-install: enhancement for NIC mode + +* Tue Jun 11 2024 Liming Sun - 2.0.34 +- bfb-install: Enable CLEAR_ON_READ +- bfb-install: add cleanup code for runtime update + +* Thu Jun 06 2024 Liming Sun - 2.0.33 +- misc: add 'CLEAR_ON_READ' command +- bfb-install: add runtime image support + +* Tue Jun 04 2024 Liming Sun - 2.0.32 +- bf3/pcie_lf: Fix the 4B access via MSN GW + +* Fri May 17 2024 Liming Sun - 2.0.31 +- bf3/pcie_lf: support register read/write via /dev/rshim0/rshim +- Only poll/check locked mode for PCIe backend +- Remove workaround support for BF2 A0 chip + +* Mon May 13 2024 Liming Sun - 2.0.30 +- pcie: Adjust default reset delay to 3 seconds +- Avoid polling blocked status during reset +- Disable installation of rshim on host by default + +* Tue Apr 30 2024 Liming Sun - 2.0.29 +- Some robust fixes for rshim over USB +- Lower log level for register read errors as it's normal during reset + +* Thu Apr 25 2024 Penghe Geng - 2.0.28 +- Secure NIC Mode: Prevent running simultaneously on both bmc and host + +* Fri Apr 12 2024 Penghe Geng - 2.0.27 +- bfb-install: Fix incorrect IP address resolution for multi-hop routing + +* Fri Apr 12 2024 Liming Sun - 2.0.26 +- rshim_pcie: set PCIE bit in scratchpad6 +- Revert semantics of --reverse-nc + +* Fri Apr 05 2024 Liming Sun - 2.0.25 +- Avoid a race of rshim ownership during bfb push + +* Thu Apr 04 2024 Liming Sun - 2.0.24 +- DROP_MODE: sync-up the Rx FIFO when clearing DROP_MODE + +* Tue Apr 02 2024 Liming Sun - 2.0.23 +- Add some robust fixes for the DROP_MODE + +* Fri Mar 22 2024 Penghe Geng - 2.0.22 +- bfb-install: add support for remote rshim update; add speed optimizations + +* Tue Mar 19 2024 Penghe Geng - 2.0.21 +- rshim_pci: output Secure NIC mode status in misc file + +* Fri Feb 16 2024 Liming Sun - 2.0.20 +- rshim_pci: adjust delay time for nic_fw reset +- bfb-install: Exit on "Linux up" + +* Wed Jan 10 2024 Liming Sun - 2.0.19 +- Fix incorrect console message drop +- Allow runtime debug code for DK cards + +* Thu Dec 14 2023 Liming Sun - 2.0.18 +- Clear scratchpad1 register when setting drop_mode + +* Wed Nov 22 2023 Liming Sun - 2.0.17 +- bfb-install: Fix duplicate output + +* Thu Nov 16 2023 Liming Sun - 2.0.16 +- Remove fuse build dependency + +* Tue Nov 14 2023 Liming Sun - 2.0.15 +- Add BFB completion condition for enhanced NIC mode + +* Fri Nov 10 2023 Liming Sun - 2.0.14 +- Fix 9f19cfb4a75687ae + +* Wed Nov 08 2023 Liming Sun - 2.0.13 +- Several robust fixes +- Add fuse3 support + +* Mon Oct 23 2023 Liming Sun - 2.0.12 +- BF3: Add UPTIME display in seconds + +* Tue Sep 26 2023 Liming Sun - 2.0.11 +- Remove version 0 support for NIC FW_RESET +- bfb-install: Return failure code + +* Mon Sep 18 2023 Liming Sun - 2.0.10 +- Fix interrupt handling for NIC FW_RESET + +* Sat Jun 17 2023 Liming Sun - 2.0.9 +- rshim/usb/bf3: fix timeout logic + +* Tue May 16 2023 Liming Sun - 2.0.8 +- Fix the fall-back logic of direct-mapping + +* Thu Mar 30 2023 Liming Sun - 2.0.7 +- Avoid opening /dev/uio multiple times +- Update common files to dual-license +- Adjust rshim reset delay + +* Sun Nov 20 2022 Liming Sun - 2.0.6-19 +- BF3: Support 4B access for PCIe + +* Tue Oct 25 2022 Liming Sun - 2.0.6-18 +- pcie: fix initialization issue when setting DROP_MODE in rshim.conf + +* Thu Oct 20 2022 Liming Sun - 2.0.6-17 +- pcie: Avoid using cached pci_dev +- rshim_fuse: display misc file even when rshim is not accessible + +* Thu Oct 06 2022 Liming Sun - 2.0.6-16 +- pcie: Support mixed vfio and direct mapping mode + +* Thu Sep 29 2022 Liming Sun - 2.0.6-15 +- Add dependency of libfuse2 for .deb +- rshim-pcie: add a new bad-access code +- Fix a potential NULL pointer access during USB disconnect +- Adjust default boot timeout to 150s + +* Tue Aug 16 2022 Liming Sun - 2.0.6-14 +- Avoid potential race when stopping the rshim process +- Add configuration option to enable/disable PCIe VFIO/UIO +- Fix warnings for compiling on 32-bit BMC +- Mustang rshim usb supports for 4B and 8B transactions + +* Sun Jul 17 2022 Liming Sun - 2.0.6-13 +- BF3: Support 32-bit CR-space access via USB +- Avoid kernel-modules-extra dependency on ctyunos + +* Thu Jun 16 2022 Liming Sun - 2.0.6-12 +- Optimize the rshim_work_fd +- Detect new USB/rshim hot plugin + +* Mon May 16 2022 Liming Sun - 2.0.6-11 +- Avoid kernel crash when unbind rshim from uio + +* Mon May 02 2022 Liming Sun - 2.0.6-10 +- Fix several compiling issues for FreeBSD + +* Thu Apr 28 2022 Liming Sun - 2.0.6-9 +- Use per-device memory-map mode + +* Mon Apr 18 2022 Liming Sun - 2.0.6-8 +- Add interrupt polling for direct mmap() mode +- Fix several coverity warnings + +* Thu Apr 07 2022 Liming Sun - 2.0.6-7 +- Keep intr_fd during rshim_pcie disable/enable +- Mustang: Add support for rshim over pcie and pcie_lf + +* Wed Mar 30 2022 Liming Sun - 2.0.6-6 +- Clear scratchpad1 to 0 before PCI resources are unmapped +- Fallback to UIO if VFIO failed + +* Fri Mar 18 2022 Liming Sun - 2.0.6-5 +- PCIe: Add UIO and IRQ support +- PCIe: Remove 32-bit support + +* Mon Feb 28 2022 Liming Sun - 2.0.6-4 +- VFIO support +- Fix potential race in rshim_work_signal + +* Mon Nov 29 2021 Liming Sun - 2.0.6-3 +- Adjust the defaul value of usb_reset_delay to 5 +- Add a delay after USB probe +- Make the reset delay configurable + +* Wed Nov 03 2021 Liming Sun - 2.0.6-2 +- bfb-install: Handle new indications for installation completion +- Clean up some un-needed register definition +- Fix MTU of the tmfifo_net0 interface on FreeBSD +- Several fixes to prevent hypervisor crash +- Refine some BF-2 Rev0 workaround condition + +* Wed May 12 2021 Liming Sun - 2.0.6-1 +- Disable the background timer if no rshim devices +- Setting default path for rshim config file + +* Wed Mar 10 2021 Liming Sun - 2.0.5-10 +- PCIe hotplug support +- Reduce CPU utilization when there is no rshim device + +* Wed Jan 27 2021 Liming Sun - 2.0.5-9 +- Fix potential tmfifo data loss +- Add workaround checking for Bluefield-2 REV-0 +- Fix network traffic stop issue when Tx buffer full + +* Fri Dec 11 2020 Liming Sun - 2.0.5-8 +- Don't allow any register access when DROP_MODE is set +- Avoid potential race in rshim_fifo_read + +* Wed Dec 09 2020 Liming Sun - 2.0.5-7 +- Fix potential dead-lock when calling rshim_access_check +- Ignore rshim access checking when global drop mode is enabled +- Fix some secure boot related issue + +* Wed Dec 02 2020 Liming Sun - 2.0.5-6 +- Add some default configuration in rshim.conf +- Change the debug level of Rshim byte access widget timeout +- Add bfb-install script + +* Thu Oct 29 2020 Liming Sun - 2.0.5-5 +- Check rshim accessibility when re-enabling it +- Enable console output during boot stream pushing +- Add some delay for the pcie_lf probe +- Auto-start rshim service after installation + +* Fri Sep 25 2020 Liming Sun - 2.0.5-4 +- Some robust fixes for USB rshim +- Fix a typo in pcie mmap + +* Mon Aug 17 2020 Liming Sun - 2.0.5-3 +- Fix several coverity warnings +- Add workaround to boot Viper rev A0 in LiveFish mode +- Display/configure OPN string for BlueField-2 + +* Fri Jul 24 2020 Liming Sun - 2.0.5-2 +- Add configuration file support +- misc: Display device version / revision ID +- Add service file for FreeBSD + +* Tue Jun 16 2020 Liming Sun - 2.0.5-1 +- Improve response time to ctrl+c for boot stream +- Fix a rpmbuild issue when make_build is not defined +- Add DROP_MODE configuration in misc file +- Avoid reading the fifo if still booting +- Fix configure issue for FreeBSD 12.1-RELEASE +- Add domain id to the DEV_NAME in the misc file +- Fix the debian copyright format +- Enhance rshim_pcie_enable function + +* Tue Apr 21 2020 Liming Sun - 2.0.4-1 +- Update .spec file according to review comments +- Fix the 'KillMode' in rshim.service +- Support process termination by SIGTERM +- Fix some compiling warnings and configure issue for FreeBSD +- Fix a read()/write() issue in rshim_pcie.c caused by optimization + +* Tue Apr 14 2020 Liming Sun - 2.0.3-1 +- Enable pci device during probing +- Map the pci resource0 file instead of /dev/mem +- Add copyright header in bootstrap.sh +- Add 'Requires' tag check in the rpm .spec for kernel-modules-extra +- Fix the 'rshim --version' output + +* Thu Apr 09 2020 Liming Sun - 2.0.2-1 +- Remove unnecessary dependency in .spec and use make_build +- Add package build for debian/ubuntu +- Fix some format in the man page +- Add check for syslog headers + +* Mon Mar 23 2020 Liming Sun - 2.0.1-1 +- Rename bfrshim to rshim +- Remove rshim.spec since it's auto-generated from rshim.spec.in +- Fix some warnings reported by coverity +- Add file rhel/rshim.spec.in for fedora +- Move rshim to sbin and move man page to man8 + +* Fri Mar 13 2020 Liming Sun - 2.0-1 +- Update the spec file according to fedora packaging-guidelines + +* Mon Dec 16 2019 Liming Sun +- Initial packaging diff --git a/SPECS/sockperf/sockperf.signatures.json b/SPECS/sockperf/sockperf.signatures.json new file mode 100644 index 00000000000..ed3db5a58ca --- /dev/null +++ b/SPECS/sockperf/sockperf.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "sockperf-3.10.tar.gz": "9e16b8e7774d62c03b51c6161fd4950c9b81080fa11c09d180a2630a533f31af" + } +} \ No newline at end of file diff --git a/SPECS/sockperf/sockperf.spec b/SPECS/sockperf/sockperf.spec new file mode 100644 index 00000000000..39c25b61cab --- /dev/null +++ b/SPECS/sockperf/sockperf.spec @@ -0,0 +1,88 @@ +%global version 3.10 +%global git_ref 5ebd327da983225321818c0355db922515e026bd +%global release 0.git5ebd327da983.2410068 +%global full_ver %{version}-%{release} + +Name: sockperf +Version: %{version} +Release: 1%{?dist} +Summary: Network benchmarking utility for testing latency and throughput +Group: Applications/Internet +License: BSD +Vendor: Microsoft Corporation +Distribution: Azure Linux +URL: https://github.com/mellanox/%{name} +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/sockperf-3.10.tar.gz#/%{name}-%{version}.tar.gz +ExclusiveArch: x86_64 + +BuildRequires: doxygen + +# can't use _pkgdocdir neither _docdir since it is not the same even where it is defined +%global _my_pkgdocdir /usr/share/doc/%{name} + + +%description +sockperf is a network benchmarking utility over socket API that was designed +for testing performance (latency and throughput) of high-performance systems +(it is also good for testing performance of regular networking systems as +well). It covers most of the socket API calls and options. + +Specifically, in addition to the standard throughput tests, sockperf, does the +following: + +* Measure latency of each discrete packet at sub-nanosecond resolution (using + TSC register that counts CPU ticks with very low overhead). + +* Does the above for both ping-pong mode and for latency under load mode. This + means that we measure latency of single packets even under load of millions + Packets Per Second (without waiting for reply of packet before sending + subsequent packet on time) + +* Enable spike analysis by providing histogram, with various percentiles of the + packets' latencies (for example: median, min, max, 99% percentile, and more), + (this is in addition to average and standard deviation). Also, sockperf + provides full log with all packet's tx/rx times that can be further analyzed + with external tools, such as MS-Excel or matplotlib - All this without + affecting the benchmark itself. + +* Support MANY optional settings for good coverage of socket API and network + configurations, while still keeping very low overhead in the fast path to + allow cleanest results. + +%prep +#%setup -q -n %{name}-%{git_ref} +%setup -q -n %{name}-%{version} + + +%build + +# Upstream wants and defaults to "-O3 --param inline-unit-growth=200". +# The Fedora optflags would override the former, so let's put it back. +# Avner wrote: +# > I reached that in the past after fine tuning the performance of sockperf. +# > We used sockperf for measuring latency of extremely fast networks. +# > Sometimes at sub microsecond resolution. This parameter helps us keeping +# > the entire fast path of the application as "one big function" with no +# > calls to other functions because it helps the compiler to respect all our +# > "inline" directive for other functions that we call (while still keeping +# > the "one big function" at a reasonable size for good performance at run +# > time). +export CXXFLAGS='%{optflags} -O3' +%configure --enable-doc +# --enable-tool --enable-test +make %{?_smp_mflags} + +%install +make install DESTDIR="%{?buildroot}" + +%files +%defattr(-,root,root,-) +%license copying +%{_bindir}/%{name} +%{_mandir}/man3/%{name}.3.* +%{_my_pkgdocdir} + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: BSD). +- License verified diff --git a/SPECS/srp/srp.signatures.json b/SPECS/srp/srp.signatures.json new file mode 100644 index 00000000000..226e0a58452 --- /dev/null +++ b/SPECS/srp/srp.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "srp-24.10.tgz": "bc4897a8317fe2204109cffe935ae64aeb7dd5f09df3ac9a0317ddfb6ed71286" + } +} diff --git a/SPECS/srp/srp.spec b/SPECS/srp/srp.spec new file mode 100644 index 00000000000..73472b521cb --- /dev/null +++ b/SPECS/srp/srp.spec @@ -0,0 +1,258 @@ +# +# 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} +%global K_SRC /lib/modules/%{target_kernel_version_full}/build + +%{!?_name: %define _name srp} +%{!?_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: srp driver +Name: srp +Version: 24.10 +Release: 1%{?dist} +License: GPLv2 +Url: http://www.mellanox.com +Group: System Environment/Base +Source: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/srp-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: libconfig-devel +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 +# add SRP_LOAD=no to openib.conf +if [ -f "/etc/infiniband/openib.conf" ] && ! (grep -q SRP_LOAD /etc/infiniband/openib.conf > /dev/null 2>&1) ; then + echo "# Load SRP module" >> /etc/infiniband/openib.conf + echo "SRP_LOAD=no" >> /etc/infiniband/openib.conf +fi +# 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 +* Thu Jan 9 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/xpmem-lib/xpmem-lib.signatures.json b/SPECS/xpmem-lib/xpmem-lib.signatures.json new file mode 100644 index 00000000000..c2fe3accad7 --- /dev/null +++ b/SPECS/xpmem-lib/xpmem-lib.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "xpmem-lib-2.7.tar.gz": "0f3666d0e0a32be87cf625bc56b18bf3384b0068d3914e16c3e8808311319281" + } +} \ No newline at end of file diff --git a/SPECS/xpmem-lib/xpmem-lib.spec b/SPECS/xpmem-lib/xpmem-lib.spec new file mode 100644 index 00000000000..ab962c9e8b2 --- /dev/null +++ b/SPECS/xpmem-lib/xpmem-lib.spec @@ -0,0 +1,88 @@ +#define buildforkernels newest +#define buildforkernels current +#define buildforkernels akmod + +Summary: XPMEM: Cross-partition memory +Name: xpmem-lib +Version: 2.7 +Release: 1%{?dist} +License: GPLv2 +Group: System Environment/Libraries +Vendor: Microsoft Corporation +Distribution: Azure Linux +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/xpmem-lib-2.7.tar.gz#/%{name}-%{version}.tar.gz +ExclusiveArch: x86_64 + +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool +BuildRequires: pkg-config + +%{!?make_build: %global make_build %{__make} %{?_smp_mflags} %{?mflags} V=1} +%{!?run_ldconfig: %global run_ldconfig %{?ldconfig}} + +%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. + +%package -n libxpmem +Summary: XPMEM: user-space library + +%description -n libxpmem +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 contains the user-space library needed to interface with XPMEM. + +%package -n libxpmem-devel +Summary: XPMEM: user-space library headers +Group: System Environment/Libraries +Requires: libxpmem%{?_isa} = %{version}-%{release} + +%description -n libxpmem-devel +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 contains the development headers for the user-space library +needed to interface with XPMEM. + +%prep +%setup + +%build +%configure --disable-kernel-module +%make_build + +%install +%make_install +rm -rf ${RPM_BUILD_ROOT}/etc # /etc/.version , udev rules + +%post -n libxpmem +%if 0%{?fedora} || 0%{?rhel} > 7 +# https://fedoraproject.org/wiki/Changes/Removing_ldconfig_scriptlets +%else +%{run_ldconfig} +%endif + +%files -n libxpmem +%doc README AUTHORS +%license COPYING COPYING.LESSER +%{_libdir}/libxpmem.so.* + +%files -n libxpmem-devel +%{_includedir}/xpmem.h +%{_libdir}/libxpmem.a +%{_libdir}/libxpmem.la +%{_libdir}/libxpmem.so +%{_libdir}/pkgconfig/cray-xpmem.pc + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified diff --git a/SPECS/xpmem/xpmem.signatures.json b/SPECS/xpmem/xpmem.signatures.json new file mode 100644 index 00000000000..06aa62d82ff --- /dev/null +++ b/SPECS/xpmem/xpmem.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "xpmem-2.7.4.tar.gz": "499fcb6d9206e433c14250d91599636ae753eb6172bb8aea30ca0a4a2e351128" + } +} \ No newline at end of file diff --git a/SPECS/xpmem/xpmem.spec b/SPECS/xpmem/xpmem.spec new file mode 100644 index 00000000000..f505bd5b56b --- /dev/null +++ b/SPECS/xpmem/xpmem.spec @@ -0,0 +1,251 @@ +%{!?KMP: %global KMP 0} + +%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 + +# %{!?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') +%{!?K_SRC: %global K_SRC /lib/modules/%{KVERSION}/build} +# A separate variable _release is required because of the odd way the +# script append_number_to_package_release.sh works: +%global _release 1.2410068 + +%bcond_with kernel_only + +%if %{with kernel_only} +%undefine _debugsource_packages +%global debug_package %{nil} +%global make_kernel_only SUBDIRS=kernel +%else +%global make_kernel_only %{nil} +%endif + +%define need_firmware_dir 0%{?euleros} > 0 + +%if "%_vendor" == "openEuler" +%global __find_requires %{nil} +%endif + +Summary: Cross-partition memory +Name: xpmem +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 +Source0: https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/xpmem-2.7.4.tar.gz#/%{name}-%{version}.tar.gz +ExclusiveArch: x86_64 + +# name gets a different value in subpackages +%global _name %{name} +%global _kmp_rel %{release}%{?_kmp_build_num}%{?_dist} +# Required for e.g. SLES12: +%if %{undefined make_build} +%global make_build %{__make} %{?_smp_mflags} +%endif + +# Ugly workaround until anolis kmod package stops requiring +# 'kernel(' dependencies its kernel package does not provide. +# This uses the __find_provides from /usr/lib/rpm/redhat/macros +# rather than the one from /usr/lib/rpm/macros.d/macros.kmp +%if 0%{?anolis} > 0 +%{?filter_setup} +%endif + +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 +BuildRequires: mlnx-ofa_kernel-source + +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 helper tools for the kernel module. + +%if ! %{with kernel_only} +%package -n libxpmem +Summary: XPMEM: Userspace library +%description -n libxpmem +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. + + +%package -n libxpmem-devel +Summary: XPMEM: userspace library development headers +%description -n libxpmem-devel +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 development headers. +%endif + +# build KMP rpms? +%if "%{KMP}" == "1" +%global kernel_release() $(make -C %{1} M=$PWD kernelrelease | grep -v make) +BuildRequires: %kernel_module_package_buildreqs +%(cat > %{_builddir}/preamble << EOF +EOF) +%{kernel_module_package -r %{_kmp_rel} -p %{_builddir}/preamble} +%else # not KMP +%global kernel_source() %{K_SRC} +%global kernel_release() %{KVERSION} +%global flavors_to_build default + +%package modules +# %{nil}: to avoid having the script that build OFED-internal +# munge the release version here as well: +Release: 1%{?dist} +Summary: XPMEM: kernel modules +Group: System Environment/Libraries +%description modules +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 (non KMP version). +%endif #end if "%{KMP}" == "1" + +# +# 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 \ + $RPM_BUILD_DIR/xpmem-%{version}/tools/sign-modules $RPM_BUILD_ROOT/lib/modules/ %{kernel_source default} || exit 1 \ +%{nil} + +# 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. +# +%define __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 0%{?rhel} > 0 || 0%{?euleros} >= 2 +%global install_mod_dir extra/%{_name} +%endif + +%{!?install_mod_dir: %global install_mod_dir updates} + +%global moduledir /lib/modules/%{KVERSION}/%{install_mod_dir} + +%prep +%setup -q + +%build +env= +if [ "$CROSS_COMPILE" != '' ]; then + env="$env CC=${CROSS_COMPILE}gcc" +fi +./autogen.sh +%{configure} \ + --with-module-prefix= \ + --with-kerneldir=%{K_SRC} \ + $env \ + # +%{make_build} %{make_kernel_only} + +%install +%{make_install} moduledir=%{moduledir} %{make_kernel_only} +rm -rf $RPM_BUILD_ROOT/%{_libdir}/libxpmem.la +rm -rf $RPM_BUILD_ROOT/etc/init.d/xpmem +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/modules-load.d +echo "xpmem" >$RPM_BUILD_ROOT%{_prefix}/lib/modules-load.d/xpmem.conf +%if %{with kernel_only} +rm -f $RPM_BUILD_ROOT/usr/lib*/pkgconfig/cray-xpmem.pc +%endif +%if %{need_firmware_dir} +mkdir -p $RPM_BUILD_ROOT/lib/firmware +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%if ! %{with kernel_only} +%post -n libxpmem -p /sbin/ldconfig +%postun -n libxpmem -p /sbin/ldconfig +%endif + +%postun +if [ "$1" = 0 ]; then + if lsmod | grep -qw xpmem; then + # If the module fails to unload, give an error, + # but don't fail uninstall. User should handle this + # Maybe the module is in use + rmmod xpmem || : + fi +fi + +%files +/lib/udev/rules.d/*-xpmem.rules +%{_prefix}/lib/modules-load.d/xpmem.conf +%doc README AUTHORS +%license COPYING COPYING.LESSER + +%if ! %{with kernel_only} +%files -n libxpmem +%{_libdir}/libxpmem.so.* +%license COPYING COPYING.LESSER + +%files -n libxpmem-devel +%{_prefix}/include/xpmem.h +%{_libdir}/libxpmem.a +%{_libdir}/libxpmem.so +%{_libdir}/pkgconfig/cray-xpmem.pc +%license COPYING COPYING.LESSER +%endif + +%if "%{KMP}" != "1" +%files modules +%{moduledir}/xpmem.ko +%license COPYING COPYING.LESSER +%endif + +%changelog +* Tue Dec 17 2024 Binu Jose Philip +- Initial Azure Linux import from NVIDIA (license: GPLv2) +- License verified + diff --git a/cgmanifest.json b/cgmanifest.json index 7a3d5ac2b0a..d7915aa840f 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -4005,6 +4005,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "fwctl", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/fwctl-24.10.tgz" + } + } + }, { "component": { "type": "other", @@ -6985,6 +6995,26 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "ibarr", + "version": "0.1.3", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/ibarr-0.1.3.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "ibsim", + "version": "0.12", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/ibsim-0.12.tar.gz" + } + } + }, { "component": { "type": "other", @@ -7516,6 +7546,26 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "iser", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/iser-24.10.tgz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "isert", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/isert-24.10.tgz" + } + } + }, { "component": { "type": "other", @@ -8276,6 +8326,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "knem", + "version": "1.1.4.90mlnx3", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/knem-1.1.4.90mlnx3.tar.gz" + } + } + }, { "component": { "type": "other", @@ -13036,6 +13096,56 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "kernel-mft", + "version": "4.30.0", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/kernel-mft-4.30.0.tgz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "mlnx-ethtool", + "version": "6.9", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-ethtool-6.9.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "mlnx-iproute2", + "version": "6.10.0", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-iproute2-6.10.0.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "mlnx-nfsrdma", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-nfsrdma-24.10.tgz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "mlnx-ofa_kernel", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlnx-ofa_kernel-24.10.tgz" + } + } + }, { "component": { "type": "other", @@ -13157,6 +13267,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "mlx-steering-dump", + "version": "1.0.0", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/mlx-steering-dump-1.0.0.tar.gz" + } + } + }, { "component": { "type": "other", @@ -13487,6 +13607,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "multiperf", + "version": "3.0", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/multiperf-3.0.tar.gz" + } + } + }, { "component": { "type": "other", @@ -25859,6 +25989,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "rshim", + "version": "2.1.5", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/rshim-2.1.5.tar.gz" + } + } + }, { "component": { "type": "other", @@ -27851,6 +27991,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "sockperf", + "version": "3.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/sockperf-3.10.tar.gz" + } + } + }, { "component": { "type": "other", @@ -28081,6 +28231,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "srp", + "version": "24.10", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/srp-24.10.tgz" + } + } + }, { "component": { "type": "other", @@ -30654,6 +30814,26 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "xpmem-lib", + "version": "2.7", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/xpmem-lib-2.7.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "xpmem", + "version": "2.7.4", + "downloadUrl": "https://linux.mellanox.com/public/repo/mlnx_ofed/24.10-0.7.0.0/SRPMS/xpmem-2.7.4.tar.gz" + } + } + }, { "component": { "type": "other", diff --git a/toolkit/scripts/check_entangled_specs.py b/toolkit/scripts/check_entangled_specs.py index f2fd5cadb4b..33cb81406e1 100755 --- a/toolkit/scripts/check_entangled_specs.py +++ b/toolkit/scripts/check_entangled_specs.py @@ -46,7 +46,44 @@ "SPECS/shim/shim.spec", "SPECS/shim-unsigned-x64/shim-unsigned-x64.spec", "SPECS/shim-unsigned-aarch64/shim-unsigned-aarch64.spec" + ]), + frozenset([ + "SPECS-SIGNED/fwctl-signed/fwctl-signed.spec", + "SPECS/fwctl/fwctl.spec" + ]), + frozenset([ + "SPECS-SIGNED/iser-signed/iser-signed.spec", + "SPECS/iser/iser.spec" + ]), + frozenset([ + "SPECS-SIGNED/isert-signed/isert-signed.spec", + "SPECS/isert/isert.spec" + ]), + frozenset([ + "SPECS-SIGNED/knem-signed/knem-modules-signed.spec", + "SPECS/knem/knem.spec" + ]), + frozenset([ + "SPECS-SIGNED/mft_kernel-signed/mft_kernel-signed.spec", + "SPECS/mft_kernel/mft_kernel.spec" + ]), + frozenset([ + "SPECS-SIGNED/mlnx-nfsrdma-signed/mlnx-nfsrdma-signed.spec", + "SPECS/mlnx-nfsrdma/mlnx-nfsrdma.spec" + ]), + frozenset([ + "SPECS-SIGNED/mlnx-ofa_kernel-signed/mlnx-ofa_kernel-modules-signed.spec", + "SPECS/mlnx-ofa_kernel/mlnx-ofa_kernel.spec" + ]), + frozenset([ + "SPECS-SIGNED/srp-signed/srp-signed.spec", + "SPECS/srp/srp.spec" + ]), + frozenset([ + "SPECS-SIGNED/xpmem-signed/xpmem-modules-signed.spec", + "SPECS/xpmem/xpmem.spec" ]) + ] version_matching_groups = [ diff --git a/toolkit/scripts/spec_source_attributions.py b/toolkit/scripts/spec_source_attributions.py index 8d5b367547f..f04a6f531c0 100755 --- a/toolkit/scripts/spec_source_attributions.py +++ b/toolkit/scripts/spec_source_attributions.py @@ -16,7 +16,7 @@ "Fedora (Copyright Remi Collet)": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from Fedora \d+ \(license: CC-BY-SA\)(\.|\n|$)', "Fedora (ISC)": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from Fedora \d+ \(license: ISC\)(\.|\n|$)', "Magnus Edenhill Open Source": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from Magnus Edenhill Open Source \(license: BSD\)(\.|\n|$)', - "NVIDIA": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from NVIDIA \(license: (ASL 2\.0|GPLv2)\)(\.|\n|$)', + "NVIDIA": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from NVIDIA \(license: (ASL 2\.0|GPLv2|BSD)\)(\.|\n|$)', "OpenEuler": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from OpenEuler \(license: BSD\)(\.|\n|$)', "OpenMamba": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from OpenMamba(\.|\n|$)', "OpenSUSE": r'\n-\s+Initial (CBL-Mariner|Azure Linux) import from openSUSE \w+ \(license: same as "License" tag\)(\.|\n|$)',