X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-2.6.27;h=67e5a1b1e5d2b672a329353324a48f4ca0c4f5ab;hb=910900978262fac62fe4584dc6a5d02223922d89;hp=d503430fda796441be502af364ef2cd724541809;hpb=805828d108e1de2d8204c5b4806f87c361c73db3;p=releases.git diff --git a/deblob-2.6.27 b/deblob-2.6.27 index d503430fda79..67e5a1b1e5d2 100755 --- a/deblob-2.6.27 +++ b/deblob-2.6.27 @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) 2008 Jeff Moe -# Copyright (C) 2008 Alexandre Oliva +# Copyright (C) 2008, 2009 Alexandre Oliva # # 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,12 @@ # 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;; +*) die () { echo "$@" >&2; exit 1; };; +esac check=`echo $0 | sed 's,/[^/]*$,,'`/deblob-check if [ ! -f $check ] ; then @@ -54,55 +59,55 @@ else have_check=: fi -function clean_file { +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 { +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 } -function clean_blob { +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 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 @@ -111,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\ @@ -135,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 @@ -143,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 } @@ -188,34 +181,27 @@ 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 # ####################### # 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 ######################## @@ -734,9 +722,6 @@ 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 - -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-) )' +clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT_FIRMWARE_IN_KERNEL' exit 0