get-scripts view b43-firmware @ rev 58

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