]> pilppa.org Git - familiar-h63xx-build.git/blobdiff - org.handhelds.familiar/packages/alsa/alsa-driver_0.9.6-hh4c.bb
alsa-driver: really fix upgrade path.
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / alsa / alsa-driver_0.9.6-hh4c.bb
index 82412746dee13bb7291afe82aa3d4407a8e4d4a5..4a07949a5a33647441bea75323aa7bd5ce071c00 100644 (file)
@@ -2,7 +2,9 @@ DESCRIPTION = "Alsa Drivers"
 MAINTAINER = "Rene Wagner <rw@handhelds.org>"
 SECTION = "base"
 LICENSE = "GPL"
-PR = "r7"
+
+EPOCH = "1:"
+PR = "r11"
 
 DEPENDS += "fakeroot-native virtual/kernel"
 
@@ -12,7 +14,19 @@ SRC_URI = "ftp://ftp.handhelds.org/packages/alsa-driver/alsa-driver-${PV}.tar.gz
        file://sa11xx.patch;patch=1 \
        file://adriver.h.patch;patch=1"
 
-inherit autotools module
+inherit autotools module update-rc.d
+
+RPROVIDES_${PN} += "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
+RCONFLICTS_${PN} += "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
+RREPLACES_${PN} += "${@linux_module_packages('h3600-uda1341 uda1341', d)}"
+
+# the same for old style naming...
+RPROVIDES_${PN} += "kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37 kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37"
+RCONFLICTS_${PN} += "kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37 kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37"
+RREPLACES_${PN} += "kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37 kernel-module-h3600-uda1341-2.4.19-rmk6-pxa1-hh37"
+
+INITSCRIPT_NAME = "alsa-driver"
+INITSCRIPT_PARAMS = "start 29 S . stop 29 0 6 1 ."
 
 # avoid miscompilation
 KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_ARCH}"
@@ -25,7 +39,8 @@ EXTRA_OECONF = "--with-sequencer=yes \
 
 PACKAGES =+ "${PN}-midi ${PN}-misc"
 FILES_${PN} = "/lib/modules/*/misc/snd* \
-       ${sysconfdir}/modutils/*"
+       ${sysconfdir}/init.d/${INITSCRIPT_NAME}"
+#      ${sysconfdir}/modutils/*"
 midi_modules = "snd-seq-midi-emul.o \
        snd-seq-midi-event.o \
        snd-seq-midi.o \
@@ -61,22 +76,63 @@ cards="$cards,bluez-sco,pdaudiocf"
    oe_runconf --with-cards=${cards}
 }
 
+autoload_ipaqsa = "snd-sa11xx-uda1341 snd-pcm-oss snd-mixer-oss"
+autoload_ipaqpxa = "snd-h5400-ak4535 snd-pxa-uda1380 snd-pcm-oss snd-mixer-oss"
 
 do_install() {
 
 if egrep "CONFIG_SA1100_H3[168]00=y" "${STAGING_KERNEL_DIR}/.config" ; then
-  familiar_arch=ipaqsa
+  autoload="${autoload_ipaqsa}"
 fi
 if grep "CONFIG_ARCH_H3900=y" "${STAGING_KERNEL_DIR}/.config" ; then
-  familiar_arch=ipaqpxa
+  autoload="${autoload_ipaqpxa}"
 fi
 
       fakeroot make -k NODEPMOD=yes DESTDIR=${D} install; 
 
-      if [ -d ${D}${sysconfdir}/modutils/ ] ; then 
-         rm -r ${D}${sysconfdir}/modutils/ ;
-      fi
-      mkdir -p ${D}${sysconfdir}/modutils/
-      cp familiar/alsa-modules-${familiar_arch} ${D}${sysconfdir}/modutils/
+mkdir -p ${D}${sysconfdir}/init.d
+cat > ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} <<EOF
+#!/bin/sh
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+autoload_modules="$autoload"
+
+case "\$1" in
+  start)
+       echo -n "Loading alsa modules:"
+       for i in \$autoload_modules; do
+               modprobe \$i && echo -n " \$i"
+       done
+       echo "."
+       ;;
+  stop)
+       echo -n "Unloading alsa modules:"
+       for i in \$autoload_modules; do
+               modprobe -r \$i && echo -n " \$i"
+       done
+       echo "."
+       ;;
+  restart|force-reload)
+       echo -n "Unloading alsa modules:"
+       for i in \$autoload_modules; do
+               modprobe -r \$i && echo -n " \$i"
+       done
+       echo "."
+       echo -n "Loading alsa modules:"
+       for i in \$autoload_modules; do
+               modprobe \$i && echo -n " \$i"
+       done
+       echo "."
+       ;;
+  *)
+       echo "Usage: \$0 {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
+EOF
+chmod 755 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
 }