Packaging templates for yum, dnf, and zypper based Linux distros to build libnvidia-nscq packages.
NVIDIA NVSwitch Configuration and Query (NSCQ) library provides a stable driver API used by DCGM for monitoring NVSwitch devices.
note: the version of libnvidia-nscq must match the NVIDIA driver installed.
This repo contains the .spec file used to build the following RPM packages:
note:
XXXis the first.delimited field in the driver version, ex:525in525.85.12
- libnvidia-nscq-XXX
> ex: libnvidia-nscq-525-525.85.12-1.x86_64.rpm-
RHEL8, RHEL9, or Fedora streams:
XXX,XXX-dkms,latest, andlatest-dkmsThe NvSwitch modularity profile (
fm) installs all of the NVIDIA driver packages, as well as Fabric Manager and NCSQdnf module install nvidia-driver:${stream}/fm -
RHEL7
yum install libnvidia-nscq-XXX
-
openSUSE15 or SLES15
zypper install libnvidia-nscq-XXX
Supported branches as described in the NVIDIA Datacenter Drivers documentation.
git clone https://github.com/NVIDIA/yum-packaging-libnvidia-nscq-
https://developer.download.nvidia.com/compute/nvidia-driver/redist/libnvidia_nscq/
ex: libnvidia_nscq-linux-x86_64-525.85.12-archive.tar.xz
note: these are only needed for building not installation
# objdump
yum install binutils
# Packaging
yum install rpm-buildbaseURL="https://developer.download.nvidia.com/compute/nvidia-driver/redist"
downloadURL=$(curl -s $baseURL/redistrib_525.85.12.json | \
jq -r '."libnvidia_nscq" | ."linux-x86_64" | ."relative_path"' | \
sed "s|^|$baseURL/|")
curl -O $downloadURLcd yum-packaging-libnvidia-nscq
mkdir SPECS SOURCES
cp *.spec SPECS/
cp ../libnvidia_nscq*.tar.xz SOURCES/tar -tvf SOURCES/libnvidia_nscq*.tar.xz | \
grep ^l | awk '{print $(NF-2)}' | grep ".so." | \
sort -uVr | awk -F ".so." '{print $2}' | awk NR==1
> 2.0tar -C SOURCES/ -xf SOURCES/libnvidia_nscq*.tar.xz
objdump -p /dev/stdin < $(find SOURCES -type f -name "libnvidia-nscq.so.*") | \
grep SONAME | awk -F ".so." '{print $2}'
> 2rpmbuild \
--define "%_topdir $(pwd)" \
--define "%version 525.85.12" \
--define "%branch 525" \
--define "%so_api 2.0" \
--define "%SONAME 2" \
--define "%_arch x86_64" \
--define "%_build_arch x86_64" \
--define "%_repo_arch x86_64" \
--target=x86_64 \
-v -ba SPECS/*.spec
cd RPMS/x86_64
ls *.rpmnote: branch is the first
.delimited field in the driver version, ex:525in525.85.12note: for arm64/aarch64 set_build_archtoaarch64and_repo_archtosbsa
- fabricmanager
- nvidia-driver
See CONTRIBUTING.md