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