]> git.nbdom.net Git - nb.git/commitdiff
install
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 21 Aug 2015 17:40:13 +0000 (18:40 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 21 Aug 2015 17:40:13 +0000 (18:40 +0100)
bin/nb-update
etc/profile.d/git.sh

index 9576ec3c7cfccf2f7eb84819545f662b824ce4d5..9bdfccd668207118884913815bcb2f1f5e7dcff1 100755 (executable)
@@ -1,7 +1,8 @@
 #!/usr/bin/env bash
 #####################################################################
 #
-# Call by cron/etc/nb
+# Pull update and run install script
+# Called by cron/etc/nb
 #
 #####################################################################
 #su nico -c "cd /opt/nb && git -C /opt/nb pull"
@@ -19,6 +20,7 @@ printf '#!%s\n%s\n' `which sh` 'ssh -o BatchMode=yes $@' > "$TMP" && chmod 755 "
 export GIT_SSH="$TMP"
 
 for repo in \
+  $((ls /{opt,home,home/www}/*/.nb-install | xargs -n1 dirname) 2>/dev/null) \
   $NB_ROOT \
   /opt/backup_servers \
   /{opt,home/www}/rent \
@@ -28,26 +30,35 @@ for repo in \
   /home/www/izideal \
 ; do
 
+  # Check dir
+  [ -d "$repo/.git" ] || continue
+  cd "$repo" || continue
+
+  name="$(basename $repo)"
+
+  # Get user
   case "$repo" in
     *:*) user=${repo%%:*}; repo=${repo#*:} ;;
     *) user="" ;;
   esac
 
-  [ -d "$repo/.git" ] || continue
-  cd "$repo" || continue
-
   [ -z "$user" ] && user=`ls -dl "$repo" |awk '{print $3}'`
-  cmd="git pull"
+
+  # Pull
   echo ">git pull $repo (user=$user)"
 
+  cmd="GIT_SSH=$TMP cd \"$repo\" && git pull"
+  [ -x bin/$name-install ] && cmd="$cmd && echo '>$name-install' && bin/$name-install"
+
   if [ "$USER" == "$user" ]; then
-    timeout 30 git pull
+    bash -c "$cmd"
   elif [ "$USER" == "root" ]; then
-    timeout 30 su $user -c "GIT_SSH=$TMP cd \"$repo\" && git pull"
+    su $user -c "$cmd"
   else
     echo "Ignore $repo: current user=$USER repo user=$user"
     continue
   fi
+  break
 
   ret=$?
   [ "$ret" != "0" ] && ex=$ret && echo ">err $ret"
@@ -57,12 +68,6 @@ for repo in \
 done
 rm -f "$TMP"
 
-#####################################################################
-# Install
-#
-echo ">nb-install"
-nb-install
-
 #####################################################################
 # End
 #
index f807827eba4a46ea28a3f38a288e83d6b813954e..ed51e1a2c60461c339bac6a062dc760989675b85 100644 (file)
@@ -39,7 +39,7 @@ git_create() {
   git init
 
   # Create files
-  printf "$dir\n=============\n\n\n## Synopsis\n\nDESCRIPTION\n" > README.md
+  printf "$dir\n=============\n## Synopsis\n\nDESCRIPTION\n" > README.md
 
   echo ">git add ."
   git add .
@@ -47,7 +47,9 @@ git_create() {
   echo ">git commit -m \"Created by $FUNCNAME\""
   git commit -m "Created by $FUNCNAME"
 
-  #git push --set-upstream origin master
+  echo ">git push --set-upstream origin master"
+  git push --set-upstream origin master
+
   echo ">git remote add origin $repo:${dir}.git"
   git remote add origin $repo:${dir}.git
 }