diff -uNr patch-o-matic-20031122.24only/runme patch-o-matic-20031122/runme --- patch-o-matic-20031122.24only/runme Thu Nov 13 11:21:35 2003 +++ patch-o-matic-20031122/runme Sun Nov 23 01:08:02 2003 @@ -16,6 +16,9 @@ # - fix support for userspace/ patches # Mon 7 Apr 2003 Martin Josefsson # - add support for batch testing +# Sun 23 Nov 2003 William Stearns +# - add support for 2.6 kernels, requires .Kconfig files +# made by http://www.stearns.org/pom26convert/pom26convert # #set -x @@ -340,6 +343,18 @@ return $ret } +apply_kconfig_changes() +{ + ret=0 + + for x in `expand_no_backups "$1.Kconfig*"` + do + apply_change $x $2 Kconfig $3 || ret=1 + done + + return $ret +} + apply_makefile_changes() { ret=0 @@ -450,24 +465,35 @@ echo Testing patch $1... - if [ -f "$KTMPDIR/net/$2/netfilter/Config.help" ]; then - DOCUMENTATIONFILE="net/$2/netfilter/Config.help" - elif [ -f "$KTMPDIR/Documentation/Configure.help" ]; then - DOCUMENTATIONFILE="Documentation/Configure.help" + if [ -f "$KTMPDIR/net/$2/netfilter/Kconfig" ]; then + #We have a 2.6 kernel. + if apply_kconfig_changes $1 $KTMPDIR/net/$2/netfilter test && + apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter test && + apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 test + then : + else + return 1 + fi else - echo Warning - no help text file could be found in either >&2 - echo $KTMPDIR/net/$2/netfilter/Config.help >&2 - echo or $KTMPDIR/Documentation/Configure.help >&2 - DOCUMENTATIONFILE=/dev/null - fi + if [ -f "$KTMPDIR/net/$2/netfilter/Config.help" ]; then + DOCUMENTATIONFILE="net/$2/netfilter/Config.help" + elif [ -f "$KTMPDIR/Documentation/Configure.help" ]; then + DOCUMENTATIONFILE="Documentation/Configure.help" + else + echo Warning - no help text file could be found in either >&2 + echo $KTMPDIR/net/$2/netfilter/Config.help >&2 + echo or $KTMPDIR/Documentation/Configure.help >&2 + DOCUMENTATIONFILE=/dev/null + fi - if apply_config_in_changes $1 $KTMPDIR/net/$2/netfilter test && - apply_config_help_changes $1 $KTMPDIR/$DOCUMENTATIONFILE test && - apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter test && - apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 test - then : - else - return 1 + if apply_config_in_changes $1 $KTMPDIR/net/$2/netfilter test && + apply_config_help_changes $1 $KTMPDIR/$DOCUMENTATIONFILE test && + apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter test && + apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 test + then : + else + return 1 + fi fi if (cd $KTMPDIR && @@ -621,21 +647,27 @@ return 1 fi - if [ -f "$KTMPDIR/net/$2/netfilter/Config.help" ]; then - DOCUMENTATIONFILE="net/$2/netfilter/Config.help" - elif [ -f "$KTMPDIR/Documentation/Configure.help" ]; then - DOCUMENTATIONFILE="Documentation/Configure.help" + if [ -f "$KTMPDIR/net/$2/netfilter/Kconfig" ]; then + apply_kconfig_changes $1 $KTMPDIR/net/$2/netfilter/ + apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter/ + apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 else - echo Warning - no help text file could be found in either >&2 - echo $KTMPDIR/net/$2/netfilter/Config.help >&2 - echo or $KTMPDIR/Documentation/Configure.help >&2 - DOCUMENTATIONFILE=/dev/null - fi + if [ -f "$KTMPDIR/net/$2/netfilter/Config.help" ]; then + DOCUMENTATIONFILE="net/$2/netfilter/Config.help" + elif [ -f "$KTMPDIR/Documentation/Configure.help" ]; then + DOCUMENTATIONFILE="Documentation/Configure.help" + else + echo Warning - no help text file could be found in either >&2 + echo $KTMPDIR/net/$2/netfilter/Config.help >&2 + echo or $KTMPDIR/Documentation/Configure.help >&2 + DOCUMENTATIONFILE=/dev/null + fi - apply_config_in_changes $1 $KTMPDIR/net/$2/netfilter/ - apply_config_help_changes $1 $KTMPDIR/$DOCUMENTATIONFILE - apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter/ - apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 + apply_config_in_changes $1 $KTMPDIR/net/$2/netfilter/ + apply_config_help_changes $1 $KTMPDIR/$DOCUMENTATIONFILE + apply_makefile_changes $1 $KTMPDIR/net/$2/netfilter/ + apply_conntrack_h_changes $1 $KTMPDIR/include/linux/netfilter_$2 + fi if [ ! -e $1.userspace ]; then