r3 - trunk/logbuch-tools

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Thu Dec 14 13:28:15 CET 2006


Author: thomas
Date: 2006-12-14 13:28:15 +0100 (Thu, 14 Dec 2006)
New Revision: 3

Modified:
   trunk/logbuch-tools/logbuch-installer
Log:
Allow editors in non-standard paths. Add support for emacs.

Original commit on Fri Jul 28 12:37:49 2006 +0200 by Sascha Wilde


Modified: trunk/logbuch-tools/logbuch-installer
===================================================================
--- trunk/logbuch-tools/logbuch-installer	2006-12-14 12:26:00 UTC (rev 2)
+++ trunk/logbuch-tools/logbuch-installer	2006-12-14 12:28:15 UTC (rev 3)
@@ -43,9 +43,16 @@
 #
 #     ln log apt-install && ln log apt-upgrade
 
+#======================================================================
 
-PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+# Die folgende Zeile ist potentiell sicherheitskritisch und sollte
+# ggf.  auskommentiert werden -- sie ist aber nötig, damit
+# z.B. Editoren, die nicht im Standard Pfad liegen gefunden werden. 
+# sascha <wilde at intevation.de>
+ADDITIONAL_PATH=$PATH
 
+PATH=$ADDITIONAL_PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+
 LOGBUCH="/etc/logbuch.txt"
 TMPFILE=""
 
@@ -62,8 +69,11 @@
 
     VI="`type -p vim`"
     test "$VI" || VI="`type -p vi`"
-    if [ -z "$VI" ]; then
-        echo "Bitte installieren Sie 'vim' oder einen anderen vi-Editor." >&2
+
+    EMACS="`type -p emacs`"
+
+    if [ -z "$VI" -a -z "$EMACS" ]; then
+        echo "Bitte installieren Sie 'vim', einen anderen vi-Editor oder den Emacs." >&2
         exit 1
     fi
 
@@ -109,7 +119,15 @@
 
 edit_logbuch() {
     unset DISPLAY
-    $VI -c "/^[0-9]*\.[0-9]*\.[0-9]*/-1;r $1" "$LOGBUCH"
+    if [ "$EMACS" -a \( -z "$VI" -o "$EDITOR" = "emacs" \) ]
+    then
+      $EMACS -eval "(progn (find-file \"$LOGBUCH\")
+                           (search-forward-regexp \"^[0-9]+\\\\.[0-9]+\\\\.[0-9]+\")
+                           (move-beginning-of-line 1)
+                           (insert-file-contents \"$1\"))"
+    else
+      $VI -c "/^[0-9]*\.[0-9]*\.[0-9]*/-1;r $1" "$LOGBUCH"
+    fi
 }
 
 delete_tmpfile() {



More information about the Adminton-commits mailing list