#!/bin/bash

PKGS=`lua -f /proj/fool/skyward list $1 $2`

echo "Building romdisk  " `date`

AGENDA=`pwd`/romfs
VRP_OUTPUT=$AGENDA
export VRP_OUTPUT

##############################################################################
# Create the destination directory.
##############################################################################

rm -rf $AGENDA
mkdir $AGENDA


##############################################################################
# Directories and links
##############################################################################

CWD=`pwd`
cd $AGENDA
mkdir proc flash ram mnt bin lib sbin usr usr/etc usr/bin usr/sbin usr/lib usr/lib/aps usr/share defaults defaults/etc
chmod 755 . proc flash ram mnt bin lib sbin usr usr/etc usr/bin usr/sbin usr/lib usr/lib/aps usr/share defaults defaults/etc
ln -s ram/tmp tmp
ln -s ram/var var
ln -s flash/home home
ln -s flash/root root
ln -s /flash/local usr/local
ln -s flash/etc etc
cd $CWD


##############################################################################
# Install all the packages
##############################################################################

VRPDIR=binary-snow

install_vrp () {
  DIR=`dirname $1`
  PKG=`basename $1`
  CWD=`pwd`
  echo "Installing: ${PKG}.vrp"
  (cd ${VRPDIR}/${DIR}; VERBOSITY=1 vrpinst ${PKG}.vrp)
  cd $CWD
}

for PKG in $PKGS; do
    install_vrp $PKG
done


##############################################################################
# Fixup file permissions, etc.
##############################################################################

chmod -R a-t $AGENDA

# set_xip $AGENDA/usr/bin/busybox
# set_xip $AGENDA/bin/bash
# set_xip $AGENDA/usr/X11R6/bin/Xfbdev
# set_xip $AGENDA/usr/bin/contacts
# set_xip $AGENDA/usr/bin/notes
# set_xip $AGENDA/usr/bin/schedule
# set_xip $AGENDA/usr/bin/to-do
# set_xip $AGENDA/usr/bin/vrwm
# set_xip $AGENDA/usr/bin/vrsm
# set_xip $AGENDA/usr/bin/keyboard
# set_xip $AGENDA/usr/bin/launchpad
# set_xip $AGENDA/usr/bin/quicksync
# set_xip $AGENDA/usr/bin/keyboard
# set_xip $AGENDA/usr/bin/gbm
# set_xip $AGENDA/usr/bin/apm-sleep
# set_xip $AGENDA/usr/bin/flua
# set_xip $AGENDA/usr/sbin/recd
# set_xip $AGENDA/usr/sbin/irattach
# set_xip $AGENDA/usr/sbin/irobexd
# set_xip $AGENDA/usr/sbin/pppd
# set_xip $AGENDA/usr/sbin/sshd
# set_xip $AGENDA/lib/libc.1.sso
# set_xip $AGENDA/lib/libfleditor.1.sso
# set_xip $AGENDA/lib/libflek_core.1.sso
# set_xip $AGENDA/lib/libflek_ui.1.sso
# set_xip $AGENDA/lib/libflpda.1.sso
# set_xip $AGENDA/lib/libfltk.1.sso
# set_xip $AGENDA/lib/libglib.1.sso
# set_xip $AGENDA/lib/libgmodule.1.sso
# set_xip $AGENDA/lib/libm.1.sso
# #set_xip $AGENDA/lib/libopenobex.1.sso
# set_xip $AGENDA/lib/librunone.1.sso
# set_xip $AGENDA/lib/libscrib.1.sso
# #set_xip $AGENDA/lib/libstdc.1.sso
# set_xip $AGENDA/lib/libX11.1.sso
# set_xip $AGENDA/lib/libXext.1.sso
# set_xip $AGENDA/lib/libXpm.1.sso
# set_xip $AGENDA/lib/libXtst.1.sso
# set_xip $AGENDA/lib/liblua.1.sso
# set_xip $AGENDA/lib/liblua_fltk.1.sso

# This really messes with fakeroot
# do it unconditionally
chmod -f ugo+w $AGENDA/defaults/dev/null
chmod -f ugo+w $AGENDA/defaults/dev/zero
if [ -f $AGENDA/defaults/dev/null ]; then
  chmod ugo+w $AGENDA/defaults/dev/null
fi

(cd $AGENDA;
 rm -rf flash/dev;
 ln -s ../defaults/dev flash/dev;
 ln -s flash/dev dev)

#cp missing_pixmaps/* $AGENDA/usr/share/pixmaps

#footer $COMPONENT "  " `date`

/tmp/mkcramfs $AGENDA /tmp/foo1.img
(cd $AGENDA; tar cfz /tmp/foo.tar.gz .)

echo 'Done building romdisk'
