diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build_version.py | 47 | ||||
-rw-r--r--[-rwxr-xr-x] | scripts/md5check.py | 43 | ||||
-rw-r--r-- | scripts/messages/message_template.msg | 8 | ||||
-rw-r--r-- | scripts/messages/message_template.msg.sha1 | 1 | ||||
-rw-r--r-- | scripts/setup-path.py | 2 | ||||
-rw-r--r-- | scripts/template_verifier.py | 26 | ||||
-rwxr-xr-x | scripts/update_version_files.py | 54 |
7 files changed, 119 insertions, 62 deletions
diff --git a/scripts/build_version.py b/scripts/build_version.py index 4bef290b7d..203d76fe9e 100755 --- a/scripts/build_version.py +++ b/scripts/build_version.py @@ -1,16 +1,39 @@ #!/usr/bin/env python -# -# Print the build information embedded in a header file. -# -# Expects to be invoked from the command line with a file name and a -# list of directories to search. The file name will be one of the -# following: -# -# llversionserver.h -# llversionviewer.h -# -# The directory list that follows will include indra/llcommon, where -# these files live. +"""\ +@file build_version.py +@brief Print the build information embedded in a header file. + + Expects to be invoked from the command line with a file name and a + list of directories to search. The file name will be one of the + following: + + llversionserver.h + llversionviewer.h + + The directory list that follows will include indra/llcommon, where + these files live. + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import errno, os, re diff --git a/scripts/md5check.py b/scripts/md5check.py index 951fe0105c..1a54a2844c 100755..100644 --- a/scripts/md5check.py +++ b/scripts/md5check.py @@ -1,32 +1,27 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file md5check.py @brief Replacement for message template compatibility verifier. -$LicenseInfo:firstyear=20i10&license=viewergpl$ -Copyright (c) 2010, Linden Research, Inc. - +$LicenseInfo:firstyear=2010&license=viewerlgpl$ Second Life Viewer Source Code -The source code in this file ("Source Code") is provided by Linden Lab -to you under the terms of the GNU General Public License, version 2.0 -("GPL"), unless you have obtained a separate licensing agreement -("Other License"), formally executed by you and Linden Lab. Terms of -the GPL can be found in doc/GPL-license.txt in this distribution, or -online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - -There are special exceptions to the terms and conditions of the GPL as -it is applied to this Source Code. View the full text of the exception -in the file doc/FLOSS-exception.txt in this software distribution, or -online at -http://secondlifegrid.net/programs/open_source/licensing/flossexception - -By copying, modifying or distributing this software, you acknowledge -that you have read and understood your obligations described above, -and agree to abide by those obligations. - -ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO -WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, -COMPLETENESS OR PERFORMANCE. +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA $/LicenseInfo$ """ diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg index 77dc940335..d292653d3f 100644 --- a/scripts/messages/message_template.msg +++ b/scripts/messages/message_template.msg @@ -2966,7 +2966,7 @@ version 2.0 { BillableFactor F32 } { ObjectBonusFactor F32 } { WaterHeight F32 } - { TerrainRaiseLimit F32 } + { TerrainRaiseLimit F32 } { TerrainLowerLimit F32 } { PricePerMeter S32 } { RedirectGridX S32 } @@ -4242,6 +4242,10 @@ version 2.0 Buttons Variable { ButtonLabel Variable 1 } } + { + OwnerData Variable + { OwnerID LLUUID } + } } @@ -6762,6 +6766,8 @@ version 2.0 } // And, the money transfer +// *NOTE: Unused as of 2010-04-06, because all back-end money transactions +// are done with web services via L$ API. JC { MoneyTransferBackend Low 312 Trusted Zerocoded { diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 new file mode 100644 index 0000000000..41e70011af --- /dev/null +++ b/scripts/messages/message_template.msg.sha1 @@ -0,0 +1 @@ +ce3be58f4ea395c272fcfa3e6b6dad027c188e0d
\ No newline at end of file diff --git a/scripts/setup-path.py b/scripts/setup-path.py index 55e0f1a85f..ce83d815bf 100644 --- a/scripts/setup-path.py +++ b/scripts/setup-path.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file setup-path.py @brief Get the python library directory in the path, so we don't have diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index ddb050fbbb..b44410cdd8 100644 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file template_verifier.py @brief Message template compatibility verifier. @@ -66,6 +66,7 @@ add_indra_lib_path() import optparse import os import urllib +import hashlib from indra.ipc import compatibility from indra.ipc import tokenstream @@ -228,11 +229,14 @@ http://wiki.secondlife.com/wiki/Template_verifier.py """) parser.add_option( '-u', '--master_url', type='string', dest='master_url', - default='http://secondlife.com/app/message_template/master_message_template.msg', + default='http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg', help="""The url of the master message template.""") parser.add_option( '-c', '--cache_master', action='store_true', dest='cache_master', default=False, help="""Set to true to attempt use local cached copy of the master template.""") + parser.add_option( + '-f', '--force', action='store_true', dest='force_verification', + default=False, help="""Set to true to skip the sha_1 check and force template verification.""") options, args = parser.parse_args(sysargs) @@ -269,8 +273,18 @@ http://wiki.secondlife.com/wiki/Template_verifier.py print "current:", current_filename current_url = 'file://%s' % current_filename - # retrieve the contents of the local template and check for syntax + # retrieve the contents of the local template current = fetch(current_url) + hexdigest = hashlib.sha1(current).hexdigest() + if not options.force_verification: + # Early exist if the template hasn't changed. + sha_url = "%s.sha1" % current_url + current_sha = fetch(sha_url) + if hexdigest == current_sha: + print "Message template SHA_1 has not changed." + sys.exit(0) + + # and check for syntax current_parsed = llmessage.parseTemplateString(current) if options.cache_master: @@ -301,6 +315,12 @@ http://wiki.secondlife.com/wiki/Template_verifier.py if acceptable: explain("--- PASS ---", compat) + if options.force_verification == False: + print "Updating sha1 to %s" % hexdigest + sha_filename = "%s.sha1" % current_filename + sha_file = open(sha_filename, 'w') + sha_file.write(hexdigest) + sha_file.close() else: explain("*** FAIL ***", compat) return 1 diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py index da60fd105a..87036dc1c0 100755 --- a/scripts/update_version_files.py +++ b/scripts/update_version_files.py @@ -1,8 +1,30 @@ -#!/usr/bin/python -# -# Update all of the various files in the repository to a new version number, -# instead of having to figure it out by hand -# +#!/usr/bin/env python +"""\ +@file update_version_files.py +@brief Update all of the various files in the repository to a new version number, +instead of having to figure it out by hand + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import sys import os.path @@ -37,9 +59,6 @@ add_indra_lib_path() import getopt, os, re, commands from indra.util import llversion -svn = os.path.expandvars("${SVN}") -if not svn or svn == "${SVN}": svn = "svn" - def usage(): print "Usage:" print sys.argv[0] + """ [options] @@ -68,7 +87,7 @@ Options: Print this message and exit. Common Uses: - # Update server and viewer build numbers to the current SVN revision: + # Update server and viewer build numbers to the current hg revision: update_version_files.py # Update build numbers unless we are on a release branch: @@ -80,7 +99,7 @@ Common Uses: # Update just the viewer version number explicitly: update_version_files.py --viewer --version=1.18.1.6 - # Update just the server build number to the current SVN revision: + # Update just the server build number to the current hg revision: update_version_files.py --server # Update the viewer channel @@ -152,9 +171,7 @@ re_map['indra/newview/English.lproj/InfoPlist.strings'] = \ 'CFBundleGetInfoString = "Second Life version %(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s')) -version_re = re.compile('(\d+).(\d+).(\d+).(\d+)') -svn_branch_re = re.compile('^URL:\s+\S+/([^/\s]+)$', re.MULTILINE) -svn_revision_re = re.compile('^Last Changed Rev: (\d+)$', re.MULTILINE) +version_re = re.compile('(\d+).(\d+).(\d+).(\d+)') def main(): script_path = os.path.dirname(__file__) @@ -249,13 +266,7 @@ def main(): server_version = new_version else: - if llversion.using_svn(): - if new_revision: - revision = new_revision - else: - revision = llversion.get_svn_revision() - branch = llversion.get_svn_branch() - elif llversion.using_hg(): + if llversion.using_hg(): if new_revision: revision = new_revision else: @@ -327,5 +338,6 @@ def main(): print "File %(filename)s not present, skipping..." % locals() return 0 -main() +if __name__ == '__main__': + sys.exit(main()) |