get-scripts annotate b43-firmware @ rev 26

Add apk-studio
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Nov 19 13:55:21 2014 +0100 (2014-11-19)
parents 5aedb6b0e87c
children 6ca05e6839e1
rev   line source
pascal@3 1 # install linux-wireless, wireless_tools and b43-fwcutter if needed.
pascal@3 2
pascal@3 3 MODULE=${PACKAGE%-firmware}
pascal@3 4 CATEGORY="non-free"
pascal@3 5 DEPENDS=""
pascal@3 6
pascal@3 7 MODULE_LIST=""
pascal@3 8 while read module desc ; do
pascal@3 9 [ "$MODULE" == "$module" ] && desc="$SHORT_DESC"
pascal@3 10 MODULE_LIST="$MODULE_LIST $module"
pascal@3 11 done <<EOT
pascal@3 12 b43 Broadcom $MODULE firmware.
pascal@3 13 b43legacy Broadcom $MODULE firmware (BCM4306 rev2 or 802.11b chips).
pascal@3 14 ipw2100 Intel PRO/Wireless 2100 firmware.
pascal@3 15 ipw2200 Intel PRO/Wireless 2200BG firmware.
pascal@6 16 iwlwifi-5000 Intel Wireless WiFi Link 5000AGN, 5300AGN and 5350AGN firmware.
pascal@3 17 iwlwifi-5150 Intel Wireless WiFi Link 5150AGN firmware.
pascal@6 18 iwlwifi-100 Intel Wireless WiFi Link 100N firmware.
pascal@6 19 iwlwifi-105 Intel Wireless WiFi Link 105N firmware.
pascal@6 20 iwlwifi-135 Intel Wireless WiFi Link 135N firmware.
pascal@6 21 iwlwifi-1000 Intel Wireless WiFi Link 1000N firmware.
pascal@6 22 iwlwifi-2000 Intel Wireless WiFi Link 2200 Series Wi-fi Adapters.
pascal@6 23 iwlwifi-2030 Intel Wireless WiFi Link 2230 Series Wi-fi Adapters.
pascal@6 24 iwlwifi-6000gda Intel Wireless WiFi Link 6000 Series Wi-fi Adapters.
pascal@6 25 iwlwifi-6000gdb Intel Wireless WiFi Link 6000 Series Wi-fi Adapters.
pascal@3 26 iwlwifi-6000 Intel Wireless WiFi Link 6000 Series Wi-fi Adapters.
pascal@6 27 iwlwifi-6050 Intel Wireless WiFi Link 6050 Series Wi-fi Adapters.
pascal@3 28 rt61 new RT2x00 RT61 Wireless Lan firmware.
pascal@3 29 rt61pci new RT2x00 RT61 Wireless Lan firmware.
pascal@3 30 rt73 new RT2x00 RT73(RT2571W) Wireless Lan firmware.
pascal@3 31 rt73usb new RT2x00 RT73(RT2571W) Wireless Lan firmware.
pascal@3 32 rt2870usb RaLink RT2870USB (RT2870/RT2770) WiFi adapter.
pascal@3 33 zd1211 zd1211/zd1211rw Wireless Lan firmware.
pascal@3 34 zd1211rw zd1211/zd1211rw Wireless Lan firmware.
pascal@3 35 EOT
pascal@3 36
pascal@3 37 case "$MODULE" in
pascal@3 38 b43)
pascal@3 39 WEB_SITE="http://www.linuxwireless.org/en/users/Drivers/b43"
pascal@3 40 WGET_URL="http://mirror2.openwrt.org/sources"
pascal@3 41 VERSION=$(wget -O - $WGET_URL | sed \
pascal@3 42 '/broadcom-wl-[0-9\.]*.tar/!d;s/.*com-wl-\([0-9\.]*\).tar.*/\1/' | \
pascal@3 43 tail -n 1)
pascal@3 44 SUBDIR="broadcom-wl-$VERSION"
pascal@3 45 WGET_URL="$WGET_URL/$SUBDIR.tar.bz2"
pascal@3 46 DEPENDS="b43-fwcutter"
pascal@3 47 FWSET=wl_apsta.o
pascal@3 48 ;;
pascal@3 49 b43legacy)
pascal@3 50 WEB_SITE="http://downloads.openwrt.org/"
pascal@3 51 VERSION=$(wget -O - ${WEB_SITE}sources | sed \
pascal@3 52 '/wl_apsta/!d;s/.*>wl_apsta-\(.*\).o.*/\1/')
pascal@3 53 WGET_URL="${WEB_SITE}sources/wl_apsta-$VERSION.o"
pascal@3 54 DEPENDS="b43-fwcutter"
pascal@3 55 FWSET=wl_apsta-$VERSION.o
pascal@3 56 ;;
pascal@5 57 ipw2*)
pascal@5 58 WEB_SITE="http://wireless.kernel.org/en/users/Drivers/$MODULE"
pascal@5 59 VERSION=$(wget -O - $WEB_SITE | sed '/-fw/!d;s/.*-fw-\([^t]*\).t.*/\1/')
pascal@5 60 WGET_URL="$(wget -O - $WEB_SITE | sed '/-fw/!d;s/.*href="\([^"]*\).*/\1/')$MODULE-fw-$VERSION.tgz"
pascal@3 61 ;;
pascal@3 62 iwlwifi-*)
pascal@6 63 WEB_SITE="http://wireless.kernel.org/en/users/Drivers/iwlwifi/"
pascal@6 64 WGET_URL="$(wget -O - $WEB_SITE | sed '/-ucode-/!d;s/.*href="\([^"]*\).*/\1/;/'${MODULE%firmware}'/!d' | sed '$!d')"
pascal@6 65 VERSION="$(echo "$WGET_URL" | sed 's/.*-ucode-\(.*\).t.*/\1/')"
pascal@3 66 CATEGORY="base-system"
pascal@3 67 ;;
pascal@3 68 rt61*)
pascal@3 69 WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt61-fw"
pascal@3 70 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
pascal@3 71 WEB_SITE="http://www.ralinktech.com/"
pascal@3 72 WGET_URL="$WGET_URL/RT61_Firmware_V${VERSION}.zip"
pascal@3 73 CATEGORY="base-system"
pascal@3 74 ;;
pascal@3 75 rt73*)
pascal@3 76 WGET_URL="http://archlinux.c3sl.ufpr.br/other/rt2x00-rt71w-fw"
pascal@3 77 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
pascal@3 78 WEB_SITE="http://www.ralinktech.com/"
pascal@3 79 WGET_URL="$WGET_URL/RT71W_Firmware_V${VERSION}.zip"
pascal@3 80 CATEGORY="base-system"
pascal@3 81 ;;
pascal@3 82 rt2870usb)
pascal@3 83 WGET_URL="http://archlinux.c3sl.ufpr.br/other/${MODULE}-fw"
pascal@3 84 VERSION=$(wget -O - $WGET_URL | sed '/Firmware/!d;s/.*_V\(.*\).zip.*/\1/')
pascal@3 85 WEB_SITE="http://www.ralinktech.com/"
pascal@3 86 WGET_URL="$WGET_URL/RT2870_Firmware_V${VERSION}.zip"
pascal@3 87 CATEGORY="base-system"
pascal@3 88 ;;
pascal@3 89 zd1211*)
pascal@3 90 WGET_URL="http://mirrors.kernel.org/debian/pool/non-free/z/zd1211-firmware"
pascal@3 91 VERSION=$(wget -O - $WGET_URL | sed -e '/zd1211-firmware/!d' \
pascal@3 92 -e '/all.deb/!d' -e 's/.*>zd1211-firmware_\(.*\)_all.deb.*/\1/')
pascal@3 93 SHORT_DESC="zd1211/zd1211rw Wireless Lan firmware."
pascal@3 94 WEB_SITE="http://packages.debian.org/etch/zd1211-firmware"
pascal@3 95 WGET_URL="$WGET_URL/zd1211-firmware_${VERSION}_all.deb"
pascal@3 96 ;;
pascal@3 97 esac
pascal@3 98
pascal@6 99 case "$WGET_URL" in
pascal@6 100 ftp*|http*) ;;
pascal@6 101 *) WGET_URL="${WEB_SITE%/}/$WGET_URL"
pascal@6 102 esac
pascal@6 103
pascal@3 104 # We need drivers, the extractor and tools.
pascal@3 105 for pkg in linux-wireless wireless_tools $DEPENDS
pascal@3 106 do
pascal@3 107 if [ ! -d $ROOT/var/lib/tazpkg/installed/$pkg ]; then
pascal@3 108 tazpkg get-install $pkg --root=$ROOT
pascal@3 109 fi
pascal@3 110 done
pascal@3 111
pascal@3 112 # Get files
pascal@3 113 wget $WGET_URL
pascal@3 114 TARBALL="$(basename $WGET_URL)"
pascal@3 115 [ -s $TARBALL ] || abort_package "Could not download $TARBALL. Exiting."
pascal@3 116
pascal@3 117 case "$WGET_URL" in
pascal@3 118 *rpm) rpm2cpio < $TARBALL | cpio -id;;
pascal@3 119 *deb) dpkg-deb -x $TARBALL . ;;
pascal@3 120 *bz2) tar xjf $TARBALL
pascal@3 121 cd $SUBDIR/linux;;
pascal@3 122 *tar.gz|*tgz) tar xzf $TARBALL;;
pascal@3 123 *zip) unzip $TARBALL;;
pascal@3 124 *o) ;;
pascal@3 125 esac
pascal@3 126
pascal@3 127 # Create pseudo package
pascal@3 128 mkdir -p $PACKAGE-$VERSION/fs/lib/firmware $PACKAGE-$VERSION/fs/usr/share/licenses
pascal@3 129 case "$MODULE" in
pascal@3 130 b43*) b43-fwcutter -w "$PACKAGE-$VERSION/fs/lib/firmware" $FWSET;;
pascal@3 131 ipw2200) cp ${MODULE}-fw-$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
pascal@3 132 mv ${MODULE}-fw-$VERSION/* $PACKAGE-$VERSION/fs/lib/firmware;;
pascal@3 133 ipw2100) cp *LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-$MODULE-LICENSE.txt
pascal@3 134 mv *.fw* *LICENSE* $PACKAGE-$VERSION/fs/lib/firmware;;
pascal@3 135 rt*)
pascal@3 136 mv RT*_Firmware_V$VERSION/*.bin $PACKAGE-$VERSION/fs/lib/firmware
pascal@3 137 mv RT*_Firmware_V$VERSION/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/ralink-rt61-LICENSE.txt;;
pascal@3 138 iwlwifi*) mv iwlwifi*/iwlwifi*.ucode $PACKAGE-$VERSION/fs/lib/firmware
pascal@3 139 mv iwlwifi*/*LICENSE* $PACKAGE-$VERSION/fs/usr/share/licenses/intel-iwlwifi-LICENSE.txt ;;
pascal@3 140 zd1211*)
pascal@3 141 mv lib/firmware/zd1211 $PACKAGE-$VERSION/fs/lib/firmware ;;
pascal@3 142 esac
pascal@3 143
pascal@3 144 # Creat receipt
pascal@3 145 cat > $PACKAGE-$VERSION/receipt <<EOT
pascal@3 146 PACKAGE="$PACKAGE"
pascal@3 147 VERSION="$VERSION"
pascal@3 148 CATEGORY="$CATEGORY"
pascal@3 149 SHORT_DESC="$SHORT_DESC."
pascal@3 150 WEB_SITE="$WEB_SITE"
pascal@3 151 DEPENDS="linux-wireless wireless_tools $DEPENDS"
pascal@3 152
pascal@3 153 # Pre and post install commands for Tazpkg.
pascal@3 154 post_install()
pascal@3 155 {
pascal@3 156 echo -n "Configure wifi ? "
pascal@3 157 read -t 30 answer
pascal@3 158 case "\$answer" in
pascal@3 159 n*|N*) return
pascal@3 160 esac
pascal@3 161
pascal@3 162 echo "configuring and loading module ..."
pascal@3 163 # Check if we need wpa_supplicant
pascal@3 164 . \$1/etc/network.conf
pascal@3 165 if [ \$WIFI_KEY_TYPE = "wpa" ] || [ \$WIFI_KEY_TYPE = "WPA" ]; then
pascal@3 166 if [ ! -d \$1/var/lib/tazpkg/installed/wpa_supplicant ]; then
pascal@3 167 tazpkg get-install wpa_supplicant --root=\$1
pascal@3 168 fi
pascal@3 169 fi
pascal@3 170
pascal@3 171 # Configure /etc/network.conf and start connexion
pascal@3 172 sed -i s/'WIFI="no"'/'WIFI="yes"'/ \$1/etc/network.conf
pascal@3 173
pascal@3 174 # Load module
pascal@3 175 if [ -z "\$1" -a -n "\$(modprobe -l $MODULE)" ]; then
pascal@3 176 echo "Loading module: $MODULE..."
pascal@3 177 if modprobe $MODULE ; then
pascal@3 178 sleep 2
pascal@3 179 /etc/init.d/network.sh restart
pascal@3 180 fi
pascal@3 181 fi
pascal@3 182 }
pascal@3 183 EOT
pascal@3 184
pascal@3 185 set +e