]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
attempting to fix #73
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Thu, 26 Feb 2009 00:08:44 +0000 (00:08 +0000)
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Thu, 26 Feb 2009 00:08:44 +0000 (00:08 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@793 04377dda-e619-0410-9926-eae83683ac58

trunk/src/mkbuild

index a0167659fc24354bae296473a1b68f3581bc4aca..b490d6ee34db3671ed2406364e95247ec4908e5f 100755 (executable)
@@ -203,6 +203,24 @@ function set_parameters {
         set_mkbuild_name $2
         break # we need to break otherwise specific arguments are evalued
       ;;
+      '-ds'|'--delete-slackbuild')
+        # Delete SlackBuild
+        ACTION="delete_slackbuild"
+        set_mkbuild_name $2
+        break # we need to break otherwise specific arguments are evalued
+      ;;
+      '-dm'|'--delete-mkbuild')
+        # Delete mkbuild
+        ACTION="delete_mkbuild"
+        set_mkbuild_name $2
+        break # we need to break otherwise specific arguments are evalued
+      ;;
+      '-da'|'--delete-all')
+        # Delete mkbuild and SlackBuild
+        ACTION="delete_all"
+        set_mkbuild_name $2
+        break # we need to break otherwise specific arguments are evalued
+      ;;
       '--status')
         # Repository status
         ACTION="status"
@@ -1669,29 +1687,47 @@ function check_manifest_signature {
 
 }
 
-function delete_mkbuilds {
+function delete_mkbuild {
 
   # delete content from a mkbuild folder
   # usage: delete_mkbuilds [file]
 
-  local file="$1"
-  local folder="`basename $MKBUILD_NAME`"
-
-  if [ -d "$folder" ]; then
-    if [ -z "$1" ]; then
-      # Delete the whole mkbuild folder
-      svn_del $folder
-    elif [ -e "$folder/$file" ]; then
-      svn_del $folder/$file
+  local folder candidate file="$1"
+  local name="`basename $MKBUILD_NAME .mkbuild`.mkbuild"
+
+  for candidate in `find $MKBUILDS_DIR -name $name`; do
+    folder="`dirname $candidate`"
+    if [ -d "$folder" ]; then
+      if [ -z "$1" ]; then
+        # Delete the whole mkbuild folder
+        svn_del $folder
+      elif [ -e "$folder/$file" ]; then
+        svn_del $folder/$file
+      fi
     fi
-  fi
+  done
 
 }
 
-function delete_slackbuilds {
+function delete_slackbuild {
+
+  # delete content from a SlackBuild folder
+  # usage: delete_slackbuilds [file]
 
-  # TODO
-  true
+  local folder candidate file="$1"
+  local name="`basename $MKBUILD_NAME .mkbuild`.SlackBuild"
+
+  for candidate in `find $SLACKBUILDS_DIR -name $name`; do
+    folder="`dirname $candidate`"
+    if [ -d "$folder" ]; then
+      if [ -z "$1" ]; then
+        # Delete the whole mkbuild folder
+        svn_del $folder
+      elif [ -e "$folder/$file" ]; then
+        svn_del $folder/$file
+      fi
+    fi
+  done
 
 }
 
@@ -1711,8 +1747,8 @@ function working_copy {
   local copy tmpfolder name
 
   if [ -e "$MKBUILD_NAME" ]; then
-    name=$(basename $MKBUILD_NAME .mkbuild)
-    copy=$(basename $(basename $MKBUILD_NAME .mkbuild))
+    name="$(basename $MKBUILD_NAME .mkbuild)"
+    copy="$(basename $(basename $MKBUILD_NAME .mkbuild))"
     if [ -d "$copy" ]; then
       tmpfolder="`mktemp $name.XXXXXX`"
       mv $copy $tmpfolder/
@@ -1823,6 +1859,16 @@ case $ACTION in
     import_mkbuilds $*
     import_slackbuilds $*
   ;;
+  'delete_slackbuild')
+    delete_slackbuild
+  ;;
+  'delete_mkbuild')
+    delete_mkbuild
+  ;;
+  'delete_all')
+    delete_mkbuild
+    delete_slackbuild
+  ;;
   'new')
     create_mkbuild
   ;;