#!/bin/sh

FILENAME=$1
shift
if [ ! -f "$FILENAME" ]; then
	echo "Usage: update-from-GENERIC <filename>" 1>&2
	exit 1
fi
if [ "x$CVSROOT" = "x" ]; then
	CVSROOT=/home/ncvs
fi
STARTDIR=$(pwd)
TMPDIR=/tmp/ufG.$$
mkdir $TMPDIR || exit 1
VERSION=$(cat $FILENAME | grep '\$FreeBSD:' | sed 's|.*src/sys/i386/conf/GENERIC,v \([0-9.][0-9.]*\).*|\1|')
BRANCH=$(echo $VERSION | sed 's|[.][0-9][0-9]*$||')
cd $TMPDIR
echo "Checking out $VERSION"
cvs -d $CVSROOT checkout -r$VERSION sys/i386/conf/GENERIC
cd $STARTDIR
cp $FILENAME $TMPDIR/sys/i386/conf/GENERIC
cd $TMPDIR/sys/i386/conf
echo "Updating along branch $BRANCH"
cvs update -A -r$BRANCH GENERIC
cd $STARTDIR
mv $FILENAME $FILENAME.orig
cp $TMPDIR/sys/i386/conf/GENERIC $FILENAME
#rm -rf $TMPDIR
