#!/bin/sh

# USAGE:
#. autorepo-sh-functions
#autorepo_lock_workdir_or_exit
#...
#autorepo_unlock_workdir_safe

. autorepo-config

autorepo_lockfile="$AUTOREPO_HOME/.autorepo-lock"
autorepo_unlock_workdir_safe() {
    parentlock --unlock --lockfile "$autorepo_lockfile" $$
}

#autorepo_unlock_workdir_force() {
#    rm -rf $autorepo_lockfile ||:
#}
#autorepo_lock_workdir_force() {
#   echo $$ > $autorepo_lockfile
#}
autorepo_unlock_workdir_trap() {
   autorepo_unlock_workdir_safe
   exit
}

trap autorepo_unlock_workdir_trap INT TERM EXIT

autorepo_lock_workdir_or_exit() {
    if ! parentlock --lock --lockfile "$autorepo_lockfile" $$; then
	echo "can't get lock $autorepo_lockfile, exiting ..."
	exit 1
    fi
}

autorepo_mail_cat_quoted_file()
{
    local out="$1"
    shift;
    local i
    for i in "$@"; do
	if [ -e "$i" ]; then
	    echo "=== BEGIN $i ===============" >> "$out"
	    cat "$i" >> "$out"
	    echo "=== END $i =================" >> "$out"
	    echo >> "$out"
	fi
    done
}
