emacs terminal devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux