deblob-3.2-gnu scripts/v3.2-gnu
authorJason Self <j@jxself.org>
Tue, 5 Feb 2019 02:20:57 +0000 (18:20 -0800)
committerJason Self <j@jxself.org>
Tue, 5 Feb 2019 02:20:57 +0000 (18:20 -0800)
deblob-3.2
deblob-check
deblob-main

index 534c2742a533f9c55dce4f006ecac0d2ba59294e..23fa55dedd4d6cfe8facfd6b2e0c1f60eb7e9333 100755 (executable)
@@ -1,10 +1,13 @@
 #!/bin/sh
 
-#    Copyright (C) 2008, 2009, 2010, 2011, 2012
-#      Alexandre Oliva <lxoliva@fsfla.org>
+#    Copyright (C) 2008-2012 Alexandre Oliva <lxoliva@fsfla.org>
 #    Copyright (C) 2008 Jeff Moe
 #    Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org>
 #
+#    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
@@ -284,19 +287,19 @@ for f in \
 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.*,Linux-libre <http://linux-libre.fsfla.org>,
-2,5 s,Linux version [0-9.]*,Linux-libre,
+1,3 s,Linux kernel release.*kernel\.org.*,GNU Linux-libre <http://linux-libre.fsfla.org>,
+2,5 s,Linux version [0-9.]*,GNU Linux-libre,
 1,20 s,\(operating system \)\?Unix,Unix kernel,
 /WHAT IS LINUX/i\
-WHAT IS Linux-libre?\
+WHAT IS GNU Linux-libre?\
 \
-  Linux-libre is a Free version of the kernel Linux (see below),\
+  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/\
@@ -310,21 +313,22 @@ WHAT IS Linux-libre?\
 \
   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.\
+  it became a project maintained by FSF Latin America.  In 2012, it\
+  became part of the GNU Project.\
 \
-  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.\
+  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 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.\
+  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 Linux-libre'
+' README 'added blurb about GNU Linux-libre'
 
 # Add reject_firmware and maybe_reject_firmware
 grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h ||
index f6b8f6b3fa69befad4005da4c100659022a118fe..feea8bc98decf532250436189040c6620255570e 100755 (executable)
@@ -1,13 +1,17 @@
 #! /bin/sh
 
-# deblob-check version 2012-01-05 + 2012-02-03's r8344
+# deblob-check version 2012-03-24
 # Inspired in gNewSense's find-firmware script.
 # Written by Alexandre Oliva <lxoliva@fsfla.org>
 
 # Check http://www.fsfla.org/svn/fsfla/software/linux-libre for newer
 # versions.
 
-# Copyright 2008, 2009, 2010, 2011, 2012 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright 2008-2012 Alexandre Oliva <lxoliva@fsfla.org>
+#
+# 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
 
 # Anything else is assumed to be a source file.
 
-# *.gz | *.bz2: Decompress automatically.
+# *.gz | *.bz2 | *.xz | *.lz: Decompress automatically.
 
 
 # The exit status is only significant for the --list options: it will
@@ -1122,8 +1126,8 @@ set_except () {
     defsnc 'static[ ]const[ ]u16[ ]wm8900_reg_defaults\[WM8900_MAXREG\][ ]=' sound/soc/wm8900.c
     defsnc '[}][ ]\(clk_sys_ratios\|bclk_divs\)\[\][ ]=' 'sound/soc/wm890[34]\.c'
     defsnc 'static[ ]u8[ ]af9015_ir_table_\(leadtek\|twinhan\|a_link\|msi\|mygictv\|kworld\)\[\][ ]=' drivers/media/dvb/dvb-usb/af9015.h
-    defsnc 'static[ ]struct[ ]snr_table[ ]\(qpsk\|qam\(16\|64\)\)_snr_table\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
-    defsnc 'static[ ]struct[ ]regdesc[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(snr_table\|af9013_snr\)[ ]\(qpsk\|qam\(16\|64\)\)_snr_\(table\|lut\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]\(regdesc\|af9013_reg_bit\)[ ]\(ofsm_init\|tuner_init_\(env77h11d5\|mt2060\(_2\)\?\|mxl500\(3d\|5\)\|qt1010\|mc44s803\|unknown\|tda18271\)\)\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
     defsnc 'static[ ]u8[ ]stv0288_earda_inittab\[\][ ]=' drivers/media/dvb/frontends/eds1547.h
     defsnc 'static[ ]u8[ ]serit_sp1511lhb_inittab\[\][ ]=' drivers/media/dvb/frontends/si21xx.c
     defsnc 'static[ ]u8[ ]stv0288_inittab\[\][ ]=' drivers/media/dvb/frontends/stv0288.c
@@ -1460,7 +1464,7 @@ set_except () {
     accept '[  ][ ][*][ ]request_firmware[(][)][ ]is[ ]synchronous' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\)\.c'
     blobname 'iwlwifi-4965-' drivers/net/iwlwifi/iwl-4965.c
     blobname 'iwlwifi-5\(00\|15\)0-' drivers/net/iwlwifi/iwl-5000.c
-    blobname '%s%[dus]%s["],[\n        ]*name_pre,[ ]\(\(priv->fw_\)\?index\|tag\),[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c'
+    blobname '%s%[dus]%s["],[\n        ]*name_pre,[ ]\(\(priv->fw_\)\?index\|tag\|idx\),[ ]["]\.ucode' 'drivers/net/iwlwifi/iwl\(3945-base\|-agn\).c'
 
     blobname 'libertas_cs\(_helper\)\?\.fw' drivers/net/wireless/libertas/if_cs.c
     blobname 'sd\(8385\|868[68]\)\(_helper\)\?\.bin\(["],[\n][ ]*\.firmware[   ]=[ ]["]sd\(8385\|868[68]\)\.bin\)\?' 'drivers/\(net/wireless/libertas/if_sdio\.c\|bluetooth/btmrvl_sdio\.c\)'
@@ -1673,7 +1677,7 @@ set_except () {
     blobname 'drx397xD\.\(A2\|B1\)\.fw' drivers/media/dvb/frontends/drx397xD_fw.h
 
     accept '#define[ ]DIB0700_DEFAULT_DEVICE_PROPERTIES[ ]\\[\n]\([    ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^\n",]*,[ ]\\[\n]\)*[     ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/dib0700_devices.c
-    blobname 'dvb-usb-dib0700-1\.[12]0\.fw' drivers/media/dvb/dvb-usb/dib0700_devices.c
+    blobname 'dvb-usb-dib0700-1\.[12]0\.fw' 'drivers/media/dvb/dvb-usb/dib0700_\(devices\|core\)\.c'
 
     accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]nova_t_properties[ ]=[ ][{][\n]\([   ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*[   ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/nova-t-usb2.c
     blobname 'dvb-usb-nova-t-usb2-02\.fw' drivers/media/dvb/dvb-usb/nova-t-usb2.c
@@ -1853,7 +1857,7 @@ set_except () {
     initnc 'static[ ]const[ ]a3d_Hrtf_t[ ]A3dHrirDImpulse[ ]=[ ][{]'
     initnc 'static[ ]const[ ]a3d_ItdDline_t[ ]A3dItdDlineZeros[ ]=[ ][{]'
     initnc 'static[ ]auxxEqCoeffSet_t[ ]asEqCoefsNormal[ ]=[ ][{]'
-    initnc 'static[ ]xtalk_dline_t[ ]const[ ]alXtalkDlineTest[ ]=[ ][{]'
+    defsnc 'static[ ]xtalk_dline_t[ ]const[ ]alXtalkDline\(Test\|Zeros\)[ ]=' sound/pci/au88x0/au88x0_xtalk.c
     initnc 'static[ ]struct[ ]nand_ecclayout[ ]rtc_from4_nand_oobinfo[ ]=[ ][{]'
     initnc 'static[ ]const[ ]s16[ ]tempLUT\[\][ ]='
     initnc 'static[ ]const[ ]u8[ ]viaLUT\[\][ ]='
@@ -2059,7 +2063,7 @@ set_except () {
     defsnc 'static[ ]short[ ]beep_wform\[256\][ ]=' 'sound/ppc/beep.c|sound/oss/dmasound/dmasound_awacs.c|arch/ppc/8xx_io/cs4218_tdm.c'
     initnc 'static[ ]short[ ]decay_time_tbl\[128\][ ]='
     initnc 'static[ ]short[ ]isdn_audio_[ua]law_to_s16\[\][ ]='
-    defsnc 'static[ ]struct[ ]iwl\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IWL_MAX_GAIN_ENTRIES\][ ]=' drivers/net/wireless/iwlegacy/iwl-3945.c
+    defsnc 'static[ ]struct[ ]iw\?l\(3945\)\?_tx_power[ ]power_gain_table\[2\]\[IW\?L_MAX_GAIN_ENTRIES\][ ]=' drivers/net/wireless/iwlegacy/iwl-3945.c
     initnc 'static[ ]struct[ ]ovcamchip_regvals[ ]regvals_init_\(76be\|7[16]20\|7x10\)\[\][ ]='
     initnc 'static[ ]struct[ ]regval_list[ ]ov7670_default_regs\[\][ ]='
     initnc 'static[ ]struct[ ]s_c2[ ]SetRate48000\[\][ ]='
@@ -2119,7 +2123,7 @@ set_except () {
     initnc 'static[ ]unsigned[ ]char[ ]atkbd_set3_keycode\[512\][ ]='
     initnc 'static[ ]unsigned[ ]char[ ]atkbd_unxlate_table\[128\][ ]='
     initnc 'static[ ]unsigned[ ]char[ ]banner_table\[\][ ]=' arch/sh/boards/superh/microdev/led.c
-    defsnc 'static[ ]unsigned[ ]char[ ]bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h
+    defsnc '\(static[ ]\)\?unsigned[ ]char[ ]\(__attribute__[ ][(][(]aligned[(]16[)][)][)][ ]\)\?bootlogo_bits\[\][ ]=' arch/m68k/platform/68328/bootlogo.h
     initnc 'static[ ]unsigned[ ]char[ ]bus2core_8260\[\][ ]='
     initnc 'static[ ]unsigned[ ]char[ ]bus2core_8280\[\][ ]='
     initnc 'static[ ]unsigned[ ]char[ ]caseorder\[256\][ ]='
@@ -2365,7 +2369,7 @@ set_except () {
     defsnc 'int[ ]wm831x_isinkv_values\[WM831X_ISINK_MAX_ISEL[ ][+][ ][1]\][ ]=' drivers/mfd/wm831x-core.c
     defsnc 'static[ ]struct[ ]nand_ecclayout[ ]hwecc4_2048[ ]__initconst[ ]=' drivers/mtd/nand/davinci_nand.c
     defsnc 'static[ ]const[ ]u16[ ]wm8974_reg\[WM8974_CACHEREGNUM\][ ]=' sound/soc/codecs/wm8974.c
-    defsnc 'static[ ]const[ ]u\(8\|16\)[ ]ak4642_reg\[AK4642_CACHEREGNUM\][ ]=' sound/soc/codecs/ak4642.c
+    defsnc 'static[ ]const[ ]u\(8\|16\)[ ]ak464[28]_reg\[\(AK4642_CACHEREGNUM\)\?\][ ]=' sound/soc/codecs/ak4642.c
     accept 'int[ ]snd_hda_load_patch[(][^\n;{]*[)][ \n][{][^\n]*\([\n]\+[^\n}][^\n]*\)*hda_codec[^\n]*\([\n]\+[^\n}][^\n]*\)*request_firmware[^\n]*\([\n]\+[^\n}][^\n]*\)*[\n]\+[}]' sound/pci/hda/hda_hwdep.c
     accept '[ ][ ][ ]Bit[ 0-7]*' Documentation/input/sentelic.txt
     accept 'The[ ]hd-audio[ ]driver[ ]reads[ ]the[ ]file[ ]via[ ]request_firmware[(][)]\.' Documentation/sound/alsa/HD-Audio.txt
@@ -2572,7 +2576,7 @@ set_except () {
 
     # New in 2.6.37, up to -rc5.
     defsnc 'static[ ]u32[ ]epll_div\[\]\[6\][ ]=' arch/arm/mach-s5pv210/clock.c
-    defsnc 'static[ ]struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]titan_gpio_cfg[ ]titan_gpio_table\[\][ ]=' arch/mips/ar7/gpio.c
     blobname 'sdma-%s-to%d\.bin' drivers/dma/imx-sdma.c
     defsnc '[  ]static[ ]u8[ ]def_regs\[\][ ]=' drivers/media/common/tuners/tda18218.c
     accept 'static[ ]struct[ ]dvb_usb_device_properties[ ]lme2510c\?_properties[ ]=[ ][{][\n]\([       ]\.\(caps\|usb_ctrl\)[ ]*=[ ][^",]*,[\n]*\)*\([ ]\.download_firmware[ ]=[ ]lme2510_download_firmware,[\n]\)\?[  ]\.firmware[ ]*=[ ]' drivers/media/dvb/dvb-usb/lmedm04.c
@@ -2621,7 +2625,7 @@ set_except () {
     defsnc '\(static[ ]const[ ]\)\?u16[ \n]*LCNPHY_txdigfiltcoeffs_\(cck\|ofdm\)\[LCNPHY_NUM_TX_DIG_FILTERS_\(CCK\|OFDM\)\][\n         ]*\[LCNPHY_NUM_DIG_FILT_COEFFS[ ][+][ ]1\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
     defsnc '\(static[ ]const[ ]\)\?nphy_ipa_txrxgain_t[ ]nphy_ipa_rxcal_gaintbl_2GHz\(_rev7\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
     defsnc 'static[ ]\(const[ ]\)\?chan_info_nphy_\(radio\)\?205[5x7]\(_rev5\)\?_t[ ]chan_info_nphy\(rev[3-9]\(n6\)\?\)\?_205[5-7]\(_A1\|v\([5-8]\|11\)\|_rev[4-8]\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
-    defsnc '\(static[ ]\)radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
+    defsnc '\(static[ ]\)\?radio_\(20xx_\)\?regs_t[ ]regs_\(SYN_\|[RT]X_\)\?205[5-7]\(_A1\|_rev\([4-8]\|11\)\(v1\)\?\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
     defsnc 'static[ ]const[ ]u16[ ]tbl_iqcal_gainparams_nphy\[2\]\[NPHY_IQCAL_NUMGAINS\]\[8\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
     defsnc 'static[ ]\(const[ ]\)\?u32[ ]nphy_tpc_\(5GHz_\)\?txgain\(_[ei]pa\)\?\(\(_[25]g\)\?\(_\(2057\)\?\(rev\([3-7]\|4n6\)\?\)\?\)\?\|_HiPwrEPA\)\?\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
     defsnc 'static[ ]const[ ]u16[ ]nphy_tpc_loscale\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_n\.c\|brcmsmac/phy/phy_n\.c\)'
@@ -2774,7 +2778,7 @@ set_except () {
     defsnc 'u32[ ]\(RTL\|Rtl\)8192CU\(PHY_REG\|_\?\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\[RTL8192CU\(PHY_REG\|\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)_\?\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\(LENGTH\|Length\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192cu/table.c
     blobname 'rtl_nic[/]rtl8105e-1\.fw' drivers/net/r8169.c
     defsnc 'static[ ]const[ ]\(A_INT32\|s32\)[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c
-    defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\[256\][ ]=' drivers/staging/easycap/easycap_low.c
+    defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[\(256\)\?\][ ]=' drivers/staging/easycap/easycap_low.c
     defsnc 'static[ ]const[ ]ccktxbbgain_struct[ ]rtl8192_cck_txbbgain_\(ch14_\)\?table\[\][ ]=' drivers/staging/rtl8192e/r8192E_dm.c
     defsnc '[  ]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c
     blobname 'ene-ub6250[/]sd_\(init[12]\|rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c
@@ -2852,7 +2856,7 @@ set_except () {
     accept '[  ][       ]*\(if[ ][(]\|[ ][ ][ ][ ]\)nvc0_graph_create_fw[(]dev[,][ ]["]fuc4\(09\|1a\)[cd]["][,][ ][&]priv->fuc4\(09\|1a\)[cd][)]' drivers/gpu/drm/nouveau/nvc0_graph.c
     blobname 'nouveau[/]\(nv%02x_\)\?%s' drivers/gpu/drm/nouveau/nvc0_graph.c
     blobname 'radeon[/]SUMO2\?_\(pfp\|me\)\.bin' drivers/gpu/drm/radeon/r600.c
-    blobname 'iwlwifi-\(105\|20[03]0\)-' drivers/net/iwlwifi/iwl-2000.c
+    blobname 'iwlwifi-\(105\|20[03]\?0\)-' drivers/net/iwlwifi/iwl-2000.c
     blobname '__stringify[(]api[)][ ]["]\.ucode["]' 'drivers/net/iwlwifi/iwl-\(3945.h\|\(4965\|[1256]000\)\.c\)'
     # New in 3.1
     blobname 'sdma-imx25\.bin' arch/arm/mach-imx/mm-imx25.c
@@ -2873,7 +2877,7 @@ set_except () {
     defsnc 'static[ ]struct[ ]SMap2\?[ ]*m_\(GainTaper\|RF_Cal_DC_Over_DT\|CID_Target\)_Map\[\][ ]=' drivers/media/dvb/frontends/tda18271c2dd_maps.h
     defsnc '[  ][}][ ]regs\[\][ ]=' drivers/media/video/em28xx/em28xx-dvb.c
     defsnc 'static[ ]struct[ ]regval_list[ ]ov5642_default_regs_\(init\|finalise\)\[\][ ]=' drivers/media/video/ov5642.c
-    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
+    defsnc 'static[ ]const[ ]u8[ ]hdmiphy_conf\(27\(_027\)\?\|74\(_175\|_25\)\|148_5\)\[32\][ ]=' drivers/media/video/s5p-tv/hdmiphy_drv.c
     defsnc 'static[ ]const[ ]u8[ ]filter_y_vert_tap4\[\][ ]=' drivers/media/video/s5p-tv/mixer_reg.c
     defsnc '[  ]static[ ]const[ ]char[ ][*][ ]const[ ]vui_sar_idc\[\][ ]=' drivers/media/video/v4l2-ctrls.c
     defsnc 'static[ ]const[ ]u32[ ]ar9331_\(1p[12]_\(baseband\|mac\)_postamble\|modes_\(low\(est\)\?\|high\)_\(ob_db\|power\)_tx_gain_1p[12]\)\[\]\[5\][ ]=' drivers/net/wireless/ath/ath9k/ar9330_1p1_initvals.h
@@ -2883,7 +2887,7 @@ set_except () {
     defsnc '[  ]u8[ ]channel_\(5g\|all\|info\)\[\(45\|59\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/phy.c
     blobname 'rtlwifi[/]rtl8192defw[.]bin' drivers/net/wireless/rtlwifi/rtl8192de/sw.c
     defsnc 'u32[ ]rtl8192de_\(phy_reg\|radio[ab]\|mac\|agctab\)_\(\(2t\(_int_pa\)\?\|[25]g\)\?array\|array_pg\)\[\(PHY_REG\|RADIO[AB]\|MAC\|AGCTAB\)_\(\(2T\(_INT_PA\)\?_\|[25]G_\)\?ARRAY\|ARRAY_PG_\)LENGTH\][ ]=' drivers/net/wireless/rtlwifi/rtl8192de/table.c
-    defsnc 'static[ ]\(const[ ]\)struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c'
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c'
     defsnc 'struct[ ]lcnphy_rx_iqcomp[ ]lcnphy_rx_iqcomp_table_rev0\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
     defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
     defsnc '\(static[ ]const[ ]\)\?struct[ ]lcnphy_radio_regs[ ]lcnphy_radio_regs_2064\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
@@ -2923,7 +2927,7 @@ set_except () {
     defsnc 'static[ ]struct[ ]sh_keysc_info[ ]keysc_platdata[ ]=[ ]' arch/arm/mach-shmobile/board-kota2.c
     defsnc 'static[ ]const[ ]u32[ ]rir_offset\[MAX_RIR_RANGES\]\[MAX_RIR_WAY\][ ]=' drivers/edac/sb_edac.c
     defsnc '[  ]struct[ ]tda10071_reg_val_mask[ ]tab2\[\][ ]=' drivers/media/dvb/frontends/tda10071.c
-    defsnc 'static[ ]const[ ]u8[ ]\(ov965x\|ov971x\)_init\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
+    defsnc 'static[ ]const[ ]u8[ ]\(ov965x\|ov971x\|ov562x\)_init\(_2\)\?\[\]\[2\][ ]=' drivers/media/video/gspca/ov534_9.c
     defsnc 'static[ ]const[ ]u8[ ]DQT\[17\]\[130\][ ]=' drivers/media/video/gspca/topro.c
     defsnc 'static[ ]const[ ]struct[ ]cmd[ ]tp6810_late_start\[\][ ]=' drivers/media/video/gspca/topro.c
     defsnc '[  ]static[ ]const[ ]struct[ ]cmd[ ]sensor_init\[\][ ]=' drivers/media/video/gspca/topro.c
@@ -2968,6 +2972,36 @@ set_except () {
 
     blobna '[/][*][\n][ ][*][ ]AMD[ ]microcode[ ]firmware[ ]naming[ ]convention[^*]*\([*]\+[^/*][^*]*\)*[*]*amd-ucode[/][^*]*\([*]\+[^/*][^*]*\)*[*]\+[/]' arch/x86/kernel/microcode_amd.c
     blobname 'amd-ucode[/]microcode_amd_fam\(%\.2x\|[0-9a-f]*\)h\.bin' arch/x86/kernel/microcode_amd.c
+
+    # New in 3.3.
+    defsnc 'static[ ]const[ ]struct[ ]reg_mod_vals[ ]reg_mod_vals_tab\[\][ ]=' drivers/media/dvb/frontends/hd29l2_priv.h
+    defsnc 'static[ ]struct[ ]adctable[ ]tab[1-8]\[\][ ]=' drivers/media/dvb/frontends/it913x-fe-priv.h
+    defsnc 'static[ ]const[ ]struct[ ]af9013_coeff[ ]coeff_lut\[\][ ]=' drivers/media/dvb/frontends/af9013_priv.h
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]qtbl_\(lu\|chro\)minance\[4\]\[64\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c
+    defsnc 'static[ ]const[ ]unsigned[ ]char[ ]hactblg0\[162\][ ]=' drivers/media/video/s5p-jpeg/jpeg-core.c
+    defsnc 'static[ ]const[ ]u16[ ]b43_ntab_antswctl2g_r3\[4\]\[32\][ ]=' drivers/net/wireless/b43/tables_nphy.c
+    defsnc 'struct[ ]nphy_gain_ctl_workaround_entry[ ]nphy_gain_ctl_\(workaround\[2\]\[4\]\|wa_phy6_radio11_ghz2\)[ ]=' drivers/net/wireless/b43/tables_nphy.c
+    defsnc 'static[ ]const[ ]u16[ ]da9052_chg_current_lim\[2\]\[DA9052_CHG_LIM_COLS\][ ]=' drivers/power/da9052-battery.c
+    defsnc 'static[ ]u32[ ]const[ ]vc_tbl\[3\]\[68\]\[2\][ ]=' drivers/power/da9052-battery.c
+    defsnc 'static[ ]const[ ]int[ ]PIO2_CHANNEL_BANK\[32\][ ]=' drivers/staging/vme/devices/vme_pio2.h
+    defsnc 'static[ ]const[ ]struct[ ]sirfsoc_baudrate_to_regv[ ]baudrate_to_regv\[\][ ]=' drivers/tty/serial/sirfsoc_uart.c
+    defsnc 'static[ ]const[ ]struct[ ]dispc_coef[ ]coef[35]_M\(1[123469]\|2[26]\|32\)\[8\][ ]=' drivers/video/omap2/dss/dispc_coefs.c
+    defsnc 'const[ ]unsigned[ ]char[ ]__clz_tab\[\][ ]=' lib/clz_tab.c
+    defsnc 'static[ ]struct[ ]cs42l73_mclk_div[ ]cs42l73_mclk_coeffs\[\][ ]=' sound/soc/codecs/cs42l73.c
+    defsnc 'static[ ]struct[ ]reg_default[ ]wm8995_reg_defaults\[\][ ]=' sound/soc/codecs/wm8995.c
+    defsnc 'static[ ]int[ ]_process_sigma_firmware[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*\(request\|maybe_reject\)_firmware' sound/soc/codecs/sigmadsp.c
+    defsnc 'int[ ]process_sigma_firmware\(_regmap\)\?[(][^)]*[)][\n][{]\([\n]\+[^\n}][^\n]*\)*[^\n]*_process_sigma_firmware' sound/soc/codecs/sigmadsp.c
+    accept 'EXPORT_SYMBOL[(]process_sigma_firmware_regmap[)]' sound/soc/codecs/sigmadsp.c
+    accept 'extern[ ]int[ ]process_sigma_firmware_regmap[(][^)]*[)][;]' sound/soc/codecs/sigmadsp.h
+    defsnc '[  ]interrupts[ ]=[ ]<\([\n][      ]*0x[ef][0-9a-f][ ]0[ ]0[ ]0\)*>[;]' 'arch/powerpc/boot/dts/fsl/\(pq3\|qoriq\)-mpic\.dtsi'
+    # These appear to be identifiers within the device itself,
+    # used to get information from it.
+    accept '#define[ ]LANCER_\(FW_DUMP\|VPD_[PV]F\)_FILE[      ]*["][/]\(dbg[/]dump\.bin\|vpd[/]ntr_[pv]f\.vpd\)["]' drivers/net/ethernet/emulex/benet/be_cmds.h
+    defsnc 'static[ ]struct[ ]dib0090_wbd_slope[ ]dib7090e_wbd_table\[\][ ]=' drivers/media/dvb/dvb-usb/dib0700_devices.c
+    blobname 'dvb-usb-it9135-0[12]\.fw' drivers/media/dvb/dvb-usb/it913x.c
+    accept '[  ]*props->firmware[ ]=[ ]fw_it913\(5_v[12]\|7\)' drivers/media/dvb/dvb-usb/it913x.c
+    blobname 'dvb-usb-hauppauge-hvr930c-drxk\.fw' drivers/media/video/em28xx/em28xx-dvb.c
+    blobname 'brcm[/]brcmfmac\.\(bin\|txt\)' drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
     ;;
 
   */*freedo*.patch | */*logo*.patch)
@@ -2978,7 +3012,7 @@ set_except () {
     blobname 'brcm[/]bcm4329-fullmac-4\.\(bin\|txt\)' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmfmac/bcmchip\.h'
     blobname 'brcm[/]bcm43xx' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c'
     blobname '%s\(_hdr\)\?-%d\.fw' 'drivers/\(staging\|net/wireless\)/brcm80211/sys/wl_mac80211\.c'
-    defsnc 'static[ ]\(const[ ]\)struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c'
+    defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_basic[ ]chan_info_all\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_cmn\.c'
     defsnc 'static[ ]const[ ]s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' drivers/net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c
     defsnc '\(static[ ]const[ ]\)\?s8[ ]lcnphy_gain_index_offset_for_pkt_rssi\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/\(phy/wlc_phy_lcn\.c\|brcmsmac/phy/phy_lcn\.c\)'
     defsnc 'static[ ]\(const[ ]\)\?struct[ ]chan_info_2064_lcnphy[ ]chan_info_2064_lcnphy\[\][ ]=' 'drivers/\(staging\|net/wireless\)/brcm80211/brcmsmac/phy/phy_lcn\.c'
@@ -3338,7 +3372,7 @@ set_except () {
     defsnc 'u32[ ]\(RTL\|Rtl\)8192CU\(PHY_REG\|_\?\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\[RTL8192CU\(PHY_REG\|\(RADIO\|Radio\)[AB]\|MAC\|AGCTAB\)_\([21]T\(_HP\)\?_\?\(ARRAY\|Array\)_\?\|\(ARRAY\|Array\)_PG\)\(_HP\)\?\(LENGTH\|Length\)\][ ]=' drivers/net/wireless/rtlwifi/rtl8192cu/table.c
     blobname 'rtl_nic[/]rtl8105e-1\.fw' drivers/net/r8169.c
     defsnc 'static[ ]const[ ]\(A_INT32\|s32\)[ ]wmi_rateTable\[\]\[2\][ ]=' drivers/staging/ath6kl/wmi/wmi.c
-    defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\[256\][ ]=' drivers/staging/easycap/easycap_low.c
+    defsnc '\(static[ ]\)\?const[ ]struct[ ]\(stk1160\|saa7113\)config[ ]\([{][^}]*[}][ ]\)\?\(stk1160\|saa7113\)config\(PAL\|NTSC\)\?\[256\][ ]=' drivers/staging/easycap/easycap_low.c
     defsnc 'static[ ]const[ ]ccktxbbgain_struct[ ]rtl8192_cck_txbbgain_\(ch14_\)\?table\[\][ ]=' drivers/staging/rtl8192e/r8192E_dm.c
     defsnc '[  ]unsigned[ ]char[ ]data_ptr\[36\][ ]=' drivers/usb/storage/ene_ub6250.c
     blobname 'ene-ub6250[/]sd_\(init[12]\|rdwr\)\.bin' drivers/usb/storage/ene_ub6250.c
@@ -5832,7 +5866,9 @@ BAD regular expression:
   # Decompress as needed...
   case $input in
   *.bz2) cmd='bunzip2' ;;
-  *.gz) cmd='gunzip' ;;
+  *.xz) cmd='unxz' ;;
+  *.lz) cmd='lzip -d' ;;
+  *.gz | *.tgz) cmd='gunzip' ;;
   *) cmd= ;;
   esac
   if test -n "$cmd"; then
index 1ea6a110dc8c16847ad26e6bbb9ab469bb4c81f3..6ec8e69bf38d8e93475dd8e2a65eac941781fb5b 100755 (executable)
@@ -1,6 +1,10 @@
 #! /bin/sh
 
-# Copyright (C) 2008, 2009, 2010, 2011 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright (C) 2008-2012 Alexandre Oliva <lxoliva@fsfla.org>
+
+# 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
@@ -17,9 +21,9 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
 # USA
 
-# deblob-main - prepare a linux-libre tarball out of a non-libre Linux
-# tarball.  It expects the Linux release (mver, say 3.0) as the first
-# argument, the libre sub-release (extra) as the second optional
+# deblob-main - prepare a GNU Linux-libre tarball out of a non-libre
+# Linux tarball.  It expects the Linux release (mver, say 3.0) as the
+# first argument, the gnu sub-release (extra) as the second optional
 # argument, and the patch release (sver, say .13) as an optional third
 # argument.  mver and sver are pasted together to form kver.
 
@@ -27,9 +31,9 @@
 # directory, and the line that sets kver and extra in deblob-$mver
 # must match mver and extra.
 
-# The resulting tarball is put in linux-$kver-libre$extra.tar.bz2, and
-# an uncompressed xdelta that produces linux-$kver-libre$extra.tar out
-# of linux-$kver.tar is created as linux-$kver-libre$extra.xdelta.
+# The resulting tarball is put in linux-libre-$kver-gnu$extra.tar.bz2.
+# An uncompressed xdelta that produces linux-libre-$kver-gnu$extra.tar
+# out of linux-$kver.tar is put in linux-libre-$kver-gnu$extra.xdelta.
 # This xdelta can be distributed to enable third parties to easily
 # reconstruct the binary tarball starting out of sources downloaded
 # from kernel.org, but without distributing non-Free Software
@@ -42,9 +46,9 @@
 # and it expects the xdelta program to use the version 1 syntax.
 
 # To enable you to check the differences between the tarballs, a patch
-# file is generated in linux-$kver-libre$extra.patch.  This patch file
-# contains the non-Free blobs, even though in reversed form, so its
-# distribution is discouraged.
+# file is generated in linux-libre-$kver-gnu$extra.patch.  This patch
+# file contains the non-Free blobs, even though in reversed form, so
+# its distribution is discouraged.
 
 # The tar files and binary deltas are finally compressed with bzip2,
 # and optionally with lzip and xz too, if the compressors are
@@ -71,11 +75,23 @@ case $1 in
 esac
 
 mver=$1 extra=$2 sver=$3
-kver=$mver$sver libre=libre$extra
+kver=$mver$sver gnu=gnu$extra
 deblob= dir=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`
 
-if test ! -f linux-$kver.tar.bz2; then
-  echo linux-$kver.tar.bz2 does not exist >&2
+if test -f linux-$kver.tar; then
+  zext=tar     zcmd=
+elif test -f linux-$kver.tar.bz2; then
+  zext=tar.bz2 zcmd=bunzip2
+elif test -f linux-$kver.tar.xz; then
+  zext=tar.xz  zcmd=unxz
+elif test -f linux-$kver.tar.lz; then
+  zext=tar.lz  zcmd="lzip -d"
+elif test -f linux-$kver.tar.gz; then
+  zext=tar.gz  zcmd=gunzip
+elif test -f linux-$kver.tgz; then
+  zext=tgz     zcmd=gunzip
+else
+  echo linux-$kver.tar not found, tried .bz2, .xz, .lz, .gz and .tgz too >&2
   exit 1
 fi
 
@@ -105,39 +121,40 @@ fi
 cleanup=
 
 for f in \
-  linux-$kver-$libre.tar.bz2 \
-  linux-$kver-$libre.tar.bz2.asc \
-  linux-$kver-$libre.tar.bz2.sign \
-  linux-$kver-$libre.tar.xz \
-  linux-$kver-$libre.tar.xz.asc \
-  linux-$kver-$libre.tar.xz.sign \
-  linux-$kver-$libre.tar.lz \
-  linux-$kver-$libre.tar.lz.asc \
-  linux-$kver-$libre.tar.lz.sign \
-  linux-$kver.tar \
-  linux-$kver-$libre.tar \
-  linux-$kver-$libre.patch \
-  linux-$kver-$libre.log \
-  linux-$kver-$libre.vcdiff \
-  linux-$kver-$libre.vcdiff.bz2 \
-  linux-$kver-$libre.vcdiff.bz2.asc \
-  linux-$kver-$libre.vcdiff.bz2.sign \
-  linux-$kver-$libre.vcdiff.xz \
-  linux-$kver-$libre.vcdiff.xz.asc \
-  linux-$kver-$libre.vcdiff.xz.sign \
-  linux-$kver-$libre.vcdiff.lz \
-  linux-$kver-$libre.vcdiff.lz.asc \
-  linux-$kver-$libre.vcdiff.lz.sign \
-  linux-$kver-$libre.xdelta \
-  linux-$kver-$libre.xdelta.bz2 \
-  linux-$kver-$libre.xdelta.bz2.asc \
-  linux-$kver-$libre.xdelta.bz2.sign \
-  linux-$kver-$libre.xdelta.xz \
-  linux-$kver-$libre.xdelta.xz.asc \
-  linux-$kver-$libre.xdelta.xz.sign \
-  linux-$kver-$libre.xdelta.lz \
-  linux-$kver-$libre.xdelta.lz.asc \
-  linux-$kver-$libre.xdelta.lz.sign \
+  linux-libre-$kver-$gnu.tar.bz2 \
+  linux-libre-$kver-$gnu.tar.bz2.asc \
+  linux-libre-$kver-$gnu.tar.bz2.sign \
+  linux-libre-$kver-$gnu.tar.xz \
+  linux-libre-$kver-$gnu.tar.xz.asc \
+  linux-libre-$kver-$gnu.tar.xz.sign \
+  linux-libre-$kver-$gnu.tar.lz \
+  linux-libre-$kver-$gnu.tar.lz.asc \
+  linux-libre-$kver-$gnu.tar.lz.sign \
+  linux-libre-$kver-$gnu.tar \
+  linux-libre-$kver-$gnu.tar.asc \
+  linux-libre-$kver-$gnu.tar.sign \
+  linux-libre-$kver-$gnu.patch \
+  linux-libre-$kver-$gnu.log \
+  linux-libre-$kver-$gnu.vcdiff \
+  linux-libre-$kver-$gnu.vcdiff.bz2 \
+  linux-libre-$kver-$gnu.vcdiff.bz2.asc \
+  linux-libre-$kver-$gnu.vcdiff.bz2.sign \
+  linux-libre-$kver-$gnu.vcdiff.xz \
+  linux-libre-$kver-$gnu.vcdiff.xz.asc \
+  linux-libre-$kver-$gnu.vcdiff.xz.sign \
+  linux-libre-$kver-$gnu.vcdiff.lz \
+  linux-libre-$kver-$gnu.vcdiff.lz.asc \
+  linux-libre-$kver-$gnu.vcdiff.lz.sign \
+  linux-libre-$kver-$gnu.xdelta \
+  linux-libre-$kver-$gnu.xdelta.bz2 \
+  linux-libre-$kver-$gnu.xdelta.bz2.asc \
+  linux-libre-$kver-$gnu.xdelta.bz2.sign \
+  linux-libre-$kver-$gnu.xdelta.xz \
+  linux-libre-$kver-$gnu.xdelta.xz.asc \
+  linux-libre-$kver-$gnu.xdelta.xz.sign \
+  linux-libre-$kver-$gnu.xdelta.lz \
+  linux-libre-$kver-$gnu.xdelta.lz.asc \
+  linux-libre-$kver-$gnu.xdelta.lz.sign \
 ; do
   if test -f $f; then
     echo $f already exists >&2
@@ -148,7 +165,7 @@ done
 
 for d in \
   linux-$kver \
-  linux-$kver-$libre \
+  linux-libre-$kver-$gnu \
   orig-linux-$kver \
 ; do
   if test -d $d; then
@@ -182,102 +199,106 @@ else
   fi
 fi
 
-trap "status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit" 0 1 2 15
+trap 'status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit' 0 1 2 15
 
 set -e
 
-echo Uncompressing linux-$kver.tar.bz2 into linux-$kver.tar
-rm -rf linux-$kver linux-$kver.tar
-bunzip2 < linux-$kver.tar.bz2 > linux-$kver.tar
+if test -n "$zcmd"; then
+  echo Uncompressing linux-$kver.$zext into linux-$kver.tar
+  rm -rf linux-$kver.tar
+  cleanup="$cleanup linux-$kver.tar"
+  $zcmd < linux-$kver.$zext > linux-$kver.tar
+fi
 
 echo Extracting linux-$kver.tar into linux-$kver
+rm -rf linux-$kver
 tar -xf linux-$kver.tar
-rm -rf linux-$kver-$libre linux-$kver-$libre.tar
+rm -rf linux-libre-$kver-$gnu linux-libre-$kver-$gnu.tar
 
-echo Copying linux-$kver to linux-$kver-$libre
-cp linux-$kver.tar linux-$kver-$libre.tar
-cp -lR linux-$kver/. linux-$kver-$libre
+echo Copying linux-$kver to linux-libre-$kver-$gnu
+cp linux-$kver.tar linux-libre-$kver-$gnu.tar
+cp -lR linux-$kver/. linux-libre-$kver-$gnu
 
-rm -f linux-$kver-$libre.log linux-$kver-$libre.log.tmp
-echo Deblobbing within linux-$kver-$libre, saving output to linux-$kver-$libre.log
+rm -f linux-libre-$kver-$gnu.log linux-libre-$kver-$gnu.log.tmp
+echo Deblobbing within linux-libre-$kver-$gnu, saving output to linux-libre-$kver-$gnu.log
 # We can't just pipe deblob into tee, for then we fail to detect
 # error conditions.  Use file renaming to tell whether we succeeded.
-if (cd linux-$kver-$libre && /bin/sh ../$deblob $force) 2>&1; then
-  mv linux-$kver-$libre.log.tmp linux-$kver-$libre.log
-fi | tee linux-$kver-$libre.log.tmp
-if test ! -f linux-$kver-$libre.log; then
-  mv linux-$kver-$libre.log.tmp linux-$kver-$libre.log
+if (cd linux-libre-$kver-$gnu && /bin/sh ../$deblob $force) 2>&1; then
+  mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
+fi | tee linux-libre-$kver-$gnu.log.tmp
+if test ! -f linux-libre-$kver-$gnu.log; then
+  mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
   echo $deblob failed, aborting >&2
   exit 1
 fi
-rm -f linux-$kver-$libre.patch
+rm -f linux-libre-$kver-$gnu.patch
 
 # Do not copy these scripts for now, deblob-check regards itself as a blob.
-# cp -p $0 $deblob deblob-check linux-$kver-$libre
+# cp -p $0 $deblob deblob-check linux-libre-$kver-$gnu
 
-echo Generating linux-$kver-$libre.patch
-diff -druN linux-$kver linux-$kver-$libre > linux-$kver-$libre.patch || :
+echo Generating linux-libre-$kver-$gnu.patch
+diff -druN linux-$kver linux-libre-$kver-$gnu > linux-libre-$kver-$gnu.patch || :
 
-echo Removing removed or modified files from linux-$kver-$libre.tar
-diff -rq linux-$kver linux-$kver-$libre |
+echo Removing removed or modified files from linux-libre-$kver-$gnu.tar
+diff -rq linux-$kver linux-libre-$kver-$gnu |
 sed -n "
   s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\1/\3,p;
-  s,^Files \\(linux-$kver\\)/\\(.*\\) and \\1-$libre/\\2 differ,\\1/\\2,p;
+  s,^Files \\(linux-$kver\\)/\\(.*\\) and linux-libre-$kver-$gnu/\\2 differ,\\1/\\2,p;
 " |
-xargs tar --delete -f linux-$kver-$libre.tar
+xargs tar --delete -f linux-libre-$kver-$gnu.tar
 
-echo Adding modified or added files to linux-$kver-$libre.tar
+echo Adding modified or added files to linux-libre-$kver-$gnu.tar
 rm -rf orig-linux-$kver
 mv linux-$kver orig-linux-$kver
-mv linux-$kver-$libre linux-$kver
+mv linux-libre-$kver-$gnu linux-$kver
 diff -rq orig-linux-$kver linux-$kver |
 sed -n "
   s,^Files orig-\\(linux-$kver/.*\\) and \\1 differ,\\1,p;
   s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\\1/\\3,p;
 " |
-xargs tar --append -f linux-$kver-$libre.tar
+xargs tar --append -f linux-libre-$kver-$gnu.tar
 
 echo Wiping out extracted trees
 rm -rf linux-$kver orig-linux-$kver
 
-echo Creating vcdiff between linux-$kver.tar and linux-$kver-$libre.tar
-xdelta3 -e -9 -S djw -s linux-$kver.tar linux-$kver-$libre.tar linux-$kver-$libre.vcdiff || : # don't fail if xdelta3 is not present
+echo Creating vcdiff between linux-$kver.tar and linux-libre-$kver-$gnu.tar
+xdelta3 -e -9 -S djw -s linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.vcdiff || : # don't fail if xdelta3 is not present
 
-echo Creating xdelta between linux-$kver.tar and linux-$kver-$libre.tar
-xdelta delta -0 linux-$kver.tar linux-$kver-$libre.tar linux-$kver-$libre.xdelta || : # xdelta returns nonzero on success
+echo Creating xdelta between linux-$kver.tar and linux-libre-$kver-$gnu.tar
+xdelta delta -0 linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta || : # xdelta returns nonzero on success
 
-echo Compressing binary deltas and linux-$kver-$libre.tar
+echo Compressing binary deltas and linux-libre-$kver-$gnu.tar
 rm -f linux-$kver.tar
-if test -f linux-$kver-$libre.vcdiff; then
-  bzip2 -k9 linux-$kver-$libre.vcdiff
-  xz -k9 linux-$kver-$libre.vcdiff || :
-  lzip -k9 linux-$kver-$libre.vcdiff || :
-  rm -f linux-$kver-$libre.vcdiff
+if test -f linux-libre-$kver-$gnu.vcdiff; then
+  bzip2 -k9 linux-libre-$kver-$gnu.vcdiff
+  xz -k9 linux-libre-$kver-$gnu.vcdiff || :
+  lzip -k9 linux-libre-$kver-$gnu.vcdiff || :
+  rm -f linux-libre-$kver-$gnu.vcdiff
 fi
-if test -f linux-$kver-$libre.xdelta; then
-  bzip2 -k9 linux-$kver-$libre.xdelta
-  xz -k9 linux-$kver-$libre.xdelta || :
-  lzip -k9 linux-$kver-$libre.xdelta || :
-  rm -f linux-$kver-$libre.xdelta
+if test -f linux-libre-$kver-$gnu.xdelta; then
+  bzip2 -k9 linux-libre-$kver-$gnu.xdelta
+  xz -k9 linux-libre-$kver-$gnu.xdelta || :
+  lzip -k9 linux-libre-$kver-$gnu.xdelta || :
+  rm -f linux-libre-$kver-$gnu.xdelta
 fi
-bzip2 -k9 linux-$kver-$libre.tar
-xz -k9 linux-$kver-$libre.tar || :
-lzip -k9 linux-$kver-$libre.tar || :
-rm -f linux-$kver-$libre.tar
+bzip2 -k9 linux-libre-$kver-$gnu.tar
+xz -k9 linux-libre-$kver-$gnu.tar || :
+lzip -k9 linux-libre-$kver-$gnu.tar || :
 
-trap "status=$?; (exit $status); exit" 0 1 2 15
+cleanup=linux-libre-$kver-$gnu.tar
 
 echo Done except for signing, feel free to interrupt
 for f in \
-  linux-$kver-$libre.tar.bz2 \
-  linux-$kver-$libre.tar.xz \
-  linux-$kver-$libre.tar.lz \
-  linux-$kver-$libre.vcdiff.bz2 \
-  linux-$kver-$libre.vcdiff.xz \
-  linux-$kver-$libre.vcdiff.lz \
-  linux-$kver-$libre.xdelta.bz2 \
-  linux-$kver-$libre.xdelta.xz \
-  linux-$kver-$libre.xdelta.lz \
+  linux-libre-$kver-$gnu.tar \
+  linux-libre-$kver-$gnu.tar.bz2 \
+  linux-libre-$kver-$gnu.tar.xz \
+  linux-libre-$kver-$gnu.tar.lz \
+  linux-libre-$kver-$gnu.vcdiff.bz2 \
+  linux-libre-$kver-$gnu.vcdiff.xz \
+  linux-libre-$kver-$gnu.vcdiff.lz \
+  linux-libre-$kver-$gnu.xdelta.bz2 \
+  linux-libre-$kver-$gnu.xdelta.xz \
+  linux-libre-$kver-$gnu.xdelta.lz \
 ; do
   if test -f $f; then
     gpg -a --detach-sign $f
@@ -285,6 +306,11 @@ for f in \
   fi
 done
 
-echo All set, please review linux-$kver-$libre.patch
+rm -f linux-libre-$kver-$gnu.tar
+
+cleanup=
+trap 'status=$?; (exit $status); exit' 0 1 2 15
+
+echo All set, please review linux-libre-$kver-$gnu.patch
 
 exit 0