#!/bin/sh # Built on TCL v3.3 # Required extensions: # compiletc # binutils # base-dev # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # cloog # ppl # gmp # mpfr # gperf # grep # m4 # make # patch # pkg-config # sed # squashfs-tools-4.x # tar # libmirage-dev # libmirage # glib2 # libsndfile # flac # vorbis-tools # libao # libvorbis # libogg # curl # openssl-0.9.8 # glib2-dev # libsndfile-dev # libvorbis-dev # flac-dev # dbus-glib-dev # dbus-glib # dbus # expat2 # expat2-dev # libao-dev # libdaemon getTime.sh installExtension() { if [ ! -e /usr/local/tce.installed/$1 ]; then echo "Installing "$1" ..." if [ -e $TCEDIR/optional/$1.tcz ]; then tce-load -i $1 else tce-load -wi $1 fi [ ! -e /usr/local/tce.installed/$1 ] && echo "Error: Extension "$1" not installed! Aborting" && exit fi } # Install these extensions automagically export EXTS="compiletc squashfs-tools-4.x tar libmirage-dev dbus-glib-dev libao-dev libdaemon" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS=$CFLAGS" -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="cdemu-daemon" export VER="-1.3.0" export DESTDIR=`pwd`/$EXTNAME export PKGNAME=$EXTNAME$VER for f in $EXTS; do installExtension $f done #unpack source if [ -e $PKGNAME.tar.bz2 ]; then tar -jxf $PKGNAME.tar.bz2 elif [ -e $PKGNAME.tb2 ]; then tar -jxf $PKGNAME.tb2 elif [ -e $PKGNAME.tbz ]; then tar -jxf $PKGNAME.tbz elif [ -e $PKGNAME.tar.gz ]; then tar -zxf $PKGNAME.tar.gz elif [ -e $PKGNAME.tgz ]; then tar -zxf $PKGNAME.tgz elif [ -e $PKGNAME.tar.xz ]; then tar -Jxf $PKGNAME.tar.xz elif [ -e $PKGNAME.txz ]; then tar -Jxf $PKGNAME.txz elif [ -e $PKGNAME.tar.lzma ]; then tar -xf $PKGNAME.tar.lzma --lzma elif [ -e $PKGNAME.tlz ]; then tar -xf $PKGNAME.tlz --lzma else echo "Source tarball not found! Aborting" && exit fi mkdir -p usr/local/etc/init.d usr/local/var/run cd $PKGNAME ./configure && make && make install-strip || exit cd $DESTDIR echo '#!/bin/sh # # CDEmu Userspace Daemon start/stop script # OS: Tinycore v3.x # Author: robc wait_for_module() { echo -n "Loading vhba module, please wait..." WAIT=30 modprobe vhba || WAIT=0 until [ $WAIT -eq 0 ]; do if [ -c /dev/vhba_ctl ]; then WAIT=0 else WAIT=$((WAIT-1)) sleep 1 fi done if [ -c /dev/vhba_ctl ]; then echo "Success." else echo -e "Failed.\nCDEmu did not start." exit 2 fi } status() { if [ `pidof cdemud` ]; then echo "CDEmu Daemon is running." exit 0 else echo "CDEmu is not running." exit 1 fi } start() { if [ `pidof cdemud` ]; then echo "CDEmu Daemon is already running." else OPTS=${OPTS:-"-d"} /usr/local/etc/init.d/dbus start || exit 2 [ ! -c /dev/vhba_ctl -o ! -n `lsmod | grep vhba | cut -d " " -f 1` ] && wait_for_module cdemud $OPTS && echo "CDEmu Daemon is running." fi } stop() { if [ `pidof cdemud` ]; then cdemud -k && echo "CDEmu Daemon stopped." else echo "CDEmu Daemon was not running." fi } case $1 in status) status ;; stop) stop ;; start) OPTS=${@#$1}; start ;; restart) stop; OPTS=${@#$1}; start ;; *) echo "Usage: /usr/local/etc/init.d/cdemud [start [OPTIONS]|stop|restart [OPTIONS]|status]" ;; esac' > usr/local/etc/init.d/$EXTNAME rm -rf usr/local/share find usr -not -type d > ../$EXTNAME.tcz.list cd .. mksquashfs $EXTNAME $EXTNAME.tcz -noappend md5sum $EXTNAME.tcz > $EXTNAME.tcz.md5.txt rm -rf $PKGNAME $EXTNAME