#!/bin/bash
set -e

if [ "$1" = "configure" ]; then
    # --- 1. Base-Files / Dist-Backups ---
    if [ -f /etc/issue ] && [ ! -f /etc/issue.dist ]; then
        mv /etc/issue /etc/issue.dist
        mv /etc/issue.net /etc/issue.net.dist
        mv /usr/lib/os-release /usr/lib/os-release.dist
    fi
    cp -af /usr/share/tuxedo-base-files/create_boot_uki_base.sh /usr/sbin/
    chmod +x /usr/sbin/create_boot_uki_base.sh

    if [ -f /etc/motd ] && [ ! -f /etc/motd.dist ]; then
        mv /etc/motd /etc/motd.dist
    fi

    cp -af /usr/share/tuxedo-base-files/issue /etc/issue
    cp -af /usr/share/tuxedo-base-files/issue.net /etc/issue.net
    cp -af /usr/share/tuxedo-base-files/os-release /usr/lib/os-release
    cp -af /usr/share/tuxedo-base-files/motd /etc/motd

    mkdir -p /etc/initramfs-tools/conf.d/
    cp -af /usr/share/tuxedo-base-files/01-tuxedo /etc/initramfs-tools/conf.d/
    cp -af /usr/share/tuxedo-base-files/tuxedo.info /usr/share/python-apt/templates/tuxedo.info
    if [ -f /usr/share/tuxedo-base-files/99tuxedo-changelogs ]; then
	cp -af /usr/share/tuxedo-base-files/99tuxedo-changelogs /etc/apt/apt.conf.d/99tuxedo-d-changelogs
    fi

    # --- 2. GRUB-Divert & Wrapper Logik ---
    if ! ischroot; then
        # 1. System-Checks: Kein separates /boot UND FDE (LUKS) vorhanden
        if ! findmnt -M "/boot" >/dev/null 2>&1; then
	    ROOT_SOURCE=$(findmnt -n -o SOURCE /)
	    ROOT_DEV=$(printf '%s\n' "$ROOT_SOURCE" |sed 's/\[.*$//')
	    ROOT_DEV=$(readlink -f "$ROOT_DEV")
	    LUKS_RAW_UUID=$(lsblk -s -n -o FSTYPE,UUID "$ROOT_DEV" | awk '$1=="crypto_LUKS" {print $2; exit}')

            if [ -n "$LUKS_RAW_UUID" ]; then
                # Divert einrichten
                if [ ! -f /usr/sbin/grub-install.real ]; then
                    echo "==> Diverting original grub-install to grub-install.real..."
                    dpkg-divert --package tuxedo-base-files --add --rename \
                        --divert /usr/sbin/grub-install.real /usr/sbin/grub-install
                fi

                # Wrapper installieren
                if [ -f /usr/share/tuxedo-base-files/grub-install ]; then
                    echo "==> Installing custom Tuxedo grub-install wrapper..."
                    cp -af /usr/share/tuxedo-base-files/grub-install /usr/sbin/grub-install
                    chmod +x /usr/sbin/grub-install

                    # install localized grub
                    /usr/share/tuxedo-base-files/grub-install
                else
                    echo "ERROR: /usr/share/tuxedo-base-files/grub-install not found!" >&2
                    exit 1
                fi

                # 2. Standalone UKI-Generierung
            	UKI_FILE="/boot/efi/EFI/BOOT/TUX.EFI"
            	    echo "==> Building UKI Image via base script..."
		    /usr/share/tuxedo-base-files/create_boot_uki_base.sh
            fi
        fi
    fi
fi

#DEBHELPER#

exit 0
