mirror of
https://github.com/siderolabs/extensions.git
synced 2025-08-08 07:17:12 +02:00
Use wolfi base as toolchain for NVIDIA build. This removes a lot of hacks and patches we maintain. Fixes: #171 Fixes: https://github.com/siderolabs/pkgs/issues/720 Signed-off-by: Noel Georgi <git@frezbo.dev>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
func main() {
|
|
cmdName := filepath.Base(os.Args[0])
|
|
switch cmdName {
|
|
case
|
|
"nvidia-container-runtime",
|
|
"nvidia-container-runtime-hook",
|
|
"nvidia-container-runtime.cdi",
|
|
"nvidia-container-runtime.legacy",
|
|
"nvidia-container-toolkit",
|
|
"nvidia-ctk":
|
|
execCommand(cmdName, os.Args[1:])
|
|
default:
|
|
log.Fatalf("nvidia-container-runtime-wrapper: unknown command %s\n", cmdName)
|
|
}
|
|
}
|
|
|
|
func execCommand(cmdName string, args []string) {
|
|
environ := os.Environ()
|
|
environ = append(environ, "XDG_CONFIG_HOME=/usr/local/etc")
|
|
|
|
realCmdName := cmdName + ".real"
|
|
|
|
cmdArgs := []string{realCmdName}
|
|
|
|
if cmdName == "nvidia-container-runtime-hook" {
|
|
cmdArgs = append(
|
|
cmdArgs,
|
|
"-config",
|
|
"/usr/local/etc/nvidia-container-runtime/config.toml",
|
|
)
|
|
}
|
|
|
|
cmdArgs = append(cmdArgs, args...)
|
|
|
|
cmdFullPath := filepath.Join("/usr/local/bin", realCmdName)
|
|
|
|
if err := unix.Exec(cmdFullPath, cmdArgs, environ); err != nil {
|
|
log.Fatalf("nvidia-container-runtime-wrapper: error execing %s %v\n", cmdFullPath, err)
|
|
}
|
|
}
|