X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-2.6.28;h=3ee5135bf0ab849366848a82e60bb9b2e5b0af80;hb=536972110257d65fd73347cee40597b832be1c81;hp=64d60ebe9faa5e158cc576bbb4018e5fb1c4e917;hpb=bd08fd920b58692005390ba80e29a02b20252457;p=releases.git diff --git a/deblob-2.6.28 b/deblob-2.6.28 index 64d60ebe9faa..3ee5135bf0ab 100755 --- a/deblob-2.6.28 +++ b/deblob-2.6.28 @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2008, 2009 Alexandre Oliva +# Copyright (C) 2008, 2009, 2010 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.28 extra=3++ +kver=2.6.28 extra=5++ case $1 in --force) @@ -80,7 +79,9 @@ else fi filetest () { - [ -f $1 ] + if [ ! -f $1 ]; then + die $1 does not exist, something is wrong && return 1 + fi } announce () { @@ -186,18 +187,27 @@ clean_mk () { clean_sed () { #$1 = sed-script $2 = file $3 = comment filetest $2 || return - sed -e "$1" "$2" > "$2".deblob - check_changed $2 && echo $2: ${3-applied sed script $1} + sed -e "$1" "$2" > "$2".deblob || { + die $2: failed: ${3-applied sed script $1} && return 1; } + check_changed $2 && echo $2: ${3-applied sed script $1} } 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 $2 = pre sed pattern + filetest $1 || return + clean_sed "$2"' +s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g +' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' +} + undefine_macro () { #$1 - macro name #$2 - substitution @@ -267,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\ @@ -437,37 +485,29 @@ clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile announce DRM_R128 - "ATI Rage 128" clean_sed ' -/^static int r128_do_init_cce([^;]*$/,/^}$/{ - /^ r128_cce_load_microcode(dev_priv);$/{ - i\ - DRM_ERROR("Missing Free microcode!\\n");\ - dev->dev_private = (void *)dev_priv;\ - r128_do_cleanup_cce(dev);\ - return -EINVAL; - } -}' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode' +/^static void r128_cce_load_microcode(drm_r128_private_t \* dev_priv)/i\ +#define r128_cce_load_microcode(dev_priv) \\\ + do { \\\ + DRM_ERROR("Missing Free microcode!\\n"); \\\ + dev->dev_private = (void *)dev_priv; \\\ + r128_do_cleanup_cce(dev); \\\ + return -EINVAL; \\\ + } while (0) +' drivers/gpu/drm/r128/r128_cce.c 'report missing Free microcode' clean_blob drivers/gpu/drm/r128/r128_cce.c clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_R128' clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile announce DRM_RADEON - "ATI Radeon" clean_sed ' -/^static int radeon_do_init_cp([^;]*$/,/^}$/{ - /^ radeon_cp_load_microcode(dev_priv);$/{ - i\ - DRM_ERROR("Missing Free microcode!\\n");\ - radeon_do_cleanup_cp(dev);\ - return -EINVAL; - } -}' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode on init' -clean_sed ' -/^static int radeon_do_resume_cp([^;]*$/,/^}$/{ - /^ radeon_cp_load_microcode(dev_priv);$/{ - i\ - DRM_ERROR("Missing Free microcode!\\n");\ - return -EINVAL; - } -}' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode on resume' +/^static void radeon_cp_load_microcode(drm_radeon_private_t \* dev_priv)/i\ +#define radeon_cp_load_microcode(dev_priv) \\\ + do { \\\ + DRM_ERROR("Missing Free microcode!\\n"); \\\ + radeon_do_cleanup_cp(dev); \\\ + return -EINVAL; \\\ + } while (0) +' drivers/gpu/drm/radeon/radeon_cp.c 'report missing Free microcode' clean_blob drivers/gpu/drm/radeon/radeon_cp.c clean_blob drivers/gpu/drm/radeon/radeon_microcode.h clean_kconfig -f drivers/gpu/drm/Kconfig 'DRM_RADEON' @@ -911,6 +951,7 @@ clean_sed ' return (printk(KERN_ERR PFX "%s: Missing Free firmware\\n", bp->dev->name),\\\ -EINVAL) }' drivers/net/bnx2x_main.c 'report missing Free firmware' +clean_blob drivers/net/bnx2x_hsi.h clean_kconfig drivers/net/Kconfig 'BNX2X' clean_mk CONFIG_BNX2X drivers/net/Makefile @@ -977,6 +1018,9 @@ clean_blob drivers/staging/slicoss/oasisdownload.h clean_blob drivers/staging/slicoss/oasisdbgdownload.h clean_blob drivers/staging/slicoss/gbrcvucode.h clean_blob drivers/staging/slicoss/oasisrcvucode.h +clean_sed ' +s,^\([ ]*\)\(instruction[ ]=[ ][^;]*\(Oasis\|GB\|Mojave\)\(Rcv\)\?UCode[^:}]*;\),\1printk(KERN_ERR "slicoss: missing Free firmware\\n");\n\1return STATUS_NOT_SUPPORTED;\n\1\2,' drivers/staging/slicoss/slicoss.c 'report missing Free firmware' +clean_blob drivers/staging/slicoss/slicoss.c clean_kconfig drivers/staging/slicoss/Kconfig 'SLICOSS' clean_mk CONFIG_SLICOSS drivers/staging/slicoss/Makefile @@ -989,8 +1033,31 @@ clean_kconfig drivers/net/Kconfig 'SPIDER_NET' clean_mk CONFIG_SPIDER_NET drivers/net/Makefile announce SXG - "Alacritech SLIC Technology Non-Accelerated 10Gbe cards" -clean_blob drivers/staging/sxg/saharadbgdownload.h -clean_blob drivers/staging/sxg/sxgphycode.h +clean_file drivers/staging/sxg/saharadbgdownload.h +clean_file drivers/staging/sxg/sxgphycode.h +clean_sed ' +/^static bool sxg_download_microcode(/,/^}$/{ + /^{$/{ + p + i\ +#if 1\ + printk(KERN_ERR KBUILD_MODNAME ": missing Free firmware\\n");\ + return (FALSE);\ +#else + d + } + /^}/{ + i\ +#endif + } +} +/^static int sxg_phy_init(/,/^}$/{ + /for (p = PhyUcode/i\ + printk(KERN_ERR KBUILD_MODNAME ": missing Free firmware\\n");\ + return (STATUS_FAILURE);\ +#define PhyUcode NULL +}' drivers/staging/sxg/sxg.c 'report missing Free firmware' +clean_blob drivers/staging/sxg/sxg.c clean_kconfig drivers/staging/sxg/Kconfig 'SXG' clean_mk CONFIG_SXG drivers/staging/sxg/Makefile @@ -1091,25 +1158,26 @@ 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" -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_3C574 - "3Com 3c574 PCMCIA support" +# 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" -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_3C589 - "3Com 3c589 PCMCIA support" +# 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" -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 +# announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" +# 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 @@ -1256,7 +1324,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_sed ' @@ -1330,10 +1398,11 @@ clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile # Serial # ########## -announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" -clean_blob drivers/serial/serial_cs.c -clean_kconfig drivers/serial/Kconfig 'SERIAL_8250_CS' -clean_mk CONFIG_SERIAL_8250_CS drivers/serial/Makefile +# CIS files are not software. +# announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" +# 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 @@ -1350,6 +1419,14 @@ clean_mk CONFIG_SERIAL_QE drivers/serial/Makefile announce ME4000 - "Meilhaus ME-4000 I/O board" clean_file drivers/staging/me4000/me4000_firmware.h clean_file drivers/staging/me4000/me4610_firmware.h +clean_sed ' +/^static int me4000_xilinx_download([^;]*$/,/^}$/{ + /firm = .*xilinx_firm.*/i\ + printk(KERN_ERR "me4000: Missing Free firmware\\n");\ + return -EIO; +} +' drivers/staging/me4000/me4000.c 'report missing Free firmware' +clean_blob drivers/staging/me4000/me4000.c clean_kconfig drivers/staging/me4000/Kconfig 'ME4000' clean_mk CONFIG_ME4000 drivers/staging/me4000/Makefile @@ -1842,6 +1919,7 @@ clean_blob Documentation/sound/alsa/ALSA-Configuration.txt clean_blob Documentation/sound/oss/MultiSound clean_blob Documentation/sound/oss/PSS clean_blob Documentation/sound/oss/PSS-updates +clean_blob Documentation/sound/oss/README.OSS clean_file Documentation/dvb/get_dvb_firmware clean_file Documentation/video4linux/extract_xc3028.pl clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name'