#!/usr/bin/make -f
# -*- makefile -*-

export DH_VERBOSE=0

# that will fill DEB_VERSION and DEB_SOURCE variables
include /usr/share/dpkg/pkg-info.mk

export LIB_VERSION := $(shell echo $(DEB_VERSION) | cut -d'-' -f1)
export REVISION := $(DEB_VERSION)

# temporary build path (see http://golang.org/doc/code.html#GOPATH)
export GOPATH := $(CURDIR)/_build
export GOCACHE := $(CURDIR)/_cache
export GO111MODULE := on

export DH_GOLANG_BUILDPKG := github.com/NVIDIA/nvidia-container-toolkit/cmd/...
export DH_GOPKG := github.com/NVIDIA/nvidia-container-toolkit

%:
	dh $@ --buildsystem=golang --builddirectory=_build

override_dh_auto_build:
	dh_auto_build -v -- \
	-buildmode=pie \
    -mod=vendor \
    -modcacherw \
    -ldflags "-compressdwarf=false -linkmode external -extldflags \"$(LDFLAGS) -Wl,-z,lazy\" -X github.com/NVIDIA/nvidia-container-toolkit/internal/info.version=$(LIB_VERSION)"

	# running nvidia-ctk in a non-installed state requires to load the library first
# 	ln -sf libnvidia-container.so.$(LIB_VERSION) libnvidia-container.so.1
	help2man --no-discard-stderr --name="nvidia-ctk" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-ctk > nvidia-ctk.1
	help2man --no-discard-stderr --name="nvidia-ctk-installer" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-ctk-installer > nvidia-ctk-installer.1
	help2man --no-discard-stderr --name="nvidia-container-runtime-hook" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-container-runtime-hook > nvidia-container-runtime-hook.1
	help2man --no-discard-stderr --name="nvidia-cdi-hook" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-cdi-hook > nvidia-cdi-hook.1
	help2man --no-discard-stderr --name="nvidia-container-runtime" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-container-runtime > nvidia-container-runtime.1
	help2man --no-discard-stderr --name="nvidia-container-runtime.cdi" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-container-runtime.cdi > nvidia-container-runtime.cdi.1
	help2man --no-discard-stderr --name="nvidia-container-runtime.legacy" --version-string="$(LIB_VERSION)" ./_build/bin/nvidia-container-runtime.legacy > nvidia-container-runtime.legacy.1

override_dh_auto_install:
	# Install binaries only, skip source installation
	dh_auto_install -- --no-source

override_dh_link:
	dh_link
	dh_link -p nvidia-container-toolkit usr/bin/nvidia-container-runtime-hook usr/bin/nvidia-container-toolkit

override_dh_fixperms:
	dh_fixperms
	chmod 755 debian/nvidia-container-toolkit/usr/bin/nvidia-container-runtime-hook || true
	chmod 755 debian/nvidia-container-toolkit/usr/bin/nvidia-ctk-installer || true
	chmod 755 debian/nvidia-container-toolkit-base/usr/bin/nvidia-container-runtime || true
	chmod 755 debian/nvidia-container-toolkit-base/usr/bin/nvidia-ctk || true
	chmod 755 debian/nvidia-container-toolkit-base/usr/bin/nvidia-cdi-hook || true
	chmod 755 debian/nvidia-container-toolkit-operator-extensions/usr/bin/nvidia-container-runtime.cdi || true
	chmod 755 debian/nvidia-container-toolkit-operator-extensions/usr/bin/nvidia-container-runtime.legacy || true
	chmod 644 debian/nvidia-container-toolkit-base/usr/lib/systemd/system/nvidia-cdi-refresh.service || true
	chmod 644 debian/nvidia-container-toolkit-base/usr/lib/systemd/system/nvidia-cdi-refresh.path || true

override_dh_dwz:
	
