#!/bin/sh

set -e

PREREQ=""

prereqs()
{
	echo "$PREREQ"
}

case "$1" in
    prereqs)
        prereqs
        exit 0
        ;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_exec /usr/sbin/resize2fs
copy_exec /usr/sbin/encrypt-init-initramfs
#copy_file library /lib/cryptsetup/scripts/decrypt_tpm2 /lib/cryptsetup/decrypt_tpm2
if [ -f "/lib/modules/$(uname -r)/kernel/drivers/ata/libahci.ko" ] && [ ! -f "$DESTDIR/usr/lib/modules/$(uname -r)/kernel/drivers/ata/libahci.ko" ];then
        copy_file kernel "/usr/lib/modules/$(uname -r)/kernel/drivers/ata/libahci.ko"
fi
if [ -f "/lib/modules/$(uname -r)/kernel/drivers/ata/ahci.ko" ] && [ ! -f "$DESTDIR/usr/lib/modules/$(uname -r)/kernel/drivers/ata/ahci.ko" ];then
    copy_file kernel "/usr/lib/modules/$(uname -r)/kernel/drivers/ata/ahci.ko"
fi

if [ -f "/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-plat.ko" ] && [ ! -f "$DESTDIR/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-plat.ko" ]; then
    copy_file kernel "/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-plat.ko"
fi

if [ -f "/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-dma.ko" ] && [ ! -f "$DESTDIR/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-dma.ko" ]; then
    copy_file kernel "/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium-dma.ko"
fi

if [ -f "/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium.ko" ] && [ ! -f "$DESTDIR/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium.ko" ]; then
    copy_file kernel "/usr/lib/modules/$(uname -r)/kernel/drivers/spi/spi-phytium.ko"
fi

if [ -f /usr/lib/x86_64-linux-gnu/cryptsetup/libcryptsetup-token-tpm2.so ];then
    copy_file library /usr/lib/x86_64-linux-gnu/cryptsetup/libcryptsetup-token-tpm2.so /lib/x86_64-linux-gnu/cryptsetup/libcryptsetup-token-tpm2.so
fi
if [ -f "/boot/encrypt_dev_config.json" ];then
        copy_file text /boot/encrypt_dev_config.json /scripts/encrypt_dev_config.json
fi
if [ -f /boot/crypttab ]; then
    if ! cmp -s /etc/crypttab /boot/crypttab; then
#       echo "Updating /etc/crypttab from /boot/crypttab"
        cp /boot/crypttab /etc/crypttab
#        chmod 0600 /etc/crypttab
    fi
fi

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-esys.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-esys.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-esys.so.0.0.1

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-fapi.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-fapi.so.1
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-fapi.so.1.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-mu.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-mu.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-mu.so.0.0.1

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-policy.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-policy.so.0
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-policy.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-rc.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-rc.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-rc.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-sys.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-sys.so.1
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-sys.so.1.0.1

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-cmd.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-cmd.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-cmd.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-device.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-device.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-device.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tctildr.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tctildr.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tctildr.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-libtpms.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-libtpms.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-libtpms.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-mssim.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-mssim.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-mssim.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-pcap.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-pcap.so.0
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-pcap.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-spi-helper.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-spi-helper.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-spi-helper.so.0.0.0

#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-swtpm.so
#copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-swtpm.so.0
copy_exec /usr/lib/x86_64-linux-gnu/libtss2-tcti-swtpm.so.0.0.0

#set -x
ARCH=`uname -r`
copy_exec /usr/sbin/insmod
if [ -f /lib/modules/$ARCH/kernel/drivers/char/tpm/tpm_ax99100.ko ]; then
	copy_file kernel /lib/modules/$ARCH/kernel/drivers/char/tpm/tpm_ax99100.ko
fi

if [ -f /etc/fstab ];then
    copy_file text /etc/fstab /scripts/fstab
fi

exit 0
