[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