X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-2.6.34;h=fa2155c486b81f579347b149c1fefa0926cf85a1;hb=536972110257d65fd73347cee40597b832be1c81;hp=c0e1bcb33c27d967ccde4584338c6d04158cc80d;hpb=94e29a3619f4e5bbfec010f8b38eb56161deee0b;p=releases.git diff --git a/deblob-2.6.34 b/deblob-2.6.34 index c0e1bcb33c27..fa2155c486b8 100755 --- a/deblob-2.6.34 +++ b/deblob-2.6.34 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2008, 2009, 2010 Alexandre Oliva +# Copyright (C) 2008, 2009, 2010, 2011 Alexandre Oliva # Copyright (C) 2008 Jeff Moe # Copyright (C) 2009 Rubén Rodríguez # @@ -37,15 +37,14 @@ # See also: # http://wiki.debian.org/KernelFirmwareLicensing # svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1 -# http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk/firmware/firmware-removed -# http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk/gen-kernel +# http://wiki.gnewsense.org/Builder gen-kernel # Thanks to Brian Brazil @ gnewsense # 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.34 extra=-- +kver=2.6.34 extra=2++ case $1 in --force) @@ -194,17 +193,17 @@ clean_sed () { } reject_firmware () { - #$1 = file + #$1 = file $2 = pre sed pattern filetest $1 || return - clean_sed ' + clean_sed "$2"' s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g ' "$1" 'disabled non-Free firmware-loading machinery' } maybe_reject_firmware () { - #$1 = file + #$1 = file $2 = pre sed pattern filetest $1 || return - clean_sed ' + clean_sed "$2"' s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g ' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' } @@ -278,6 +277,44 @@ grep -q 'EXTRAVERSION.*-libre' Makefile || clean_sed "s,^EXTRAVERSION.*,&-libre$extra, " Makefile 'added -libre to EXTRAVERSION' +grep -q Linux-libre README || +clean_sed ' +1,3 s,Linux kernel release.*kernel\.org.*,Linux-libre , +2,5 s,Linux version 2.6,Linux-libre, +1,20 s,\(operating system \)\?Unix,Unix kernel, +/WHAT IS LINUX/i\ +WHAT IS Linux-libre?\ +\ + Linux-libre is a Free version of the kernel Linux (see below),\ + suitable for use with the GNU Operating System in 100% Free\ + GNU/Linux-libre System Distributions.\ + http://www.gnu.org/distros/\ +\ + It removes non-Free components from Linux, that are disguised as\ + source code or distributed in separate files. It also disables\ + run-time requests for non-Free components, shipped separately or as\ + part of Linux, and documentation pointing to them, so as to avoid\ + (Free-)baiting users into the trap of non-Free Software.\ + http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait\ +\ + Linux-libre started within the gNewSense GNU/Linux distribution.\ + It was later adopted by Jeff Moe, who coined its name, and in 2008\ + it became a project maintained by FSF Latin America.\ +\ + The Linux-libre project takes a minimal-changes approach to cleaning\ + up Linux, making no effort to substitute components that need to be\ + removed with functionally equivalent Free ones. Nevertheless, we\ + encourage and support efforts towards doing so.\ + http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\ +\ + Our mascot is Freedo, a light-blue penguin that has just come out\ + of the the shower. Although we like penguins, GNU is a much\ + greater contribution to the entire system, so its mascot deserves\ + more promotion. See our web page for their images.\ + http://linux-libre.fsfla.org/\ + +' README 'added blurb about Linux-libre' + # Add reject_firmware and maybe_reject_firmware grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || clean_sed '$i\ @@ -448,8 +485,7 @@ clean_mk CONFIG_MOXA_INTELLIO drivers/char/Makefile announce DRM_NOUVEAU - "Nouveau (nVidia) cards" reject_firmware drivers/gpu/drm/nouveau/nouveau_grctx.c clean_blob drivers/gpu/drm/nouveau/nouveau_grctx.c -clean_blob drivers/gpu/drm/nouveau/nv50_graph.c -clean_kconfig drivers/gpu/drk/nouveau/Kconfig 'DRM_NOUVEAU' +clean_kconfig drivers/gpu/drm/nouveau/Kconfig 'DRM_NOUVEAU' clean_mk CONFIG_DRM_NOUVEAU drivers/gpu/drm/nouveau/Makefile announce DRM_MGA - "Matrox g200/g400" @@ -576,6 +612,11 @@ clean_blob drivers/media/dvb/dvb-usb/af9015.c clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9015' clean_mk CONFIG_DVB_USB_AF9015 drivers/media/dvb/dvb-usb/Makefile +announce DVB_USB_AZ6027 - "Azurewave DVB-S/S2 USB2.0 AZ6027 support" +clean_blob drivers/media/dvb/dvb-usb/az6027.c +clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AZ6027' +clean_mk CONFIG_DVB_USB_AZ6027 drivers/media/dvb/dvb-usb/Makefile + announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support" clean_blob drivers/media/dvb/dvb-usb/cxusb.c clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_CXUSB' @@ -781,6 +822,12 @@ clean_blob drivers/media/dvb/frontends/drx397xD_fw.h clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DRX397XD' clean_mk CONFIG_DVB_DRX397XD drivers/media/dvb/frontends/Makefile +announce DVB_NGENE - "Micronas nGene support" +reject_firmware drivers/media/dvb/ngene/ngene-core.c +clean_blob drivers/media/dvb/ngene/ngene-core.c +clean_kconfig drivers/media/dvb/ngene/Kconfig 'DVB_NGENE' +clean_mk CONFIG_DVB_NGENE drivers/media/dvb/ngene/Makefile + announce DVB_PLUTO2 - "Pluto2 cards" reject_firmware drivers/media/dvb/pluto2/pluto2.c @@ -941,10 +988,10 @@ clean_kconfig drivers/net/Kconfig 'ADAPTEC_STARFIRE' clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/Makefile announce BNX2 - "Broadcom NetXtremeII" -drop_fw_file firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw.ihex firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09-5.0.0.j3.fw.ihex firmware/bnx2/bnx2-rv2p-09-5.0.0.j3.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw -drop_fw_file firmware/bnx2/bnx2-mips-06-5.0.0.j3.fw.ihex firmware/bnx2/bnx2-mips-06-5.0.0.j3.fw +drop_fw_file firmware/bnx2/bnx2-mips-09-5.0.0.j9.fw.ihex firmware/bnx2/bnx2-mips-09-5.0.0.j9.fw +drop_fw_file firmware/bnx2/bnx2-rv2p-09-5.0.0.j10.fw.ihex firmware/bnx2/bnx2-rv2p-09-5.0.0.j10.fw +drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j10.fw +drop_fw_file firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw.ihex firmware/bnx2/bnx2-mips-06-5.0.0.j6.fw drop_fw_file firmware/bnx2/bnx2-rv2p-06-5.0.0.j3.fw.ihex firmware/bnx2/bnx2-rv2p-06-5.0.0.j3.fw reject_firmware drivers/net/bnx2.c clean_blob drivers/net/bnx2.c @@ -952,14 +999,14 @@ clean_kconfig drivers/net/Kconfig 'BNX2' clean_mk CONFIG_BNX2 drivers/net/Makefile announce BNX2X - "Broadcom NetXtremeII 10Gb support" -drop_fw_file firmware/bnx2x-e1-5.2.7.0.fw.ihex firmware/bnx2x-e1-5.2.7.0.fw -drop_fw_file firmware/bnx2x-e1h-5.2.7.0.fw.ihex firmware/bnx2x-e1h-5.2.7.0.fw +drop_fw_file firmware/bnx2x-e1-5.2.13.0.fw.ihex firmware/bnx2x-e1-5.2.13.0.fw +drop_fw_file firmware/bnx2x-e1h-5.2.13.0.fw.ihex firmware/bnx2x-e1h-5.2.13.0.fw reject_firmware drivers/net/bnx2x_main.c clean_sed ' /^#include "bnx2x_init\.h"/,/^$/{ /^$/i\ #define bnx2x_init_block(bp, start, end) \\\ - return (printk(KERN_ERR PFX "%s: Missing Free firmware\\n", bp->dev->name),\\\ + return (printk(KERN_ERR "%s: Missing Free firmware\\n", bp->dev->name),\\\ -EINVAL) }' drivers/net/bnx2x_main.c 'report missing Free firmware' clean_blob drivers/net/bnx2x_main.c @@ -987,6 +1034,12 @@ clean_blob drivers/net/cxgb3/cxgb3_main.c clean_kconfig drivers/net/Kconfig 'CHELSIO_T3' clean_mk CONFIG_CHELSIO_T3 drivers/net/cxgb3/Makefile +announce CHELSIO_T4 - "Chelsio Communications T4 Ethernet support" +reject_firmware drivers/net/cxgb4/cxgb4_main.c +clean_blob drivers/net/cxgb4/cxgb4_main.c +clean_kconfig drivers/net/Kconfig 'CHELSIO_T4' +clean_mk CONFIG_CHELSIO_T4 drivers/net/cxgb4/Makefile + announce E100 - "Intel PRO/100+" drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin @@ -1124,24 +1177,28 @@ clean_blob drivers/net/pcmcia/smc91c92_cs.c clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_SMC91C92' clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/pcmcia/Makefile -announce PCCARD - "PCCard (PCMCIA/CardBus) support" -reject_firmware drivers/pcmcia/ds.c -clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' -clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile +# CIS files are not software. +# announce PCCARD - "PCCard (PCMCIA/CardBus) support" +# reject_firmware drivers/pcmcia/ds.c +# clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' +# clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" +# This is not software; it's Free, but GPLed without in-tree sources. drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis -clean_blob drivers/net/pcmcia/3c574_cs.c -clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' -clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile +# clean_blob drivers/net/pcmcia/3c574_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' +# clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" +# This is not software; it's Free, but GPLed without in-tree sources. drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis -clean_blob drivers/net/pcmcia/3c589_cs.c -clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' -clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile +# clean_blob drivers/net/pcmcia/3c589_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' +# clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" +# These are not software; they're Free, but GPLed without in-tree sources. drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis drop_fw_file firmware/cis/PCMLM28.cis.ihex firmware/cis/PCMLM28.cis drop_fw_file firmware/cis/DP83903.cis.ihex firmware/cis/DP83903.cis @@ -1149,14 +1206,15 @@ drop_fw_file firmware/cis/NE2K.cis.ihex firmware/cis/NE2K.cis drop_fw_file firmware/cis/tamarack.cis.ihex firmware/cis/tamarack.cis drop_fw_file firmware/cis/PE-200.cis.ihex firmware/cis/PE-200.cis drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis -clean_blob drivers/net/pcmcia/pcnet_cs.c -clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' -clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile +# clean_blob drivers/net/pcmcia/pcnet_cs.c +# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' +# clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile # tokenring announce 3C359 - "3Com 3C359 Token Link Velocity XL adapter" drop_fw_file firmware/3com/3C359.bin.ihex firmware/3com/3C359.bin +reject_firmware drivers/net/tokenring/3c359.c clean_blob drivers/net/tokenring/3c359.c clean_kconfig drivers/net/tokenring/Kconfig '3C359' clean_mk CONFIG_3C359 drivers/net/tokenring/Makefile @@ -1229,18 +1287,27 @@ clean_blob drivers/net/wireless/orinoco/fw.c clean_kconfig drivers/net/wireless/Kconfig 'HERMES' clean_mk CONFIG_HERMES drivers/net/wireless/orinoco/Makefile -announce WLAGS49_H2 - 'Agere Systems HERMES II Wireless PC Card Model 0110' +announce WLAGS49_H2 - "Agere Systems HERMES II Wireless PC Card Model 0110" # Some pieces of the firmware images are most definitely data, but # others seem to be code. -clean_file drivers/staging/wlags49_h2/ap_h2.c -clean_file drivers/staging/wlags49_h2/sta_h2.c +clean_blob drivers/staging/wlags49_h2/ap_h2.c +clean_blob drivers/staging/wlags49_h2/sta_h2.c +echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/ap_h2.c +echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/sta_h2.c clean_blob drivers/staging/wlags49_h2/wl_profile.c +clean_sed ' + s,\(.*hcf_status = \)dhf_download_fw(.*&fw_image );,//& /*(DEBLOBBED)*/\n\1HCF_ERR_INCOMP_FW;, +' drivers/staging/wlags49_h2/wl_main.c 'reject built-in non-Free firmware' clean_kconfig drivers/staging/wlags49_h2/Kconfig 'WLAGS49_H2' clean_mk CONFIG_WLAGS49_H2 drivers/staging/Makefile -announce WLAGS49_H25 - 'Linksys Systems HERMES II.5 Wireless-G_CompactFlash_Card' -clean_file drivers/staging/wlags49_h2/ap_h25.c -clean_file drivers/staging/wlags49_h2/sta_h25.c +announce WLAGS49_H25 - "Linksys Systems HERMES II.5 Wireless-G_CompactFlash_Card" +# Some pieces of the firmware images are most definitely data, but +# others seem to be code. +clean_blob drivers/staging/wlags49_h2/ap_h25.c +clean_blob drivers/staging/wlags49_h2/sta_h25.c +echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/ap_h25.c +echo 'extern int deblobbed; /*(DEBLOBBED)*/' > drivers/staging/wlags49_h2/sta_h25.c clean_kconfig drivers/staging/wlags49_h25/Kconfig 'WLAGS49_H25' clean_mk CONFIG_WLAGS49_H25 drivers/staging/Makefile @@ -1326,7 +1393,7 @@ clean_blob drivers/net/wireless/libertas_tf/if_usb.c clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_THINFIRM_USB' clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/libertas_tf/Makefile -announce MWL8K - 'Marvell 88W8xxx PCI/PCIe Wireless support' +announce MWL8K - "Marvell 88W8xxx PCI/PCIe Wireless support" reject_firmware drivers/net/wireless/mwl8k.c clean_blob drivers/net/wireless/mwl8k.c clean_kconfig drivers/net/wireless/Kconfig 'MWL8K' @@ -1391,7 +1458,7 @@ clean_blob drivers/net/wireless/p54/p54usb.h clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_USB' clean_mk CONFIG_P54_USB drivers/net/wireless/p54/Makefile -announce PRISM54 - 'Intersil Prism GT/Duette/Indigo PCI/Cardbus' +announce PRISM54 - "Intersil Prism GT/Duette/Indigo PCI/Cardbus" reject_firmware drivers/net/wireless/prism54/islpci_dev.c clean_blob drivers/net/wireless/prism54/islpci_dev.c clean_kconfig drivers/net/wireless/Kconfig 'PRISM54' @@ -1527,7 +1594,7 @@ announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver" reject_firmware drivers/bluetooth/btmrvl_sdio.c clean_blob drivers/bluetooth/btmrvl_sdio.c clean_blob Documentation/btmrvl.txt -clean_kconfig drivers/bluetooth/Kcofnig 'BT_MRVL_SDIO' +clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL_SDIO' clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile # wimax @@ -1537,7 +1604,7 @@ reject_firmware drivers/net/wimax/i2400m/fw.c clean_blob drivers/net/wimax/i2400m/sdio.c clean_blob drivers/net/wimax/i2400m/usb.c clean_blob Documentation/wimax/README.i2400m -clean_kconfig drivers/net/wimax/i2400m/Kconfig CONFIG_WIMAX_I2400M +clean_kconfig drivers/net/wimax/i2400m/Kconfig 'WIMAX_I2400M' clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile ######## @@ -1561,16 +1628,21 @@ clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile ########## announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" +# These are not software; they're Free, but GPLed without in-tree sources. drop_fw_file firmware/cis/MT5634ZLX.cis.ihex firmware/cis/MT5634ZLX.cis drop_fw_file firmware/cis/RS-COM-2P.cis.ihex firmware/cis/RS-COM-2P.cis drop_fw_file firmware/cis/COMpad2.cis.ihex firmware/cis/COMpad2.cis drop_fw_file firmware/cis/COMpad4.cis.ihex firmware/cis/COMpad4.cis +# These are not software; they're Free, but GPLed without textual sources. +# It could be assumed that these binaries *are* sources, since they +# can be trivially converted back to a textual form, without loss, +# but we're better off safe than sorry, so remove them from our tree. drop_fw_file firmware/cis/SW_555_SER.cis.ihex firmware/cis/SW_555_SER.cis drop_fw_file firmware/cis/SW_7xx_SER.cis.ihex firmware/cis/SW_7xx_SER.cis drop_fw_file firmware/cis/SW_8xx_SER.cis.ihex firmware/cis/SW_8xx_SER.cis -clean_blob drivers/serial/serial_cs.c -clean_kconfig drivers/serial/Kconfig 'SERIAL_8250_CS' -clean_mk CONFIG_SERIAL_8250_CS drivers/serial/Makefile +# clean_blob drivers/serial/serial_cs.c +# clean_kconfig drivers/serial/Kconfig 'SERIAL_8250_CS' +# clean_mk CONFIG_SERIAL_8250_CS drivers/serial/Makefile announce SERIAL_ICOM - "IBM Multiport Serial Adapter" reject_firmware drivers/serial/icom.c