Revamped cassini, cxgb3 and e100.
[releases.git] / deblob-2.6.27
index 31fb4bd77ee0cd0f591ece7e103feb8d9984d9c0..67e5a1b1e5d2b672a329353324a48f4ca0c4f5ab 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.27 extra=
+kver=2.6.27 extra=++
 
 case $1 in
 --force) die () { echo ERROR: "$@": ignored >&2; }; shift;;
@@ -59,7 +59,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
@@ -67,7 +67,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
@@ -76,7 +76,7 @@ function check_changed {
        mv $1.deblob $1
 }
 
-function clean_blob {
+clean_blob () {
        #$1 = filename
        if $have_check; then
            if test ! -f $1; then
@@ -86,24 +86,28 @@ 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 dummy_blob {
+dummy_blob () {
        #$1 = filename
        if test -f $1; then
            echo $1 exists, something is wrong >&2
            exit 1
-       else
-           hack_fwmk "NONFREE_FW += $2"
+       elif test ! -f firmware/Makefile; then
+           echo firmware/Makefile does not exist, something is wrong >&2
+           exit 1
        fi
+
+       sed -i "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \
+         firmware/Makefile
 }
 
-function clean_fw {
+clean_fw () {
        #$1 = firmware text input, $2 = firmware output
        if test ! -f $1; then
                echo $1 does not exist, something is wrong >&2
@@ -112,22 +116,11 @@ function clean_fw {
                echo $2 exists, something is wrong >&2
                exit 1
        fi
-       clean_blob $1
+       clean_blob $1 -s 4
        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 {
+clean_kconfig () {
         #$1 = filename $2 = things to remove
         echo Marking config $2 as depending on NONFREE in $1
        sed "/^config \\($2\\)\$/{p;i\
@@ -136,7 +129,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
@@ -144,8 +137,7 @@ 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
 }
 
@@ -196,26 +188,20 @@ done
 # Identify the tarball.
 sed -i "s,^EXTRAVERSION.*,&-libre$extra," Makefile
 
-hack_fwmk 'NONFREE_FW :='
-
 #######################
 # Removed ATM Drivers #
 #######################
 
 # ATM_AMBASSADOR -  Madge Ambassador (Collage PCI 155 Server)
 clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw
+clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR'
+clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
 
 # ATM_FORE200E_PCA
 # ATM_FORE200E_SBA - SBA-200E
 clean_kconfig drivers/atm/Kconfig 'ATM_FORE.*'
 clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile
 
-clean_file drivers/atm/pca200e.data
-clean_file drivers/atm/pca200e_ecd.data
-clean_file drivers/atm/sba200e_ecd.data
-clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR'
-clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile
-
 
 ########################
 # Removed char Drivers #
@@ -230,17 +216,17 @@ clean_mk CONFIG_COMPUTONE drivers/char/Makefile
 # gpu drm
 
 # DRM_MGA - Matrox g200/g400
-clean_blob drivers/gpu/drm/mga_ucode.h
+clean_blob drivers/gpu/drm/mga/mga_ucode.h
 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_MGA'
 clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile
 
 # DRM_R128 - ATI Rage 128
-clean_blob drivers/gpu/drm/r128_cce.c
+clean_blob drivers/gpu/drm/r128/r128_cce.c
 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_R128'
 clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile
 
 # DRM_RADEON - ATI Radeon
-clean_blob drivers/gpu/drm/radeon_microcode.h
+clean_blob drivers/gpu/drm/radeon/radeon_microcode.h
 clean_kconfig drivers/gpu/drm/Kconfig 'DRM_RADEON'
 clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile
 
@@ -357,8 +343,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
@@ -393,12 +383,14 @@ clean_kconfig drivers/net/Kconfig 'MYRI_SBUS'
 clean_mk CONFIG_MYRI_SBUS drivers/net/Makefile
 
 # TEHUTI - Tehuti Networks 10G Ethernet
-clean_blob drivers/net/tehuti_fw.h
+clean_blob drivers/net/tehuti_fw.h -s 4
 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 @@
@@ -493,10 +485,6 @@ clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile
 
 # wireless
 
-clean_blob drivers/net/wireless/rtl8187_dev.c
-# clean_kconfig drivers/net/wireless/Kconfig 'RTL8187'
-# clean_mk CONFIG_RTL8187 drivers/net/wireless/Makefile
-
 
 ########################
 # Removed s390 Drivers #
@@ -513,16 +501,16 @@ clean_mk CONFIG_QETH drivers/s390/net/Makefile
 #####################
 
 # 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
+clean_blob arch/sh/boards/board-ap325rxa.c
+clean_kconfig arch/sh/boards/Kconfig 'SH_AP325RXA'
+clean_mk CONFIG_SH_AP325RXA arch/sh/boards/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
+clean_blob arch/sh/boards/mach-migor/lcd_qvga.c -s 16
+clean_blob arch/sh/boards/mach-migor/setup.c
+clean_kconfig arch/sh/boards/Kconfig 'SH_MIGOR'
+clean_kconfig arch/sh/boards/mach-migor/Kconfig 'SH_MIGOR_QVGA'
+clean_mk CONFIG_SH_MIGOR_QVGA arch/sh/boards/mach-migor/Makefile
 
 
 ########################
@@ -736,8 +724,4 @@ dummy_blob firmware/sb16/ima_adpcm_playback.csp
 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