Clone the code from gitlab
[platform/upstream/gstreamer.git] / scripts / git-update.sh
index 0c53f96..25cb7cc 100755 (executable)
@@ -12,9 +12,11 @@ CORE="\
     gstreamer gst-plugins-base"
 MODULES="\
     gst-plugins-good gst-plugins-ugly gst-plugins-bad \
-    gst-ffmpeg \
-    gst-python \
-    gnonlin"
+    gst-libav"
+EXTRA_MODULES="\
+    gst-editing-services \
+    gst-rtsp-server \
+    gst-python"
 
 tmp=${TMPDIR-/tmp}
 tmp=$tmp/git-update.$(date +%Y%m%d-%H%M-).$RANDOM.$RANDOM.$RANDOM.$$
@@ -25,20 +27,21 @@ tmp=$tmp/git-update.$(date +%Y%m%d-%H%M-).$RANDOM.$RANDOM.$RANDOM.$$
 }
 
 ERROR_LOG="$tmp/failures.log"
-touch $ERROR_LOG
 ERROR_RETURN=255
 
-for m in $CORE $MODULES; do
+CPUCORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu  2>/dev/null || echo "1")
+
+for m in $CORE $MODULES $EXTRA_MODULES; do
   if test -d $m; then
     echo "+ updating $m"
     cd $m
 
-    git pull origin master
+    git pull --rebase
     if test $? -ne 0
     then
       echo "$m: update (trying stash, pull, stash apply)" >> $ERROR_LOG
       git stash
-      git pull origin master
+      git pull --rebase
       if test $? -ne 0
       then 
         echo "$m: update" >> $ERROR_LOG
@@ -90,7 +93,7 @@ build()
     fi
 
     echo "+ $1: make"
-    make > "$tmp/$1-make.log" 2>&1
+    MAKEFLAGS="-j$CPUCORES $MAKEFLAGS" make > "$tmp/$1-make.log" 2>&1
     if test $? -ne 0
     then
       echo "$1: make [$tmp/$1-make.log]" >> $ERROR_LOG
@@ -121,6 +124,7 @@ if test -e $ERROR_LOG;  then
   echo
   cat $ERROR_LOG
 else
+  echo "Update done"
   rm -rf "$tmp"
 fi
 exit
@@ -136,7 +140,7 @@ for m in $CORE; do
 done
 
 # build other modules in parallel
-for m in $MODULES; do
+for m in $MODULES $EXTRA_MODULES; do
   build $m &
   PIDS="$PIDS $!"
 done