# SPDX-License-Identifier: NVIDIA DEEP LEARNING CONTAINER LICENSE

#     Copyright (c) 2026 SUSE LLC

# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon.

# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
# It is maintained by the BCI team and generated by
# https://github.com/SUSE/BCI-dockerfile-generator

# Please submit bugfixes or comments via https://bugs.opensuse.org/
# You can contact the BCI team via https://github.com/SUSE/bci/discussions

#!UseOBSRepositories
#!ExclusiveArch: x86_64 aarch64
#!BuildTag: third-party/nvidia/driver:595-sles%OS_VERSION_ID_SP%-%RELEASE%
#!BuildTag: third-party/nvidia/driver:595-sles%OS_VERSION_ID_SP%
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.52-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.45-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.40-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.34-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.31-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.28-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.25-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.22-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.19-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.16-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.11-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.6-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.53.3-default-sles15.7
#!BuildTag: third-party/nvidia/driver:595-6.4.0-150700.51-default-sles15.7
#!BcntSyncTag: nvidia-driver-image
#!BuildName: nvidia-driver-595
#!BuildVersion: 15.7.595.71.05
FROM registry.suse.com/bci/bci-micro:15.7 AS target
FROM registry.suse.com/bci/bci-base:15.7 AS nvidia-driver-builder
COPY --from=target / /target
RUN set -euo pipefail; zypper -n install --no-recommends dwarves elfutils gcc libelf-devel pesign-obs-integration zstd dracut gcc-c++ make mokutil pciutils perl-Bootloader python3 systemd xz
RUN set -euo pipefail; \
    export CHKSTAT_ALLOW_INSECURE_MODE_IF_NO_PROC=1; \
    zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends awk coreutils findutils grep jq kmod rpm-ndb sed util-linux util-linux-systemd infiniband-diags
