Factor out check_changed, fix status check, print explanation error, check for change...
[releases.git] / deblob-2.6.24
index 41c721a5e9e983c835361936b08ccc8919b34c67..1b7dc4a66ac39a49a88c63aec337f988399efe12 100755 (executable)
 # Thanks to Brian Brazil @ gnewsense
 #
 
-# This version, suited for 2.6.25, avoids removing Free Software for
+# This version, suited for 2.6.24, avoids removing Free Software for
 # the sake of removing non-Free Software.  Drivers that currently
 # require non-Free firmware are retained, but firmware included in
 # GPLed sources is replaced with /*(DEBLOBBED)*/ if the deblob-check
 # script, that knows how to do this, is present.  -lxoliva
 
+# 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.24 extra=1
+
+sed -i "s,^EXTRAVERSION.*,EXTRAVERSION = -libre$extra," Makefile
+
 ####################
 # FOOOOO XXXXXX
 # drivers/net/tokenring/Kconfig needs as last line:
@@ -52,11 +58,23 @@ function clean_file {
        rm -v $1
 }
 
+function check_changed {
+       if cmp $1.deblob $1; then
+               echo $1 did not change, something is wrong >&2
+               exit 1
+       fi
+       mv $1.deblobbed $1
+}
+
+check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
 function clean_blob {
        #$1 = filename
-       if test -f $0-check; then
-           $0-check -d $1 > $1.deblob
-           mv $1.deblob $1
+       if test -f $check; then
+           name=$1
+           set fnord "$@" -d
+           shift 2
+           $check "$@" $name > $name.deblob
+           check_changed $name
        else
            clean_file $1
        fi
@@ -64,9 +82,10 @@ function clean_blob {
 
 function clean_kconfig {
         #$1 = filename $2 = things to remove
-       sed -i "/^config $2\$/{p;i\
+       sed "/^config $2\$/{p;i\
        depends on NONFREE
-d;}" $1
+d;}" $1 > $1.deblob
+       check_changed $1
 }
 
 function clean_mk {
@@ -78,7 +97,7 @@ function clean_mk {
 function clean_ifdef {
        #$1 = filename $2 = macro to -U
        unifdef $1 -U$2 > $1.deblob
-       mv $1.deblob $1
+       check_changed $1
 }
 
 #######################
@@ -312,7 +331,7 @@ patch --no-backup-if-mismatch -p0 <<\EOF # patches/linux-2.6-tg3-clean.patch
  
  
 EOF
-clean_blob drivers/net/tg3.c
+clean_blob drivers/net/tg3.c -s 9
 sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/tg3.c 
 
 # TYPHOON - 3cr990 series Typhoon