#!/bin/bash -e
# Copyright (c) 2009 Alon Swartz <alon@turnkeylinux.org> - all rights reserved

fatal() {
    echo "fatal: $@" 1>&2
    exit 1
}

usage() {
cat<<EOF
Syntax: $(basename $0) rootfs-dir debs-dir
Installs custom deb packages from debs-dir into rootfs-dir.

This uses the tklpatch-chroot sub-script.

Environment variables:

    TKLPATCH_DEBUG       Turn on debugging.
EOF
    exit 1
}
if [[ "$#" != "2" ]]; then
    usage
fi

[ -n "$TKLPATCH_DEBUG" ] && set -x

rootfs=$1
debs=$2

[ -d $rootfs ] || fatal "no such directory: $rootfs"
[ -d $debs ] || fatal "no such directory: $debs"

if [ -n "$debs" ]; then
    [ -d "$debs" ] || fatal "no such directory: $debs"
    arch=$(dpkg --print-architecture)
    packages=$(find $debs -type f -name "*all.deb" -o -name "*${arch}.deb")
    packages_count=$(echo $packages | wc -w)

    if [ "$packages_count" != 0 ]; then
        cp $packages $rootfs
        echo "# installing $packages_count debs from $debs"
        trap "rm -f $rootfs/*.deb" INT TERM EXIT
        tklpatch-chroot $rootfs "dpkg -i /*.deb"
    fi
fi
