diff options
author | Jonas Smedegaard <dr@jones.dk> | 2008-01-14 19:44:31 +0000 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2008-01-14 19:44:31 +0000 |
commit | 27524b69887ae4d3af570d5ed5428e16b5f6850e (patch) | |
tree | b31f2ee4402cff74c31430e2e45eb595afbf3662 | |
parent | 65db6323b21b34fc4209d07e6b1e02a0a8c7f2de (diff) |
Add ask function. Remove basepath as needed if permitted. Fix exit1 function.
-rwxr-xr-x | localcowbuilder-create | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/localcowbuilder-create b/localcowbuilder-create index 94264c0..14495d3 100755 --- a/localcowbuilder-create +++ b/localcowbuilder-create @@ -4,11 +4,6 @@ set -e PRG=$(basename "$0") -exit() { - echo "ERROR: $1" - exit 1 -} - showhelp() { cat <<EOF Usage: $PRG POOL [ DISTRIBUTION [ OTHERMIRROR] ] @@ -19,6 +14,25 @@ Examples: EOF } +exit1() { + echo "ERROR: $1" + exit 1 +} + +ask() { + echo -n "$1 (y/N)? " + read response + case "$response" in + y|Y) + : + ;; + *) + return 1 + ;; + esac + return +} + if [ $# -eq 0 ]; then showhelp exit1 "not enough parameters" @@ -32,28 +46,27 @@ aptcache="/var/cache/pbuilder/aptcache-$pool/" buildresult="$HOME/src/pbuild-$pool/" makepaths='' -for path in "$basepath" "$aptcache" "$buildresult"; do +for path in "$aptcache" "$buildresult"; do if [ ! -d "$path" ]; then - echo "W: path \"$path\" does not exist" + echo "W: Needed path \"$path\" does not exist" makepaths='yes' fi done if [ "$makepaths" = 'yes' ]; then - if [ "$force" != 'yes' ]; then - echo -n 'Create the missing paths (y/N)? ' - read response - case "$response" in - y|Y) - : - ;; - *) - exit1 "Cannot continue without those missing paths" - ;; - esac - fi + [ "$force" = 'yes' ] \ + || ask 'Create the missing path(s)' \ + || exit1 "Cannot continue without those missing paths" mkdir -p "$buildresult" - sudo mkdir -p "$basepath" "$aptcache" -i + sudo mkdir -p "$aptcache" +fi + +if [ -d "$basepath" ]; then + echo "W: Needed path \"$path\" already exists" + [ "$force" = 'yes' ] \ + || ask 'Remove the path' \ + || exit1 "Cannot continue with that path already there" + sudo rm -rf "$basepath" +fi sudo cowbuilder --create \ --buildresult "$buildresult" \ |