making invocations of mktemp portable (FreeBSD does not have a default value for...
[monkeysphere.git] / src / common
index 4fec4520026ea02e6e696108778848cd2daf3abd..c8a7db65425523a59d84ec7aab094e384db96100 100644 (file)
@@ -98,11 +98,12 @@ cutline() {
 lock() {
     local use_lockfileprogs=true
     local action="$1"
-    local file="$file"
+    local file="$2"
 
     if ! ( which lockfile-create >/dev/null 2>/dev/null ) ; then
        if ! ( which lockfile >/dev/null ); then
            failure "Neither lockfile-create nor lockfile are in the path!"
+       fi
        use_lockfileprogs=
     fi
     
@@ -116,9 +117,9 @@ lock() {
            ;;
        touch)  
            if [ -n "$use_lockfileprogs" ] ; then
-               lockfile-touch "$file"
+               lockfile-touch --oneshot "$file"
            else
-               # Nothing to do here
+               : Nothing to do here
            fi
            ;;
        remove)
@@ -725,7 +726,7 @@ process_host_known_hosts() {
            if [ "$HASH_KNOWN_HOSTS" = 'true' ] ; then
                # FIXME: this is really hackish cause ssh-keygen won't
                # hash from stdin to stdout
-               tmpfile=$(mktemp)
+               tmpfile=$(mktemp ${TMPDIR:-/tmp}/tmp.XXXXXXXXXX)
                ssh2known_hosts "$host" "$sshKey" > "$tmpfile"
                ssh-keygen -H -f "$tmpfile" 2> /dev/null
                cat "$tmpfile" >> "$KNOWN_HOSTS"
@@ -788,7 +789,7 @@ update_known_hosts() {
        esac
 
        # touch the lockfile, for good measure.
-       lock touch --oneshot "$KNOWN_HOSTS"
+       lock touch "$KNOWN_HOSTS"
     done
 
     # remove the lockfile and the trap
@@ -931,7 +932,7 @@ update_authorized_keys() {
        esac
 
        # touch the lockfile, for good measure.
-       lock touch --oneshot "$AUTHORIZED_KEYS"
+       lock touch "$AUTHORIZED_KEYS"
     done
 
     # remove the lockfile and the trap