#!/bin/sh # wander through an Libreswan nat-t directory, creating a patch file (to stdout) # that will apply the code to a kernel source directory. # # $Id: nattpatch,v 1.3 2005/09/26 02:37:58 mcr Exp $ # KERN=$1 shift . packaging/utils/kernelpatching.sh patch20=false patch22=false patch24=false patch26=false case $KERN in 2.0) patchname=os2_0; altname=fs2_0; patch20=true;; 2.2) patchname=os2_2; altname=fs2_2; patch22=true;; 2.4) patchname=os2_4; altname=fs2_4; patch24=true;; 2.6) patchname=os2_6; altname=fs2_6; patch26=true;; *) echo "Invalid kernel patch target: $KERN"; exit 1;; esac # make sure that sort gets the right locale. LANG=C export LANG LC_ALL=C export LC_ALL find nat-t -type f -print | grep -v CVS | egrep -v 'linux/Makefile' | sort | while read file do base=`basename $file` pname=`echo $file | sed -e 's,\.fs._.$,,' -e 's,\.os._.$,,'` case $base in TAGS) ;; tags) ;; .cvsignore) ;; .*.o.flags) ;; .\#*);; *.o) ;; *~) ;; tagsfile.mak) ;; *.$patchname.patch) cat $file;; *.$altname.patch) cat $file;; *.fs2_0) fakeallpatch $patch20 $file $pname ;; *.fs2_2) fakeallpatch $patch22 $file $pname ;; *.fs2_4) fakeallpatch $patch24 $file $pname ;; *.fs2_6) fakeallpatch $patch26 $file $pname ;; *.os2_0) fakeallpatch $patch20 $file $pname ;; *.os2_2) fakeallpatch $patch22 $file $pname ;; *.os2_4) fakeallpatch $patch24 $file $pname ;; *.os2_6) fakeallpatch $patch26 $file $pname ;; *.patch) ;; *) diff -u /dev/null $file;; esac done exit 0