summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuildParams31
-rwxr-xr-xbuild.sh85
-rw-r--r--indra/cmake/00-Common.cmake2
-rw-r--r--indra/cmake/BuildPackagesInfo.cmake2
-rw-r--r--indra/media_plugins/cef/CMakeLists.txt4
-rw-r--r--indra/newview/llappviewer.cpp1
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml2
-rwxr-xr-xindra/newview/viewer_manifest.py2
-rwxr-xr-xscripts/packages-formatter.py12
9 files changed, 65 insertions, 76 deletions
diff --git a/BuildParams b/BuildParams
index 5adf249269..a991781c58 100755
--- a/BuildParams
+++ b/BuildParams
@@ -3,37 +3,16 @@
# Please refer to:
# https://wiki.secondlife.com/wiki/Automated_Build_System
-
-# Global setting for now....
-Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
-CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
-Linux.symbolfiles = "newview/secondlife-symbols-linux.tar.bz2"
+# Variants (NOTE: 'Release' must be last for uploads to work correctly)
+variants = "RelWithDebInfo Release"
# Use Public Upload Locations
public_build = true
build_docs = true
-# disable all Debug builds (RelWithDebInfo is sufficient)
-build_CYGWIN_Debug = false
-build_Linux_Debug = false
-build_Darwin_Debug = false
-build_Debug = false
-
# enable Doxygen building on Linux for TeamCity (it can be done manually on any platform)
build_Linux_Doxygen = true
-# Update Public Inworld Build Status Indicators (setting should mirror "public_build")
-email_status_this_is_os = true
-
-# Limit extent of codeticket updates to revisions after...
-codeticket_since = 3.3.0-release
-
-# Override build system default toolchain
-# Note that this will only affect automated builds.
-Linux.distcc_version =
-Linux.gcc_version = /usr/bin/gcc-4.6
-Linux.cxx_version = /usr/bin/g++-4.6
-
# Need viewer-build-variables as well as other shared repositories
buildscripts_shared_more_NAMEs="build_variables"
build_variables_repostory_url = "https://bitbucket.org/lindenlab/viewer-build-variables"
@@ -92,5 +71,9 @@ EDU_viewer_channel_suffix = "edu"
# Notifications - to configure email notices use the TeamCity parameter
# setting screen for your project or build configuration to set the
# environment variable 'email' to a space-separated list of email addresses
+email=""
-
+# Global setting for now....
+Darwin.symbolfiles = "newview/Release/secondlife-symbols-darwin.tar.bz2"
+CYGWIN.symbolfiles = "newview/Release/secondlife-symbols-windows.tar.bz2"
+Linux.symbolfiles = "newview/secondlife-symbols-linux.tar.bz2"
diff --git a/build.sh b/build.sh
index ab7a1faa37..e191794ba0 100755
--- a/build.sh
+++ b/build.sh
@@ -142,10 +142,14 @@ build()
local variant="$1"
if $build_viewer
then
+ begin_section "autobuild $variant"
"$autobuild" build --no-configure -c $variant || fatal "failed building $variant"
+ echo true >"$build_dir"/build_ok
+ end_section "autobuild $variant"
+ begin_section "extensions $variant"
# Run build extensions
- if [ $build_ok -eq 0 -a -d ${build_dir}/packages/build-extensions ]
+ if [ -d ${build_dir}/packages/build-extensions ]
then
for extension in ${build_dir}/packages/build-extensions/*.sh
do
@@ -157,10 +161,10 @@ build()
# *TODO: Make this a build extension.
package_llphysicsextensions_tpv || fatal "failed building llphysicsextensions packages"
+ end_section "extensions $variant"
- echo true >"$build_dir"/build_ok
else
- echo "Skipping build due to configuration build_viewer=${build_viewer}"
+ record_event "Skipping build due to configuration build_viewer=${build_viewer}"
echo true >"$build_dir"/build_ok
fi
}
@@ -176,13 +180,9 @@ then
exit 1
fi
-# Check to see if we're skipping the platform
-if ! eval '$build_'"$arch"
-then
- record_event "building on architecture $arch is disabled"
- pass
-fi
+initialize_build # provided by master buildscripts build.sh
+begin_section "autobuild initialize"
# ensure AUTOBUILD is in native path form for child processes
AUTOBUILD="$(native_path "$AUTOBUILD")"
# set "$autobuild" to cygwin path form for use locally in this script
@@ -194,7 +194,16 @@ then
fi
# load autobuild provided shell functions and variables
-eval "$("$autobuild" --quiet source_environment)"
+"$autobuild" --quiet source_environment > "$build_log_dir/source_environment"
+begin_section "dump source environment commands"
+cat "$build_log_dir/source_environment"
+end_section "dump source environment commands"
+
+begin_section "execute source environment commands"
+. "$build_log_dir/source_environment"
+end_section "execute source environment commands"
+
+end_section "autobuild initialize"
# 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
@@ -203,10 +212,9 @@ then
export additional_packages=
fi
-# dump environment variables for debugging
-begin_section "Environment"
-env|sort
-end_section "Environment"
+python_cmd "$helpers/codeticket.py" addinput "Viewer Channel" "${viewer_channel}"
+
+initialize_version # provided by buildscripts build.sh; sets version id
# Now run the build
succeeded=true
@@ -214,9 +222,6 @@ build_processes=
last_built_variant=
for variant in $variants
do
- eval '$build_'"$variant" || continue
- eval '$build_'"$arch"_"$variant" || continue
-
# Only the last built arch is available for upload
last_built_variant="$variant"
@@ -232,6 +237,9 @@ do
then
begin_section "Build $variant"
build "$variant" "$build_dir"
+ end_section "Build $variant"
+
+ begin_section "post-build $variant"
if `cat "$build_dir/build_ok"`
then
case "$variant" in
@@ -239,10 +247,10 @@ do
if [ -r "$build_dir/autobuild-package.xml" ]
then
begin_section "Autobuild metadata"
- upload_item docs "$build_dir/autobuild-package.xml" text/xml
+ python_cmd "$helpers/codeticket.py" addoutput "Autobuild Metadata" "$build_dir/autobuild-package.xml" --mimetype text/xml
if [ "$arch" != "Linux" ]
then
- record_dependencies_graph # defined in buildscripts/hg/bin/build.sh
+ record_dependencies_graph "$build_dir/autobuild-package.xml" # defined in buildscripts/hg/bin/build.sh
else
record_event "TBD - no dependency graph for linux (probable python version dependency)"
fi
@@ -255,12 +263,12 @@ do
if [ -r "$build_dir/doxygen_warnings.log" ]
then
record_event "Doxygen warnings generated; see doxygen_warnings.log"
- upload_item log "$build_dir/doxygen_warnings.log" text/plain
+ python_cmd "$helpers/codeticket.py" addoutput "Doxygen Log" "$build_dir/doxygen_warnings.log" --mimetype text/plain ## TBD
fi
if [ -d "$build_dir/doxygen/html" ]
then
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
+ python_cmd "$helpers/codeticket.py" addoutput "Doxygen Tarball" "$build_dir/viewer-doxygen.tar.bz2"
fi
;;
*)
@@ -270,7 +278,8 @@ do
else
record_failure "Build of \"$variant\" failed."
fi
- end_section "Build $variant"
+ end_section "post-build $variant"
+
else
record_event "configure for $variant failed: build skipped"
fi
@@ -290,7 +299,7 @@ then
if $build_viewer_deb && [ "$last_built_variant" == "Release" ]
then
begin_section "Build Viewer Debian Package"
- have_private_repo=false
+
# mangle the changelog
dch --force-bad-version \
--distribution unstable \
@@ -320,11 +329,12 @@ then
# upload debian package and create repository
begin_section "Upload Debian Repository"
for deb_file in `/bin/ls ../packages_public/*.deb ../*.deb 2>/dev/null`; do
- upload_item debian $deb_file binary/octet-stream
+ deb_pkg=$(basename "$deb_file" | sed 's,_.*,,')
+ python_cmd "$helpers/codeticket.py" addoutput "Debian $deb_pkg" $deb_file
done
for deb_file in `/bin/ls ../packages_private/*.deb 2>/dev/null`; do
- upload_item debian_private $deb_file binary/octet-stream
- have_private_repo=true
+ deb_pkg=$(basename "$deb_file" | sed 's,_.*,,')
+ python_cmd "$helpers/codeticket.py" addoutput "Debian $deb_pkg" "$deb_file" --private
done
create_deb_repo
@@ -336,14 +346,6 @@ then
mv $build_log_dir/$debian_repo_type $build_log_dir/${debian_repo_type}_pushed
fi
done
-
- if [ $have_private_repo = true ]; then
- eval "$python_command \"$redirect\" '\${private_S3PROXY_URL}${S3PREFIX}repo/$repo/rev/$revision/index.html'"\
- >"$build_log_dir/private.html" || fatal generating redirect
- upload_item global_redirect "$build_log_dir/private.html" text/html
-
- fi
-
end_section "Upload Debian Repository"
else
@@ -359,7 +361,7 @@ if $succeeded
then
if $build_viewer
then
- begin_section Upload Installer
+ begin_section "Uploads"
# Upload installer
package=$(installer_$arch)
if [ x"$package" = x ] || test -d "$package"
@@ -368,9 +370,7 @@ then
succeeded=$build_coverity
else
# Upload base package.
- upload_item installer "$package" binary/octet-stream
- upload_item quicklink "$package" binary/octet-stream
- [ -f $build_dir/summary.json ] && upload_item installer $build_dir/summary.json text/plain
+ python_cmd "$helpers/codeticket.py" addoutput Installer --output "$package"
# Upload additional packages.
for package_id in $additional_packages
@@ -378,8 +378,7 @@ then
package=$(installer_$arch "$package_id")
if [ x"$package" != x ]
then
- upload_item installer "$package" binary/octet-stream
- upload_item quicklink "$package" binary/octet-stream
+ python_cmd "$helpers/codeticket.py" addoutput "Installer $package_id" "$package"
else
record_failure "Failed to find additional package for '$package_id'."
fi
@@ -390,7 +389,7 @@ then
# Upload crash reporter files
for symbolfile in $symbolfiles
do
- upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
+ python_cmd "$helpers/codeticket.py" addoutput "Symbolfile $(basename "$build_dir/$symbolfile")" "$build_dir/$symbolfile"
done
# Upload the llphysicsextensions_tpv package, if one was produced
@@ -398,7 +397,7 @@ then
if [ -r "$build_dir/llphysicsextensions_package" ]
then
llphysicsextensions_package=$(cat $build_dir/llphysicsextensions_package)
- upload_item private_artifact "$llphysicsextensions_package" binary/octet-stream
+ python_cmd "$helpers/codeticket.py" addoutput "Physics Extensions Package" "$llphysicsextensions_package" --private
fi
;;
*)
@@ -414,7 +413,7 @@ then
done
fi
fi
- end_section Upload Installer
+ end_section "Uploads"
else
record_event "skipping upload of installer"
fi
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 96ff9a645e..6734f9585c 100644
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -67,7 +67,7 @@ if (WINDOWS)
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /Zo /MD /MP /Ob2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
CACHE STRING "C++ compiler release options" FORCE)
# zlib has assembly-language object files incompatible with SAFESEH
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE /SAFESEH:NO /NODEFAULTLIB:LIBCMT /IGNORE:4099")
set(CMAKE_CXX_STANDARD_LIBRARIES "")
set(CMAKE_C_STANDARD_LIBRARIES "")
diff --git a/indra/cmake/BuildPackagesInfo.cmake b/indra/cmake/BuildPackagesInfo.cmake
index 367511bfb7..26ce77b803 100644
--- a/indra/cmake/BuildPackagesInfo.cmake
+++ b/indra/cmake/BuildPackagesInfo.cmake
@@ -13,5 +13,5 @@ add_custom_command(OUTPUT packages-info.txt
DEPENDS ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/cmake/run_build_test.py -DAUTOBUILD_ADDRSIZE=${ADDRESS_SIZE}
- ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py > packages-info.txt
+ ${CMAKE_SOURCE_DIR}/../scripts/packages-formatter.py "${VIEWER_CHANNEL}" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}" > packages-info.txt
)
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt
index 5db0a8fbfd..711e870ee4 100644
--- a/indra/media_plugins/cef/CMakeLists.txt
+++ b/indra/media_plugins/cef/CMakeLists.txt
@@ -97,8 +97,8 @@ if (WINDOWS)
set_target_properties(
media_plugin_cef
PROPERTIES
- LINK_FLAGS "/MANIFEST:NO /SAFESEH:NO /LTCG /NODEFAULTLIB:LIBCMT"
- LINK_FLAGS_DEBUG "/MANIFEST:NO /SAFESEH:NO /NODEFAULTLIB:LIBCMTD"
+ LINK_FLAGS "/MANIFEST:NO /SAFESEH:NO /LTCG /NODEFAULTLIB:LIBCMT /IGNORE:4099"
+ LINK_FLAGS_DEBUG "/MANIFEST:NO /SAFESEH:NO /NODEFAULTLIB:LIBCMTD /IGNORE:4099"
)
endif (WINDOWS)
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index a0ebae119e..c125924fa7 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3284,6 +3284,7 @@ LLSD LLAppViewer::getViewerInfo() const
if (build_config != "Release")
{
info["BUILD_CONFIG"] = build_config;
+ info["ADDRESS_SIZE"] = ADDRESS_SIZE;
}
// return a URL to the release notes for this viewer, such as:
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index dcb259f2bb..a45c697ddb 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -25,7 +25,7 @@
[APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2].[VIEWER_VERSION_3] ([CHANNEL])
[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
</string>
- <string name="BuildConfig">Build Configuration [BUILD_CONFIG]</string>
+ <string name="BuildConfig">Build Configuration [BUILD_CONFIG] [ADDRESS_SIZE] bits</string>
<string name="AboutPosition">
You are at [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] located at &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 589d74a014..d9c4cf1b9e 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -669,7 +669,7 @@ class WindowsManifest(ViewerManifest):
while (not installer_created) and (nsis_attempts > 0):
try:
nsis_attempts-=1;
- self.run_command('"' + NSIS_path + '" ' + self.dst_path_of(tempfile))
+ self.run_command('"' + NSIS_path + '" /V2 ' + self.dst_path_of(tempfile))
installer_created=True # if no exception was raised, the codesign worked
except ManifestError, err:
if nsis_attempts:
diff --git a/scripts/packages-formatter.py b/scripts/packages-formatter.py
index 928d340b69..f91f5819b7 100755
--- a/scripts/packages-formatter.py
+++ b/scripts/packages-formatter.py
@@ -29,6 +29,12 @@ import sys
import errno
import re
import subprocess
+import argparse
+
+parser = argparse.ArgumentParser(description='Format dependency version and copyright information for the viewer About box content')
+parser.add_argument('channel', help='viewer channel name')
+parser.add_argument('version', help='viewer version number')
+args = parser.parse_args()
_autobuild=os.getenv('AUTOBUILD', 'autobuild')
@@ -50,9 +56,8 @@ def autobuild(*args):
# Don't attempt to interpret anything but ENOENT
raise
# Here it's ENOENT: subprocess can't find the autobuild executable.
- print >>sys.stderr, "packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
- (sys.platform, ' '.join(command), err)
- sys.exit(1)
+ sys.exit("packages-formatter on %s: can't run autobuild:\n%s\n%s" % \
+ (sys.platform, ' '.join(command), err))
# no exceptions yet, let caller read stdout
return child.stdout
@@ -84,6 +89,7 @@ for line in copyrights:
else:
sys.exit("Unrecognized --copyrights output: %s" % line)
+print "%s %s" % (args.channel, args.version)
print viewer_copyright
for pkg in sorted(version):
print ': '.join([pkg, version[pkg]])