aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2010-03-09 14:01:13 +0100
committerJaroslav Kysela <perex@perex.cz>2010-03-09 14:01:13 +0100
commit06cd70f5882662d13f9678660b376c1387072a5f (patch)
treecd139b48b7a6a0b18a35929d365a70089ad32c15
parentc6465f95ff20199b858f290d1fbd95d26a9f07f6 (diff)
downloadalsa-driver-build-unstable-06cd70f5882662d13f9678660b376c1387072a5f.tar.gz
alsa-compile.sh: Fix --clean command
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rwxr-xr-xutils/alsa-compile.sh54
1 files changed, 29 insertions, 25 deletions
diff --git a/utils/alsa-compile.sh b/utils/alsa-compile.sh
index a2c6482bb..91e6ff2a1 100755
--- a/utils/alsa-compile.sh
+++ b/utils/alsa-compile.sh
@@ -120,7 +120,17 @@ do
-y|--yes)
yes=true ;;
-c*|--clean*)
- clean=true ;;
+ clean=
+ case "$#,$1" in
+ *,*=*)
+ clean=`expr "z$1" : 'z-[^=]*=\(.*\)'` ;;
+ 1,*)
+ ;;
+ *)
+ clean="$2"
+ shift ;;
+ esac
+ ;;
--url*)
case "$#,$1" in
*,*=*)
@@ -978,6 +988,19 @@ kernel_modules_remove() {
echo "ALSA kernel modules removed."
}
+package_switch() {
+ packagedir="$tmpdir/$package.dir"
+ packagestatus="$tmpdir/$package.status"
+ tree=
+ status=
+ if test -r $packagedir; then
+ tree=$(cat $packagedir)
+ fi
+ if test -r $packagestatus; then
+ status=$(cat $packagestatus)
+ fi
+}
+
rundir=$(pwd)
export LC_ALL=C
export LANGUAGE=C
@@ -990,29 +1013,10 @@ fi
protocol=$(echo $url | cut -d ':' -f 1)
check_environment
do_cmd cd $tmpdir
-packagedir="$tmpdir/$package.dir"
-packagestatus="$tmpdir/$package.status"
-tree=
-status=
-if test -r $packagedir; then
- tree=$(cat $packagedir)
-fi
-if test -r $packagestatus; then
- status=$(cat $packagestatus)
-fi
+package_switch $package
-if test "$clean" = "true"; then
- rmpkg=
- case "$#,$1" in
- *,*=*)
- rmpkg=`expr "z$1" : 'z-[^=]*=\(.*\)'` ;;
- 1,*)
- ;;
- *)
- rmpkg="$2"
- shift ;;
- esac
- if test -z $rmpkg; then
+if test -n "$clean"; then
+ if test -z $clean; then
echo -n "Removing tree $tmpdir:"
if test -d $tmpdir; then
if ! rm -rf $tmpdir; then
@@ -1022,14 +1026,14 @@ if test "$clean" = "true"; then
fi
echo " success"
else
+ package_switch $clean
echo -n "Removing package $package:"
rm $tmpdir/environment.* 2> /dev/null
if test "$package" = "alsa-driver"; then
rm -rf $tmpdir/modules.*
rm -rf $tmpdir/run.awk
fi
- if test -r $packagedir; then
- tree=$(cat $packagedir)
+ if test -n "$tree"; then
if test -d $tmpdir/$tree; then
if ! rm -rf $tmpdir/$tree; then
echo " failed"