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