From 2fc4663d0afe9869d06f4ca7001636cdcc38042c Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 8 Jun 2016 16:39:00 -0400 Subject: first pass at new buildscripts logging convention --- build.sh | 85 +++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/build.sh b/build.sh index 20d3a41f83..9a4a8d1054 100755 --- a/build.sh +++ b/build.sh @@ -16,11 +16,11 @@ # * The special style in which python is invoked is intentional to permit # use of a native python install on windows - which requires paths in DOS form -check_for() -{ - if [ -e "$2" ]; then found_dict='FOUND'; else found_dict='MISSING'; fi - echo "$1 ${found_dict} '$2' " 1>&2 -} +# check_for() ] +# { ] +# if [ -e "$2" !#\; then found_dict='FOUND'; else found_dict='MISSING'; fi ] +# echo "$1 ${found_dict} '$2' " 1>&2 ] +# } ] build_dir_Darwin() { @@ -107,7 +107,8 @@ pre_build() -DVIEWER_CHANNEL:STRING="\"$viewer_channel\"" \ -DGRID:STRING="\"$viewer_grid\"" \ -DLL_TESTS:BOOL="$run_tests" \ - -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url + -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url \ + 2>&$stderr end_section "Configure $variant" } @@ -119,12 +120,12 @@ package_llphysicsextensions_tpv() if [ "$variant" = "Release" ] then llpetpvcfg=$build_dir/packages/llphysicsextensions/autobuild-tpv.xml - "$autobuild" build --quiet --config-file $llpetpvcfg -c Tpv + "$autobuild" build --quiet --config-file $llpetpvcfg -c Tpv 2>&$stderr # capture the package file name for use in upload later... PKGTMP=`mktemp -t pgktpv.XXXXXX` trap "rm $PKGTMP* 2>/dev/null" 0 - "$autobuild" package --quiet --config-file $llpetpvcfg --results-file "$(native_path $PKGTMP)" + "$autobuild" package --quiet --config-file $llpetpvcfg --results-file "$(native_path $PKGTMP)" 2>&$stderr tpv_status=$? if [ -r "${PKGTMP}" ] then @@ -146,18 +147,17 @@ build() local variant="$1" if $build_viewer then - "$autobuild" build --no-configure -c $variant + "$autobuild" build --no-configure -c $variant 2>&$stderr build_ok=$? # Run build extensions - if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ]; then - for extension in ${build_dir}/packages/build-extensions/*.sh; do + if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ] + then + for extension in ${build_dir}/packages/build-extensions/*.sh + do begin_section "Extension $extension" - . $extension + . $extension 2>&$trace end_section "Extension $extension" - if [ $build_ok -ne 0 ]; then - break - fi done fi @@ -173,25 +173,23 @@ build() fi } -# Check to see if we were invoked from the wrapper, if not, re-exec ourselves from there -if [ "x$arch" = x ] +################################################################ +# Start of the actual script +################################################################ + +# Check to see if we were invoked from the master buildscripts wrapper, if not, fail +if [ "x${BUILDSCRIPTS_SUPPORT_FUNCTIONS}" = x ] then - top=`hg root` - if [ -x "$top/../buildscripts/hg/bin/build.sh" ] - then - exec "$top/../buildscripts/hg/bin/build.sh" "$top" - else - cat <&2 exit 1 - fi fi # Check to see if we're skipping the platform -eval '$build_'"$arch" || pass +if ! '$build_'"$arch" +then + record_event "building on architecture $arch is disabled" + pass +fi # ensure AUTOBUILD is in native path form for child processes AUTOBUILD="$(native_path "$AUTOBUILD")" @@ -235,14 +233,13 @@ do begin_section "Initialize $variant Build Directory" rm -rf "$build_dir" - mkdir -p "$build_dir" - mkdir -p "$build_dir/tmp" + mkdir -p "$build_dir/tmp" 2>&$stderr end_section "Initialize $variant Build Directory" if pre_build "$variant" "$build_dir" then begin_section "Build $variant" - build "$variant" "$build_dir" 2>&1 | tee -a "$build_log" | sed -n 's/^ *\(##teamcity.*\)/\1/p' + build "$variant" "$build_dir" if `cat "$build_dir/build_ok"` then case "$variant" in @@ -270,7 +267,7 @@ do fi if [ -d "$build_dir/doxygen/html" ] then - tar -c -f "$build_dir/viewer-doxygen.tar.bz2" --strip-components 3 "$build_dir/doxygen/html" + tar -c -f "$build_dir/viewer-doxygen.tar.bz2" --strip-components 3 "$build_dir/doxygen/html" 2>&$stderr upload_item docs "$build_dir/viewer-doxygen.tar.bz2" binary/octet-stream fi ;; @@ -307,13 +304,13 @@ then --distribution unstable \ --newversion "${VIEWER_VERSION}" \ "Automated build #$build_id, repository $branch revision $revision." \ - >> "$build_log" 2>&1 + 2>&$stderr # build the debian package - $pkg_default_debuild_command >>"$build_log" 2>&1 || record_failure "\"$pkg_default_debuild_command\" failed." + $pkg_default_debuild_command 2>&$stderr || record_failure "\"$pkg_default_debuild_command\" failed." # Unmangle the changelog file - hg revert debian/changelog + hg revert debian/changelog 2>&$stderr end_section "Build Viewer Debian Package" @@ -324,8 +321,8 @@ then done fi # Move any .deb results. - mkdir -p ../packages_public - mkdir -p ../packages_private + mkdir -p ../packages_public 2>&$stderr + mkdir -p ../packages_private 2>&$stderr mv ${build_dir}/packages/*.deb ../packages_public 2>/dev/null || true mv ${build_dir}/packages/packages_private/*.deb ../packages_private 2>/dev/null || true @@ -345,7 +342,7 @@ then # doesn't make a remote repo again. for debian_repo_type in debian_repo debian_repo_private; do if [ -d "$build_log_dir/$debian_repo_type" ]; then - mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed + mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed 2>&$stderr fi done @@ -359,10 +356,10 @@ then end_section "Upload Debian Repository" else - echo debian build not enabled + record_event "debian build not enabled" fi else - echo skipping debian build due to failed build. + record_event "skipping debian build due to failed build" fi fi @@ -376,7 +373,7 @@ then package=$(installer_$arch) if [ x"$package" = x ] || test -d "$package" then - # Coverity doesn't package, so it's ok, anything else is fail + record_event "??? mystery event $package // $build_coverity" succeeded=$build_coverity else # Upload base package. @@ -428,12 +425,12 @@ then fi end_section Upload Installer else - echo skipping upload of installer + record_event "skipping upload of installer" fi else - echo skipping upload of installer due to failed build. + record_event "skipping upload of installer due to failed build" fi # The branch independent build.sh script invoking this script will finish processing -- cgit v1.2.3 From 7e910beac39341707940e94ae329952e7f6ab965 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 9 Jun 2016 06:04:27 -0400 Subject: use autobuild --quiet because it puts everything on stderr --- build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.sh b/build.sh index 9a4a8d1054..e54b8ff047 100755 --- a/build.sh +++ b/build.sh @@ -101,7 +101,7 @@ pre_build() && [ -r "$master_message_template_checkout/message_template.msg" ] \ && template_verifier_master_url="-DTEMPLATE_VERIFIER_MASTER_URL=file://$master_message_template_checkout/message_template.msg" - "$autobuild" configure -c $variant -- \ + "$autobuild" configure --quiet -c $variant -- \ -DPACKAGE:BOOL=ON \ -DRELEASE_CRASH_REPORTING:BOOL=ON \ -DVIEWER_CHANNEL:STRING="\"$viewer_channel\"" \ @@ -202,7 +202,7 @@ then fi # load autobuild provided shell functions and variables -eval "$("$autobuild" source_environment)" +eval "$("$autobuild" --quiet source_environment)" # something about the additional_packages mechanism messes up buildscripts results.py on Linux # since we don't care about those packages on Linux, just zero it out, yes - a HACK -- cgit v1.2.3 From 1671de36a0172b1a5aed799bd050a8f015599262 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 9 Jun 2016 07:59:50 -0400 Subject: correct check for disabled build; remove unused function --- build.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/build.sh b/build.sh index e54b8ff047..a978af89ab 100755 --- a/build.sh +++ b/build.sh @@ -16,12 +16,6 @@ # * The special style in which python is invoked is intentional to permit # use of a native python install on windows - which requires paths in DOS form -# check_for() ] -# { ] -# if [ -e "$2" !#\; then found_dict='FOUND'; else found_dict='MISSING'; fi ] -# echo "$1 ${found_dict} '$2' " 1>&2 ] -# } ] - build_dir_Darwin() { echo build-darwin-i386 @@ -185,7 +179,7 @@ then fi # Check to see if we're skipping the platform -if ! '$build_'"$arch" +if ! eval '$build_'"$arch" then record_event "building on architecture $arch is disabled" pass -- cgit v1.2.3 From 97f11bc635935def177d4c1a58ba1c6a76f0b540 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 9 Jun 2016 10:03:07 -0400 Subject: move build number informative output to stdout --- indra/cmake/BuildVersion.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/cmake/BuildVersion.cmake b/indra/cmake/BuildVersion.cmake index 195d6e705e..6ffa698a1c 100644 --- a/indra/cmake/BuildVersion.cmake +++ b/indra/cmake/BuildVersion.cmake @@ -12,7 +12,7 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n if (DEFINED ENV{revision}) set(VIEWER_VERSION_REVISION $ENV{revision}) - message("Revision (from environment): ${VIEWER_VERSION_REVISION}") + message(STATUS "Revision (from environment): ${VIEWER_VERSION_REVISION}") else (DEFINED ENV{revision}) find_program(MERCURIAL @@ -33,23 +33,23 @@ if (NOT DEFINED VIEWER_SHORT_VERSION) # will be true in indra/, false in indra/n string(REGEX REPLACE "[^0-9a-f]" "" VIEWER_VERSION_REVISION ${VIEWER_VERSION_REVISION}) endif (NOT ${hg_id_result} EQUAL 0) if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") - message("Revision (from hg) ${VIEWER_VERSION_REVISION}") + message(STATUS "Revision (from hg) ${VIEWER_VERSION_REVISION}") else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") - message("Revision not set (repository not found?); using 0") + message(STATUS "Revision not set (repository not found?); using 0") set(VIEWER_VERSION_REVISION 0 ) endif ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$") else (MERCURIAL) - message("Revision not set: mercurial not found; using 0") + message(STATUS "Revision not set: mercurial not found; using 0") set(VIEWER_VERSION_REVISION 0) endif (MERCURIAL) endif (DEFINED ENV{revision}) - message("Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") + message(STATUS "Building '${VIEWER_CHANNEL}' Version ${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}") else ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) message(SEND_ERROR "Cannot get viewer version from '${VIEWER_VERSION_BASE_FILE}'") endif ( EXISTS ${VIEWER_VERSION_BASE_FILE} ) if ("${VIEWER_VERSION_REVISION}" STREQUAL "") - message("Ultimate fallback, revision was blank or not set: will use 0") + message(STATUS "Ultimate fallback, revision was blank or not set: will use 0") set(VIEWER_VERSION_REVISION 0) endif ("${VIEWER_VERSION_REVISION}" STREQUAL "") -- cgit v1.2.3 From 5cc46513e723add7cad959d4a687f2ba199b1535 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 16 Jun 2016 17:51:19 -0400 Subject: remove experimental redirects --- build.sh | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/build.sh b/build.sh index a978af89ab..1edc4ae58d 100755 --- a/build.sh +++ b/build.sh @@ -101,8 +101,7 @@ pre_build() -DVIEWER_CHANNEL:STRING="\"$viewer_channel\"" \ -DGRID:STRING="\"$viewer_grid\"" \ -DLL_TESTS:BOOL="$run_tests" \ - -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url \ - 2>&$stderr + -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url end_section "Configure $variant" } @@ -114,12 +113,12 @@ package_llphysicsextensions_tpv() if [ "$variant" = "Release" ] then llpetpvcfg=$build_dir/packages/llphysicsextensions/autobuild-tpv.xml - "$autobuild" build --quiet --config-file $llpetpvcfg -c Tpv 2>&$stderr + "$autobuild" build --quiet --config-file $llpetpvcfg -c Tpv # capture the package file name for use in upload later... PKGTMP=`mktemp -t pgktpv.XXXXXX` trap "rm $PKGTMP* 2>/dev/null" 0 - "$autobuild" package --quiet --config-file $llpetpvcfg --results-file "$(native_path $PKGTMP)" 2>&$stderr + "$autobuild" package --quiet --config-file $llpetpvcfg --results-file "$(native_path $PKGTMP)" tpv_status=$? if [ -r "${PKGTMP}" ] then @@ -141,7 +140,7 @@ build() local variant="$1" if $build_viewer then - "$autobuild" build --no-configure -c $variant 2>&$stderr + "$autobuild" build --no-configure -c $variant build_ok=$? # Run build extensions @@ -150,7 +149,7 @@ build() for extension in ${build_dir}/packages/build-extensions/*.sh do begin_section "Extension $extension" - . $extension 2>&$trace + . $extension end_section "Extension $extension" done fi @@ -227,7 +226,7 @@ do begin_section "Initialize $variant Build Directory" rm -rf "$build_dir" - mkdir -p "$build_dir/tmp" 2>&$stderr + mkdir -p "$build_dir/tmp" end_section "Initialize $variant Build Directory" if pre_build "$variant" "$build_dir" @@ -246,7 +245,7 @@ do then record_dependencies_graph # defined in buildscripts/hg/bin/build.sh else - record_event "TBD - no dependency graph for linux (probable python version dependency)" 1>&2 + record_event "TBD - no dependency graph for linux (probable python version dependency)" fi end_section "Autobuild metadata" else @@ -261,7 +260,7 @@ do fi if [ -d "$build_dir/doxygen/html" ] then - tar -c -f "$build_dir/viewer-doxygen.tar.bz2" --strip-components 3 "$build_dir/doxygen/html" 2>&$stderr + tar -c -f "$build_dir/viewer-doxygen.tar.bz2" --strip-components 3 "$build_dir/doxygen/html" upload_item docs "$build_dir/viewer-doxygen.tar.bz2" binary/octet-stream fi ;; @@ -297,14 +296,13 @@ then dch --force-bad-version \ --distribution unstable \ --newversion "${VIEWER_VERSION}" \ - "Automated build #$build_id, repository $branch revision $revision." \ - 2>&$stderr + "Automated build #$build_id, repository $branch revision $revision." # build the debian package - $pkg_default_debuild_command 2>&$stderr || record_failure "\"$pkg_default_debuild_command\" failed." + $pkg_default_debuild_command || record_failure "\"$pkg_default_debuild_command\" failed." # Unmangle the changelog file - hg revert debian/changelog 2>&$stderr + hg revert debian/changelog end_section "Build Viewer Debian Package" @@ -315,8 +313,8 @@ then done fi # Move any .deb results. - mkdir -p ../packages_public 2>&$stderr - mkdir -p ../packages_private 2>&$stderr + mkdir -p ../packages_public + mkdir -p ../packages_private mv ${build_dir}/packages/*.deb ../packages_public 2>/dev/null || true mv ${build_dir}/packages/packages_private/*.deb ../packages_private 2>/dev/null || true @@ -336,7 +334,7 @@ then # doesn't make a remote repo again. for debian_repo_type in debian_repo debian_repo_private; do if [ -d "$build_log_dir/$debian_repo_type" ]; then - mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed 2>&$stderr + mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed fi done -- cgit v1.2.3 From 1a3f7b599e3ed71216ebb7bad1365896f8ffca11 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 17 Jun 2016 13:33:52 -0400 Subject: introduce deliberate error for buildscript testing --- indra/newview/llappviewer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b6d02ea2f8..5138e021cc 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -717,6 +717,8 @@ LLAppViewer::LLAppViewer() gLoggedInTime.stop(); + gBogusVariable = 1; + initLoggingAndGetLastDuration(); processMarkerFiles(); -- cgit v1.2.3 From 26cbfbbc0cf09182593c2bc16ac89b6403b701d4 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 17 Jun 2016 14:42:48 -0400 Subject: simplify early failures --- build.sh | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/build.sh b/build.sh index 1edc4ae58d..d67cb32e7c 100755 --- a/build.sh +++ b/build.sh @@ -140,9 +140,8 @@ build() local variant="$1" if $build_viewer then - "$autobuild" build --no-configure -c $variant - build_ok=$? - + "$autobuild" build --no-configure -c $variant || fatal "failed building $variant" + # Run build extensions if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ] then @@ -155,14 +154,12 @@ build() fi # *TODO: Make this a build extension. - package_llphysicsextensions_tpv - tpvlib_build_ok=$? - if [ $build_ok -eq 0 -a $tpvlib_build_ok -eq 0 ] - then + package_llphysicsextensions_tpv || fatal "failed building llphysicsextensions packages" + + echo true >"$build_dir"/build_ok + else + echo "Skipping build due to configuration build_viewer=${build_viewer}" echo true >"$build_dir"/build_ok - else - echo false >"$build_dir"/build_ok - fi fi } -- cgit v1.2.3 From 0933ad0c948812f7ee92424f61a6e8e617165c7a Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 17 Jun 2016 15:43:38 -0400 Subject: deliberate syntax error --- indra/newview/llappviewer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 5138e021cc..3f62c92f10 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -717,7 +717,7 @@ LLAppViewer::LLAppViewer() gLoggedInTime.stop(); - gBogusVariable = 1; + syntaxerror initLoggingAndGetLastDuration(); -- cgit v1.2.3 From 1c40162255909df434b62faedacdec111bacffee Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 17 Jun 2016 17:42:15 -0400 Subject: remove deliberate syntax error --- indra/newview/llappviewer.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3f62c92f10..b6d02ea2f8 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -717,8 +717,6 @@ LLAppViewer::LLAppViewer() gLoggedInTime.stop(); - syntaxerror - initLoggingAndGetLastDuration(); processMarkerFiles(); -- cgit v1.2.3