GitXplorerGitXplorer
N

yum-packaging-libnvidia-nscq

public
1 stars
4 forks
0 issues

Commits

List of commits on branch main.
Unverified
25fcd80eb2b4cc00eb5975964937297dbbc75082

Update variables for SBSA filename

kkmittman committed 2 years ago
Unverified
5b950f984b483b2187bfd169ed5838c81767317b

Remove nscq-api/ headers and nscq-cli utility

kkmittman committed 2 years ago
Unverified
7a6d2bced7aa404510b2265387192780345c03a7

Merge branch '450' into 525

AAndyDick committed 2 years ago
Unverified
c39e674460a76a091bfcb567318d77bacba90562

Update README to reflect modern redistrib usage.

AAndyDick committed 2 years ago
Unverified
b339862ad1426a926c249ac49e0e171cdac2fa74

Update spec file for modern binary archive format.

AAndyDick committed 2 years ago
Unverified
47e84ea1d370f14dce08bab5933a1ef24cde0e04

Update spec file for modern binary archive format.

AAndyDick committed 2 years ago

README

The README file for this repository.

yum packaging libnvidia nscq

License Contributing

Overview

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.

Table of Contents

Deliverables

This repo contains the .spec file used to build the following RPM packages:

note: XXX is the first . delimited field in the driver version, ex: 525 in 525.85.12

- libnvidia-nscq-XXX
> ex: libnvidia-nscq-525-525.85.12-1.x86_64.rpm

Installation

  • RHEL8, RHEL9, or Fedora streams: XXX, XXX-dkms, latest, and latest-dkms

    The NvSwitch modularity profile (fm) installs all of the NVIDIA driver packages, as well as Fabric Manager and NCSQ

    dnf module install nvidia-driver:${stream}/fm
  • RHEL7

    yum install libnvidia-nscq-XXX
  • openSUSE15 or SLES15

    zypper install libnvidia-nscq-XXX

Prerequisites

Clone this git repository:

Supported branches as described in the NVIDIA Datacenter Drivers documentation.

git clone https://github.com/NVIDIA/yum-packaging-libnvidia-nscq

Download a NSCQ tarball:

Install build dependencies

note: these are only needed for building not installation

# objdump
yum install binutils
# Packaging
yum install rpm-build

Building Manually

Download tarball via redistrib JSON

baseURL="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 $downloadURL

Prepare build directory

cd yum-packaging-libnvidia-nscq
mkdir SPECS SOURCES
cp *.spec SPECS/
cp ../libnvidia_nscq*.tar.xz SOURCES/

Check API version

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.0

Check SONAME

tar -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}'
> 2

Generate .rpm packages

rpmbuild \
    --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 *.rpm

note: branch is the first . delimited field in the driver version, ex: 525 in 525.85.12 note: for arm64/aarch64 set _build_arch to aarch64 and _repo_arch to sbsa

Related

Fabric Manager

NVIDIA driver

See also

Debian

Contributing

See CONTRIBUTING.md