[151215] contrib/mp-buildbot

mojca at macports.org mojca at macports.org
Wed Aug 10 11:09:30 PDT 2016


Revision: 151215
          https://trac.macports.org/changeset/151215
Author:   mojca at macports.org
Date:     2016-08-10 11:09:29 -0700 (Wed, 10 Aug 2016)
Log Message:
-----------
mp-buildbot: create a log file with progress of installed dependencies

Modified Paths:
--------------
    contrib/mp-buildbot/mpbb
    contrib/mp-buildbot/mpbb-install-dependencies

Modified: contrib/mp-buildbot/mpbb
===================================================================
--- contrib/mp-buildbot/mpbb	2016-08-10 16:13:48 UTC (rev 151214)
+++ contrib/mp-buildbot/mpbb	2016-08-10 18:09:29 UTC (rev 151215)
@@ -14,6 +14,7 @@
 option_default_svn_revision=HEAD
 option_default_svn_url=https://svn.macports.org/repository/macports/trunk
 option_default_workdir=${PWD:-/tmp/mp-buildbot}
+option_default_logdir=${option_default_workdir}/logs
 option_archive_site=$option_default_archive_site
 option_help=$option_default_help
 option_port=$option_default_port
@@ -23,6 +24,7 @@
 option_svn_revision=$option_default_svn_revision
 option_svn_url=$option_default_svn_url
 option_workdir=$option_default_workdir
+option_logdir=$option_default_logdir
 
 errmsg() {
     printf >&2 "Error: %s\n" "$1"
@@ -77,6 +79,10 @@
    between builds. Your MacPorts installation in --prefix needs to be able to
    access this location. Defaults to your current directory, or
    /tmp/mp-buildbot if \$PWD isn't set.
+
+ --logdir LOGDIR
+   A temporary folder for storing log files to be read by the master. Defaults to
+   WORKDIR/logs. 
 EOF
 
     printf >&2 "\nCOMMANDS\n"
@@ -153,6 +159,10 @@
                     option_workdir=$2
                     shift
                     ;;
+                --logdir)
+                    option_logdir=$2
+                    shift
+                    ;;
                 --)
                     break
                     ;;

Modified: contrib/mp-buildbot/mpbb-install-dependencies
===================================================================
--- contrib/mp-buildbot/mpbb-install-dependencies	2016-08-10 16:13:48 UTC (rev 151214)
+++ contrib/mp-buildbot/mpbb-install-dependencies	2016-08-10 18:09:29 UTC (rev 151215)
@@ -11,12 +11,23 @@
 
 install-dependencies() {
     local dependencies
+    local dependencies_count
+    local dependencies_counter
+    local log_status_dependencies
 
     if [ -z "${option_port}" ]; then
         errmsg "--port is required"
         return 1
     fi
 
+    # prepare the log file
+    if ! [[ -d "${option_logdir}" ]] ; then
+        mkdir -p "${option_logdir}"
+    fi
+    log_status_dependencies=${option_logdir}/dependencies-progress.txt
+    # make ure to start with an empty file
+    echo -n "" > $log_status_dependencies
+
     # calculate list of dependencies in-order
     dependencies=$("${option_prefix}/bin/port-tclsh" "${thisdir}/tools/dependencies.tcl" "${option_port}")
     if [ $? -ne 0 ]; then
@@ -29,8 +40,14 @@
         return 0
     fi
 
-    echo "Installing dependencies:"
+    dependencies_count=$(echo "$dependencies" | wc -l | sed 's/ *//g')
+    dependencies_counter=1
+
+    echo "Installing $dependencies_count dependencies:"
+    echo "Installing $dependencies_count dependencies:" >> $log_status_dependencies
     echo "$dependencies" | sed -E 's/^/ - /'
+    echo "$dependencies" | sed -E 's/^/ - /' >> $log_status_dependencies
+    echo "" >> $log_status_dependencies
 
     echo "$dependencies" | while read dependency; do
         # Split portname +variant1+variant2 into portname and variants, where
@@ -38,10 +55,17 @@
         depname=${dependency%% *}
         depvariants=${dependency:${#depname}+1}
 
-        echo "----> Installing dependency '${depname}', variants: '${depvariants}'"
+        text="Installing dependency ($dependencies_counter of $dependencies_count) '${depname}', variants: '${depvariants}'"
+        echo "----> ${text}"
+        echo -n "${text}' ... " >> $log_status_dependencies
         if ! "${option_prefix}/bin/port" -d install --unrequested "$depname" $depvariants; then
             echo "Build of dependency '${depname}' failed, aborting." >&2
+            echo " [FAIL]" >> $log_status_dependencies
             return 1
+        else
+            echo " [OK]" >> $log_status_dependencies
+            dependencies_counter=$((dependencies_counter + 1))
         fi
     done
 }
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160810/11c420fe/attachment.html>


More information about the macports-changes mailing list