RUN mkdir -p /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/dkms-3.4.0-1.noarch.rpm dkms-3.4.0-1.x86_64.rpm sha256:044e3fcd85d667ad9b1f184f6ec6b2c23f4b82ed6e9d213c61d92d4a3e109910
COPY dkms-3.4.0-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/dkms-3.4.0-1.noarch.rpm dkms-3.4.0-1.aarch64.rpm sha256:044e3fcd85d667ad9b1f184f6ec6b2c23f4b82ed6e9d213c61d92d4a3e109910
COPY dkms-3.4.0-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libOpenCL1-2.2.11-8.3.1.x86_64.rpm sha256:d0a60fce054572969271cd27629574cd35930fcb3b83c9685acc6c267b931e6e
COPY libOpenCL1-2.2.11-8.3.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/libOpenCL1-2.2.11-8.3.1.aarch64.rpm sha256:a664cba336a0fb95fedaaf29b002ea064ef91d1b304dce263dcd1f99be03fadd
COPY libOpenCL1-2.2.11-8.3.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libnvidia-cfg-595.71.05-1.x86_64.rpm sha256:0e9c4ce3ce56c5ac23a711ed0450cf51cde056b80846d6454b4fa70b57ac5c3b
COPY libnvidia-cfg-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/libnvidia-cfg-595.71.05-1.aarch64.rpm sha256:b2f8cf0ba158c09fc0a5e0b6f15f162ece99c29a49f69fd3b97554ed51f6547b
COPY libnvidia-cfg-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libnvidia-gpucomp-595.71.05-1.x86_64.rpm sha256:5bcb7f0554f9b48576485fd2ad2e02aaf76dba7ec6af32843a714b84e4c37094
COPY libnvidia-gpucomp-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/libnvidia-gpucomp-595.71.05-1.aarch64.rpm sha256:d1eeef2a4129ed18b829f8f79ea2c3c6606b5498437b00498d3d521dfa0afbcb
COPY libnvidia-gpucomp-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libnvidia-ml-595.71.05-1.x86_64.rpm sha256:b5b60543e162cb4218c1c1173fbc1444fb645a947d83eb978b97ce7a873b0fae
COPY libnvidia-ml-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/libnvidia-ml-595.71.05-1.aarch64.rpm sha256:d8aebdfd542f17492c72a4cdb2ffd8e2e9ee8b1470810a85d2b0a62f391420dd
COPY libnvidia-ml-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libnvidia-nscq-595.71.05-1.x86_64.rpm sha256:26c4cc03e1376769a6ec277ddbd66700edcc6b4f0fdcb289215317b68c0b0d5e
COPY libnvidia-nscq-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/libnvidia-nscq-595.71.05-1.aarch64.rpm sha256:0f4f7ca07d6671c6e68bac0765542c42741a0c5b084a894d486c2684ba9a9a8c
COPY libnvidia-nscq-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/libnvsdm-595.71.05-1.x86_64.rpm sha256:b51147b01fbcc5bc46e22649068aee3324b74215fc43b65dba555c1e2736b173
COPY libnvsdm-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-common-G07-595.71.05-1.x86_64.rpm sha256:72a50e38e5d95c96685e9b15e571977ae1470e17caaf0934077f4a6dba138cf6
COPY nvidia-common-G07-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-common-G07-595.71.05-1.aarch64.rpm sha256:fd281b6c81d69e46806abea1168f463480dfae5c85dae8c9b60f301bdaacdd43
COPY nvidia-common-G07-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-compute-G07-595.71.05-1.x86_64.rpm sha256:7a1db4c198dfe1ff767ded0bc9a1e8b18ab4da8f69b1c0efbef685e0fb4270f7
COPY nvidia-compute-G07-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-compute-G07-595.71.05-1.aarch64.rpm sha256:40e09bf9311f9314c8e0d8055449237d800ef569851e8955d8c8717fd981ea29
COPY nvidia-compute-G07-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-compute-utils-G07-595.71.05-1.x86_64.rpm sha256:25b2cb4827fbbf8dc2da48ba7f4b156d462a0a8cfa9e5751c5bedf4fe156c7bd
COPY nvidia-compute-utils-G07-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-compute-utils-G07-595.71.05-1.aarch64.rpm sha256:9d263b1f040af6199fb92841a53cd082c293a457e846301197b8d31234d1af33
COPY nvidia-compute-utils-G07-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-driver-G07-595.71.05-1.x86_64.rpm sha256:c1946871d29dee8653e58bda9202a193881aea3f3b827c6af7f8040a0bba7fa2
COPY nvidia-driver-G07-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-driver-G07-595.71.05-1.aarch64.rpm sha256:d2d6bd043f7299ac714225a58bfabc3d5106955cd2384f525b9f6a5ec45ed8cf
COPY nvidia-driver-G07-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-driver-assistant-0.51.71.05-1.noarch.rpm nvidia-driver-assistant-0.51.71.05-1.x86_64.rpm sha256:01f2f3380df4ba9e0e9b523bea93de6ec36e5e4e97695fa29619ef4af7e8d3c7
COPY nvidia-driver-assistant-0.51.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-driver-assistant-0.51.71.05-1.noarch.rpm nvidia-driver-assistant-0.51.71.05-1.aarch64.rpm sha256:01f2f3380df4ba9e0e9b523bea93de6ec36e5e4e97695fa29619ef4af7e8d3c7
COPY nvidia-driver-assistant-0.51.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-fabricmanager-595.71.05-1.x86_64.rpm sha256:7e71f5ac22ce865bf297a67162ccef297e855f3e9e246aae09786ae485fdbd88
COPY nvidia-fabricmanager-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-fabricmanager-595.71.05-1.aarch64.rpm sha256:411b3165aed75a5eca3b3d81aa1bff298708a7c898e3e1df60e71b23901d8e4a
COPY nvidia-fabricmanager-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-imex-595.71.05-1.x86_64.rpm sha256:fec2fe839a217a7fc3d3a0ccf8daf310da4d9e7faaa5fce89117248e03e32411
COPY nvidia-imex-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-imex-595.71.05-1.aarch64.rpm sha256:799192a1f29ac7a9666670333c1304b3cef0db4bd7963a60c67292802be1cbaa
COPY nvidia-imex-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-modprobe-595.71.05-1.x86_64.rpm sha256:9abdccff7cc5372c299424cade0dc6891adfeebb384191fa5a27d4281d441cf5
COPY nvidia-modprobe-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-modprobe-595.71.05-1.aarch64.rpm sha256:e0917ffe746635b1daeddc07c5ca7d9726e31b69a109dfd57c6f59d527dcf4e4
COPY nvidia-modprobe-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-open-driver-G07-595.71.05-1.noarch.rpm nvidia-open-driver-G07-595.71.05-1.x86_64.rpm sha256:43ec06337d67efb0bf45b5dc93b939b7326101296d2853664438f33581a0b0a7
COPY nvidia-open-driver-G07-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-open-driver-G07-595.71.05-1.noarch.rpm nvidia-open-driver-G07-595.71.05-1.aarch64.rpm sha256:43ec06337d67efb0bf45b5dc93b939b7326101296d2853664438f33581a0b0a7
COPY nvidia-open-driver-G07-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvidia-persistenced-595.71.05-1.x86_64.rpm sha256:5f08a0e08201ba66bf3f51dc578a4e02ae73ba10ba750fc636e73f2fe0780ce9
COPY nvidia-persistenced-595.71.05-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvidia-persistenced-595.71.05-1.aarch64.rpm sha256:4603663e5b4639ec610429366dfa69e2131e9ad9c76c051b1b54b42e6007c084
COPY nvidia-persistenced-595.71.05-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/nvlsm-2025.10.12-1.x86_64.rpm sha256:dd3fd41f09c905497f68778f29ce3bf77719297b6ec730eea43aefcc5e7dc8cb
COPY nvlsm-2025.10.12-1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/nvlsm-2025.10.12-1.aarch64.rpm sha256:ae6ceb2a661baaa5c310db94f7d31c55e858c512c8d6b91226c1eecb639b3c33
COPY nvlsm-2025.10.12-1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/x86_64/kernel-default/kernel-default-6.4.0-150700.51.1.x86_64.rpm
COPY kernel-default-6.4.0-150700.51.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-default/kernel-default-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-default-6.4.0-150700.51.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/x86_64/kernel-default/kernel-default-devel-6.4.0-150700.51.1.x86_64.rpm
COPY kernel-default-devel-6.4.0-150700.51.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-default/kernel-default-devel-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-default-devel-6.4.0-150700.51.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/x86_64/kernel-syms/kernel-syms-6.4.0-150700.51.1.x86_64.rpm
COPY kernel-syms-6.4.0-150700.51.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-syms/kernel-syms-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-syms-6.4.0-150700.51.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/x86_64/kernel-source/kernel-devel-6.4.0-150700.51.1.noarch.rpm kernel-devel-6.4.0-150700.51.1.x86_64.rpm
COPY kernel-devel-6.4.0-150700.51.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-source/kernel-devel-6.4.0-150700.51.1.noarch.rpm kernel-devel-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-devel-6.4.0-150700.51.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/x86_64/kernel-source/kernel-macros-6.4.0-150700.51.1.noarch.rpm kernel-macros-6.4.0-150700.51.1.x86_64.rpm
COPY kernel-macros-6.4.0-150700.51.1.x86_64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-source/kernel-macros-6.4.0-150700.51.1.noarch.rpm kernel-macros-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-macros-6.4.0-150700.51.1.aarch64.rpm /tmp/
#!RemoteAssetUrl: https://api.opensuse.org/public/build/SUSE:SLE-15-SP7:GA/pool/aarch64/kernel-64kb/kernel-64kb-devel-6.4.0-150700.51.1.aarch64.rpm
COPY kernel-64kb-devel-6.4.0-150700.51.1.aarch64.rpm /tmp/

