X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-2.6.32;h=003cd9fbc91ec57d096e45a8171541b38990f2e5;hb=ba17d91f7425a8a3e841fb4283533954886efefb;hp=8d0f6f16d52515af92d0440c7b2db48d38b9c0b7;hpb=09cc7505f94c7ef5bfa705366ee6635864041ed8;p=releases.git diff --git a/deblob-2.6.32 b/deblob-2.6.32 index 8d0f6f16d525..003cd9fbc91e 100755 --- a/deblob-2.6.32 +++ b/deblob-2.6.32 @@ -1,9 +1,13 @@ #!/bin/sh -# Copyright (C) 2008, 2009, 2010 Alexandre Oliva +# Copyright (C) 2008-2013 Alexandre Oliva # Copyright (C) 2008 Jeff Moe # Copyright (C) 2009 Rubén Rodríguez # +# This program is part of GNU Linux-libre, a GNU project that +# publishes scripts to clean up Linux so as to make it suitable for +# use in the GNU Project and in Free System Distributions. +# # 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 # the Free Software Foundation; either version 2 of the License, or @@ -37,8 +41,7 @@ # 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 @@ -77,6 +80,7 @@ if [ ! -f $check ] ; then have_check=false else have_check=: + [ -x $check ] || check="/bin/sh $check" fi filetest () { @@ -113,7 +117,13 @@ clean_blob () { name=$1 set fnord "$@" -d shift 2 - $check "$@" -i linux-$kver $name > $name.deblob + if $check "$@" -i linux-$kver $name > $name.deblob; then + if [ ! -s $name.deblob ]; then + die got an empty file after removing blobs from $name + fi + else + die failed removing blobs from $name + fi check_changed $name && echo $name: removed blobs else clean_file $1 @@ -194,17 +204,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' } @@ -245,16 +255,14 @@ for f in \ drivers/net/wan/wanxlfw.S \ drivers/net/wireless/atmel.c \ drivers/net/wireless/atmel.c \ - drivers/scsi/53c700_d.h_shipped \ - drivers/scsi/53c700.scr \ drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ drivers/scsi/aic7xxx/aic79xx.seq \ drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ drivers/scsi/aic7xxx/aic7xxx.seq \ drivers/scsi/aic7xxx_old/aic7xxx_seq.c \ drivers/scsi/aic7xxx_old/aic7xxx.seq \ - drivers/scsi/53c7xx_d.h_shipped \ - drivers/scsi/53c7xx.scr \ + drivers/scsi/53c700_d.h_shipped \ + drivers/scsi/53c700.scr \ drivers/scsi/sym53c8xx_2/sym_fw1.h \ drivers/scsi/sym53c8xx_2/sym_fw1.h \ drivers/scsi/sym53c8xx_2/sym_fw2.h \ @@ -268,15 +276,52 @@ for f in \ sound/pci/cs46xx/imgs/cwcdma.h \ sound/pci/cs46xx/imgs/cwcdma.asp \ ; do - if test ! $f; then - die $f is not present, something is amiss && return - fi + filetest $f done # Identify the tarball. -grep -q 'EXTRAVERSION.*-libre' Makefile || -clean_sed "s,^EXTRAVERSION.*,&-libre$extra, -" Makefile 'added -libre to EXTRAVERSION' +grep -q 'EXTRAVERSION.*-gnu' Makefile || +clean_sed "s,^EXTRAVERSION.*,&-gnu$extra, +" Makefile 'added -gnu to EXTRAVERSION' + +grep -q Linux-libre README || +clean_sed ' +1,3 s,Linux kernel release.*kernel\.org.*,GNU Linux-libre , +2,5 s,Linux version [0-9.]*,GNU Linux-libre, +1,20 s,\(operating system \)\?Unix,Unix kernel, +/WHAT IS LINUX/i\ +WHAT IS GNU Linux-libre?\ +\ + GNU 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. In 2012, it\ + became part of the GNU Project.\ +\ + The GNU 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 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 GNU Linux-libre' # Add reject_firmware and maybe_reject_firmware grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || @@ -384,6 +429,9 @@ clean_sed ' s,\([" ]\)request_firmware(,\1reject_firmware(, ' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery' clean_blob arch/arm/mach-netx/xc.c +if grep MODULE_FIRMWARE drivers/net/netx-eth.c > /dev/null; then + clean_blob drivers/net/netx-eth.c +fi clean_kconfig arch/arm/Kconfig 'ARCH_NETX' clean_mk CONFIG_ARCH_NETX arch/arm/Makefile @@ -537,15 +585,6 @@ reject_firmware drivers/media/dvb/dvb-usb/dvb-usb-firmware.c clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB' clean_mk CONFIG_DVB_USB drivers/media/dvb/dvb-usb/Makefile -announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1" -clean_file drivers/media/dvb/dvb-usb/af9005-script.h -clean_sed ' -s,^ deb_info("load init script\\n");$, {\n err("Missing Free init script\\n");\n return scriptlen = ret = -EINVAL;\n ,; -' drivers/media/dvb/dvb-usb/af9005-fe.c 'report missing Free init script' -clean_blob drivers/media/dvb/dvb-usb/af9005-fe.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005' -clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile - announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" reject_firmware drivers/media/dvb/b2c2/flexcop-fe-tuner.c @@ -558,6 +597,11 @@ clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_A800' clean_mk CONFIG_DVB_USB_A800 drivers/media/dvb/dvb-usb/Makefile announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support" +clean_file drivers/media/dvb/dvb-usb/af9005-script.h +clean_sed ' +s,^ deb_info("load init script\\n");$, {\n err("Missing Free init script\\n");\n return scriptlen = ret = -EINVAL;\n ,; +' drivers/media/dvb/dvb-usb/af9005-fe.c 'report missing Free init script' +clean_blob drivers/media/dvb/dvb-usb/af9005-fe.c clean_blob drivers/media/dvb/dvb-usb/af9005.c clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005' clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile @@ -785,6 +829,7 @@ clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/dvb/ttusb-budget/Makefile announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices" reject_firmware drivers/media/dvb/ttusb-dec/ttusb_dec.c clean_blob drivers/media/dvb/ttusb-dec/ttusb_dec.c +clean_blob Documentation/dvb/ttusb-dec.txt clean_kconfig drivers/media/dvb/ttusb-dec/Kconfig 'DVB_TTUSB_DEC' clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/dvb/ttusb-dec/Makefile @@ -792,6 +837,8 @@ clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/dvb/ttusb-dec/Makefile announce VIDEO_BT848 - "BT848 Video For Linux" reject_firmware drivers/media/video/bt8xx/bttv-cards.c +clean_blob drivers/media/video/bt8xx/bttv-cards.c +clean_blob Documentation/video4linux/bttv/README clean_kconfig drivers/media/video/bt8xx/Kconfig 'VIDEO_BT848' clean_mk CONFIG_VIDEO_BT848 drivers/media/video/bt8xx/Makefile @@ -989,7 +1036,12 @@ announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC" reject_firmware drivers/net/netxen/netxen_nic.h reject_firmware drivers/net/netxen/netxen_nic_main.c reject_firmware drivers/net/netxen/netxen_nic_init.c -clean_blob drivers/net/netxen/netxen_nic_init.c +if grep ROMIMAGE_NAME drivers/net/netxen/netxen_nic_init.c > /dev/null; then + clean_blob drivers/net/netxen/netxen_nic.h + clean_blob drivers/net/netxen/netxen_nic_main.c +else + clean_blob drivers/net/netxen/netxen_nic_init.c +fi clean_kconfig drivers/net/Kconfig 'NETXEN_NIC' clean_mk CONFIG_NETXEN_NIC drivers/net/Makefile @@ -1014,6 +1066,9 @@ announce SPIDER_NET - "Spider Gigabit Ethernet driver" reject_firmware drivers/net/spider_net.c clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \ drivers/net/spider_net.c 'removed non-Free firmware notes' +if grep MODULE_FIRMWARE drivers/net/spider_net.c > /dev/null; then + clean_blob drivers/net/spider_net.c +fi clean_blob drivers/net/spider_net.h clean_kconfig drivers/net/Kconfig 'SPIDER_NET' clean_mk CONFIG_SPIDER_NET drivers/net/Makefile @@ -1085,38 +1140,43 @@ 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 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 -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 @@ -1263,7 +1323,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' @@ -1328,7 +1388,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' @@ -1471,7 +1531,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 @@ -1481,7 +1541,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 ######## @@ -1505,16 +1565,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 @@ -2025,7 +2090,6 @@ clean_mk CONFIG_DX_SEP drivers/staging/sep/Makefile announce Documentation - "non-Free firmware scripts and documentation" clean_blob Documentation/dvb/avermedia.txt clean_blob Documentation/dvb/opera-firmware.txt -clean_blob Documentation/dvb/ttusb-dec.txt clean_blob Documentation/sound/alsa/ALSA-Configuration.txt clean_blob Documentation/sound/oss/MultiSound clean_blob Documentation/sound/oss/PSS