emacs terminal devices
Kirk Reiser
kirk at braille.uwo.ca
Wed Oct 18 16:34:06 EDT 2000
Hi Jacob: I will post the script here and you can cut it out and make
it executable.. You will need to start with a clean unpacked linux
source tree rooted at /usr/src/linux. The cvs script will download
the cvs archive and patch the kernel automagically. The anonymous
password is 'please' without the ticks. You can then run make
mrproper and drop your .config file in to do a make oldconfig if you
like.
Kirk
------------------------------------------------------------------------
#!/bin/bash
VERSION=v`head -2 /usr/src/linux/Makefile | \
awk '{ printf "%s",$3 }'`
DIR=/usr/src/linux/drivers/char/speakup
echo "Patching version $VERSION"
if [ "$1" != "--debug" ]; then
SILENT=--silent
fi
if [ ! -d ${DIR}/CVS ] && [ "$CVSROOT" == "" ]; then
echo 'CVSROOT not set. Enter it below. Hit enter for anonymous.'
read -p 'CVSROOT> ' CVSROOT
[ "$CVSROOT" == "" ] &&
CVSROOT=':pserver:anonymous at bumpy.braille.uwo.ca:/usr/src/CVS'
export CVSROOT
cvs login || exit
fi
if [ "$1" != "-p" ]; then
# get new version
mkdir -p ${DIR%/speakup}
cd ${DIR%/speakup}
if [ -d speakup ]; then
cd speakup
cvs update -P || exit
else
cvs co -P speakup || exit
cd speakup
fi
fi
# make .orig files
echo -n 'Creating .orig files ['
for i in `cat ${DIR}/patchlist`; do
patch=`echo $i | cut -f 1 -d ,`
filebase=`echo $i | cut -f 2 -d ,`
mkdir -p `dirname $filebase`
if [ "$patch" == "1" ]; then
if [ ! -e $filebase.orig ]; then
echo -n .
cp $filebase $filebase.orig
fi
fi
done
echo '] done.'
# apply patches
echo -n 'Patching files ['
for i in ${DIR}/diff-${VERSION}/*.patch; do
# skip dirs
[ -d $i ] && continue
echo -n p
writeloc=${i##$DIR\/diff-${VERSION}\/}
writeloc=${writeloc%.patch}
writeloc=${writeloc//^/\/}
patch $SILENT -f -p0 -o $writeloc $writeloc.orig $i
done
echo '] done.'
# copy files
echo -n 'Copying files ['
for i in ${DIR}/diff-${VERSION}/*.copy; do
# skip dirs
[ -d $i ] && continue
echo -n c
writeloc=${i##$DIR\/diff-${VERSION}\/}
writeloc=${writeloc%.copy}
writeloc=${writeloc//^/\/}
cp $i $writeloc
done
echo '] done.'
# ensure /usr/src/linux/drivers/char/defkeymap.c is built from OUR map.
touch speakupmap.map
--
Kirk Reiser The Computer Braille Facility
e-mail: kirk at braille.uwo.ca University of Western Ontario
phone: (519) 661-3061
More information about the Speakup
mailing list