--- /dev/null
+install:
+ install -D zpm $(DESTDIR)/bin/zpm
+ install -D zpm-note $(DESTDIR)/bin/zpm-note
+ install -D zpm-sequence $(DESTDIR)/bin/zpm-sequence
+ install -d -m2775 -o root -g adm $(DESTDIR)/var/lib/admin
+ install -d -m2775 -o root -g adm $(DESTDIR)/var/lib/admin/notes
+ SPOOL=$(DESTDIR)/var/lib/admin/notes ./zpm-sequence -c notes
SPOOL=/var/spool/admin/notes
OPEN=$SPOOL/open
+set -e
+
#umask 007
cd $SPOOL || { echo "can't chdir to $SPOOL" ; exit 1; }
echo $file
}
+findopen() {
+ file=$(find $SPOOL/open -type f -name "$1")
+ if [ -z "$file" ] ; then
+ printf "no such open note $1\n"
+ exit 1
+ fi
+ echo $file
+}
+
case $cmd in
list)
- find $SPOOL/open -type f -printf '%P\n'
+ case $1 in
+ -a) find $SPOOL/ack -type f -printf '%P\n' | sort -n
+ ;;
+ *) find $SPOOL/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' ')
+ printf '%*s %s %s\n' $len $note "$date" "$subject"
+ done
;;
ack)
- file=$(findnote $1)
- mkdir -p $SPOOL/ack/$1
- mv $SPOOL/open/$1/$2 $SPOOL/ack/$1/$2
+ file=$(findopen $1)
+ subfile=$(echo $file | sed -e "s|$SPOOL/open/||")
+ filedir=$(dirname $subfile)
+ mkdir -p $SPOOL/ack/$filedir
+ mv $file $SPOOL/ack/$filedir
+ exit 0
;;
new)
if [ $# -eq 1 ]; then set general $1; fi
tmp=$(mktemp -p $SPOOL/open)
cat - > $tmp
file=$(zpm sequence notes)
- mv $tmp $SPOOL/open/$pkg/$file
+ mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp ; exit 1; }
echo created $file
;;
*)
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
+ mv $tmp $SPOOL/open/$pkg/$file || { rm -f $tmp; exit 1; }
+ echo created $file
;;
esac
;;