if [ ! -f `which unifdef` ] ; then echo "requires unifdef" ; exit ; fi
+check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
+if [ ! -f $check ] ; then
+ echo "optional deblob-check missing, will remove entire files"
+ have_check=false
+else
+ have_check=:
+fi
+
function clean_file {
#$1 = filename
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
rm -v $1
}
function check_changed {
- if cmp $1.deblob $1 > /dev/null; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ elif cmp $1.deblob $1 > /dev/null; then
echo $1 did not change, something is wrong >&2
exit 1
fi
mv $1.deblob $1
}
-check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
function clean_blob {
#$1 = filename
- if test -f $check; then
+ if $have_check; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
name=$1
echo Removing blobs from $name
set fnord "$@" -d
# E100 - Intel(R) PRO/100+
clean_blob drivers/net/e100.c
-sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/e100.c
-# clean_kconfig drivers/net/Kconfig 'E100'
-# clean_mk CONFIG_E100 drivers/net/Makefile
+if $have_check; then
+ sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/e100.c
+else
+ clean_kconfig drivers/net/Kconfig 'E100'
+ clean_mk CONFIG_E100 drivers/net/Makefile
+fi
# MYRI_SBUS - MyriCOM Gigabit Ethernet
clean_blob drivers/net/myri_code.h
EOF
clean_blob drivers/net/tg3.c -s 9
-sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/tg3.c
+if $have_check; then
+ sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/tg3.c
+else
+ clean_kconfig drivers/net/Kconfig 'TIGON3'
+ clean_mk CONFIG_TIGON3 drivers/net/Makefile
+fi
# TYPHOON - 3cr990 series Typhoon
clean_blob drivers/net/typhoon-firmware.h
if [ ! -f `which unifdef` ] ; then echo "requires unifdef" ; exit ; fi
+check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
+if [ ! -f $check ] ; then
+ echo "optional deblob-check missing, will remove entire files"
+ have_check=false
+else
+ have_check=:
+fi
+
function clean_file {
#$1 = filename
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
rm -v $1
}
function check_changed {
- if cmp $1.deblob $1 > /dev/null; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ elif cmp $1.deblob $1 > /dev/null; then
echo $1 did not change, something is wrong >&2
exit 1
fi
mv $1.deblob $1
}
-check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
function clean_blob {
#$1 = filename
- if test -f $check; then
+ if $have_check; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
name=$1
echo Removing blobs from $name
set fnord "$@" -d
# E100 - Intel(R) PRO/100+
clean_blob drivers/net/e100.c
-sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/e100.c
-# clean_kconfig drivers/net/Kconfig 'E100'
-# clean_mk CONFIG_E100 drivers/net/Makefile
+if $have_check; then
+ sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/e100.c
+else
+ clean_kconfig drivers/net/Kconfig 'E100'
+ clean_mk CONFIG_E100 drivers/net/Makefile
+fi
# MYRI_SBUS - MyriCOM Gigabit Ethernet
clean_blob drivers/net/myri_code.h
EOF
clean_blob drivers/net/tg3.c -s 9
-sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/tg3.c
+if $have_check; then
+ sed -i 's:\(\/\*(DEBLOBBED)\*\/\),:\1:' drivers/net/tg3.c
+else
+ clean_kconfig drivers/net/Kconfig 'TIGON3'
+ clean_mk CONFIG_TIGON3 drivers/net/Makefile
+fi
# TYPHOON - 3cr990 series Typhoon
clean_blob drivers/net/typhoon-firmware.h
function clean_file {
#$1 = filename
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
rm -v $1
}
function check_changed {
- if cmp $1.deblob $1 > /dev/null; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ elif cmp $1.deblob $1 > /dev/null; then
echo $1 did not change, something is wrong >&2
exit 1
fi
function clean_blob {
#$1 = filename
if $have_check; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
name=$1
echo Removing blobs from $name
set fnord "$@" -d
# Thanks to Brian Brazil @ gnewsense
#
-# This version, suited for 2.6.25, avoids removing Free Software for
+# This version, suited for 2.6.26, 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
function clean_file {
#$1 = filename
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
rm -v $1
}
function check_changed {
- if cmp $1.deblob $1 > /dev/null; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ elif cmp $1.deblob $1 > /dev/null; then
echo $1 did not change, something is wrong >&2
exit 1
fi
function clean_blob {
#$1 = filename
if $have_check; then
+ if test ! -f $1; then
+ echo $1 does not exist, something is wrong >&2
+ exit 1
+ fi
name=$1
echo Removing blobs from $name
set fnord "$@" -d