wl1251-modules: rm init script links
[openpandora.oe.git] / recipes / pandora-system / wl1251-modules.bb
index deaf47a..fce039c 100755 (executable)
@@ -1,23 +1,32 @@
 DESCRIPTION = "Kernel drivers for the TI WL1251 WiFi chip found on the Pandora - Connected via SDIO"
 LICENSE = "GPLv2"
 
+SRCREV = "ccb56baff992d682cc84eca10472298b2cce1bf1"
+
+SRC_URI = " \
+           git://git.openpandora.org/pandora-wifi.git;protocol=git;branch=compat-wireless \
+"
+
 SRC_URI += " \
-#      http://djwillis.openpandora.org/pandora/wifi/wl1251-wireless-2009-10-08-rev2.zip \
-#      http://djwillis.openpandora.org/pandora/wifi/wl1251-wireless-2009-10-28-take2.zip \
-       http://djwillis.openpandora.org/pandora/wifi/wl1251-wireless-2009-10-28-take3.zip \     
        file://rc.wl1251 \
+       file://50-compat_firmware.rules \
+       file://compat_firmware.sh \
 "
 
+RDEPENDS = "udev"
+
 inherit update-rc.d
 
 INITSCRIPT_NAME = "wl1251-init"
 INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
 
-#S = "${WORKDIR}/compat-wireless-2009-08-30"
-S = "${WORKDIR}/compat-wireless-2009-10-28"
+S = "${WORKDIR}/git"
 
 inherit module
 
+# must be above r28
+PR = "r30"
+
 PARALLEL_MAKE = ""
 
 EXTRA_OEMAKE = " \
@@ -31,20 +40,49 @@ do_compile_prepend() {
 }
 
 do_install() {
-          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/mac80211
-          cp ${S}/net/mac80211/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/mac80211
-          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/wireless
-          cp ${S}/net/wireless/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/wireless
-          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/rfkill
-          cp ${S}/net/rfkill/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/net/rfkill
-          mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/wl12xx      
-          cp ${S}/drivers/net/wireless/wl12xx/wl1251.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/wl12xx
-          cp ${S}/drivers/net/wireless/wl12xx/wl1251_sdio.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/wl12xx
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/compat
+          install -m 0644 ${S}/compat/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/compat
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
+          install -m 0644 ${S}/net/mac80211/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
+          install -m 0644 ${S}/net/wireless/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
+          install -m 0644 ${S}/net/rfkill/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx      
+          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
+          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251_sdio.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
+          
           install -d ${D}${sysconfdir}/init.d/
-          cp -pP ${WORKDIR}/rc.wl1251 ${D}${sysconfdir}/init.d/wl1251-init
+          install -m 0755 ${WORKDIR}/rc.wl1251 ${D}${sysconfdir}/init.d/wl1251-init
+
+          # Install UDEV rules to /lib/udev/rules.d not /etc/udev/rules.d as they are system rules.
+          install -d ${D}${base_libdir}/udev/rules.d/
+          install -m 0644 ${WORKDIR}/50-compat_firmware.rules ${D}${base_libdir}/udev/rules.d/
+          install -m 0755 ${WORKDIR}/compat_firmware.sh ${D}${base_libdir}/udev/rules.d/          
+
+          # some bonus not wl1251 related drivers
+          install -m 0644 ${S}/drivers/net/wireless/at76c50x-usb.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00
+          install -m 0644 ${S}/drivers/net/wireless/rt2x00/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00/
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54
+          install -m 0644 ${S}/drivers/net/wireless/p54/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54/
 }
 
-FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/net/mac80211/*.ko.*"
-FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/net/wireless/*.ko.*"
-FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/net/rfkill/*.ko.*"
-FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net/wireless/wl12xx/*.ko.*"
+pkg_postinst_${PN}() {
+       if test -z "$D"
+       then
+               # wifi is off by default, rm setting from last update
+               update-rc.d -f ${INITSCRIPT_NAME} remove
+       fi
+}
+
+FILES_${PN} += "/lib/udev/rules.d/*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/compat/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/wireless/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx/*.ko.*"
+
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/at76c50x-usb.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54/*.ko.*"