get-scripts view b43-firmware @ rev 4

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