#!/bin/sh -e
# initramfs hook for casper

PREREQS=""

# Output pre-requisites
prereqs()
{
       echo "$PREREQ"
}

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

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

manual_add_modules unionfs

# We need losetup
copy_exec /sbin/losetup /sbin

# Casper hooks
mkdir -p ${DESTDIR}/lib/casper
copy_exec /usr/share/casper/casper-reconfigure /bin
copy_exec /usr/share/casper/casper-preseed /bin

mkdir -p ${DESTDIR}/lib/udev
copy_exec /lib/udev/cdrom_id /lib/udev
copy_exec /lib/udev/vol_id /lib/udev
copy_exec /lib/udev/path_id /lib/udev
copy_exec /usr/bin/udevinfo /bin

# cloop is needed for dmsetup
if [ -x /sbin/dmsetup ]; then
    manual_add_modules cloop

    # Needed for devmapper
    copy_exec /sbin/blockdev /sbin
    copy_exec /sbin/dmsetup /sbin
    manual_add_modules dm-snapshot
fi

# squashfs
manual_add_modules squashfs
manual_add_modules loop

# random file system modules
manual_add_modules vfat
manual_add_modules ext3
# needed for vfat. :-/
manual_add_modules nls_cp437
manual_add_modules nls_utf8
manual_add_modules nls_iso8859-1

# cdrom modules
manual_add_modules sr_mod
manual_add_modules ide-cd
manual_add_modules sbp2
manual_add_modules ohci1394

# integrity check
copy_exec /usr/lib/casper/casper-md5check /bin

cp /usr/share/initramfs-tools/scripts/casper-functions $DESTDIR/scripts

auto_add_modules net

if [ -e /etc/casper.conf ]; then
    mkdir -p ${DESTDIR}/etc
    cp /etc/casper.conf ${DESTDIR}/etc
fi
