#!/bin/sh
#set -x

DIRBASE=/home/jon/merep/jasspacom/development/me-standalone
BUILDDATE="20091109"
BFSVERSION="v0.1.2"
OUTBASE="mezi"
BFSIMAGE=${DIRBASE}/jasspa-metree-20091121.bfs
BFS=${OUTBASE}/SunOS/5.10/sparc/bfs
#
# Expand a gzip executable bundle.
# 
gunzipexpand () {
    if [ -f $1 ] ; then
        mkdir -p $2
        gunzip -c $1 > $2/$3
        chmod a+x $2/$3
        echo Expanded $3
    else
        echo Cannot find file $1
        exit 1
    fi
}

#
# Append the correct BFS file
# 
bfsreplace () {
    if [ -f $1/$2 ] ; then
        ${BFS} -a $1/$2 ${BFSIMAGE}          
    fi        
}            

# Delete the old stuff
rm -rf ./${OUTBASE}

# SunOS 5.10 sparc
OUTDIR=${OUTBASE}/SunOS/5.10/sparc
gunzipexpand ${DIRBASE}/bfs-SunOS5.10-sparc-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-SunOS5.10-sparc-${BUILDDATE}.gz ${OUTDIR} me
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-me-SunOS5.10-sparc-${BUILDDATE}.gz ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# SunOS 5.10 i386
OUTDIR=${OUTBASE}/SunOS/5.10/i386
gunzipexpand ${DIRBASE}/bfs-SunOS5.10-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-SunOS5.10-i386-${BUILDDATE}.gz ${OUTDIR} me
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-SunOS5.10-i386-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# SunOS 5.8 i386
OUTDIR=${OUTBASE}/SunOS/5.8/i386
gunzipexpand ${DIRBASE}/bfs-SunOS5.8-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-SunOS5.8-i386-${BUILDDATE}.gz ${OUTDIR} me
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-SunOS5.8-i386-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# SunOS 5.8 sparc
OUTDIR=${OUTBASE}/SunOS/5.8/sparc
gunzipexpand ${DIRBASE}/bfs-SunOS5.8-sparc-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-SunOS5.8-sparc-${BUILDDATE}.gz ${OUTDIR} me
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-SunOS5.8-sparc-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Apple ppc 10.3
OUTDIR=${OUTBASE}/apple
gunzipexpand ${DIRBASE}/bfs-apple-ppc-10.3-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-apple-ppc-10.3-${BUILDDATE}.gz ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-apple-ppc-10.3-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# FreeBSD 7.2 amd64
OUTDIR=${OUTBASE}/freebsd/7.2/amd64
gunzipexpand ${DIRBASE}/bfs-freebsd-7.2-amd64-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-freebsd-7.2-amd64-${BUILDDATE}.gz ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-freebsd-7.2-amd64-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# FreeBSD 7.2 i386
OUTDIR=${OUTBASE}/freebsd/7.2/i386
gunzipexpand ${DIRBASE}/bfs-freebsd-7.2-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-freebsd-7.2-i386-${BUILDDATE}.gz ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-freebsd-7.2-i386-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec
 
# HPUX pa 11.00
OUTDIR=${OUTBASE}/hpux/11.00/pa_risc
gunzipexpand ${DIRBASE}/bfs-hpux-pa-11.00-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-hpux-pa-11.00-${BUILDDATE}.gz  ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-hpux-pa-11.00-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# HPUX pa 10.20
OUTDIR=${OUTBASE}/hpux/10.20/pa_risc
gunzipexpand ${DIRBASE}/bfs-hpux-pa-10.20-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-hpux-pa-10.20-${BUILDDATE}.gz  ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-hpux-pa-10.20-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Linux 2.2 i386
OUTDIR=${OUTBASE}/linux/2.2/i386
gunzipexpand ${DIRBASE}/bfs-linux-2.2-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-linux-2.2-i386-${BUILDDATE}.gz  ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-linux-2.2-i386-${BUILDDATE}.gz  ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Linux 2.4 i386
OUTDIR=${OUTBASE}/linux/2.4/i386
gunzipexpand ${DIRBASE}/bfs-linux-2.4-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-linux-2.4-i386-${BUILDDATE}.gz ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-linux-2.4-i386-${BUILDDATE}.gz ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Linux 2.6 i386
OUTDIR=${OUTBASE}/linux/2.6/i386
gunzipexpand ${DIRBASE}/bfs-linux-2.6-i386-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-linux-2.6-i386-${BUILDDATE}.gz  ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-linux-2.6-i386-${BUILDDATE}.gz ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Linux 2.6 x86_64
OUTDIR=${OUTBASE}/linux/2.6/x86_64
gunzipexpand ${DIRBASE}/bfs-linux-2.6-x86_64-${BFSVERSION}.gz ${OUTDIR} bfs
gunzipexpand ${DIRBASE}/jasspa-me-linux-2.6-x86_64-${BUILDDATE}.gz  ${OUTDIR} me 
bfsreplace ${OUTDIR} me
gunzipexpand ${DIRBASE}/jasspa-mec-linux-2.6-x86_64-${BUILDDATE}.gz ${OUTDIR} mec
bfsreplace ${OUTDIR} mec

# Windows
OUTDIR=${OUTBASE}/win32
INFILE=${DIRBASE}/bfs-ms-win32-${BFSVERSION}.zip
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    (cd ${OUTDIR}; unzip ${INFILE})
fi
INFILE=${DIRBASE}/jasspa-me-ms-win32-${BUILDDATE}.zip
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    (cd ${OUTDIR}; unzip ${INFILE})
    bfsreplace ${OUTDIR} me32.exe
fi

# Source
OUTDIR=${OUTBASE}/src
INFILE=${DIRBASE}/bfs-${BFSVERSION}.tar.gz
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    cp ${INFILE} ${OUTDIR}
fi
INFILE=${DIRBASE}/jasspa-mesrc-${BUILDDATE}.tar.gz
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    cp ${INFILE} ${OUTDIR}
fi
INFILE=${DIRBASE}/jasspa-metree-20091121.tar.gz
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    cp ${INFILE} ${OUTDIR}
fi
# Delete the source
rm -rf ${OUTDIR}
#
# Root directory stuff
#
OUTDIR=${OUTBASE}
INFILE=${DIRBASE}/readme.txt
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    cp ${INFILE} ${OUTDIR}
fi
INFILE=${DIRBASE}/jasspa-metree-20091121.bfs
if [ -f ${INFILE} ] ; then
    mkdir -p ${OUTDIR}
    cp ${INFILE} ${OUTDIR}
fi
#
# Create the zip archive
# 
rm -rf mezi_${BUILDDATE}.zip
zip -9 -r mezi_${BUILDDATE}.zip ${OUTDIR}
#
# Create a tar archive
#
rm -rf mezi_${BUILDDATE}.tar
rm -rf mezi_${BUILDDATE}.tar.gz
tar cvf mezi_${BUILDDATE}.tar ./${OUTDIR}
gzip -9 mezi_${BUILDDATE}.tar
#
#
# Create a CDROM
# 
rm -f mezi_${BUILDDATE}.iso
rm -f mezi_${BUILDDATE}.iso.gz
mkisofs -r -J -hfs -o mezi_${BUILDDATE}.iso -V mezi_${BUILDDATE} ${OUTDIR}
gzip -9 mezi_${BUILDDATE}.iso
#
# Clean up
#
rm -rf ${OUTDIR}
rm -f *~
