diff options
| author | Cecil Hugh Watson <knoppmyth@gmail.com> | 2008-11-30 04:11:03 (GMT) | 
|---|---|---|
| committer | Cecil Hugh Watson <knoppmyth@gmail.com> | 2008-11-30 04:11:03 (GMT) | 
| commit | f78fc8e0364cb99bf0b3c2fc941ba85c2fe5944f (patch) | |
| tree | 35b4ab3030640a144537124112e3d65d138672f5 /abs/mv-core/oss-sound/rc.oss-linux-free | |
| parent | fba7ea15ad46f8655bf17ab4c1cc5a8228d39e1b (diff) | |
| parent | f0da28db238a7c58552446e2d87bae48a0f9718b (diff) | |
| download | linhes_pkgbuild-f78fc8e0364cb99bf0b3c2fc941ba85c2fe5944f.zip linhes_pkgbuild-f78fc8e0364cb99bf0b3c2fc941ba85c2fe5944f.tar.gz linhes_pkgbuild-f78fc8e0364cb99bf0b3c2fc941ba85c2fe5944f.tar.bz2 | |
Merge branch 'HEAD' of ssh://cesman@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/mv-core/oss-sound/rc.oss-linux-free')
| -rwxr-xr-x | abs/mv-core/oss-sound/rc.oss-linux-free | 73 | 
1 files changed, 73 insertions, 0 deletions
| diff --git a/abs/mv-core/oss-sound/rc.oss-linux-free b/abs/mv-core/oss-sound/rc.oss-linux-free new file mode 100755 index 0000000..48b65e0 --- /dev/null +++ b/abs/mv-core/oss-sound/rc.oss-linux-free @@ -0,0 +1,73 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +terminateapps() { +    # Thanks to the Gentoo ebuild/start script for the following +    # http://bugs.gentoo.org/show_bug.cgi?id=184123 +    # http://bugs.gentoo.org/attachment.cgi?id=153689 +    devs=`perl -e '{while (<>) {m/^(\S*)/; print "/dev/$1\n"}}' \ +		< /proc/opensound/devfiles` +    fuser -k ${devs}  >/dev/null 2>/dev/null +} + +case "$1" in +  start) +    stat_busy "Starting OSS/Open source driver" +    # start +    /usr/sbin/soundon +    if [ $? -gt 0 ]; then +      stat_fail +    else +      grep '^softoss' /proc/modules >/dev/null 2>/dev/null +      if [ $? -eq 0 ]; then +        stat_busy "Replacing old \"softoss\" module with \"vmix\"" +        rmmod softoss +        modprobe vmix +        sed -i 's/^softoss.*$/vmix/' /usr/lib/oss/etc/installed_drivers +      fi +      add_daemon oss-linux-free +      stat_done +    fi +    ;; +  stop) +    stat_busy "Saving OSS mixer" +    /usr/sbin/savemixer +    if [ $? -gt 0 ]; then +      stat_fail +    else +      stat_done +    fi +    grep '^"cuckoo"' /proc/modules >/dev/null 2>/dev/null +    if [ $? -eq 0 ]; then +      stat_busy "Removing \"cuckoo\" module" +      rmmod cuckoo +    fi +    stat_busy "Killing processes using OSS" +    terminateapps +    stat_done +    # It doesn't matter if it didnt kill anything! +    stat_busy "Stopping OSS/Open source driver" +    /usr/sbin/soundoff +    if [ $? -gt 0 ]; then +      stat_fail +    else +      rm_daemon oss-linux-free +      stat_done +    fi +    ;; +  restart) +    $0 stop +    sleep 1 +    $0 start +    ;; +  terminateapps) +    stat_busy "Killing processes using OSS" +    terminateapps +    stat_done +    # It doesn't matter if it didnt kill anything! +  ;; +  *) +    echo "usage: $0 {start|stop|restart|terminateapps}" +esac | 
