Don't be so strict in pattern that matches kver=/extra= line in deblob.
[releases.git] / deblob-2.6.27
index e2bb5f011a25fd693353c4676af6e88d2f66d97e..31fb4bd77ee0cd0f591ece7e103feb8d9984d9c0 100755 (executable)
 # from 1 if changes are needed that require rebuilding the tarball.
 kver=2.6.27 extra=
 
+case $1 in
+--force) die () { echo ERROR: "$@": ignored >&2; }; shift;;
+*) die () { echo "$@" >&2; exit 1; };;
+esac
+
 check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check
 if [ ! -f $check ] ; then
   echo optional deblob-check missing, will remove entire files >&2
@@ -57,19 +62,16 @@ fi
 function clean_file {
        #$1 = filename
        if test ! -f $1; then
-               echo $1 does not exist, something is wrong >&2
-               exit 1
+               die $1 does not exist, something is wrong
        fi
        rm -v $1
 }
 
 function check_changed {
        if test ! -f $1; then
-               echo $1 does not exist, something is wrong >&2
-               exit 1
+               die $1 does not exist, something is wrong
        elif cmp $1.deblob $1 > /dev/null; then
-               echo $1 did not change, something is wrong >&2
-               exit 1
+               die $1 did not change, something is wrong
        fi
        mv $1.deblob $1
 }
@@ -78,8 +80,7 @@ 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
+               die $1 does not exist, something is wrong
            fi
            name=$1
            echo Removing blobs from $name
@@ -98,7 +99,7 @@ function dummy_blob {
            echo $1 exists, something is wrong >&2
            exit 1
        else
-           echo "\$(obj)/$1: ; mkdir -p \$(dir \$@) && : > \$@" >> firmware/Makefile
+           hack_fwmk "NONFREE_FW += $2"
        fi
 }
 
@@ -115,6 +116,17 @@ function clean_fw {
        dummy_blob $2
 }
 
+function hack_fwmk {
+       if test ! -f firmware/Makefile; then
+           echo firmware/Makefile does not exist, something is wrong >&2
+           exit 1
+       fi
+
+       sed -i "/^[     ]*fw-shipped-all[       ]*:=[   ]*/i\
+$1
+" firmware/Makefile
+}
+
 function clean_kconfig {
         #$1 = filename $2 = things to remove
         echo Marking config $2 as depending on NONFREE in $1
@@ -177,14 +189,15 @@ for f in \
     sound/pci/cs46xx/imgs/cwcdma.asp \
 ; do
   if test ! $f; then
-    echo $f is not present, something is amiss >&2
-    exit 1
+    die $f is not present, something is amiss
   fi
 done
 
 # Identify the tarball.
 sed -i "s,^EXTRAVERSION.*,&-libre$extra," Makefile
 
+hack_fwmk 'NONFREE_FW :='
+
 #######################
 # Removed ATM Drivers #
 #######################
@@ -494,6 +507,24 @@ clean_blob drivers/s390/net/qeth_core_mpc.c
 clean_kconfig drivers/s390/net/Kconfig 'QETH'
 clean_mk CONFIG_QETH drivers/s390/net/Makefile
 
+
+#####################
+# Removed SH boards #
+#####################
+
+# SH_AP325RXA - Renesas AP-325RXA board
+clean_blob arch/sh/boards/renesas/ap325rxa/setup.c
+clean_kconfig arch/sh/Kconfig 'SH_AP325RXA'
+clean_mk CONFIG_SH_AP325RXA arch/sh/boards/renesas/Makefile
+
+# SH_MIGOR - Reneasas Migo-R
+clean_blob arch/sh/boards/renesas/migor/lcd_qvga.c -s 16
+clean_blob arch/sh/boards/renesas/migor/setup.c
+clean_kconfig arch/sh/boards/renesas/Kconfig 'SH_MIGOR'
+clean_kconfig arch/sh/boards/renesas/migor/Kconfig 'SH_MIGOR_QVGA'
+clean_mk CONFIG_MIGOR_QVGA arch/sh/boards/renesas/Makefile
+
+
 ########################
 # Removed SCSI Drivers #
 ########################
@@ -703,5 +734,10 @@ dummy_blob firmware/sb16/ima_adpcm_playback.csp
 # Most of this file is not matched by deblob-check because of WAIT_IDLE.
 # Just remove it.
 clean_file sound/isa/wavefront/yss225.c
+clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT_FIRMWARE_IN_KERNEL'
+
+hack_fwmk 'fw-shipped-y := $(filter-out $(NONFREE_FW), $(fw-shipped-y))'
+hack_fwmk 'fw-shipped-m := $(filter-out $(NONFREE_FW), $(fw-shipped-m))'
+hack_fwmk 'fw-shipped-  := $(filter-out $(NONFREE_FW), $(fw-shipped-) )'
 
 exit 0