#!/bin/bash
inst_hook pre-mount 10 "$moddir"/olpc-boot-premount.sh
inst_hook pre-pivot 10 "$moddir"/olpc-boot-prepivot.sh

dracut_install dd
dracut_install rm
dracut_install mv
dracut_install ln
dracut_install sync
dracut_install sleep
dracut_install poweroff
dracut_install umount
dracut_install /sbin/iwconfig /sbin/ip
dracut_install readlink
dracut_install dirname
dracut_install basename
dracut_install ip
dracut_install iwconfig
dracut_install iwlist

# mount points used by initramfs code
mkdir -p "$initdir"/ofw
mkdir -p "$initdir"/mnt/usb
mkdir -p "$initdir"/mnt/sd

for i in activate.py upfs.py olpc_act_gui_server.py; do
	inst "$moddir"/"$i" /usr/libexec/initramfs-olpc/"$i"
done

inst "$moddir"/olpc_act_gui_client.py /usr/lib/python2.6/site-packages/olpc_act_gui_client.py

for i in cprl.so pyvt.so pyfb.so ipv6util.so; do
	inst /usr/lib/dracut-modules-olpc/"$i" /usr/lib/python2.6/site-packages/"$i"
done

for i in "$moddir"/act-gui-images/*; do
	inst "$i" /usr/share/olpc-act-gui/images/$(basename "$i")
done

dracut_install /usr/lib/python2.6/site-packages/bitfrost/__init__.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/leases/__init__.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/leases/core.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/leases/keys.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/leases/crypto.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/leases/errors.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/util/__init__.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/util/json.py
dracut_install /usr/lib/python2.6/site-packages/bitfrost/util/pyverify.so

instmods vfat usb_storage usb8xxx libertas ohci_hcd ehci_hcd sdhci sd
[ -e "/lib/firmware/usb8388.bin" ] && dracut_install /lib/firmware/usb8388.bin

# FIXME: dracut doesn't install firmware loading support?
inst_rules 50-firmware.rules
dracut_install /lib/udev/firmware.sh
dracut_install uname cat

old_ifs=$IFS
IFS="
"
for line in $(<"$moddir"/python-contents.txt); do
	inst $line
done
IFS=$old_ifs
