r27: added two functions
authorDamir Dzeko <Damir.Dzeko@CARNet.hr>
Tue, 29 Mar 2005 15:41:55 +0000 (15:41 +0000)
committerDamir Dzeko <Damir.Dzeko@CARNet.hr>
Tue, 29 Mar 2005 15:41:55 +0000 (15:41 +0000)
functions.sh
test/Makefile
test/test-file

index f2fc9a1..f3124da 100644 (file)
@@ -255,3 +255,60 @@ cp_mv () {
   fi
   mv "$new" "$old"
 }
   fi
   mv "$new" "$old"
 }
+# by ddzeko, Mon, 21 Mar 2005 13:35:42 +0100
+cp_yes_no () {
+  [ "$CP_SCRIPT_DEBUG" ] && set -vx
+  local prompt answer
+  prompt="$1"
+  [ "$prompt" ] || prompt="Are you sure?"
+  RET=""
+
+  # check to prevent user from using this when debconf is active
+  # (it would break communication with its backend - uses stdin/out)
+  if [ "$DEBCONF_REDIR" ]; then
+    echo "cn_yes_no: debconf redirection detected" >&2
+    return 1
+  fi
+
+  echo -n "$prompt (y)es/(n)o: "
+  read answer
+  case "$answer" in
+    y*)
+      echo
+      RET=y
+      ;;
+    n*)
+      echo
+      RET=n
+      ;;
+    *)
+      echo
+      echo "Please read the message and choose y or n"
+      cp_yes_no
+      ;;
+  esac
+}
+
+# by ddzeko, Tue, 29 Mar 2005 17:37:52 +0200
+#
+# db_get seems to return error messages if the requested variable 
+# is not found - we do not find that desirable, and checking $? with
+# set -e turned on seems to be a bit of a problem
+# --> that's why we wrap the db_get call to return unset RET variable
+#     instead of some gibberish error message that our script does
+#     not expect
+cp_db_get_wrap() {
+  local var
+  var="$1"
+  if ! db_get "$var"; then
+    case "$RET" in
+        *doesn\'t\ exist)
+          RET=""
+          ;;
+        [0-9][0-9]\ ?*) # other errors
+          RET=""
+          ;;
+    esac
+  fi
+}
+
index b3bb6af..a873b7e 100644 (file)
@@ -8,6 +8,7 @@ CPUPDATE=../cp-update.new
 
 tests: test0 test1 test2 test3 test4 test5 test6
        @echo "All tests completed successfully"
 
 tests: test0 test1 test2 test3 test4 test5 test6
        @echo "All tests completed successfully"
+       @cp test-file.start test-file
        
 clean: test0 test-file.start
        rm -f test[0-9] test[0-9][0-9] test-file.[0-9]*
        
 clean: test0 test-file.start
        rm -f test[0-9] test[0-9][0-9] test-file.[0-9]*
index 1e6e4b7..be1b37b 100644 (file)
@@ -26,4 +26,4 @@ string after the package name
 
 # Begin update by CARNet package broken2
 
 
 # Begin update by CARNet package broken2
 
-It's the end of the file and guess what? This line does not end with \n
+It's the end of the file and guess what? This line does not end with \n
\ No newline at end of file