Improve comment and function regular expressions to reduce decision points.
[releases.git] / deblob-2.6.26
index 81355594c4e837dab0e5aa7129a21f6d8b4c33ec..6e1508c689c53fb49f6c422f95c06462c5ae8a0b 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #    Copyright (C) 2008 Jeff Moe
-#    Copyright (C) 2008 Alexandre Oliva <lxoliva@fsfla.org>
+#    Copyright (C) 2008, 2009 Alexandre Oliva <lxoliva@fsfla.org>
 #
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 
 # For each kver release, start extra with an empty string, then count
 # from 1 if changes are needed that require rebuilding the tarball.
-kver=2.6.26 extra=2
+kver=2.6.26 extra=2++
 
 case $1 in
 --force) die () { echo ERROR: "$@": ignored >&2; }; shift;;
@@ -63,7 +63,7 @@ else
   have_check=:
 fi
 
-function clean_file {
+clean_file () {
        #$1 = filename
        if test ! -f $1; then
                die $1 does not exist, something is wrong
@@ -71,7 +71,7 @@ function clean_file {
        rm -v $1
 }
 
-function check_changed {
+check_changed () {
        if test ! -f $1; then
                die $1 does not exist, something is wrong
        elif cmp $1.deblob $1 > /dev/null; then
@@ -80,7 +80,7 @@ function check_changed {
        mv $1.deblob $1
 }
 
-function clean_blob {
+clean_blob () {
        #$1 = filename
        if $have_check; then
            if test ! -f $1; then
@@ -90,14 +90,14 @@ function clean_blob {
            echo Removing blobs from $name
            set fnord "$@" -d
            shift 2
-           $check "$@" $name > $name.deblob
+           $check "$@" -i linux-$kver $name > $name.deblob
            check_changed $name
        else
            clean_file $1
        fi
 }
 
-function clean_kconfig {
+clean_kconfig () {
         #$1 = filename $2 = things to remove
         echo Marking config $2 as depending on NONFREE in $1
        sed "/^config \\($2\\)\$/{p;i\
@@ -106,7 +106,7 @@ d;}" $1 > $1.deblob
        check_changed $1
 }
 
-function clean_mk {
+clean_mk () {
        #$1 = config $2 = Makefile name
        # We don't clean up Makefiles any more --lxoliva
        # sed -i "/\\($1\\)/d" $2
@@ -114,12 +114,11 @@ function clean_mk {
        if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then
            :
        else
-           echo $2 does not contain matches for $1
-           exit 1
+           die $2 does not contain matches for $1
        fi
 }
 
-function clean_ifdef {
+clean_ifdef () {
        #$1 = filename $2 = macro to -U
        echo unifdefing $1 with -U$2
        unifdef -U$2 $1 > $1.deblob
@@ -330,8 +329,12 @@ clean_kconfig drivers/net/Kconfig 'ACENIC'
 clean_mk CONFIG_ACENIC drivers/net/Makefile
 
 # ADAPTEC_STARFIRE - Adaptec Starfire/DuraLAN support
-# This adds restrictions on top of GPLv2, but after deblobbing,
-# nothing copyrightable remains.
+
+# This file requires prior acceptance of the GPL before you can even
+# run the code in it.  It's not clear whether this is a further
+# requirement that would make the distribution incompatible with the
+# GPL, but since nothing remains after we remove the blob, it's
+# irrelevant whether the explicit acceptance would be a problem.
 clean_blob drivers/net/starfire_firmware.h
 clean_kconfig drivers/net/Kconfig 'ADAPTEC_STARFIRE'
 clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/Makefile
@@ -371,7 +374,9 @@ clean_kconfig drivers/net/Kconfig 'TEHUTI'
 clean_mk CONFIG_TEHUTI drivers/net/Makefile
 
 # TIGON3 - Broadcom Tigon3
-patch --no-backup-if-mismatch -p0 <<\EOF # patches/linux-2.6-tg3-clean.patch
+patch --no-backup-if-mismatch --batch -p0 <<\EOF || \
+  die failed to remove license comments from drivers/net/tg3.c \
+  # patches/linux-2.6-tg3-clean.patch
 --- drivers/net/tg3.c
 +++ drivers/net/tg3.c
 @@ -5,14 +5,6 @@