]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
more wrapper svn functions
authorrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Fri, 30 Jan 2009 19:58:17 +0000 (19:58 +0000)
committerrhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58>
Fri, 30 Jan 2009 19:58:17 +0000 (19:58 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@787 04377dda-e619-0410-9926-eae83683ac58

trunk/lib/common.sh
trunk/src/createpkg
trunk/src/jail-commit
trunk/src/mkbuild
trunk/src/templatepkg

index 555ecbc25d8df336856b128836e0e317f0dc3095..4bdd6b5e5ec13d3455d3f638d3607d43c0f2a486 100644 (file)
@@ -572,6 +572,28 @@ function is_writable_folder {
 #              subversion functions
 # -----------------------------------------------
 
+function svn_update {
+
+  # simple wrapper around svn update
+  # usage: svn_update
+
+  svn update
+
+}
+
+function svn_folder {
+
+  # simple svn folder checker
+  # usage: svn_folder <folder>
+
+  if [ -d "$1/.svn" ]; then
+    return
+  else
+    return 1
+  fi
+
+}
+
 function templates_under_svn {
 
   # check if svn usage is enabled
@@ -603,11 +625,11 @@ function svn_check {
 
     return 1
 
-  elif [ -d "$folder/$file/.svn" ]; then
+  elif svn_folder $folder/$file; then
 
     return 0
 
-  elif [ -d "$folder/.svn" ]; then
+  elif svn_folder $folder; then
 
     (
       cd $folder
@@ -625,7 +647,7 @@ function svn_check {
 
 }
 
-function build_repo {
+function build_svn_repo {
 
   # Checkout a new slackbuild working copy
   # input: $1 - svn directory name
@@ -639,17 +661,17 @@ function build_repo {
 
 }
 
-function check_repo {
+function check_svn_repo {
 
   # Verify if repository exist
   # input: $1 - svn directory name
   #        $2 - svn address
   [ $# -ne 2 ] && exit 5
-  [ ! -d "$1" ] && build_repo $1 $2
+  [ ! -d "$1" ] && build_svn_repo $1 $2
 
 }
 
-function sync_repo {
+function sync_svn_repo {
 
   # Synchronize repository
   # input: $1 - svn directory name
@@ -663,10 +685,10 @@ function sync_repo {
 
   mkdir -p $folder
   cd $folder
-  if [ -d ".svn" ]; then
+  if svn_folder $(pwd); then
     su_svn update
   else
-    build_repo $folder $url
+    build_svn_repo $folder $url
   fi
   cd $pwd
 
@@ -682,7 +704,7 @@ function svn_add {
     folder="`absolute_folder $file`"
     cwd="`pwd`"
 
-    if [ -d "$folder/.svn" ]; then
+    if svn_folder $folder; then
       cd $folder
       su_svn add `basename $file`
     else
@@ -697,7 +719,7 @@ function svn_add {
 
       for i in $folders; do
         cd ..
-        if [ -d ".svn" ]; then
+        if svn_folder $(pwd); then
           # add the parent folder
           su_svn add --depth=empty $i
 
@@ -734,7 +756,7 @@ function svn_del {
   file="$1"
   folder="`dirname $file`"
 
-  if [ -e "$file" ] && [ -d "$folder/.svn" ] && svn_check $file; then
+  if [ -e "$file" ] && svn_folder $folder && svn_check $file; then
     chown_svn $file && chgrp_svn $file
     ( cd $folder && su_svn del --force `basename $file` )
   else
@@ -768,7 +790,7 @@ function svn_copy {
     fi
 
     # add file to the revision system
-    if [ -d "`dirname $dest`/.svn" ]; then
+    if svn_folder `dirname $dest`; then
       chown_svn $dest && chgrp_svn $dest
       ( cd `dirname $dest` && svn_add `basename $dest` )
     fi
@@ -791,7 +813,7 @@ function svn_mkdir {
     DIR=$DIR/$i
     if [ ! -e ${DIR:1} ]; then
       su_svn mkdir ${DIR:1}
-    elif [ -d "${DIR:1}" ] && [ ! -d "${DIR:1}/.svn" ]; then
+    elif [ -d "${DIR:1}" ] && ! svn_folder ${DIR:1}; then
       su_svn add ${DIR:1}      
     fi
   done
@@ -809,7 +831,7 @@ function is_inside_svn_repo {
     folder="`absolute_folder $file`"
   fi
 
-  if [ -d "$folder/.svn" ]; then
+  if svn_folder $folder; then
     return true
   fi
 
@@ -824,7 +846,7 @@ function is_inside_svn_repo {
 
   for i in $folders; do
     cd ..
-    if [ -d ".svn" ]; then
+    if svn_folder $(pwd); then
       cd $cwd
       return true
     fi
@@ -891,7 +913,7 @@ function commit_changes {
   local repos="$1" tmpfile
   shift
 
-  if [ -d "$repos/.svn" ]; then
+  if svn_folder $repos; then
     cwd="`pwd`"
     chown_svn $repos && chgrp_svn $repos
     cd $repos
@@ -986,7 +1008,7 @@ function repository_import {
 
   mkdir -p $folder
 
-  if [ -d "$folder/.svn" ]; then
+  if svn_folder $folder; then
     echo "Packages folder $folder seens to be already under revision control, aborting."
     EXIT_CODE="1"
     return $EXIT_CODE
@@ -1037,7 +1059,7 @@ function update_template_files {
   # update template files from svn
   # usage: update_template_files
 
-  if templates_under_svn && [ -d "`template_files`/.svn" ]; then
+  if templates_under_svn && svn_folder `template_files`; then
     echo Checking out last template revision from svn...
     cd `dirname $TEMPLATE_BASE`
     svn update
@@ -1082,7 +1104,7 @@ function copy_template_files {
   if [ -d "$1" ]; then
     if [ -d "`template_files`" ]; then
       echo "Copying template files to $1..."
-      if templates_under_svn && [ -d "`template_files`/.svn" ]; then
+      if templates_under_svn && svn_folder `template_files`; then
         rsync -av --exclude=.svn `template_files`/ $1/
       else
         rsync -av `template_files`/ $1/
index 08280a40d0812bc7283f6043aff2e5b25b59ba93..9563055c7d1a9a2eba35b81cc5a7ef8a1494cbd1 100644 (file)
@@ -305,7 +305,7 @@ function repository_checkout {
 
 function repository_update {
 
-  if [ ! -z "$1" ] && [ -d "$1/.svn" ]; then
+  if [ ! -z "$1" ] && svn_folder $1; then
     echo "Fetching changes from svn repository for $1..."
     cwd="`pwd`"
     chown_svn $1 && chgrp_svn $1
@@ -319,14 +319,14 @@ function repository_status {
 
   local cwd
 
-  if [ -d "$PACKAGES_DIR/.svn" ]; then
+  if svn_folder $PACKAGES_DIR; then
     echo "Status of $PACKAGES_DIR."
     cwd="`pwd`"
     cd $PACKAGES_DIR && su_svn status
     cd $cwd
   fi
 
-  if [ -d "$NOARCH_DIR/.svn" ]; then
+  if svn_folder $NOARCH_DIR; then
     cwd="`pwd`"
     echo "Status of $NOARCH_DIR."
     cd $NOARCH_DIR && su_svn status
@@ -365,7 +365,7 @@ function create_repo_folder {
   if [ ! -d "$folder" ]; then
     echo "Creating packages folder $folder..."
     basedir="`dirname $folder`"
-    if [ -d "$basedir/.svn" ] && ! svn_check $folder; then
+    if svn_folder $basedir && ! svn_check $folder; then
       (
         cd $basedir
         chown_svn $basedir && chgrp_svn $basedir
@@ -375,7 +375,7 @@ function create_repo_folder {
       mkdir -p $folder/$SUBFOLDER
     fi
   elif [ ! -e $folder/$SUBFOLDER ]; then
-    if [ -d "$folder/.svn" ] && ! svn_check $folder/$SUBFOLDER; then
+    if svn_folder $folder && ! svn_check $folder/$SUBFOLDER; then
       (
         cd $folder
         chown_svn $folder && chgrp_svn $folder
@@ -413,7 +413,7 @@ function remove_old_package_data {
     fi
 
     # Using subversion
-    if [ -d "$makepkg_repos/.svn" ]; then
+    if svn_folder $makepkg_repos; then
 
       (
 
@@ -516,7 +516,7 @@ function sign_package {
 function create_package {
 
   # Synchronize repository
-  [ $SYNC -eq $yes ] && sync_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
+  [ $SYNC -eq $yes ] && sync_svn_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
   
   # Update keyring
   update_keyring $SLACKBUILDS_DIR/GPG-KEY
@@ -719,7 +719,7 @@ function create_package {
       mv $PACKAGES_DIR/$PKG_NAME.asc $NEW_REPOS/
     fi
   
-    if [ -d "$NEW_REPOS/.svn" ]; then
+    if svn_folder $NEW_REPOS; then
       (
         cd $NEW_REPOS
         chown_svn $PACKAGES_DIR && chgrp_svn $PACKAGES_DIR
@@ -850,7 +850,7 @@ fi
 BASENAME="`basename $0`[$CREATEPKG_CHILD]"
 
 check_config
-check_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
+check_svn_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
 
 INSTALL=$off
 NO_DEPS=$off
@@ -901,7 +901,7 @@ case $1 in
     build_queue $*
   ;;
   '--sync')
-    sync_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
+    sync_svn_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
     exit $EXIT_CODE
   ;;
   '--help'|'-h'|'')
index d91a767534b48029b3c5b4ae03b5fe98c2a18b89..60e0a36cbd4734f63883a4c23795bef6c832aaef 100755 (executable)
@@ -98,7 +98,7 @@ function template_svn_commit {
   # issue a svn_commit from a template folder
   # usage: template_svn_commit <template-folder>
 
-  if templates_under_svn && [ -d "$1/.svn" ]; then
+  if templates_under_svn && svn_folder $1; then
     cd $1
     echo First checking out from the repository...
     svn update
index dd04dec96fdc93704e549db884ee5d40934cf456..1ef3328536e9f4f95668b1ec2d687c4ccc7600ca 100755 (executable)
@@ -253,7 +253,7 @@ function set_parameters {
       '--sync' )
         # Synchronize mkbuilds repository
         mkbuild_update_keyring
-        sync_repo $MKBUILDS_DIR $MKBUILDS_SVN
+        sync_svn_repo $MKBUILDS_DIR $MKBUILDS_SVN
         exit $?
       ;;
       '-v'|'--version')
@@ -701,7 +701,7 @@ function submit_mkbuild {
   local candidate oldplace
 
   # Check mkbuild directory
-  [ ! -d $MKBUILDS_DIR ] && build_repo $MKBUILDS_DIR $MKBUILDS_SVN
+  if [ ! -d $MKBUILDS_DIR ] && build_svn_repo $MKBUILDS_DIR $MKBUILDS_SVN
 
   # Get mkbuild path in parameter file
   MKBUILD_PATH=$SLACKBUILD_PATH
@@ -784,14 +784,14 @@ function repository_status {
 
   local cwd
 
-  if [ -d "$MKBUILDS_DIR/.svn" ]; then
+  if svn_folder $MKBUILDS_DIR; then
     echo "Status of $MKBUILDS_DIR."
     cwd="`pwd`"
     cd $MKBUILDS_DIR && su_svn status
     cd $cwd
   fi
 
-  if [ -d "$SLACKBUILDS_DIR/.svn" ]; then
+  if svn_folder $SLACKBUILDS_DIR; then
     cwd="`pwd`"
     echo "Status of $SLACKBUILDS_DIR."
     cd $SLACKBUILDS_DIR && su_svn status
index 0eee07575b8c2ec6a4758384ad1f1729bb7e24a4..ba5946b1412a56dfca843e9973d2656cd369aeef 100755 (executable)
@@ -174,7 +174,7 @@ function import_export_templates {
 
   if [ ! -z "$2" ]; then
 
-    if [ ! -d "$templates_folder/.svn" ]; then
+    if ! svn_folder $templates_folder; then
 
       cd $basedir
 
@@ -225,7 +225,7 @@ function template_create {
 
     echo Creating template `basename $TEMPLATE_BASE`...
 
-    if templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then
+    if templates_under_svn && svn_folder `dirname $TEMPLATE_BASE`; then
       cd `dirname $TEMPLATE_BASE`
       svn mkdir `dirname $TEMPLATE_BASE`
     else
@@ -240,7 +240,7 @@ function template_create {
   touch `template_perms`
   touch `template_packages`
 
-  if templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then
+  if templates_under_svn && svn_folder `dirname $TEMPLATE_BASE`; then
 
     cd `dirname $TEMPLATE_BASE`
 
@@ -268,7 +268,7 @@ function template_create {
       info_commit="yes"
     fi
 
-  elif templates_under_svn && [ -d "$TEMPLATE_FOLDER/.svn" ]; then
+  elif templates_under_svn && svn_folder "$TEMPLATE_FOLDER"; then
 
     mkdir `template_files` `template_scripts`
     cd $TEMPLATE_FOLDER
@@ -315,7 +315,7 @@ function template_create {
       cat $orig_packages > `template_packages`
     fi
       
-    if templates_under_svn && [ -d "$orig_template/.svn" ]; then
+    if templates_under_svn && svn_folder $orig_template; then
 
       cd `dirname $TEMPLATE_BASE`
 
@@ -410,7 +410,7 @@ function template_update {
 
   done
 
-  if ! svn_check `template_packages` && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then
+  if ! svn_check `template_packages` && svn_folder `dirname $TEMPLATE_BASE`; then
     cd `dirname $TEMPLATE_BASE`
     svn add `basedir $(template_packages)`
   fi
@@ -443,7 +443,7 @@ function template_add {
         if [ ! -a "`template_files`/$candidate" ]; then
           mkdir -p `template_files`/`dirname $candidate`
           cp -a $jail/$candidate `template_files`/$candidate
-          if templates_under_svn && [ -d "`template_files`/.svn" ]; then
+          if templates_under_svn && svn_folder `template_files`; then
             cwd="`pwd`"
             cd `template_files`
             svn add ./$candidate
@@ -472,15 +472,15 @@ function template_add {
 
       destination="`echo $(template_files)/$file | sed -e 's/\/$//'`"
 
-      if templates_under_svn && [ -d "`template_files`/.svn" ]; then
+      if templates_under_svn && svn_folder `template_files`; then
 
         candidate="./`dirname $file`"
 
-        if [ ! -d "`template_files`/$candidate/.svn" ]; then
+        if ! svn_folder `template_files`/$candidate; then
           mkdir -p `template_files`/$candidate
           cd `template_files`/`dirname $candidate`
           while true; do
-            if [ -d ".svn" ]; then
+            if svn_folder $(pwd); then
               svn add `basename $candidate`
               break
             else
@@ -550,12 +550,12 @@ function check_template_exist {
         mkdir $component
       fi
 
-      if templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ]; then
+      if templates_under_svn && svn_folder `dirname $TEMPLATE_BASE`; then
         svn add $component
         info_commit="yes"
       fi
 
-    elif templates_under_svn && [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && \
+    elif templates_under_svn && svn_folder `dirname $TEMPLATE_BASE` && \
          ! svn_check $component; then
 
       cd `dirname $TEMPLATE_BASE`
@@ -580,7 +580,7 @@ function template_delete {
   if [ -e "`template_files`/$1" ]; then
 
     # first try to remove the file from the template
-    if templates_under_svn && [ -d "`template_files`/.svn" ]; then
+    if templates_under_svn && svn_folder `template_files`; then
       cd `template_files`
       svn del --force ./$1 || rm -rf ./$1
       if [ -z "$SILENT" ]; then
@@ -604,7 +604,7 @@ function template_delete {
     fi
 
   elif [ -e "`template_scripts`/$1" ]; then
-    if templates_under_svn && [ -d "`template_scripts`/.svn" ]; then
+    if templates_under_svn && svn_folder `template_scripts`; then
       cd `template_scripts`
       svn del --force ./$1 || rm -rf ./$1
       if [ -z "$SILENT" ]; then
@@ -640,7 +640,7 @@ function template_remove {
     exit 1
   fi
 
-  if templates_under_svn && [ -d "$basedir/.svn" ]; then
+  if templates_under_svn && svn_folder $basedir; then
     cd $TEMPLATE_FOLDER
     svn update
     svn del --force $template
@@ -729,7 +729,7 @@ function template_post_install_edit {
       vi `template_scripts`/$1
     fi
     if [ "$sha1sum" != "`sha1sum $(template_scripts)/$1`" ] && \
-       [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && [ -z "$SILENT" ]; then
+       svn_folder `dirname $TEMPLATE_BASE` && [ -z "$SILENT" ]; then
       echo "Please run 'jail-commit --all' to send changes to the repository"
     fi    
   else
@@ -743,7 +743,7 @@ function template_post_install_edit {
       touch `template_scripts`/$1
       chmod +x `template_scripts`/$1
 
-      if [ -d "`template_scripts`/.svn" ]; then
+      if svn_folder `template_scripts`; then
         cd `template_scripts`
         svn add $1
         if [ -z "$SILENT" ]; then
@@ -774,7 +774,7 @@ function template_edit {
       vi `template_packages`
     fi
     if [ "$sha1sum" != "`sha1sum $(template_packages)`" ] && \
-       [ -d "`dirname $TEMPLATE_BASE`/.svn" ] && [ -z "$SILENT" ]; then
+       svn_folder `dirname $TEMPLATE_BASE` && [ -z "$SILENT" ]; then
       echo "Please run 'jail-commit --all' to send changes to the repository"
     fi
   elif [ -e "`template_packages`" ]; then
@@ -937,7 +937,7 @@ elif [ "$1" == "-d" ] || [ "$1" == "--delete" ]; then
 
 elif [ "$1" == "-s" ] || [ "$1" == "--sync" ]; then
 
-  if templates_under_svn && [ -d "$TEMPLATE_FOLDER/.svn" ]; then
+  if templates_under_svn && svn_folder $TEMPLATE_FOLDER; then
     ( cd $TEMPLATE_FOLDER && svn update )
     true
   fi