Skip to content

Nvidia container RPMs >= 1.18.1 breaking system installation #1550

@cvolz

Description

@cvolz

Since 1.18.1, if we include the RPMs in an ISO for system installation (Anaconda kickstart installer, in our case with Rocky Linux 8), then the ISO installation fails.

Image

The root cause is a new %pretrans scriptlet that requires /bin/sh. I have noticed that the RPMs now contain several empty scriptlets that were not there in previous releases:

rpm -qp --scripts nvidia-container-toolkit-1.18.1-1.x86_64.rpm 

pretrans program: /bin/sh 
preinstall program: /bin/sh 
[...] 
preuninstall program: /bin/sh 
[...] 
verify program: /bin/sh 

In particular, the pretrans scriptlet with a requirement for /bin/sh is an issue. The Fedora Packaging Guidelines give a good explanation why:

Note that the %pretrans scriptlet will, in the particular case of system installation, run before anything at all has been installed. This implies that it cannot have any dependencies at all. For this reason, %pretrans is best avoided, but if used it MUST (by necessity) be written in Lua.

After digging further, I am sure that this comes from re-packaging the RPMs with FPM, which has been introduced with the recent changes for 256 bit digests (e.g. 85cfb7f). When processing previous RPMs through FPM manually, I can see similar effects.

Other fields in the rpms are apparently altered by FPM, too, such as the changelog (is replaced with “Package created with FPM”) and the Obsoletes (is deleted).

I am wondering, I assume there is a reason why you don’t build the rpms is a newer build environment that would add the 256 bit payload digests directly?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions