# lock the temp files
# clean up unlocked temp files
-SPOOL=/var/lib/admin/notes
-OPEN=$SPOOL/open
+: ${ZPMSPOOL:=/var/lib/admin/notes}
+
+OPEN=$ZPMSPOOL/open
set -e
shift
findnote() {
- file=$(find $SPOOL -type f -name "$1")
+ file=$(find $ZPMSPOOL -type f -name "$1")
if [ -z "$file" ] ; then
[ -z "$quiet" ] || printf "no such note $1\n" 1>&2
exit 1
}
findopen() {
- file=$(find $SPOOL/open -type f -name "$1")
+ file=$(find $ZPMSPOOL/open -type f -name "$1")
if [ -z "$file" ] ; then
[ -z "$quiet" ] || printf "no such open note $1\n" 1>&2
exit 1
;;
list)
case $1 in
- -a) find $SPOOL/ack -type f -printf '%P\n' | sort -n
+ -a) find $ZPMSPOOL/ack -type f -printf '%P\n' | sort -n
;;
- *) find $SPOOL/open -type f -printf '%P\n' | sort -n
+ *) find $ZPMSPOOL/open -type f -printf '%P\n' | sort -n
;;
esac
;;
detail)
- len=$(find $SPOOL/open -type f -printf "%P\n" | awk ' { if ( length > x ) { x = length } }END{ print x }')
- find $SPOOL/open -type f -printf "%P\n" | sort -n | while read note ; do
- subject=$(head -1 $SPOOL/open/$note)
- date=$(stat -c '%y' $SPOOL/open/$note | cut -f1 -d' ')
- owner=$(stat -c '%U' $SPOOL/open/$note)
+ len=$(find $ZPMSPOOL/open -type f -printf "%P\n" | awk ' { if ( length > x ) { x = length } }END{ print x }')
+ find $ZPMSPOOL/open -type f -printf "%P\n" | sort -n | while read note ; do
+ subject=$(head -1 $ZPMSPOOL/open/$note)
+ date=$(stat -c '%y' $ZPMSPOOL/open/$note | cut -f1 -d' ')
+ owner=$(stat -c '%U' $ZPMSPOOL/open/$note)
printf '%*s %8s %s %s\n' $len $note $owner "$date" "$subject"
done
;;
ack)
file=$(findopen $1)
- subfile=$(echo $file | sed -e "s|$SPOOL/open/||")
+ subfile=$(echo $file | sed -e "s|$ZPMSPOOL/open/||")
filedir=$(dirname $subfile)
- mkdir -p $SPOOL/ack/$filedir
- mv $file $SPOOL/ack/$filedir
+ mkdir -p $ZPMSPOOL/ack/$filedir
+ mv $file $ZPMSPOOL/ack/$filedir
;;
new)
# new -- edit a new file for package general (or ZPMNOTEPACKAGE)
# edit a new file for the note
if [ $# -eq 1 ]; then
- tmp=$(mktemp -p $SPOOL/open)
+ tmp=$(mktemp -p $ZPMSPOOL/open)
pkg=$1
- [ -f $SPOOL/.template ] && cp $SPOOL/.template $tmp
+ [ -f $ZPMSPOOL/.template ] && cp $ZPMSPOOL/.template $tmp
${EDITOR:-vi} $tmp
file=$(zpm sequence notes)
- mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
+ mv $tmp $ZPMSPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
echo "$pkg/$file"
exit 0
fi
# take note from file or stdin
pkg=$1 ; shift
- mkdir -p $SPOOL/open/$pkg
+ mkdir -p $ZPMSPOOL/open/$pkg
case $1 in
'-')
- tmp=$(mktemp -p $SPOOL/open)
+ tmp=$(mktemp -p $ZPMSPOOL/open)
cat - > $tmp
file=$(zpm sequence notes)
- mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp ; exit 1; }
+ mv $tmp $ZPMSPOOL/open/$pkg/$file || { rm -f $tmp ; exit 1; }
echo $file
;;
*)
- tmp=$(mktemp -p $SPOOL/open)
+ tmp=$(mktemp -p $ZPMSPOOL/open)
cp $1 $tmp
#flock -n -E3 $tmp vim $tmp
#if [ $? -eq 3 ]; then echo already editing $1; exit 1; fi
file=$(zpm sequence notes)
- mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
+ mv $tmp $ZPMSPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
echo $file
;;
esac