]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
mkbuild: added --edit command line option
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Sat, 3 Jan 2009 21:11:29 +0000 (21:11 +0000)
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Sat, 3 Jan 2009 21:11:29 +0000 (21:11 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@728 04377dda-e619-0410-9926-eae83683ac58

trunk/doc/CHANGELOG
trunk/src/createpkg
trunk/src/mkbuild

index 744ee038447778dc06187040cfce4b8f92e459fc..ca17efaacf20376c70247068cefd695f01eb4c81 100644 (file)
@@ -28,6 +28,7 @@ simplepkg changelog
       - default configuration making createpkg repository integrated with simplaret
       - new repositories
     - mkbuild:
+      - added --edit command line option
       - code cleanup
       - all previous "commit" functions and command line options changed to "submit" as they
         don't really commit files into the svn repository
index 4058a6065f2b1663f3f4ae2813b69ad199ffa1e3..c1b2c772773f68890cbdd2d835259637bbe96e10 100644 (file)
@@ -543,7 +543,7 @@ case $1 in
     [ $# -ne 2 ] && usage   # two parameters is required
     PKG_PATH=`find_slackbuild $2`
     info_builds
-  exit $EXIT_CODE
+    exit $EXIT_CODE
   ;;
   '--install'|'-i')
     [ $# -ne 2 ] && usage   # two parameters is required
index 11f0785a053880d882b2e6651aa0d529c7d7ef76..65c4c5b2810c3e02577e8d706ddd226779ae7ddd 100755 (executable)
@@ -90,6 +90,8 @@ ${red}DESCRIPTION${normal}
             program version
         ${red}-V${normal}, ${red}--verbose${normal}
             print debug information
+        ${red}-e${normal}, ${red}--edit${normal}
+            edit a mkbuild
 
 ${red}EXAMPLES${normal}
         ${red}mkbuild -sa pyrex.mkbuild${normal}
@@ -186,6 +188,12 @@ function set_parameters {
         [ ${MKBUILD_NAME:0:1} = "-" ] && handle_error $ERROR_MKBUILD_INPUT_PAR "--search <mkbuild_name>"
         ACTION='search'
       ;;
+      '-e'|'--edit')
+        # Open mkbuild with $EDITOR
+        MKBUILD_NAME="${2//.mkbuild}.mkbuild"
+        [ ${MKBUILD_NAME:0:1} = "-" ] && handle_error $ERROR_MKBUILD_INPUT_PAR "--edit <mkbuild_name>"
+        ACTION='edit'
+      ;;
       '-d'|'--debug')
         # Debug mode
         set -x
@@ -1325,6 +1333,38 @@ function create_mkbuild {
 
 }
 
+function search_mkbuild {
+
+  # find a given mkbuild
+  # usage: search_mkbuild
+
+  find $MKBUILDS_DIR -iname $MKBUILD_NAME
+}
+
+function edit_mkbuild {
+
+  # edit a mkbuild
+  # usage: edit_mkbuild
+
+  local match search="`search_mkbuild`"
+
+  if [ ! -z "$search" ]; then
+    for match in $search; do
+      # Edit the first matching mkbuild
+      if [ -z "$EDITOR" ]; then
+        EDITOR="vi"
+      fi
+      $EDITOR $match
+      break
+    done
+  else
+    echo "Not found: $MKBUILD_NAME"
+    return 1
+  fi
+
+}
+
 # ----------------------------------------------------------------
 
 #=============================
@@ -1404,13 +1444,10 @@ if [ ! -z "$MKBUILD_NAME" ]; then
       make_slackbuild
     ;;
     'search')
-      SEARCH=`find $MKBUILDS_DIR -iname $MKBUILD_NAME`
-      if [ "$SEARCH" == "" ]; then
-        EXIT_CODE=1
-      else
-        EXIT_CODE=0
-        echo $SEARCH
-      fi
+      search_mkbuild
+    ;;
+    'edit')
+      edit_mkbuild
     ;;
   esac
 fi