]> pd.if.org Git - zpackage/commitdiff
added makefile for install
authorNathan Wagner <nw@hydaspes.if.org>
Tue, 17 Feb 2015 05:57:50 +0000 (05:57 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Tue, 17 Feb 2015 05:57:50 +0000 (05:57 +0000)
Makefile [new file with mode: 0644]
zpm-note

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..3b468e7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+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
index 2ca9a69a97bf1717788b9941ab8f474644fe7ca6..3ef442a758b9f5217913b18e64750c792c0a2411 100755 (executable)
--- a/zpm-note
+++ b/zpm-note
@@ -13,6 +13,8 @@
 SPOOL=/var/spool/admin/notes
 OPEN=$SPOOL/open
 
+set -e
+
 #umask 007
 
 cd $SPOOL || { echo "can't chdir to $SPOOL" ; exit 1; }
@@ -31,14 +33,39 @@ findnote() {
        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
@@ -49,7 +76,7 @@ case $cmd in
                                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
                                ;;
                        *)
@@ -57,8 +84,8 @@ case $cmd in
                                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
                ;;