r42: Vratio greskom maknute test#.ok fajlove.
[carnet-tools-cn.git] / functions.sh
index 73d69fc..70c914c 100644 (file)
@@ -183,7 +183,7 @@ cp_check_and_sed() {
     [ -h "$i" ]        && i=$(readlink -f "$i")
     sed "$sedcmd" "$i" > "$i.dpkg-tmp"
     if ! cmp -s "$i" "$i.dpkg-tmp" 2>&1 >/dev/null; then
-      cp_safe_file_replace "$i.dpkg-tmp" "$i"
+      cp_mv "$i.dpkg-tmp" "$i"
     else
       rm "$i.dpkg-tmp"
     fi
@@ -253,3 +253,68 @@ cp_mv () {
   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 "cp_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() {
+  local var
+  var="$1"
+  
+  # check to prevent user from using this before activating debconf
+  # confmodule needs to be loaded before accessing db_* functions
+  if [ -z "$DEBCONF_REDIR" ]; then
+    echo "cp_db_get: debconf not activated!" >&2
+    return 1
+  fi
+  if ! db_get "$var"; then
+    case "$RET" in
+        *doesn\'t\ exist)
+          RET=""
+          ;;
+        [0-9][0-9]\ ?*) # other errors
+          RET=""
+          ;;
+    esac
+  fi
+}
+