COPY cuda-sles15-x86_64.repo /etc/zypp/repos.d/cuda-sles15-x86_64.repo
COPY cuda-sles15-x86_64.gpg.key /tmp/cuda-sles15-x86_64.gpg.key
RUN rpm --import /tmp/cuda-sles15-x86_64.gpg.key
RUN rpm --root /target --import /tmp/cuda-sles15-x86_64.gpg.key
COPY cuda-sles15-sbsa.repo /etc/zypp/repos.d/cuda-sles15-sbsa.repo
COPY cuda-sles15-sbsa.gpg.key /tmp/cuda-sles15-sbsa.gpg.key
RUN rpm --import /tmp/cuda-sles15-sbsa.gpg.key
RUN rpm --root /target --import /tmp/cuda-sles15-sbsa.gpg.key
FROM nvidia-driver-builder AS open-driver-builder
RUN set -euo pipefail; if [ "$(uname -m)" = "x86_64" ]; then \
        zypper -n --gpg-auto-import-keys install \
            --capability \
            --no-recommends \
            --auto-agree-with-licenses \
            /tmp/dkms-3.4.0-1.x86_64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.x86_64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.x86_64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-open-driver-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.x86_64.rpm \
            /tmp/kernel-default-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-default-devel-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-syms-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-devel-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-macros-6.4.0-150700.51.1.x86_64.rpm; \
    fi
