#!/bin/sh
# $Id: make-repository.sh,v 1.3 2003/08/19 02:00:20 makoto Exp makoto $
# use following line for simple debug
# ECHO=echo 
commit () {
     echo ##### commit nandra
     cd ${DIR}/checkout/src
     cvs commit -m "$1" 2>&1 >> ${LOG}-4
}
tag () {
     echo ##### tagging for this patch
     cd ${DIR}/checkout/src
     cvs tag $1  >> ${LOG}-$2
}

ECHO=
DIR=`pwd`
CVSROOT=${DIR}/Repository
TNFDATE=20030727-UTC
NANDRA=/e/u/j/nandra
DATE=030726
TAR=${NANDRA}/macppc-${DATE}.tar.gz
BUILD=/home/htdocs/www/software/NetBSD/macppc/build.sh
ARG=$1
LOG=`pwd`/`date +'%Y%m%d-%H%M'`

export CVSROOT TNFDATE ECHO NANDRA TAR BUILD ARG LOG

echo -----   values follow  -------- 
echo "CVSROOT $CVSROOT"
echo "DIR     $DIR"
echo "TNFDATE $TNFDATE"
echo "ECHO    $ECHO"
echo "NANDRA  $NANDRA"
echo "TAR     $TAR"
echo "BUILD   $BUILD"
echo "ARG     $ARG"
echo "LOG     $LOG"
echo  ===============================
### exit;

## init
     cd ${DIR}
    if [ ! -d ${CVSROOT} ];then
	mkdir ${CVSROOT}
       cvs -d ${CVSROOT} init
    fi


     echo #### checking out original to (src)
     cd ${DIR}
     cvs -d /e/c/CVSup/main co -D ${TNFDATE} src     2>&1  >> ${LOG}-1
     echo #### removing CVS directory for import
     find src -name CVS -type d -exec rm -rf '{}' \; -prune 2>&1  >> ${LOG}-1


## import () {  
     echo #### importing TNF branch  (src)
     cd ${DIR}/src
    echo    cvs -d ${CVSROOT} import -ko -m 'TNF import'   -I \! src TNF d_${DATE} 
     cvs -d ${CVSROOT} import -ko -m 'TNF import'   -I \! src TNF d_${DATE} 2>&1  >> ${LOG}-2
## }



     echo #### checking out from local repository (checkout)
     mkdir ${DIR}/checkout
     cd ${DIR}/checkout
     cvs -d ${CVSROOT} co -ko src 2>&1 >> ${LOG}-3


# macppc
     echo #### writing macppc
     cd ${DIR}/checkout/src
     tar zxf ${TAR}
     cvs -n update | grep '^\?'   > ../list
     rm -f add.sh
     sed 's/^\?/cvs add/'           ../list       > add.sh
    echo cvs add sys/arch/powerpc/lib/libkern                >> add.sh
    echo cvs add sys/arch/powerpc/lib/libkern/Makefile.inc   >> add.sh
    echo cvs add sys/arch/powerpc/lib/libkern/bswap16.S      >> add.sh
    echo cvs add sys/arch/powerpc/lib/libkern/bswap32.S      >> add.sh
    echo cvs add sys/arch/powerpc/lib/libkern/bswap64.S      >> add.sh
    echo cvs add sys/arch/powerpc/lib/libkern/memcpy.S       >> add.sh
    echo cvs add sys/arch/macppc/stand/ustarboot             >> add.sh
    echo cvs add sys/arch/macppc/stand/ustarboot/Makefile    >> add.sh
    echo cvs add sys/arch/macppc/stand/ustarboot/mkboot.c    >> add.sh

    echo cvs add sys/arch/macppc/stand/installboot           >> add.sh
    echo cvs add sys/arch/macppc/stand/installboot/Makefile  >> add.sh
    echo cvs add sys/arch/macppc/stand/installboot/installboot.c  >> add.sh
    echo cvs add sys/arch/macppc/stand/installboot/hfslabel.c  >> add.sh
    echo cvs add sys/arch/macppc/stand/installboot/extern.n  >> add.sh

    sh add.sh

commit "nandra ${DATE}"

# branch
     echo ##### making nandra branch
     cd ${DIR}/checkout/src
     cvs tag    -b nandra 2>&1 >> ${LOG}-5

tag ts_${DATE} 6

     echo ##### patching local mod
     cd ${DIR}/checkout/src
      patch -s -p0 < ${BUILD}/20030210/2
      patch -s -p0 < ${BUILD}/20030210/4
      patch -s -p0 < ${BUILD}/20030210/5
      patch -s -p0 < ${BUILD}/20030210/7
      patch -s -p0 < ${BUILD}/20030210/8
      patch -s -p0 < ${BUILD}/20030713/9
      patch -s -p0 < ${BUILD}/20030727/a
      patch -s -p0 < ${BUILD}/adb-20021109
      patch -s -p0 < ${BUILD}/config.bfd-20030420
      patch -s -p0 < ${BUILD}/modem-20030714

commit "mef ${DATE}"
tag mef_${DATE} 7


exit;
# 3.sh: too many nested function calls

