[clue-tech] new thread -> RedHat RHEL kernel
mike havlicek
mhavlicek1 at yahoo.com
Fri Oct 28 18:54:35 MDT 2005
The moveon functon does not work due to a racing
condition in the sed scripts which are not included
here.
--- mike havlicek <mhavlicek1 at yahoo.com> wrote:
> #!/bin/bash
>
>
##########################################################################
> #
> # Takes path to patches as argument
> #
>
##########################################################################
> #echo "$1"
> #exit
> SPECFILE=/usr/src/redhat/SPECS/kernel-2.6.spec
>
##########################################################################
> moveon(){
> export PS3='Continue: '
> choices="Yes No"
> select selection in $choices; do
> if [ $selection ]; then
> if [ $selection = Yes ]; then
> echo "Moving on"
> break
> else
> echo "Aborting patches"
> exit
> fi
> else
> echo "Invalid"
> fi
> done
> }
>
>
##########################################################################
> buildcommand() {
> while read patchID switches; do
> part[0]=$patchID
> part[1]=$switches
> ################################
> # Using () rather than backticks
> # has caused problems here
> ################################
> patchdef=`grep -i "${part[0]}:" $SPECFILE|cut -f
> 2
> -d" "`
> patchfile="$PATCHPATH$patchdef"
> if [ $patchfile != ${patchfile%.bz2} ] ; then
> #echo "$patchfile VS ${patchfile%.bz2}"
> if [ -r $patchfile ] ; then
> bzip2 -d $patchfile
> fi
> patchfile=${patchfile%.bz2}
> fi
>
> # Check if patch exists where we look and we have
> read
> permission
> if [ -r $patchfile ] ; then
>
##########################################################################
> #
> # Simply do the Unix patch without using $command
> here
> #
>
##########################################################################
> command="patch ${part[1]} < $patchfile"
> echo $command
> #patch ${part[1]} < $patchfile
> else
> echo "Error:"
> echo "\"$patchdef\" unavailable."
> sleep 1
> #moveon
> #exit
> fi
>
>
> # echo "${part[0]}"
> # echo "${part[1]}"
>
> done
> } #< testdata
>
>
>
> ## Called as sed -nf <this file> $SPEC
> ## Extract order to apply patches from kernel spec
> file and how to patch.
> #/^#.*Alan/,/END.*APP/{
> #/^%/s/%//p
> #}
>
##########################################################################
> # Called as sed -nf sedscr2 $SPEC
> # Extract patch definitions
> #210,/END.*DEF/{
> #604d
> #s/: */=/p
> #}
> #
> #sed2=`sed -n '210,/END.*DEF/{604d}
>
##########################################################################
> #moveon
> if [ -z "$1" ] ; then
> echo "Usage: ${0##*/} PATCHPATH"
> else
> sed1=`sed -n '/^#.*Alan/,/END.*APP/{/^%/s/%//p}'
> $SPECFILE`
> PATCHPATH="$1/"
> # The following line works
> echo "$sed1" | buildcommand
> #read "$sed1" | buildcommand
> fi
>
>
> --- mike havlicek <mhavlicek1 at yahoo.com> wrote:
>
> > I wrote a silly bash script that used Sed to strip
> > the
> > patch names from the spec file from the kernel
> srpm.
> > And apply them in correct order.
> >
> > -Mike
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> > protection around
> > http://mail.yahoo.com
> > _______________________________________________
> > CLUE-tech mailing list
> > CLUE-tech at cluedenver.org
> > http://cluedenver.org/mailman/listinfo/clue-tech
> >
>
>
>
>
>
> __________________________________
> Yahoo! Mail - PC Magazine Editors' Choice 2005
> http://mail.yahoo.com
> _______________________________________________
> CLUE-tech mailing list
> CLUE-tech at cluedenver.org
> http://cluedenver.org/mailman/listinfo/clue-tech
>
__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com
_______________________________________________
CLUE-tech mailing list
CLUE-tech at cluedenver.org
http://cluedenver.org/mailman/listinfo/clue-tech
More information about the clue-tech
mailing list