NAME

Rex::GPU::NVIDIA::Setup::Rpm - rpm packaging layer of the NVIDIA driver setups (experimental)

VERSION

version 0.002

DESCRIPTION

Experimental, like Rex::GPU::NVIDIA::Setup. The rpm half shared by Rex::GPU::NVIDIA::Setup::RHEL (dnf) and Rex::GPU::NVIDIA::Setup::SUSE (zypper): the package manager's install -y run directly and rpm -q as the only evidence of an install. The initramfs is rebuilt with the base class's dracut.

package_manager

The command that installs packages on this layer: dnf here, zypper in Rex::GPU::NVIDIA::Setup::SUSE. It also names the package manager in the "verify_packages" error.

package_manager_command

The invocation "install_packages" and "install_versioned_package" run: "package_manager" here; Rex::GPU::NVIDIA::Setup::SUSE prefixes the zypp lock wait. Error messages keep naming "package_manager".

install_packages

<package_manager_command> install -y of $plan->{packages} through "run_cmd" in Rex::GPU::NVIDIA::Setup with auto_die => 0 -- never "pkg" in Rex::Commands::Pkg. Rex::Pkg::Dnf dies on any non-zero exit, and the DKMS module build or initramfs regeneration in a driver package's scriptlets routinely exits non-zero on success. Whether the install worked is decided by "verify_packages", not by this exit code.

verify_packages

Dies unless "verify_query" succeeds for every entry in $plan->{verify}. An empty list verifies nothing.

verify_query

my $cmd = $self->verify_query('nvidia-driver');

The rpm query "verify_packages" runs for one entry: rpm -q NAME, so an entry is a package name. Rex::GPU::NVIDIA::Setup::SUSE asks rpm -q --whatprovides instead, so its entries can be capabilities.

installed_driver_version

rpm -q --qf '%{VERSION}' of the source's fabric_manager_match package (nvidia-driver): 580.95.05.

install_versioned_package

<package_manager_command> install -y PKG-VERSION with auto_die => 0, the name-version form without an epoch: NVIDIA's driver packages carry epoch 3, its nvidia-fabricmanager epoch 0, so the driver's full EVR would not match. There is no availability check before the driver install on this layer; a missing version fails the install, and "verify_versioned_package" dies.

verify_versioned_package

"verify_query" of the package, then rpm -q --qf '%{VERSION}' must be $version.

installed_fabric_managers

rpm -qa of nvidia-fabric*manager*: every installed Fabric Manager package with its version.

SEE ALSO

Rex::GPU::NVIDIA::Setup

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/rex-gpu/issues.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <getty@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.