RUN set -euo pipefail; if [ "$(uname -m)" = "aarch64" ]; then \
        zypper -n --gpg-auto-import-keys install \
            --capability \
            --no-recommends \
            --auto-agree-with-licenses \
            /tmp/dkms-3.4.0-1.aarch64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.aarch64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.aarch64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-open-driver-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.aarch64.rpm \
            /tmp/kernel-default-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-default-devel-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-syms-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-devel-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-macros-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-64kb-devel-6.4.0-150700.51.1.aarch64.rpm; \
    fi

RUN set -euo pipefail; if rpm -q dkms >/dev/null 2>&1; then \
        printf 'compress="zstd"\n' > /etc/dkms/framework.conf.d/module-compress.conf; \
        dkms autoinstall -k $(basename /lib/modules/*-default); \
    fi
RUN set -euo pipefail; cp -rfx /lib/modules/*/updates /opt/open
RUN set -euo pipefail; mkdir /opt/lib && cp -rfx /lib/firmware /opt/lib/firmware

FROM nvidia-driver-builder AS closed-driver-builder
RUN set -euo pipefail; if [ "$(uname -m)" = "x86_64" ]; then \
        zypper -n --gpg-auto-import-keys install \
            --capability \
            --no-recommends \
            --auto-agree-with-licenses \
            /tmp/dkms-3.4.0-1.x86_64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.x86_64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-driver-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.x86_64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.x86_64.rpm \
            /tmp/kernel-default-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-default-devel-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-syms-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-devel-6.4.0-150700.51.1.x86_64.rpm \
            /tmp/kernel-macros-6.4.0-150700.51.1.x86_64.rpm; \
    fi
RUN set -euo pipefail; if [ "$(uname -m)" = "aarch64" ]; then \
        zypper -n --gpg-auto-import-keys install \
            --capability \
            --no-recommends \
            --auto-agree-with-licenses \
            /tmp/dkms-3.4.0-1.aarch64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.aarch64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-driver-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.aarch64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.aarch64.rpm \
            /tmp/kernel-default-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-default-devel-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-syms-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-devel-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-macros-6.4.0-150700.51.1.aarch64.rpm \
            /tmp/kernel-64kb-devel-6.4.0-150700.51.1.aarch64.rpm; \
    fi

RUN set -euo pipefail; if rpm -q dkms >/dev/null 2>&1; then \
        printf 'compress="zstd"\n' > /etc/dkms/framework.conf.d/module-compress.conf; \
        dkms autoinstall -k $(basename /lib/modules/*-default); \
    fi
RUN set -euo pipefail; cp -rfx /lib/modules/*/updates /opt/proprietary

FROM nvidia-driver-builder AS builder

COPY --from=open-driver-builder /usr/share/nvidia-driver-assistant/supported-gpus/supported-gpus.json /target/usr/share/nvidia-driver-assistant/supported-gpus/supported-gpus.json
COPY --from=open-driver-builder /opt/lib /target/opt/lib
COPY --from=open-driver-builder /opt/open /target/opt/open
COPY --from=closed-driver-builder /opt/proprietary /target/opt/proprietary
RUN set -euo pipefail; if [ "$(uname -m)" = "x86_64" ]; then \
        rpm --root /target -Uvh --nodeps \
            /tmp/dkms-3.4.0-1.x86_64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.x86_64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.x86_64.rpm \
            /tmp/libnvidia-nscq-595.71.05-1.x86_64.rpm \
            /tmp/libnvsdm-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.x86_64.rpm \
            /tmp/nvidia-fabricmanager-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-imex-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.x86_64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.x86_64.rpm \
            /tmp/nvlsm-2025.10.12-1.x86_64.rpm; \
    fi
RUN set -euo pipefail; if [ "$(uname -m)" = "aarch64" ]; then \
        rpm --root /target -Uvh --nodeps \
            /tmp/dkms-3.4.0-1.aarch64.rpm \
            /tmp/libOpenCL1-2.2.11-8.3.1.aarch64.rpm \
            /tmp/libnvidia-cfg-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-gpucomp-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-ml-595.71.05-1.aarch64.rpm \
            /tmp/libnvidia-nscq-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-common-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-compute-utils-G07-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-driver-assistant-0.51.71.05-1.aarch64.rpm \
            /tmp/nvidia-fabricmanager-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-imex-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-modprobe-595.71.05-1.aarch64.rpm \
            /tmp/nvidia-persistenced-595.71.05-1.aarch64.rpm \
            /tmp/nvlsm-2025.10.12-1.aarch64.rpm; \
    fi

RUN set -euo pipefail; if rpm --root /target -q compat-usrmerge-tools; then rpm --root /target -e compat-usrmerge-tools; fi

# cleanup logs and temporary files
RUN set -euo pipefail; zypper -n --installroot /target clean -a; \
    rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}; \
    rm -rf {/target,}/run/*; \
    rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \
    rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \
    rm -f {/target,}/var/lib/zypp/AnonymousUniqueId; \
    rm -f {/target,}/var/lib/zypp/AutoInstalled; \
    rm -f {/target,}/var/cache/ldconfig/aux-cache

# set the day of last password change to empty
RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /target/etc/shadow
FROM registry.suse.com/bci/bci-micro:15.7
COPY --from=builder /target /
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.third-party.nvidia-driver
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
LABEL org.opencontainers.image.title="NVIDIA Driver for SUSE Linux Enterprise Server 15 SP7"
LABEL org.opencontainers.image.description="NVIDIA Driver container based on the SUSE Linux Enterprise Base Container Image."
LABEL org.opencontainers.image.version="595.71.05"
LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opencontainers.image.source="%SOURCEURL%"
LABEL org.opencontainers.image.ref.name="595-sles%OS_VERSION_ID_SP%"
LABEL org.opensuse.reference="registry.suse.com/third-party/nvidia/driver:595-sles%OS_VERSION_ID_SP%-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="techpreview"
LABEL com.suse.supportlevel.until=""
LABEL com.suse.eula="sle-beta"
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-15"
LABEL com.suse.release-stage="beta"
# endlabelprefix
LABEL org.opencontainers.image.base.name="%BASE_REFNAME%"
LABEL org.opencontainers.image.base.digest="%BASE_DIGEST%"
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.driver-595.md)%"
ENV DISABLE_VGPU_VERSION_CHECK="true"
ENV DRIVER_BRANCH="595"
ENV DRIVER_TYPE="passthrough"
ENV DRIVER_VERSION="595.71.05"
ENV KERNEL_VERSION="latest"
ENV NVIDIA_VISIBLE_DEVICES="void"
ENV VGPU_LICENSE_SERVER_TYPE="NLS"
ENTRYPOINT ["nvidia-driver", "load"]

COPY extract-vmlinux /usr/local/bin/
RUN set -euo pipefail; chmod +x /usr/local/bin/extract-vmlinux

COPY nvidia-driver /usr/local/bin/
RUN set -euo pipefail; chmod +x /usr/local/bin/nvidia-driver

COPY nvidia-driver-selector.sh /usr/local/bin/
RUN set -euo pipefail; chmod +x /usr/local/bin/nvidia-driver-selector.sh

RUN set -euo pipefail; mkdir /licenses
COPY NGC-DL-CONTAINER-LICENSE /licenses

RUN set -euo pipefail; mkdir /drivers
COPY vGPU-README.md /drivers/README.md

WORKDIR /drivers

ENTRYPOINT ["nvidia-driver", "load"]
# Avoid blkid waiting on udev (bsc#1247914)
RUN set -euo pipefail; sed -i -e 's/^EVALUATE=.*/EVALUATE=scan/g' /etc/blkid.conf
