#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This has to be exported to make some magic below work.
export DH_OPTIONS

KERNEL_VERSION := $(shell grep kernel debian/changelog | sed 's/.*kernel\s*//' | cut -d' ' -f1 | head -n 1)
MINIROOT_VERSION := $(shell head -n 1 debian/changelog | cut -d" " -f2 | sed 's/.//' | cut -d'-' -f1)


override_dh_install:
	# miniroot-version is: $(MINIROOT_VERSION)
	# kernel-version is: $(KERNEL_VERSION)

	mkdir -p debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg
	mkdir -p debian/opsi-linux-bootimage/tftpboot/grub/x86_64-efi

	install -m 0644 syslinux/chain.c32 debian/opsi-linux-bootimage/tftpboot/linux/chain.c32
	install -m 0644 syslinux/menu.c32 debian/opsi-linux-bootimage/tftpboot/linux/menu.c32
	install -m 0644 syslinux/pxelinux.0 debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.0
	install -m 0644 grub/grub.cfg debian/opsi-linux-bootimage/tftpboot/grub/grub.cfg
	install -m 0644 grub/grub-custom.cfg debian/opsi-linux-bootimage/tftpboot/grub/grub-custom.cfg
	install -m 0644 grub/unicode.pf2 debian/opsi-linux-bootimage/tftpboot/grub/unicode.pf2
	install -m 0644 install3264 debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/install3264
	install -m 0644 install-x64 debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/install-x64
	install -m 0644 install-elilo-x64 debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/install-elilo-x64
	install -m 0644 install-grub-x64 debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/install-grub-x64
	install -m 0644 default.menu debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/default.menu
	install -m 0644 default.nomenu debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/default.nomenu
	install -m 0644 miniroot-x64.zstd debian/opsi-linux-bootimage/tftpboot/linux/miniroot-x64-$(MINIROOT_VERSION).zstd
	install -m 0644 vmlinuz-x64 debian/opsi-linux-bootimage/tftpboot/linux/vmlinuz-x64-$(KERNEL_VERSION)
	install -m 0644 vmlinuz-x64.signed debian/opsi-linux-bootimage/tftpboot/linux/vmlinuz-x64-$(KERNEL_VERSION).signed
	install -m 0644 elilo.efi debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/elilo.efi
	install -m 0644 elilo.conf debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/elilo.conf
	install -m 0644 shimx64.efi.signed debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/shimx64.efi.signed
	install -m 0644 opsi-netboot.efi debian/opsi-linux-bootimage/tftpboot/linux/pxelinux.cfg/opsi-netboot.efi
	install -m 0644 perl_x86_64.tgz debian/opsi-linux-bootimage/tftpboot/linux/perl_x86_64.tgz

	(cd debian/opsi-linux-bootimage/tftpboot/linux; ln -s vmlinuz-x64-$(KERNEL_VERSION).signed install-x64)
	(cd debian/opsi-linux-bootimage/tftpboot/linux; ln -s miniroot-x64-$(MINIROOT_VERSION).zstd miniroot-x64)
	(cd debian/opsi-linux-bootimage/tftpboot/linux; ln -s install-x64 install64)
	(cd debian/opsi-linux-bootimage/tftpboot/; ln -s linux/pxelinux.cfg/opsi-netboot.efi opsi-netboot.efi)
	dh_install


%:
	dh $@
