From 0670e889f93ffaee1ea103fcd4a54d1217b67bfd Mon Sep 17 00:00:00 2001 From: "Christian Goetze (CG)" Date: Tue, 16 Nov 2010 12:15:00 -0800 Subject: Replace template verification code with an md5sum check. --- scripts/md5check.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 scripts/md5check.py (limited to 'scripts') diff --git a/scripts/md5check.py b/scripts/md5check.py new file mode 100755 index 0000000000..951fe0105c --- /dev/null +++ b/scripts/md5check.py @@ -0,0 +1,61 @@ +#!/usr/bin/python +"""\ +@file md5check.py +@brief Replacement for message template compatibility verifier. + +$LicenseInfo:firstyear=20i10&license=viewergpl$ +Copyright (c) 2010, Linden Research, Inc. + +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. +$/LicenseInfo$ +""" + +import sys +import hashlib + +if len(sys.argv) != 3: + print """Usage: %s --create| + +Creates an md5sum hash digest of the specified file content +and compares it with the given hash digest. + +If --create is used instead of a hash digest, it will simply +print out the hash digest of specified file content. +""" % sys.argv[0] + sys.exit(1) + +if sys.argv[2] == '-': + fh = sys.stdin + filename = "" +else: + filename = sys.argv[2] + fh = open(filename) + +hexdigest = hashlib.md5(fh.read()).hexdigest() +if sys.argv[1] == '--create': + print hexdigest +elif hexdigest == sys.argv[1]: + print "md5sum check passed:", filename +else: + print "md5sum check FAILED:", filename + sys.exit(1) -- cgit v1.3 From 429e0caf17427b7a1d78b667c1bb1dd107379bf4 Mon Sep 17 00:00:00 2001 From: Aleric Inglewood Date: Wed, 15 Dec 2010 17:31:18 +0100 Subject: SNOW-744: scripts/install.py --uninstall does not remove symbolic links. This fixes the problem that when some package contains symbolic links, they were never removed anymore (after an uninstall of that package). --- doc/contributions.txt | 1 + scripts/install.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/doc/contributions.txt b/doc/contributions.txt index 740c2f470c..3f080dfb6d 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -74,6 +74,7 @@ Aleric Inglewood VWR-14426 SNOW-84 SNOW-477 + SNOW-744 SNOW-766 STORM-163 Ales Beaumont diff --git a/scripts/install.py b/scripts/install.py index c2adf4d0a2..d3bdf52283 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -486,7 +486,7 @@ windows/i686/vs/2003 -- specify a windows visual studio 2003 package""" for filename in remove_file_list: print "rm",filename if not self._dryrun: - if os.path.exists(filename): + if os.path.lexists(filename): remove_dir_set.add(os.path.dirname(filename)) try: os.remove(filename) -- cgit v1.3 From e4392e6ae9655883635bb6c885cd1daa64b655a8 Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Fri, 14 Jan 2011 15:38:30 -0800 Subject: bye bye install.py... --- install.xml | 1898 ---------------------------------------------------- scripts/install.py | 1150 ------------------------------- 2 files changed, 3048 deletions(-) delete mode 100644 install.xml delete mode 100755 scripts/install.py (limited to 'scripts') diff --git a/install.xml b/install.xml deleted file mode 100644 index 13abaac1c1..0000000000 --- a/install.xml +++ /dev/null @@ -1,1898 +0,0 @@ - - - - installables - - GL - - copyright - Copyright (c) 1991-2000 Silicon Graphics, Inc. - description - A standard for 3D Graphics rendering engine. - license - GL - packages - - darwin - - md5sum - 0bd2795a2afe09f6c563f2f888f24cc9 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GL-darwin-20080613.tar.bz2 - - linux - - md5sum - 2ab29212a7f3acdaebf10059af816be0 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GL-linux-20080812.tar.bz2 - - linux64 - - md5sum - 9c3dff3817f1105f9054401fdef1fe50 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GL-linux64-20080909.tar.bz2 - - windows - - md5sum - 91155239b02f576384603795d41eb971 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/GL-windows-20090505.tar.bz2 - - - - SDL - - copyright - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga - description - The Simple DirectMedia Layer libraries are used for handling input and basic window/GL setup on the Linux client. Packages also include cursors. - license - lgpl - packages - - linux - - md5sum - fce0ff7d2cdf0f36c1647e6a3916e29e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/SDL-1.2.12-linux-20090218.tar.bz2 - - - - apr_suite - - license - apache 2.0 - packages - - darwin - - md5sum - 115d8ac44a91efdb173e9b3e478c46b6 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.3.7-darwin-20090805.tar.bz2 - - linux - - md5sum - 7b84cd6a3c601a104d9c09e58ef2f50c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.2.8-linux-20080812.tar.bz2 - - linux64 - - md5sum - 1a7e1186855d48d8316ce86803095f70 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.2.8-linux64-20080909a.tar.bz2 - - windows - - md5sum - a02619c1e30a3db02d3883bf1ad7a1e6 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.3.8-windows-20090911.tar.bz2 - - - - ares - - copyright - Copyright 1998 by the Massachusetts Institute of Technology. - description - Performs DNS requests and name resolves asynchronously. Used with libcurl to keep all HTTP operations async. - license - c-ares - packages - - darwin - - md5sum - cdb2f5c4a5a1f9ecd75bc1dbdd4db8e9 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.7.1-darwin-20100606.tar.bz2 - - linux - - md5sum - 91694429e391efeea1de974df26032a2 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.7.1-linux-20100527.tar.bz2 - - linux64 - - md5sum - c4242416e0b2e642c0bf062a19a250e4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.3.0-linux64-20080909.tar.bz2 - - windows - - md5sum - 4b84738eec2e21b0c096d53b79ee2681 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ares-1.7.1-windows-20100611a.tar.bz2 - - - - artwork-common - - copyright - (C) 2008 Linden Research, Inc. - description - Second Life(TM) Viewer Artwork - license - artwork - packages - - darwin - - md5sum - 5e047437d73d1017bf270a6c6e936f23 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/artwork-common-20090415.tar.bz2 - - linux - - md5sum - 5e047437d73d1017bf270a6c6e936f23 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/artwork-common-20090415.tar.bz2 - - windows - - md5sum - 5e047437d73d1017bf270a6c6e936f23 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/artwork-common-20090415.tar.bz2 - - - - berkeley - - copyright - Copyright (c) 1990-1999 Sleepycat Software. All rights reserved. - description - a high-performance, embedded database library - license - sleepycat - - boost - - copyright - various - description - A set of portable C++ libraries which provide a wide set of functionality. - license - boost - packages - - darwin - - md5sum - 71defd179827bf172b76d6020023e0e8 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-darwin-20100222a.tar.bz2 - - linux - - md5sum - 4db3d74e40d149eeec06f4d97a609bb1 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux-20100624.tar.bz2 - - linux64 - - md5sum - af4badd6b2c10bc4db82ff1256695892 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux64-20100119.tar.bz2 - - windows - - md5sum - 72e6e2eff5d146a107f3059b6c31fb95 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-windows-20100630.tar.bz2 - - - - curl - - copyright - Copyright (c) 1996 - 2008, Daniel Stenberg, <daniel@haxx.se>. - description - Client-side URL transfer library. Handles moving data across the net in many different protocols. Used to GET/POST/PUT/DELETE web resources. - license - curl - packages - - darwin - - md5sum - ca8f0134fa5ab6f34a6eeb8d0896c9b0 - url - https://s3.amazonaws.com/automated-builds-secondlife-com/hg/repo/brad_curl-autobuild/rev/216961/arch/Darwin/installer/curl-7.21.1-darwin-20101214.tar.bz2 - - linux - - md5sum - 9c9b629b62bf874d550c430ad678dc04 - url - https://s3.amazonaws.com/automated-builds-secondlife-com/hg/repo/brad_curl-autobuild/rev/216961/arch/Linux/installer/curl-7.21.1-linux-20101215.tar.bz2 - - linux64 - - md5sum - 6994192cea7ab2d885a158a3de474273 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/curl-7.16.4a-linux64-20090303.tar.bz2 - - windows - - md5sum - 48691883065a82d53691d73aae81d4c1 - url - https://s3.amazonaws.com/automated-builds-secondlife-com/hg/repo/brad_curl-autobuild/rev/216961/arch/CYGWIN/installer/curl-7.21.1-windows-20101214.tar.bz2 - - - - dbghelp - - copyright - Copyright Microsoft Corporation - description - dbghelp: Debug helper from Microsoft Debugging Tools For Windows - license - MSDTW - packages - - windows - - md5sum - b7563064037e032143ca2d610aae5153 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/dbghelp-6.11.1.404-windows-20090520.tar.bz2 - - - - dbusglib - - copyright - Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc. - description - dbus/dbus-glib: headers only - license - AFL2.1 - packages - - linux - - md5sum - eb25444142d4102b0ce1b7ffaadb071e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/dbusglib-linux-20080707.tar.bz2 - - - - elfio - - license - lgpl - packages - - linux - - md5sum - 82ea408af2f968cfe5f013ab241323ef - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/elfio-1.0.3-linux-20080812.tar.bz2 - - - - expat - - copyright - Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd - description - An XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags). - license - mit - packages - - darwin - - md5sum - c457a0a041ac4946265889a503d26c3d - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-darwin-20090805.tar.bz2 - - linux - - md5sum - 67b470fd446b08c9831d1039674eae4e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-linux-20080812.tar.bz2 - - linux64 - - md5sum - 278c61871419b9a4d50a4f88b7922403 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-linux64-20080909.tar.bz2 - - windows - - md5sum - 5dbbdb4a9b5bec86d180ef20a5f8ccfb - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/expat-1.95.8-windows-20090917.tar.bz2 - - - - fmod - - copyright - FMOD Sound System, copyright (C) Firelight Technologies Pty, Ltd., 1994-2006. - description - Audio engine and mp3 stream decoder . - license - fmod - packages - - darwin - - md5sum - 261bcd3387066cf0a1d46549400052b5 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-darwin-20101007.tar.bz2 - - linux - - md5sum - 8490d97430c12c2e1ac19ff80a8d4db4 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-linux-20101007.tar.bz2 - - windows - - md5sum - bab1babcb01ff9849b7f072d352e1ecd - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/fmod-3.75-windows-20101007.tar.bz2 - - - - fontconfig - - license - mit - packages - - linux - - md5sum - 9af6a1ed39fa540bfcaa402b0ea22f78 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/fontconfig-2.2.3-linux-20080613.tar.bz2 - - - - freeglut - - license - mit - packages - - windows - - md5sum - fcbb695ff203775fad96d184bf5f34fc - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freeglut-2.4.0-windows-20090608.tar.bz2 - - - - freetype - - copyright - Copyright - description - Font - license - freetype - packages - - darwin - - md5sum - f00144dfb597140f328774c3244f0c3e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-darwin-20090922.tar.bz2 - - linux - - md5sum - 9de3f44be65645c7f6af236139596942 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-linux-2010-02-19a-nommap.tar.bz2 - - linux64 - - md5sum - 35f6fa557ba90f9cda0a18d1af2055a4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.1.5-linux64-20080909.tar.bz2 - - windows - - md5sum - 88980fd6d91ac541b62dea877ebe6ba6 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/freetype-2.3.9-windows-20090917.tar.bz2 - - - - glh_linear - - copyright - Copyright (c) 2000 Cass Everitt; Copyright (c) 2000 NVIDIA Corporation; All rights reserved. - description - nVidia NVParse SDK: platform-indepenedent C++ Apple OpenGL helper library - license - glh_linear - packages - - darwin - - md5sum - 23bd9a75e5a2365a827461e6c324f52b - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glh_linear-darwin-20080613.tar.bz2 - - linux - - md5sum - 23bd9a75e5a2365a827461e6c324f52b - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glh_linear-linux-20080812.tar.bz2 - - linux64 - - md5sum - 2965646aea1d2a6aec1fbc431c02733f - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glh_linear-linux-20080613.tar.bz2 - - windows - - md5sum - 38b9ddfe8dceff55ee4351016a937d1b - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glh_linear-windows-20080613.tar.bz2 - - - - glib - - description - GLib is a library containing many useful C routines for things such as trees, hashes, and lists. - license - gpl - packages - - darwin - - md5sum - 6cc5ce1fafd10299fdb890b3d4c3cf53 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glib-2.0-darwin-20080817.tar.bz2 - - linux - - md5sum - 2f1a9e14f9213c2c9564c1c1cfdd6d47 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glib-2.0-linux-20080817.tar.bz2 - - windows - - md5sum - 3d5e29d444dde4815b36082eedfc775a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glib-2.0-windows-20080817.tar.bz2 - - - - glui - - license - lgpl - packages - - darwin - - md5sum - 84f792a860691d0fad6d1de6eeb31baa - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glui-2.36-darwin-20090623a.tar.bz2 - - windows - - md5sum - 5b8631fe510d4ebaeb965c673937e1e7 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/glui-2.3.6-windows-freeglut-20090608.tar.bz2 - - - - google - - license - mit - packages - - linux - - md5sum - 40db900872612615e849f17cbdfd2c27 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google-linux-20080812.tar.bz2 - - - - google-perftools - - copyright - Copyright (c) 2005, Google Inc. - description - Heap performance and validity checking tools from google. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler. - license - bsd - packages - - windows - - md5sum - 32dba32ddd460a08e082898ebba6315c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google-perftools-1.0-windows-20090406.tar.bz2 - - - - google_breakpad - - copyright - Copyright (c) 2006, Google Inc. - description - An open-source multi-platform crash reporting system - license - bsd - packages - - darwin - - md5sum - ced4010b59f1a579caa7fe3c18512499 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google_breakpad-0.0.0-rev599-darwin-20100528a.tar.bz2 - - linux - - md5sum - 29c3e7dad60bbf02c811786436d99523 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/google_breakpad-0.0.0-rev599-linux-20100521b.tar.bz2 - - windows - - md5sum - 0859d47242990125f17eaab30bece2ff - url - http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/google_breakpad-0.0.0-rev599-windows-20100524.tar.bz2 - - - - googlemock - - copyright - Copyright 2008, Google Inc. - description - Google C++ Mocking Framework (or Google Mock for short) is a library for writing and using C++ mock classes. - license - bsd - packages - - darwin - - md5sum - 4863e9fea433d0a4be761ea5d3e8346a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/googlemock-1.1.0-darwin-20090626.tar.bz2 - - linux - - md5sum - 877dabecf84339690191c6115c76366e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/googlemock-1.1.0-linux32-20090527.tar.bz2 - - windows - - md5sum - f601a82ea91030974072da8924cae41e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/googlemock-1.1.0-windows-20090921.tar.bz2 - - - - gstreamer - - license - lgpl - packages - - linux - - md5sum - c829b638b6eef71ca63418cb9aea46a2 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gstreamer-linux-20080613.tar.bz2 - - linux64 - - md5sum - befc7520fe01250f39458f65c29bc584 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gstreamer-linux64-20080909.tar.bz2 - - - - gtk-atk-pango-glib - - copyright - Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - description - Libraries associated with GTK for gui features. atk: interfaces for accessibility; glib: low-level core functionality for using GTK+ and GNOME; pango: layout/rendering of text w/ emphasis on internationalization. - license - lgpl - packages - - linux - - md5sum - 21c16a74f8fc9a62e3ab944a6eb7403d - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gtk-atk-pango-glib-linux-20080616.tar.bz - - windows - - md5sum - d963750bcd333a108b3697d220c87d09 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/gtk-atk-pango-glib-windows-20080613.tar.bz2 - - - - havok - - copyright - on file - description - Physics engine for the simulator - license - havok - packages - - darwin - - md5sum - f64c08771a4fc456db2a55b47302078b - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/havok-4.6-darwin-20080812.tar.bz2 - - linux - - md5sum - af7b1fc9072443009f19e43fb3c8342f - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/havok-4.6.1-linux-20081029.tar.bz2 - - linux64 - - md5sum - cd4076d6caf5fabff36bf48bd01e4ba8 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/havok-4.6.1-linux64-20081030.tar.bz2 - - windows - - md5sum - f25fbb29c2275267233c79f0c68ca37f - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/havok-4.6.1-windows-20081030.tar.bz2 - - - - jpeglib - - copyright - Copyright (c) 2003, Yves Piguet. - description - An open-source JPEG (JFIF) library - license - jpeglib - packages - - darwin - - md5sum - 8d38d74c481e9aab4518c8f2a7d52800 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-darwin-20080812.tar.bz2 - - linux - - md5sum - 8aa8e01e0c21f60f0ede0ffb04e9214f - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-linux-20081218.tar.bz2 - - linux64 - - md5sum - 0e7facf7d48531d20c0cd6a3c3f04021 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-linux64-20080909.tar.bz2 - - windows - - md5sum - 6a6bb0143a2561e3276dab4bcfa425ef - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jpeglib-6b-windows-20090917a.tar.bz2 - - - - jsoncpp - - copyright - json-cpp library released to Public Domain by Baptiste Lepilleur <blep@users.sourceforge.net> - description - jsoncpp is an implementation of a JSON (http://json.org) reader and writer in C++. - license - jsoncpp - packages - - darwin - - md5sum - 4c6b949778099a63550898f00f3e6a5e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jsoncpp-svn-r69-darwin-20090923.tar.bz2 - - linux - - md5sum - a2a94b8ca1d32f23e3e668d64023514e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jsoncpp-svn-r69-linux-20090922.tar.bz2 - - linux64 - - md5sum - a06ab38628ab7b53b8f3326cd942a6a8 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jsoncpp-svn-r69-linux64-20090922.tar.bz2 - - windows - - md5sum - caf152cfc730737c124f7612cf68fbd3 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/jsoncpp-svn-r69-windows-20090922.tar.bz2 - - - - kdu - - copyright - on file - description - Kakadu (KDU) JPEG-2000 decoder library. - license - kdu - packages - - darwin - - md5sum - 8261994de5af6581e08c26fefe1b2810 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-6.4.1-darwin-20101123.tar.bz2 - - linux - - md5sum - ed3e58899a424684dad49c94ba3813e7 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-6.4.1-linux-20101124.tar.bz2 - - windows - - md5sum - 066e089a5d9faeaf131e1f4e4860a163 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/kdu-6.4.1-windows-20101123.tar.bz2 - - - - libmono - - copyright - (C) 2005 Novell, Inc. http://www.novell.com - description - An open source implementation of the ECMA/ISO ECMA-334 Common L\ -anguage Infrstructure (CLI) international standard - license - lgpl - packages - - darwin - - md5sum - 39a803fcbe6f11b72358fc78b7777b6c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-darwin-20080724.tar.bz2 - - linux - - md5sum - 9bc0f8b7d5e0ff194b6d5635daf9ae3a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-1.2.6-linux-20080816a.tar.bz2 - - linux64 - - md5sum - 451521b4cb57c35caf3efb8dcf99b99e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-1.2.6-linux64-20080926.tar.bz2 - - windows - - md5sum - 6712a09311a914752f47d5d62562a239 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libmono-1.2.6-windows-20080903.tar.bz2 - - - - libpng - - copyright - Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson - description - An open, extensible image format with lossless compression. PNG Reference Library - license - libpng - packages - - darwin - - md5sum - 82659b48831cbf58bf04b86602939e0b - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-darwin-20090304.tar.bz2 - - linux - - md5sum - f5e84c991f6e3caacb26db259593cbea - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-linux-20090304.tar.bz2 - - linux64 - - md5sum - 5ee1e62bde38520c7f134c4afb9ac9b1 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-linux64-20090304.tar.bz2 - - windows - - md5sum - c781cd9846cf20afb90ac40ad1a0ce9d - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libpng-1.2.35-windows-20090917.tar.bz2 - - - - libuuid - - copyright - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - description - Generates UUIDs under Linux. Originally a part of the ext2fs filesystem. Also see lluuid.cpp for all platforms. Part of the e2fsprogs package. - license - lgpl - packages - - linux - - md5sum - 91b194aed4b38bc23493b198009a8c6a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libuuid-linux-20090417.tar.bz2 - - - - libxml - - license - mit - packages - - linux - - md5sum - 4b5d2dcfe8a49b73fb69f10aab441092 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libxml-2.6.24-linux-20080613.tar.bz2 - - linux64 - - md5sum - 921d7f980519101afb74623e29e9d175 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/libxml-2.6.24-linux64-20080909.tar.bz2 - - - - llqtwebkit - - license - lgpl - packages - - darwin - - md5sum - 66c46841825ab4969ec875b5c8f9b24c - url - http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-darwin-qt4.7.1-20101221.tar.bz2 - - linux - - md5sum - 5d743c93b970abe685b185de83001a6e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-linux-qt4.6-20100923.tar.bz2 - - windows - - md5sum - b678c4d18ea8e4fab42b20f8d0b2629a - url - http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/llqtwebkit-windows-qt4.7.1-20101221.tar.bz2 - - - - mesa - - copyright - Copyright (C) 1999-2007 Brian Paul All Rights Reserved. - description - Mesa 3-D graphics library. Provides the required Apple OpenGL headers under Linux. - license - mesa - packages - - linux - - md5sum - 70d0bbe1145fff29a0131349c898260e - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/mesa-7.0-linux-20080812.tar.bz2 - - linux64 - - md5sum - 56630977f9261bd82039b0da08a0685c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/mesa-6.2.1-linux64-20081016.tar.bz2 - - windows - - md5sum - 82cdcdcb2d0615389a7480485ea35f4c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/mesa-7.0-windows-20080613.tar.bz2 - - - - mysql - - license - gpl - packages - - darwin - - md5sum - df27f2db244ea2762759a06cd75ada4e - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/mysql-darwin-20080812.tar.bz2 - - linux - - md5sum - cc86b4cc858655e23704d1168325d7b9 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/mysqlclient-linux-20090320.tar.bz2 - - windows - - md5sum - 98bac06680dca907e783d8dd4aa9edde - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/mysql-windows-20080804.tar.bz2 - - - - ndofdev - - copyright - Copyright (c) 2007, 3Dconnexion, Inc. - All rights reserved. - description - in use on windows and darwin for joystick support. - license - linden - packages - - darwin - - md5sum - 17999c47e17f2dd9e12a22372ce8ff14 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ndofdev-darwin-20080812.tar.bz2 - - linux - - md5sum - 9469c3732a33a154fa0a2807b9f36ccc - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ndofdev-linux-0.2-20080828.tar.bz2 - - windows - - md5sum - f0df8a1e60991095e3adca1450b8c9c0 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ndofdev-windows-20090917.tar.bz2 - - - - ogg-vorbis - - copyright - Copyright (C) 2008 Xiph.org Foundation - description - Ogg: container format Vorbis: audio compression scheme - license - ogg-vorbis - packages - - darwin - - md5sum - a6843398b780645c4897c9776c688926 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ogg-vorbis-1.03-1.1.2-darwin-20080812.tar.bz2 - - linux - - md5sum - 6dc0536329a0aadf76e3054ffd4da61c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ogg-vorbis-1.2.0-linux-20081201.tar.bz2 - - linux64 - - md5sum - 964c71e6ee22be1bcaf6d480e74cdd14 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ogg-vorbis-1.2.0-linux64-20080909.tar.bz2 - - windows - - md5sum - 9bf1fea65e66b2cd3075e6ffd7eb57ad - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/ogg-vorbis-1.1.3-1.2.0-windows-20080723.tar.bz2 - - - - openSSL - - license - openSSL - packages - - darwin - - md5sum - 11d2be4f2b172430747b7d4a6739e3d8 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.8l-darwin-20100428.tar.bz2 - - linux - - md5sum - f219ef07b02e2abb9282345c3a8f2b39 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.7c-linux-20080812.tar.bz2 - - linux64 - - md5sum - 00b23f28a2457d9dabbaff0b29ee7323 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.8g-linux64-20080909.tar.bz2 - - windows - - md5sum - dd85209081b832e836de6e1538541d89 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openSSL-0.9.8j-windows-20090129.tar.bz2 - - - - openal-soft - - copyright - Copyright (C) 2008 by authors. - description - 3D Audio library - license - lgpl - packages - - darwin - - md5sum - a0757244e3e6688fde2ffeea35cc1f96 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-darwin-20080924.tar.bz2 - - linux - - md5sum - 75a7004ab14bea46594b1c652f1a6040 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-linux-20100120-3ad86a1c.tar.bz2 - - linux64 - - md5sum - 5ad0a3ab623356c1ad61394ba238f99f - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-soft-1.6.372-linux64-20081219.tar.bz2 - - windows - - md5sum - a0757244e3e6688fde2ffeea35cc1f96 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openal-windows-20080924.tar.bz2 - - - - openjpeg - - copyright - Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - description - An open-source JPEG-2000 library; a slower alternative to Kadaku. Used in the open source release - license - openjpeg - packages - - darwin - - md5sum - 23313fda213a2496945435db2a0ee78b - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.3.0-darwin-20090501.tar.bz2 - - linux - - md5sum - 02af0dad64803e0d821bc09e6038682c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.3-linux-20081124b.tar.bz2 - - linux64 - - md5sum - 44f1bc9d47e4a54fc274c213f2cb565f - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.2.0-linux64-20080909.tar.bz2 - - windows - - md5sum - 41541a98106894e28a6bf585010fea65 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/openjpeg-1.3-windows-20090407.tar.bz2 - - - - pth - - copyright - Copyright (c) 1999-2006 Ralf S. Engelschall <rse@gnu.org> - description - Portable cooperative threads package, used to support Boost.Coroutine on Mac OS X 10.4 - license - lgpl - packages - - darwin - - md5sum - 216cb6217a06c64dfae30a55ab8b975c - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/pth-2.0.7-darwin-20090923.tar.bz2 - - linux - - md5sum - c5c2f73847c126e679d925beab48c7d4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/pth-2.0.7-linux-20090427.tar.bz2 - - linux32 - - md5sum - c5c2f73847c126e679d925beab48c7d4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/pth-2.0.7-linux32-20090427.tar.bz2 - - linux64 - - md5sum - c5c2f73847c126e679d925beab48c7d4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/pth-2.0.7-linux64-20090427.tar.bz2 - - windows - - md5sum - c5c2f73847c126e679d925beab48c7d4 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/pth-2.0.7-windows-20090427.tar.bz2 - - - - pulseaudio - - copyright - Copyright 2004-2006 Lennart Poettering, Copyright 2006 Pierre Ossman (ossman@cendio.se) for Cendio AB - description - pulseaudio: headers only - license - lgpl - packages - - linux - - md5sum - 30cb00069fe2a545fbf7be1070386236 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/linux-pulse-headers-0.9.14.tar.bz2 - - - - quicktime - - copyright - Copyright (C) 1990-2007 by Apple Computer, Inc., all rights reserved. - description - Separate download. Used to play in-world video clips on a prim. - license - quicktime - packages - - windows - - md5sum - be45825cc14ede53790ac93c58307dcb - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/quicktime-sdk-windows-7.3-20091110.tar.bz2 - - - - smartheap - - copyright - Copyright (C) 1991-2000 Compuware Corporation. All Rights Reserved. - description - Memory Management Library - license - smartheap - packages - - darwin - - md5sum - f54131b5f228e805c64c2e4e6c96579a - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/smartheap-6.0.2-darwin-20080610.tar.bz2 - - linux - - md5sum - 499208522bf7d7843e1d014d64214e06 - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/smartheap-6.0.2-linux-20080610.tar.bz2 - - windows - - md5sum - 78fd47017f21d11eae43bca3e38a3e1e - url - scp:install-packages.lindenlab.com:/local/www/install-packages/doc/smartheap-6.0.2-windows-20080611.tar.bz2 - - - - tut - - copyright - Copyright 2002-2006 Vladimir Dyuzhev, Copyright 2007 Denis Kononenko, Copyright 2008 Michal Rzechonek - description - C++ Template Unit Test - license - bsd - packages - - common - - md5sum - a1b8a118ba9df1f2a73f6aafa7980e83 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/tut-2008-11-30-common-20081208.tar.bz2 - - - - unistd - - copyright - (c) 2008 Linden Lab. - description - Placeholder file to make flex happy on windows. - license - linden - packages - - windows - - md5sum - 6353aff33d7d03b22055aec76f53a866 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/unistd-windows-20080611.tar.bz2 - - - - slvoice - - copyright - - license - vivox - packages - - darwin - - md5sum - 2f9b3528d4b5f858fb8dcee4b6dd5188 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/slvoice-3.2.0002.9361-darwin-20101117a.tar.bz2 - - linux - - md5sum - cde4728b8a75a76c72a8785815cb769f - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/slvoice-3.2.0002.9361-linux-20101117a.tar.bz2 - - windows - - md5sum - 940ac55a6d0141c958bf2b14939d8474 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/slvoice-3.2.0002.9361-windows-20101117a.tar.bz2 - - - - xmlrpc-epi - - copyright - Copyright 2000 Epinions, Inc. - description - Implementation of the xmlrpc protocol in C that provides an API for developers to serialize RPC requests to and from XML. - license - xmlrpc-epi - packages - - darwin - - md5sum - 2d3a918c88d756422c1a8139ebe15f56 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-darwin-20080812.tar.bz2 - - linux - - md5sum - 84a219199240ea70f54439c02acef0cd - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-linux-20080812.tar.bz2 - - linux64 - - md5sum - dc67b896c56116df8e18f2d1bbd07031 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-linux64-20080909.tar.bz2 - - windows - - md5sum - 262629bcaa39dcf7266caa50da01a599 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/xmlrpc-epi-0.51-windows-20091016.tar.bz2 - - - - zlib - - copyright - Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler - description - A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also Free, Not to Mention Unencumbered by Patents) - license - zlib - packages - - darwin - - md5sum - c844e1b05723ce078dbbd5aea9cdd3ad - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.1.4-darwin-20080818.tar.bz2 - - linux - - md5sum - 26fe88213c213dc6153690ab142c25ca - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3dfsg-linux-20091208.tar.bz2 - - linux64 - - md5sum - 4bddfb2c6dd7b1470a3ed675ac14bd9a - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3-linux64-20080909.tar.bz2 - - windows - - md5sum - 73baf52a740d151fddbc2a008369c462 - url - http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/zlib-1.2.3-windows-20090921.tar.bz2 - - - - - licenses - - AFL2.1 - - url - http://opensource-definition.org/licenses/afl-2.1.html - - GL - - url - http://www.xfree86.org/4.4.0/LICENSE9.html#sgi - - MSDTW - - text - MICROSOFT SOFTWARE LICENSE TERMS -MICROSOFT DEBUGGING TOOLS FOR WINDOWS -These license terms are an agreement between Microsoft Corporation (or based on where you live, one of -its affiliates) and you. Please read them. They apply to the software named above, which includes the -media on which you received it, if any. The terms also apply to any Microsoft -* updates, -* supplements, -* Internet-based services -* support services, and -* Debugging symbol files that you may access over the internet -for this software, unless other terms accompany those items. If so, those terms apply. -By using the software, you accept these terms. If you do not accept them, do not use the -software. -If you comply with these license terms, you have the rights below. -1. INSTALLATION AND USE RIGHTS. One user may install and use any number of copies of the -software on your devices to design, develop, debug and test your programs. -2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. -a. Distributable Code. The software contains code that you are permitted to distribute in programs -you develop if you comply with the terms below. -i. Right to Use and Distribute. The code and text files listed below are “Distributable Code.” -* REDIST.TXT Files. You may copy and distribute the object code form of code listed in -REDIST.TXT files. -* Sample Code. You may modify, copy, and distribute the source and object code form of -code marked as “sample.” -* Third Party Distribution. You may permit distributors of your programs to copy and -distribute the Distributable Code as part of those programs. -ii. Distribution Requirements. For any Distributable Code you distribute, you must -* add significant primary functionality to it in your programs; -* require distributors and external end users to agree to terms that protect it at least as much -as this agreement; -* display your valid copyright notice on your programs; and -* indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, -related to the distribution or use of your programs. -iii. Distribution Restrictions. You may not -* alter any copyright, trademark or patent notice in the Distributable Code; -* distribute any symbol files which you may access or use under these license terms for the -software; -* use Microsoft’s trademarks in your programs’ names or in a way that suggests your -programs come from or are endorsed by Microsoft; -* distribute Distributable Code to run on a platform other than the Windows platform; -* include Distributable Code in malicious, deceptive or unlawful programs; or -* modify or distribute the source code of any Distributable Code so that any part of it -becomes subject to an Excluded License. An Excluded License is one that requires, as a -condition of use, modification or distribution, that -* the code be disclosed or distributed in source code form; or -* others have the right to modify it. -3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights -to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights -despite this limitation, you may use the software only as expressly permitted in this agreement. In -doing so, you must comply with any technical limitations in the software that only allow you to use it in -certain ways. You may not -* work around any technical limitations in the software; -* reverse engineer, decompile or disassemble the software, except and only to the extent that -applicable law expressly permits, despite this limitation; -* make more copies of the software than specified in this agreement or allowed by applicable law, -despite this limitation; -* publish the software for others to copy; -* rent, lease or lend the software; -* transfer the software or this agreement to any third party; or -* use the software for commercial software hosting services. -4. INTERNET-BASED SERVICES. Microsoft provides Internet-based services with the software. It may -change or cancel them at any time. -a. Consent for Internet-Based Services. The software contains features which may connect to -Microsoft or service provider computer systems over the Internet. In some cases, you will not -receive a separate notice when they connect. You may switch these features on or you may -choose not to use them. For more information about these features, see -http://www.microsoft.com/info/privacy/default.mspx. By using these features, you consent to the transmission of -this information. Microsoft does not use the information to identify or contact you. -b. Misuse of Internet-based Services. You may not use these services in any way that could -harm them or impair anyone else’s use of them. You may not use the services to try to gain -unauthorized access to any service, data, account or network by any means. - -5. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the -software. -6. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy -and use the documentation for your internal, reference purposes. -7. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You -must comply with all domestic and international export laws and regulations that apply to the software. -These laws include restrictions on destinations, end users and end use. For additional information, see -www.microsoft.com/exporting. -8. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. -9. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based -services and support services that you use, are the entire agreement for the software and support -services. -10. APPLICABLE LAW. -a. United States. If you acquired the software in the United States, Washington state law governs -the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of -laws principles. The laws of the state where you live govern all other claims, including claims under -state consumer protection laws, unfair competition laws, and in tort. -b. Outside the United States. If you acquired the software in any other country, the laws of that -country apply. -11. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the -laws of your country. You may also have rights with respect to the party from whom you acquired the -software. This agreement does not change your rights under the laws of your country if the laws of -your country do not permit it to do so. -12. DISCLAIMER OF WARRANTY. The software is licensed “as-is.” You bear the risk of using -it. Microsoft gives no express warranties, guarantees or conditions. You may have -additional consumer rights under your local laws which this agreement cannot change. To -the extent permitted under your local laws, Microsoft excludes the implied warranties of -merchantability, fitness for a particular purpose and non-infringement. -13. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. You can recover from -Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any -other damages, including consequential, lost profits, special, indirect or incidental -damages. -This limitation applies to -* anything related to the software, services, content (including code) on third party Internet sites, or -third party programs; and -* claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, -or other tort to the extent permitted by applicable law. -It also applies even if Microsoft knew or should have known about the possibility of the damages. The -above limitation or exclusion may not apply to you because your country may not allow the exclusion or -limitation of incidental, consequential or other damages. - - - apache 2.0 - - url - http://www.apache.org/licenses/LICENSE-2.0 - - artwork - - text - COPYRIGHT AND PERMISSION NOTICE - -Second Life(TM) Viewer Artwork. Copyright (C) 2008 Linden Research, Inc. - -Linden Research, Inc. ("Linden Lab") licenses the Second Life viewer -artwork and other works in the files distributed with this Notice under -the Creative Commons Attribution-Share Alike 3.0 License, available at -http://creativecommons.org/licenses/by-sa/3.0/legalcode. For the license -summary, see http://creativecommons.org/licenses/by-sa/3.0/. - -Notwithstanding the foregoing, all of Linden Lab's trademarks, including -but not limited to the Second Life brand name and Second Life Eye-in-Hand -logo, are subject to our trademark policy at -http://secondlife.com/corporate/trademark/. - -If you distribute any copies or adaptations of the Second Life viewer -artwork or any other works in these files, you must include this Notice -and clearly identify any changes made to the original works. Include -this Notice and information where copyright notices are usually included, -for example, after your own copyright notice acknowledging your use of -the Second Life viewer artwork, in a text file distributed with your -program, in your application's About window, or on a credits page for -your work. - - url - http://svn.secondlife.com/svn/linden/trunk/doc/LICENSE-logos.txt - - boost - - url - http://www.boost.org/LICENSE_1_0.txt - - bsd - - url - http://www.opensource.org/licenses/bsd-license.php - - c-ares - - text - http://daniel.haxx.se/projects/c-ares/license.html - - curl - - url - http://curl.haxx.se/docs/copyright.html - - fmod - - url - http://www.fmod.org/ifmodlicense.html - - freetype - - url - http://freetype.sourceforge.net/FTL.TXT - - glh_linear - - text - glh - is a platform-indepenedent C++ OpenGL helper library - -Copyright (c) 2000 Cass Everitt -Copyright (c) 2000 NVIDIA Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following -conditions are met: - -Redistributions of source code must retain the above -copyright notice, this list of conditions and the following -disclaimer. -Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials -provided with the distribution. -The names of contributors to this software may not be used -to endorse or promote products derived from this software -without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -Cass Everitt - cass@r3.nu - - - - glut - - url - http://www.xmission.com/~nate/glut/README-win32.txt - - gpl - - url - http://www.gnu.org/licenses/gpl.html - - havok - - text - on file - - intel - - text - Haven't yet found. - - - jpeglib - - text - http://nyctergatis.com/jpeglib/ - - jsoncpp - - text - The json-cpp library and this documentation are in Public Domain. Retrieved from http://jsoncpp.sourceforge.net/ on 2009-09-04. - url - http://jsoncpp.sourceforge.net - - kdu - - text - jpeg2000 license #00024 (on file) - - lgpl - - url - http://www.gnu.org/copyleft/lgpl.html - - libpng - - text - http://www.libpng.org/pub/png/src/libpng-LICENSE.txt - - linden - - text - Using this license for Linden Lab owned library files - - mesa - - url - http://www.mesa3d.org/license.html - - mit - - text - http://www.jclark.com/xml/copying.txt - - ogg-vorbis - - url - http://www.xiph.org/licenses/bsd/ - - openSSL - - url - http://www.openssl.org/source/license.html - - openjpeg - - url - http://www.openjpeg.org/BSDlicense.txt - - quicktime - - text - ENGLISH - -Apple Computer, Inc. -QuickTime 7 Software Developer Kit (SDK) -Software License Agreement - -PLEASE READ THIS SOFTWARE LICENSE AGREEMENT ("LICENSE") BEFORE USING THE SOFTWARE. BY USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, SIGNIFY YOUR AGREEMENT TO BE BOUND BY THE TERMS OF THIS LICENSE BY CLICKING THE "AGREE/ACCEPT" BUTTON. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENSE, RETURN THE APPLE SOFTWARE TO THE PLACE WHERE YOU OBTAINED IT FOR A REFUND OR, IF THE SOFTWARE WAS ACCESSED ELECTRONICALLY, CLICK "DISAGREE/DECLINE". - -IMPORTANT NOTE: To the extent this software may be used to reproduce materials, it is licensed to you only for reproduction of materials you are authorized or legally permitted to reproduce. - -1. License. Any software, tools, utilities, sample code, documentation, fonts, API?s, header files and other materials accompanying this License, whether on disk, print or electronic documentation, in read only memory, or any other media, (collectively, the "Apple Software") are licensed, not sold, to you by Apple Computer, Inc. ("Apple") for use only under the terms of this License, and Apple reserves all rights not expressly granted to you. The rights granted herein are limited to Apple's and its licensors' intellectual property rights in the Apple Software and do not include any other patents or intellectual property rights. You own the media on which the Apple Software is recorded but Apple and/or Apple's licensor(s) retain ownership of the Apple Software itself. The Apple Software in this package and any copies, modifications and derivative works that this License authorizes you to make are subject to this License. - -2. Permitted Uses and Restrictions. You may use the Apple Software to develop application software that is compatible with, and runs only on Mac OS X and/or Windows platforms with QuickTime installed. Except for compiling header files and linking libraries as necessary to build your application software, you have no right to modify, incorporate into or include in combination with your own programs, license or otherwise redistribute any portion of the Apple Software. Your software application may not interfere with the functionality of QuickTime Player or the QuickTime Plug-in, including but not limited to file type or MIME type associations that are registered to QuickTime. You may make only as many internal use copies of the Apple Software as reasonably necessary to use the Apple Software as permitted in this paragraph and distribute such copies only to your employees whose job duties require them to so use the Apple Software. You must reproduce on each copy of the Apple Software or portion thereof, the Apple copyright notice and any other proprietary legends that were on the original copy of the Apple Software. Except as expressly permitted in this License, you may not decompile, reverse engineer, disassemble, modify, rent, lease, loan, sublicense, distribute or create derivative works based upon the Apple Software in whole or part. Your rights under this License will terminate automatically without notice from Apple if you fail to comply with any term(s) of this License. In addition, Apple reserves the right to terminate this License if a new version of Apple's operating system software or the Apple Software is released which is incompatible with the Apple Software. - -3. Disclaimer Of Warranty. The Apple Software may be "alpha", "beta", "development", pre-release, untested, and/or not fully tested and may contain errors that could cause failures or loss of data, be incomplete or contain inaccuracies. YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT USE OF THE APPLE SOFTWARE IS AT YOUR SOLE RISK AND THAT THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY AND EFFORT IS WITH YOU. EXCEPT FOR THE LIMITED WARRANTY ON MEDIA SET FORTH ABOVE AND TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE APPLE SOFTWARE IS PROVIDED "AS IS", WITH ALL FAULTS AND WITHOUT WARRANTY OF ANY KIND, AND APPLE AND APPLE'S LICENSORS (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE PURPOSES OF SECTIONS 4 AND 5) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH RESPECT TO THE APPLE SOFTWARE, EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NON-INFRINGEMENT OF THIRD PARTY RIGHTS. APPLE DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE APPLE SOFTWARE, THAT THE FUNCTIONS CONTAINED IN THE APPLE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE OPERATION OF THE APPLE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT DEFECTS IN THE APPLE SOFTWARE WILL BE CORRECTED. NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SHOULD THE APPLE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON APPLICABLE STATUTORY RIGHTS OF A CONSUMER, SO THE ABOVE EXCLUSION AND LIMITATIONS MAY NOT APPLY TO YOU. - -4. Limitation Of Liability. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT SHALL APPLE BE LIABLE FOR PERSONAL INJURY, OR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES WHATSOEVER, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, LOSS OF DATA, BUSINESS INTERRUPTION OR ANY OTHER COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OR INABILITY TO USE THE APPLE SOFTWARE, HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT OR OTHERWISE) AND EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY FOR PERSONAL INJURY, OR OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event shall Apple's total liability to you for all damages (other than as may be required by applicable law in cases involving personal injury) exceed the amount of fifty dollars ($50.00). The foregoing limitations will apply even if the above stated remedy fails of its essential purpose. - -5. Export Control. You may not use or otherwise export or reexport the Apple Product except as authorized by United States law and the laws of the jurisdiction in which the Apple Product was obtained. In particular, but without limitation, the Apple Product may not be exported or re-exported (a) into any U.S. embargoed countries or (b) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person?s List or Entity List. By using the Apple Product, you represent and warrant that you are not located in any such country or on any such list. - -6. Government End Users. The Apple Software and related documentation are "Commercial Items", as that term is defined at 48 C.F.R. ?2.101, consisting of "Commercial Computer Software" and "Commercial Computer Software Documentation", as such terms are used in 48 C.F.R. ?12.212 or 48 C.F.R. ?227.7202, as applicable. Consistent with 48 C.F.R. ?12.212 or 48 C.F.R. ?227.7202-1through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. - -7. Controlling Law and Severability. This License will be governed by and construed in accordance with the laws of the State of California, as applied to agreements entered into and to be performed entirely within California between California residents. This License shall not be governed by the United Nations Convention on Contracts for the International Sale of Goods, the application of which is expressly excluded. If for any reason a court of competent jurisdiction finds any provision, or portion thereof, to be unenforceable, the remainder of this License shall continue in full force and effect. - -8. Complete Agreement. This License constitutes the entire agreement between the parties with respect to the use of the Apple Software licensed hereunder and supersedes all prior or contemporaneous understandings regarding such subject matter. No amendment to or modification of this License will be binding unless in writing and signed by Apple. Any translation of this License is done for local requirements and in the event of a dispute between the English and any non-English versions, the English version of this License shall govern. - -EA0300 - - - sleepycat - - url - http://opensource.org/licenses/sleepycat.php - - smartheap - - text - on file - - - things - - - vivox - - text - on file - - xmlrpc-epi - - url - http://xmlrpc-epi.sourceforge.net/main.php?t=license - - zlib - - url - http://www.gzip.org/zlib/zlib_license.html - - - - diff --git a/scripts/install.py b/scripts/install.py deleted file mode 100755 index d3bdf52283..0000000000 --- a/scripts/install.py +++ /dev/null @@ -1,1150 +0,0 @@ -#!/usr/bin/env python -"""\ -@file install.py -@author Phoenix -@date 2008-01-27 -@brief Install files into an indra checkout. - -Install files as specified by: -https://wiki.lindenlab.com/wiki/User:Phoenix/Library_Installation - - -$LicenseInfo:firstyear=2007&license=mit$ - -Copyright (c) 2007-2009, Linden Research, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -$/LicenseInfo$ -""" - -import sys -import os.path - -# Look for indra/lib/python in all possible parent directories ... -# This is an improvement over the setup-path.py method used previously: -# * the script may blocated anywhere inside the source tree -# * it doesn't depend on the current directory -# * it doesn't depend on another file being present. - -def add_indra_lib_path(): - root = os.path.realpath(__file__) - # always insert the directory of the script in the search path - dir = os.path.dirname(root) - if dir not in sys.path: - sys.path.insert(0, dir) - - # Now go look for indra/lib/python in the parent dies - while root != os.path.sep: - root = os.path.dirname(root) - dir = os.path.join(root, 'indra', 'lib', 'python') - if os.path.isdir(dir): - if dir not in sys.path: - sys.path.insert(0, dir) - return root - else: - print >>sys.stderr, "This script is not inside a valid installation." - sys.exit(1) - -base_dir = add_indra_lib_path() - -import copy -import optparse -import os -import platform -import pprint -import shutil -import tarfile -import tempfile -import urllib2 -import urlparse - -try: - # Python 2.6 - from hashlib import md5 -except ImportError: - # Python 2.5 and earlier - from md5 import new as md5 - -from indra.base import llsd -from indra.util import helpformatter - -class InstallFile(object): - "This is just a handy way to throw around details on a file in memory." - def __init__(self, pkgname, url, md5sum, cache_dir, platform_path): - self.pkgname = pkgname - self.url = url - self.md5sum = md5sum - filename = urlparse.urlparse(url)[2].split('/')[-1] - self.filename = os.path.join(cache_dir, filename) - self.platform_path = platform_path - - def __str__(self): - return "ifile{%s:%s}" % (self.pkgname, self.url) - - def _is_md5sum_match(self): - hasher = md5(file(self.filename, 'rb').read()) - if hasher.hexdigest() == self.md5sum: - return True - return False - - def is_match(self, platform): - """@brief Test to see if this ifile is part of platform - @param platform The target platform. Eg, windows or linux/i686/gcc/3.3 - @return Returns True if the ifile is in the platform. - """ - if self.platform_path[0] == 'common': - return True - req_platform_path = platform.split('/') - #print "platform:",req_platform_path - #print "path:",self.platform_path - # to match, every path part much match - match_count = min(len(req_platform_path), len(self.platform_path)) - for ii in range(0, match_count): - if req_platform_path[ii] != self.platform_path[ii]: - return False - #print "match!" - return True - - def fetch_local(self): - #print "Looking for:",self.filename - if not os.path.exists(self.filename): - pass - elif self.md5sum and not self._is_md5sum_match(): - print "md5 mismatch:", self.filename - os.remove(self.filename) - else: - print "Found matching package:", self.filename - return - print "Downloading",self.url,"to local file",self.filename - file(self.filename, 'wb').write(urllib2.urlopen(self.url).read()) - if self.md5sum and not self._is_md5sum_match(): - raise RuntimeError("Error matching md5 for %s" % self.url) - -class LicenseDefinition(object): - def __init__(self, definition): - #probably looks like: - # { text : ..., - # url : ... - # blessed : ... - # } - self._definition = definition - - -class InstallableDefinition(object): - def __init__(self, definition): - #probably looks like: - # { packages : {platform...}, - # copyright : ... - # license : ... - # description: ... - # } - self._definition = definition - - def _ifiles_from(self, tree, pkgname, cache_dir): - return self._ifiles_from_path(tree, pkgname, cache_dir, []) - - def _ifiles_from_path(self, tree, pkgname, cache_dir, path): - ifiles = [] - if 'url' in tree: - ifiles.append(InstallFile( - pkgname, - tree['url'], - tree.get('md5sum', None), - cache_dir, - path)) - else: - for key in tree: - platform_path = copy.copy(path) - platform_path.append(key) - ifiles.extend( - self._ifiles_from_path( - tree[key], - pkgname, - cache_dir, - platform_path)) - return ifiles - - def ifiles(self, pkgname, platform, cache_dir): - """@brief return a list of appropriate InstallFile instances to install - @param pkgname The name of the package to be installed, eg 'tut' - @param platform The target platform. Eg, windows or linux/i686/gcc/3.3 - @param cache_dir The directory to cache downloads. - @return Returns a list of InstallFiles which are part of this install - """ - if 'packages' not in self._definition: - return [] - all_ifiles = self._ifiles_from( - self._definition['packages'], - pkgname, - cache_dir) - if platform == 'all': - return all_ifiles - #print "Considering", len(all_ifiles), "packages for", pkgname - # split into 2 lines because pychecker thinks it might return none. - files = [ifile for ifile in all_ifiles if ifile.is_match(platform)] - return files - -class InstalledPackage(object): - def __init__(self, definition): - # looks like: - # { url1 : { files: [file1,file2,...], md5sum:... }, - # url2 : { files: [file1,file2,...], md5sum:... },... - # } - self._installed = {} - for url in definition: - self._installed[url] = definition[url] - - def urls(self): - return self._installed.keys() - - def files_in(self, url): - return self._installed[url].get('files', []) - - def get_md5sum(self, url): - return self._installed[url].get('md5sum', None) - - def remove(self, url): - self._installed.pop(url) - - def add_files(self, url, files): - if url not in self._installed: - self._installed[url] = {} - self._installed[url]['files'] = files - - def set_md5sum(self, url, md5sum): - if url not in self._installed: - self._installed[url] = {} - self._installed[url]['md5sum'] = md5sum - -class Installer(object): - def __init__(self, install_filename, installed_filename, dryrun): - self._install_filename = install_filename - self._install_changed = False - self._installed_filename = installed_filename - self._installed_changed = False - self._dryrun = dryrun - self._installables = {} - self._licenses = {} - self._installed = {} - self.load() - - def load(self): - if os.path.exists(self._install_filename): - install = llsd.parse(file(self._install_filename, 'rb').read()) - try: - for name in install['installables']: - self._installables[name] = InstallableDefinition( - install['installables'][name]) - except KeyError: - pass - try: - for name in install['licenses']: - self._licenses[name] = LicenseDefinition(install['licenses'][name]) - except KeyError: - pass - if os.path.exists(self._installed_filename): - installed = llsd.parse(file(self._installed_filename, 'rb').read()) - try: - bins = installed['installables'] - for name in bins: - self._installed[name] = InstalledPackage(bins[name]) - except KeyError: - pass - - def _write(self, filename, state): - print "Writing state to",filename - if not self._dryrun: - file(filename, 'wb').write(llsd.format_pretty_xml(state)) - - def save(self): - if self._install_changed: - state = {} - state['licenses'] = {} - for name in self._licenses: - state['licenses'][name] = self._licenses[name]._definition - #print "self._installables:",self._installables - state['installables'] = {} - for name in self._installables: - state['installables'][name] = \ - self._installables[name]._definition - self._write(self._install_filename, state) - if self._installed_changed: - state = {} - state['installables'] = {} - bin = state['installables'] - for name in self._installed: - #print "installed:",name,self._installed[name]._installed - bin[name] = self._installed[name]._installed - self._write(self._installed_filename, state) - - def is_valid_license(self, bin): - "@brief retrun true if we have valid license info for installable." - installable = self._installables[bin]._definition - if 'license' not in installable: - print >>sys.stderr, "No license info found for", bin - print >>sys.stderr, 'Please add the license with the', - print >>sys.stderr, '--add-installable option. See', \ - sys.argv[0], '--help' - return False - if installable['license'] not in self._licenses: - lic = installable['license'] - print >>sys.stderr, "Missing license info for '" + lic + "'.", - print >>sys.stderr, 'Please add the license with the', - print >>sys.stderr, '--add-license option. See', sys.argv[0], - print >>sys.stderr, '--help' - return False - return True - - def list_installables(self): - "Return a list of all known installables." - return sorted(self._installables.keys()) - - def detail_installable(self, name): - "Return a installable definition detail" - return self._installables[name]._definition - - def list_licenses(self): - "Return a list of all known licenses." - return sorted(self._licenses.keys()) - - def detail_license(self, name): - "Return a license definition detail" - return self._licenses[name]._definition - - def list_installed(self): - "Return a list of installed packages." - return sorted(self._installed.keys()) - - def detail_installed(self, name): - "Return file list for specific installed package." - filelist = [] - for url in self._installed[name]._installed.keys(): - filelist.extend(self._installed[name].files_in(url)) - return filelist - - def _update_field(self, description, field, value, multiline=False): - """Given a block and a field name, add or update it. - @param description a dict containing all the details of a description. - @param field the name of the field to update. - @param value the value of the field to update; if omitted, interview - will ask for value. - @param multiline boolean specifying whether field is multiline or not. - """ - if value: - description[field] = value - else: - if field in description: - print "Update value for '" + field + "'" - print "(Leave blank to keep current value)" - print "Current Value: '" + description[field] + "'" - else: - print "Specify value for '" + field + "'" - if not multiline: - new_value = raw_input("Enter New Value: ") - else: - print "Please enter " + field + ". End input with EOF (^D)." - new_value = sys.stdin.read() - - if field in description and not new_value: - pass - elif new_value: - description[field] = new_value - - self._install_changed = True - return True - - def _update_installable(self, name, platform, url, md5sum): - """Update installable entry with specific package information. - @param installable[in,out] a dict containing installable details. - @param platform Platform info, i.e. linux/i686, windows/i686 etc. - @param url URL of tar file - @param md5sum md5sum of tar file - """ - installable = self._installables[name]._definition - path = platform.split('/') - if 'packages' not in installable: - installable['packages'] = {} - update = installable['packages'] - for child in path: - if child not in update: - update[child] = {} - parent = update - update = update[child] - parent[child]['url'] = llsd.uri(url) - parent[child]['md5sum'] = md5sum - - self._install_changed = True - return True - - - def add_installable_package(self, name, **kwargs): - """Add an url for a platform path to the installable. - @param installable[in,out] a dict containing installable details. - """ - platform_help_str = """\ -Please enter a new package location and url. Some examples: -common -- specify a package for all platforms -linux -- specify a package for all arch and compilers on linux -darwin/universal -- specify a mac os x universal -windows/i686/vs/2003 -- specify a windows visual studio 2003 package""" - if name not in self._installables: - print "Error: must add library with --add-installable or " \ - +"--add-installable-metadata before using " \ - +"--add-installable-package option" - return False - else: - print "Updating installable '" + name + "'." - for arg in ('platform', 'url', 'md5sum'): - if not kwargs[arg]: - if arg == 'platform': - print platform_help_str - kwargs[arg] = raw_input("Package "+arg+":") - #path = kwargs['platform'].split('/') - - return self._update_installable(name, kwargs['platform'], - kwargs['url'], kwargs['md5sum']) - - def add_installable_metadata(self, name, **kwargs): - """Interactively add (only) library metadata into install, - w/o adding installable""" - if name not in self._installables: - print "Adding installable '" + name + "'." - self._installables[name] = InstallableDefinition({}) - else: - print "Updating installable '" + name + "'." - installable = self._installables[name]._definition - for field in ('copyright', 'license', 'description'): - self._update_field(installable, field, kwargs[field]) - print "Added installable '" + name + "':" - pprint.pprint(self._installables[name]) - - return True - - def add_installable(self, name, **kwargs): - "Interactively pull a new installable into the install" - ret_a = self.add_installable_metadata(name, **kwargs) - ret_b = self.add_installable_package(name, **kwargs) - return (ret_a and ret_b) - - def remove_installable(self, name): - self._installables.pop(name) - self._install_changed = True - - def add_license(self, name, **kwargs): - if name not in self._licenses: - print "Adding license '" + name + "'." - self._licenses[name] = LicenseDefinition({}) - else: - print "Updating license '" + name + "'." - the_license = self._licenses[name]._definition - for field in ('url', 'text'): - multiline = False - if field == 'text': - multiline = True - self._update_field(the_license, field, kwargs[field], multiline) - self._install_changed = True - return True - - def remove_license(self, name): - self._licenses.pop(name) - self._install_changed = True - - def _uninstall(self, installables): - """@brief Do the actual removal of files work. - *NOTE: This method is not transactionally safe -- ie, if it - raises an exception, internal state may be inconsistent. How - should we address this? - @param installables The package names to remove - """ - remove_file_list = [] - for pkgname in installables: - for url in self._installed[pkgname].urls(): - remove_file_list.extend( - self._installed[pkgname].files_in(url)) - self._installed[pkgname].remove(url) - if not self._dryrun: - self._installed_changed = True - if not self._dryrun: - self._installed.pop(pkgname) - remove_dir_set = set() - for filename in remove_file_list: - print "rm",filename - if not self._dryrun: - if os.path.lexists(filename): - remove_dir_set.add(os.path.dirname(filename)) - try: - os.remove(filename) - except OSError: - # This is just for cleanup, so we don't care - # about normal failures. - pass - for dirname in remove_dir_set: - try: - os.removedirs(dirname) - except OSError: - # This is just for cleanup, so we don't care about - # normal failures. - pass - - def uninstall(self, installables, install_dir): - """@brief Remove the packages specified. - @param installables The package names to remove - @param install_dir The directory to work from - """ - print "uninstall",installables,"from",install_dir - cwd = os.getcwdu() - os.chdir(install_dir) - try: - self._uninstall(installables) - finally: - os.chdir(cwd) - - def _build_ifiles(self, platform, cache_dir): - """@brief determine what files to install - @param platform The target platform. Eg, windows or linux/i686/gcc/3.3 - @param cache_dir The directory to cache downloads. - @return Returns the ifiles to install - """ - ifiles = [] - for bin in self._installables: - ifiles.extend(self._installables[bin].ifiles(bin, - platform, - cache_dir)) - to_install = [] - #print "self._installed",self._installed - for ifile in ifiles: - if ifile.pkgname not in self._installed: - to_install.append(ifile) - elif ifile.url not in self._installed[ifile.pkgname].urls(): - to_install.append(ifile) - elif ifile.md5sum != \ - self._installed[ifile.pkgname].get_md5sum(ifile.url): - # *TODO: We may want to uninstall the old version too - # when we detect it is installed, but the md5 sum is - # different. - to_install.append(ifile) - else: - #print "Installation up to date:", - # ifile.pkgname,ifile.platform_path - pass - #print "to_install",to_install - return to_install - - def _install(self, to_install, install_dir): - for ifile in to_install: - tar = tarfile.open(ifile.filename, 'r') - print "Extracting",ifile.filename,"to",install_dir - if not self._dryrun: - # *NOTE: try to call extractall, which first appears - # in python 2.5. Phoenix 2008-01-28 - try: - tar.extractall(path=install_dir) - except AttributeError: - _extractall(tar, path=install_dir) - if ifile.pkgname in self._installed: - self._installed[ifile.pkgname].add_files( - ifile.url, - tar.getnames()) - self._installed[ifile.pkgname].set_md5sum( - ifile.url, - ifile.md5sum) - else: - # *HACK: this understands the installed package syntax. - definition = { ifile.url : - {'files': tar.getnames(), - 'md5sum' : ifile.md5sum } } - self._installed[ifile.pkgname] = InstalledPackage(definition) - self._installed_changed = True - - def install(self, installables, platform, install_dir, cache_dir): - """@brief Do the installation for for the platform. - @param installables The requested installables to install. - @param platform The target platform. Eg, windows or linux/i686/gcc/3.3 - @param install_dir The root directory to install into. Created - if missing. - @param cache_dir The directory to cache downloads. Created if - missing. - """ - # The ordering of steps in the method is to help reduce the - # likelihood that we break something. - install_dir = os.path.realpath(install_dir) - cache_dir = os.path.realpath(cache_dir) - _mkdir(install_dir) - _mkdir(cache_dir) - to_install = self._build_ifiles(platform, cache_dir) - - # Filter for files which we actually requested to install. - to_install = [ifl for ifl in to_install if ifl.pkgname in installables] - for ifile in to_install: - ifile.fetch_local() - self._install(to_install, install_dir) - - def do_install(self, installables, platform, install_dir, cache_dir=None, - check_license=True, scp=None): - """Determine what installables should be installed. If they were - passed in on the command line, use them, otherwise install - all known installables. - """ - if not cache_dir: - cache_dir = _default_installable_cache() - all_installables = self.list_installables() - if not len(installables): - install_installables = all_installables - else: - # passed in on the command line. We'll need to verify we - # know about them here. - install_installables = installables - for installable in install_installables: - if installable not in all_installables: - raise RuntimeError('Unknown installable: %s' % - (installable,)) - if check_license: - # *TODO: check against a list of 'known good' licenses. - # *TODO: check for urls which conflict -- will lead to - # problems. - for installable in install_installables: - if not self.is_valid_license(installable): - return 1 - - # Set up the 'scp' handler - opener = urllib2.build_opener() - scp_or_http = SCPOrHTTPHandler(scp) - opener.add_handler(scp_or_http) - urllib2.install_opener(opener) - - # Do the work of installing the requested installables. - self.install( - install_installables, - platform, - install_dir, - cache_dir) - scp_or_http.cleanup() - - def do_uninstall(self, installables, install_dir): - # Do not bother to check license if we're uninstalling. - all_installed = self.list_installed() - if not len(installables): - uninstall_installables = all_installed - else: - # passed in on the command line. We'll need to verify we - # know about them here. - uninstall_installables = installables - for installable in uninstall_installables: - if installable not in all_installed: - raise RuntimeError('Installable not installed: %s' % - (installable,)) - self.uninstall(uninstall_installables, install_dir) - -class SCPOrHTTPHandler(urllib2.BaseHandler): - """Evil hack to allow both the build system and developers consume - proprietary binaries. - To use http, export the environment variable: - INSTALL_USE_HTTP_FOR_SCP=true - """ - def __init__(self, scp_binary): - self._scp = scp_binary - self._dir = None - - def scp_open(self, request): - #scp:codex.lindenlab.com:/local/share/install_pkgs/package.tar.bz2 - remote = request.get_full_url()[4:] - if os.getenv('INSTALL_USE_HTTP_FOR_SCP', None) == 'true': - return self.do_http(remote) - try: - return self.do_scp(remote) - except: - self.cleanup() - raise - - def do_http(self, remote): - url = remote.split(':',1) - if not url[1].startswith('/'): - # in case it's in a homedir or something - url.insert(1, '/') - url.insert(0, "http://") - url = ''.join(url) - print "Using HTTP:",url - return urllib2.urlopen(url) - - def do_scp(self, remote): - if not self._dir: - self._dir = tempfile.mkdtemp() - local = os.path.join(self._dir, remote.split('/')[-1:][0]) - command = [] - for part in (self._scp, remote, local): - if ' ' in part: - # I hate shell escaping. - part.replace('\\', '\\\\') - part.replace('"', '\\"') - command.append('"%s"' % part) - else: - command.append(part) - #print "forking:", command - rv = os.system(' '.join(command)) - if rv != 0: - raise RuntimeError("Cannot fetch: %s" % remote) - return file(local, 'rb') - - def cleanup(self): - if self._dir: - shutil.rmtree(self._dir) - - -# -# *NOTE: PULLED FROM PYTHON 2.5 tarfile.py Phoenix 2008-01-28 -# -def _extractall(tar, path=".", members=None): - """Extract all members from the archive to the current working - directory and set owner, modification time and permissions on - directories afterwards. `path' specifies a different directory - to extract to. `members' is optional and must be a subset of the - list returned by getmembers(). - """ - directories = [] - - if members is None: - members = tar - - for tarinfo in members: - if tarinfo.isdir(): - # Extract directory with a safe mode, so that - # all files below can be extracted as well. - try: - os.makedirs(os.path.join(path, tarinfo.name), 0777) - except EnvironmentError: - pass - directories.append(tarinfo) - else: - tar.extract(tarinfo, path) - - # Reverse sort directories. - directories.sort(lambda a, b: cmp(a.name, b.name)) - directories.reverse() - - # Set correct owner, mtime and filemode on directories. - for tarinfo in directories: - path = os.path.join(path, tarinfo.name) - try: - tar.chown(tarinfo, path) - tar.utime(tarinfo, path) - tar.chmod(tarinfo, path) - except tarfile.ExtractError, e: - if tar.errorlevel > 1: - raise - else: - tar._dbg(1, "tarfile: %s" % e) - - -def _mkdir(directory): - "Safe, repeatable way to make a directory." - if not os.path.exists(directory): - os.makedirs(directory) - -def _get_platform(): - "Return appropriate platform packages for the environment." - platform_map = { - 'darwin': 'darwin', - 'linux2': 'linux', - 'win32' : 'windows', - 'cygwin' : 'windows', - 'solaris' : 'solaris' - } - this_platform = platform_map[sys.platform] - if this_platform == 'linux': - if platform.architecture()[0] == '64bit': - # TODO -- someday when install.py accepts a platform of the form - # os/arch/compiler/compiler_version then we can replace the - # 'linux64' platform with 'linux/x86_64/gcc/4.1' - this_platform = 'linux' - return this_platform - -def _getuser(): - "Get the user" - try: - # Unix-only. - import getpass - return getpass.getuser() - except ImportError: - import ctypes - MAX_PATH = 260 # according to a recent WinDef.h - name = ctypes.create_unicode_buffer(MAX_PATH) - namelen = ctypes.c_int(len(name)) # len in chars, NOT bytes - if not ctypes.windll.advapi32.GetUserNameW(name, ctypes.byref(namelen)): - raise ctypes.WinError() - return name.value - -def _default_installable_cache(): - """In general, the installable files do not change much, so find a - host/user specific location to cache files.""" - user = _getuser() - cache_dir = "/var/tmp/%s/install.cache" % user - if _get_platform() == 'windows': - cache_dir = os.path.join(tempfile.gettempdir(), \ - 'install.cache.%s' % user) - return cache_dir - -def parse_args(): - parser = optparse.OptionParser( - usage="usage: %prog [options] [installable1 [installable2...]]", - formatter = helpformatter.Formatter(), - description="""This script fetches and installs installable packages. -It also handles uninstalling those packages and manages the mapping between -packages and their license. - -The process is to open and read an install manifest file which specifies -what files should be installed. For each installable to be installed. - * make sure it has a license - * check the installed version - ** if not installed and needs to be, download and install - ** if installed version differs, download & install - -If no installables are specified on the command line, then the defaut -behavior is to install all known installables appropriate for the platform -specified or uninstall all installables if --uninstall is set. You can specify -more than one installable on the command line. - -When specifying a platform, you can specify 'all' to install all -packages, or any platform of the form: - -OS[/arch[/compiler[/compiler_version]]] - -Where the supported values for each are: -OS: darwin, linux, windows, solaris -arch: i686, x86_64, ppc, universal -compiler: vs, gcc -compiler_version: 2003, 2005, 2008, 3.3, 3.4, 4.0, etc. - -No checks are made to ensure a valid combination of platform -parts. Some exmples of valid platforms: - -windows -windows/i686/vs/2005 -linux/x86_64/gcc/3.3 -linux/x86_64/gcc/4.0 -darwin/universal/gcc/4.0 -""") - parser.add_option( - '--dry-run', - action='store_true', - default=False, - dest='dryrun', - help='Do not actually install files. Downloads will still happen.') - parser.add_option( - '--install-manifest', - type='string', - default=os.path.join(base_dir, 'install.xml'), - dest='install_filename', - help='The file used to describe what should be installed.') - parser.add_option( - '--installed-manifest', - type='string', - default=os.path.join(base_dir, 'installed.xml'), - dest='installed_filename', - help='The file used to record what is installed.') - parser.add_option( - '--export-manifest', - action='store_true', - default=False, - dest='export_manifest', - help="Print the install manifest to stdout and exit.") - parser.add_option( - '-p', '--platform', - type='string', - default=_get_platform(), - dest='platform', - help="""Override the automatically determined platform. \ -You can specify 'all' to do a installation of installables for all platforms.""") - parser.add_option( - '--cache-dir', - type='string', - default=_default_installable_cache(), - dest='cache_dir', - help='Where to download files. Default: %s'% \ - (_default_installable_cache())) - parser.add_option( - '--install-dir', - type='string', - default=base_dir, - dest='install_dir', - help='Where to unpack the installed files.') - parser.add_option( - '--list-installed', - action='store_true', - default=False, - dest='list_installed', - help="List the installed package names and exit.") - parser.add_option( - '--skip-license-check', - action='store_false', - default=True, - dest='check_license', - help="Do not perform the license check.") - parser.add_option( - '--list-licenses', - action='store_true', - default=False, - dest='list_licenses', - help="List known licenses and exit.") - parser.add_option( - '--detail-license', - type='string', - default=None, - dest='detail_license', - help="Get detailed information on specified license and exit.") - parser.add_option( - '--add-license', - type='string', - default=None, - dest='new_license', - help="""Add a license to the install file. Argument is the name of \ -license. Specify --license-url if the license is remote or specify \ ---license-text, otherwse the license text will be read from standard \ -input.""") - parser.add_option( - '--license-url', - type='string', - default=None, - dest='license_url', - help="""Put the specified url into an added license. \ -Ignored if --add-license is not specified.""") - parser.add_option( - '--license-text', - type='string', - default=None, - dest='license_text', - help="""Put the text into an added license. \ -Ignored if --add-license is not specified.""") - parser.add_option( - '--remove-license', - type='string', - default=None, - dest='remove_license', - help="Remove a named license.") - parser.add_option( - '--remove-installable', - type='string', - default=None, - dest='remove_installable', - help="Remove a installable from the install file.") - parser.add_option( - '--add-installable', - type='string', - default=None, - dest='add_installable', - help="""Add a installable into the install file. Argument is \ -the name of the installable to add.""") - parser.add_option( - '--add-installable-metadata', - type='string', - default=None, - dest='add_installable_metadata', - help="""Add package for library into the install file. Argument is \ -the name of the library to add.""") - parser.add_option( - '--installable-copyright', - type='string', - default=None, - dest='installable_copyright', - help="""Copyright for specified new package. Ignored if \ ---add-installable is not specified.""") - parser.add_option( - '--installable-license', - type='string', - default=None, - dest='installable_license', - help="""Name of license for specified new package. Ignored if \ ---add-installable is not specified.""") - parser.add_option( - '--installable-description', - type='string', - default=None, - dest='installable_description', - help="""Description for specified new package. Ignored if \ ---add-installable is not specified.""") - parser.add_option( - '--add-installable-package', - type='string', - default=None, - dest='add_installable_package', - help="""Add package for library into the install file. Argument is \ -the name of the library to add.""") - parser.add_option( - '--package-platform', - type='string', - default=None, - dest='package_platform', - help="""Platform for specified new package. \ -Ignored if --add-installable or --add-installable-package is not specified.""") - parser.add_option( - '--package-url', - type='string', - default=None, - dest='package_url', - help="""URL for specified package. \ -Ignored if --add-installable or --add-installable-package is not specified.""") - parser.add_option( - '--package-md5', - type='string', - default=None, - dest='package_md5', - help="""md5sum for new package. \ -Ignored if --add-installable or --add-installable-package is not specified.""") - parser.add_option( - '--list', - action='store_true', - default=False, - dest='list_installables', - help="List the installables in the install manifest and exit.") - parser.add_option( - '--detail', - type='string', - default=None, - dest='detail_installable', - help="Get detailed information on specified installable and exit.") - parser.add_option( - '--detail-installed', - type='string', - default=None, - dest='detail_installed', - help="Get list of files for specified installed installable and exit.") - parser.add_option( - '--uninstall', - action='store_true', - default=False, - dest='uninstall', - help="""Remove the installables specified in the arguments. Just like \ -during installation, if no installables are listed then all installed \ -installables are removed.""") - parser.add_option( - '--scp', - type='string', - default='scp', - dest='scp', - help="Specify the path to your scp program.") - - return parser.parse_args() - -def main(): - options, args = parse_args() - installer = Installer( - options.install_filename, - options.installed_filename, - options.dryrun) - - # - # Handle the queries for information - # - if options.list_installed: - print "installed list:", installer.list_installed() - return 0 - if options.list_installables: - print "installable list:", installer.list_installables() - return 0 - if options.detail_installable: - try: - detail = installer.detail_installable(options.detail_installable) - print "Detail on installable",options.detail_installable+":" - pprint.pprint(detail) - except KeyError: - print "Installable '"+options.detail_installable+"' not found in", - print "install file." - return 0 - if options.detail_installed: - try: - detail = installer.detail_installed(options.detail_installed) - #print "Detail on installed",options.detail_installed+":" - for line in detail: - print line - except: - raise - print "Installable '"+options.detail_installed+"' not found in ", - print "install file." - return 0 - if options.list_licenses: - print "license list:", installer.list_licenses() - return 0 - if options.detail_license: - try: - detail = installer.detail_license(options.detail_license) - print "Detail on license",options.detail_license+":" - pprint.pprint(detail) - except KeyError: - print "License '"+options.detail_license+"' not defined in", - print "install file." - return 0 - if options.export_manifest: - # *HACK: just re-parse the install manifest and pretty print - # it. easier than looking at the datastructure designed for - # actually determining what to install - install = llsd.parse(file(options.install_filename, 'rb').read()) - pprint.pprint(install) - return 0 - - # - # Handle updates -- can only do one of these - # *TODO: should this change the command line syntax? - # - if options.new_license: - if not installer.add_license( - options.new_license, - text=options.license_text, - url=options.license_url): - return 1 - elif options.remove_license: - installer.remove_license(options.remove_license) - elif options.remove_installable: - installer.remove_installable(options.remove_installable) - elif options.add_installable: - if not installer.add_installable( - options.add_installable, - copyright=options.installable_copyright, - license=options.installable_license, - description=options.installable_description, - platform=options.package_platform, - url=options.package_url, - md5sum=options.package_md5): - return 1 - elif options.add_installable_metadata: - if not installer.add_installable_metadata( - options.add_installable_metadata, - copyright=options.installable_copyright, - license=options.installable_license, - description=options.installable_description): - return 1 - elif options.add_installable_package: - if not installer.add_installable_package( - options.add_installable_package, - platform=options.package_platform, - url=options.package_url, - md5sum=options.package_md5): - return 1 - elif options.uninstall: - installer.do_uninstall(args, options.install_dir) - else: - installer.do_install(args, options.platform, options.install_dir, - options.cache_dir, options.check_license, - options.scp) - - # save out any changes - installer.save() - return 0 - -if __name__ == '__main__': - #print sys.argv - sys.exit(main()) -- cgit v1.3 From 01dd9929e21228e4e6e04d9e3f7c310ffdc834db Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 28 Jan 2011 16:00:57 -0800 Subject: STORM-937 : Makes all python paths use consistent syntax --- indra/copy_win_scripts/start-client.py | 2 +- indra/develop.py | 2 +- indra/lib/python/indra/util/simperf_host_xml_parser.py | 2 +- indra/lib/python/indra/util/simperf_oprof_interface.py | 2 +- indra/lib/python/indra/util/test_win32_manifest.py | 2 +- indra/newview/generate_breakpad_symbols.py | 2 +- scripts/build_version.py | 2 +- scripts/install.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) (limited to 'scripts') diff --git a/indra/copy_win_scripts/start-client.py b/indra/copy_win_scripts/start-client.py index 5f7ff2f293..2a96503f01 100644 --- a/indra/copy_win_scripts/start-client.py +++ b/indra/copy_win_scripts/start-client.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python import sys, getopt import os import llstart diff --git a/indra/develop.py b/indra/develop.py index 36c947327a..d43cf3aadc 100755 --- a/indra/develop.py +++ b/indra/develop.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python # # @file develop.py # @authors Bryan O'Sullivan, Mark Palange, Aaron Brashears diff --git a/indra/lib/python/indra/util/simperf_host_xml_parser.py b/indra/lib/python/indra/util/simperf_host_xml_parser.py index 672c1050c2..7801d9fa66 100755 --- a/indra/lib/python/indra/util/simperf_host_xml_parser.py +++ b/indra/lib/python/indra/util/simperf_host_xml_parser.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python """\ @file simperf_host_xml_parser.py @brief Digest collector's XML dump and convert to simple dict/list structure diff --git a/indra/lib/python/indra/util/simperf_oprof_interface.py b/indra/lib/python/indra/util/simperf_oprof_interface.py index 547d2f9980..e3d55d7922 100755 --- a/indra/lib/python/indra/util/simperf_oprof_interface.py +++ b/indra/lib/python/indra/util/simperf_oprof_interface.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python """\ @file simperf_oprof_interface.py @brief Manage OProfile data collection on a host diff --git a/indra/lib/python/indra/util/test_win32_manifest.py b/indra/lib/python/indra/util/test_win32_manifest.py index da8ee6c545..d4e6115a5a 100644 --- a/indra/lib/python/indra/util/test_win32_manifest.py +++ b/indra/lib/python/indra/util/test_win32_manifest.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python # @file test_win32_manifest.py # @brief Test an assembly binding version and uniqueness in a windows dll or exe. # diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py index 4fd04d780e..018871d9d3 100644 --- a/indra/newview/generate_breakpad_symbols.py +++ b/indra/newview/generate_breakpad_symbols.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python # @file generate_breakpad_symbols.py # @author Brad Kittenbrink # @brief Simple tool for generating google_breakpad symbol information diff --git a/scripts/build_version.py b/scripts/build_version.py index 4bef290b7d..46536b1468 100755 --- a/scripts/build_version.py +++ b/scripts/build_version.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python # # Print the build information embedded in a header file. # diff --git a/scripts/install.py b/scripts/install.py index d3bdf52283..9dd77864f4 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python """\ @file install.py @author Phoenix -- cgit v1.3 From 896bc12a2b9564a770e3eef584c9ec234f39bb3b Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Wed, 9 Feb 2011 15:23:07 -0800 Subject: STORM-937 : Fix python scripts shebang line and license header for consistency --- indra/cmake/run_build_test.py | 2 +- indra/copy_win_scripts/start-client.py | 26 ++++++++++- indra/develop.py | 53 ++++++++++----------- indra/lib/python/indra/util/llperformance.py | 26 ++++++++++- .../python/indra/util/simperf_host_xml_parser.py | 2 +- .../python/indra/util/simperf_oprof_interface.py | 2 +- .../python/indra/util/simperf_proc_interface.py | 2 +- indra/lib/python/indra/util/test_win32_manifest.py | 51 ++++++++++---------- indra/llmessage/tests/test_llsdmessage_peer.py | 2 +- indra/llmessage/tests/testrunner.py | 2 +- indra/newview/generate_breakpad_symbols.py | 54 +++++++++++----------- indra/newview/tests/test_llxmlrpc_peer.py | 2 +- indra/newview/viewer_manifest.py | 54 +++++++++++----------- indra/test/test_llmanifest.py | 2 +- scripts/build_version.py | 49 ++++++++++++++------ scripts/install.py | 2 +- scripts/md5check.py | 43 ++++++++--------- scripts/setup-path.py | 2 +- scripts/template_verifier.py | 2 +- scripts/update_version_files.py | 32 +++++++++++-- 20 files changed, 252 insertions(+), 158 deletions(-) (limited to 'scripts') diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index 37aa75e364..320a9be8ab 100644 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file run_build_test.py @author Nat Goodspeed diff --git a/indra/copy_win_scripts/start-client.py b/indra/copy_win_scripts/start-client.py index 2a96503f01..5699f5273f 100644 --- a/indra/copy_win_scripts/start-client.py +++ b/indra/copy_win_scripts/start-client.py @@ -1,4 +1,28 @@ -#!/usr/bin/python +#!/usr/bin/env python +"""\ +@file start-client.py + +$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, getopt import os import llstart diff --git a/indra/develop.py b/indra/develop.py index d43cf3aadc..d9a66352f3 100755 --- a/indra/develop.py +++ b/indra/develop.py @@ -1,29 +1,30 @@ -#!/usr/bin/python -# -# @file develop.py -# @authors Bryan O'Sullivan, Mark Palange, Aaron Brashears -# @brief Fire and forget script to appropriately configure cmake for SL. -# -# $LicenseInfo:firstyear=2007&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, 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$ +#!/usr/bin/env python +"""\ +@file develop.py +@authors Bryan O'Sullivan, Mark Palange, Aaron Brashears +@brief Fire and forget script to appropriately configure cmake for SL. + +$LicenseInfo:firstyear=2007&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2007-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 diff --git a/indra/lib/python/indra/util/llperformance.py b/indra/lib/python/indra/util/llperformance.py index 7c52730b5e..57dd64de3f 100755 --- a/indra/lib/python/indra/util/llperformance.py +++ b/indra/lib/python/indra/util/llperformance.py @@ -1,4 +1,28 @@ -#!/usr/bin/python +#!/usr/bin/env python +"""\ +@file llperformance.py + +$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$ +""" # ------------------------------------------------ # Sim metrics utility functions. diff --git a/indra/lib/python/indra/util/simperf_host_xml_parser.py b/indra/lib/python/indra/util/simperf_host_xml_parser.py index 7801d9fa66..672c1050c2 100755 --- a/indra/lib/python/indra/util/simperf_host_xml_parser.py +++ b/indra/lib/python/indra/util/simperf_host_xml_parser.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file simperf_host_xml_parser.py @brief Digest collector's XML dump and convert to simple dict/list structure diff --git a/indra/lib/python/indra/util/simperf_oprof_interface.py b/indra/lib/python/indra/util/simperf_oprof_interface.py index e3d55d7922..547d2f9980 100755 --- a/indra/lib/python/indra/util/simperf_oprof_interface.py +++ b/indra/lib/python/indra/util/simperf_oprof_interface.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file simperf_oprof_interface.py @brief Manage OProfile data collection on a host diff --git a/indra/lib/python/indra/util/simperf_proc_interface.py b/indra/lib/python/indra/util/simperf_proc_interface.py index da6304a274..de061f68cc 100755 --- a/indra/lib/python/indra/util/simperf_proc_interface.py +++ b/indra/lib/python/indra/util/simperf_proc_interface.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file simperf_proc_interface.py @brief Utility to extract log messages from *..llsd files containing performance statistics. diff --git a/indra/lib/python/indra/util/test_win32_manifest.py b/indra/lib/python/indra/util/test_win32_manifest.py index d4e6115a5a..0532cb0065 100644 --- a/indra/lib/python/indra/util/test_win32_manifest.py +++ b/indra/lib/python/indra/util/test_win32_manifest.py @@ -1,28 +1,29 @@ -#!/usr/bin/python -# @file test_win32_manifest.py -# @brief Test an assembly binding version and uniqueness in a windows dll or exe. -# -# $LicenseInfo:firstyear=2009&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, 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$ - +#!/usr/bin/env python +"""\ +@file test_win32_manifest.py +@brief Test an assembly binding version and uniqueness in a windows dll or exe. + +$LicenseInfo:firstyear=2009&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2009-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, os import tempfile from xml.dom.minidom import parse diff --git a/indra/llmessage/tests/test_llsdmessage_peer.py b/indra/llmessage/tests/test_llsdmessage_peer.py index 7eb198bb34..580ee7f8b4 100644 --- a/indra/llmessage/tests/test_llsdmessage_peer.py +++ b/indra/llmessage/tests/test_llsdmessage_peer.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file test_llsdmessage_peer.py @author Nat Goodspeed diff --git a/indra/llmessage/tests/testrunner.py b/indra/llmessage/tests/testrunner.py index 4d58ef7130..b70ce91ee7 100644 --- a/indra/llmessage/tests/testrunner.py +++ b/indra/llmessage/tests/testrunner.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file testrunner.py @author Nat Goodspeed diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py index 018871d9d3..5ebec1563e 100644 --- a/indra/newview/generate_breakpad_symbols.py +++ b/indra/newview/generate_breakpad_symbols.py @@ -1,29 +1,31 @@ -#!/usr/bin/python -# @file generate_breakpad_symbols.py -# @author Brad Kittenbrink -# @brief Simple tool for generating google_breakpad symbol information -# for the crash reporter. -# -# $LicenseInfo:firstyear=2010&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, 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$ +#!/usr/bin/env python +"""\ +@file generate_breakpad_symbols.py +@author Brad Kittenbrink +@brief Simple tool for generating google_breakpad symbol information + for the crash reporter. + +$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 collections diff --git a/indra/newview/tests/test_llxmlrpc_peer.py b/indra/newview/tests/test_llxmlrpc_peer.py index aeebb0cfd1..1c7204a6b6 100644 --- a/indra/newview/tests/test_llxmlrpc_peer.py +++ b/indra/newview/tests/test_llxmlrpc_peer.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file test_llxmlrpc_peer.py @author Nat Goodspeed diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 338c62b9fb..1722c84d34 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1,29 +1,31 @@ -#!/usr/bin/python -# @file viewer_manifest.py -# @author Ryan Williams -# @brief Description of all installer viewer files, and methods for packaging -# them into installers for all supported platforms. -# -# $LicenseInfo:firstyear=2006&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, 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$ +#!/usr/bin/env python +"""\ +@file viewer_manifest.py +@author Ryan Williams +@brief Description of all installer viewer files, and methods for packaging + them into installers for all supported platforms. + +$LicenseInfo:firstyear=2006&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2006-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 import re diff --git a/indra/test/test_llmanifest.py b/indra/test/test_llmanifest.py index 89c36f95dd..a97abbc6ee 100644 --- a/indra/test/test_llmanifest.py +++ b/indra/test/test_llmanifest.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """ @file test_llmanifest.py @author Ryan Williams diff --git a/scripts/build_version.py b/scripts/build_version.py index 46536b1468..203d76fe9e 100755 --- a/scripts/build_version.py +++ b/scripts/build_version.py @@ -1,16 +1,39 @@ -#!/usr/bin/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. +#!/usr/bin/env python +"""\ +@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/install.py b/scripts/install.py index 9dd77864f4..d3bdf52283 100755 --- a/scripts/install.py +++ b/scripts/install.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file install.py @author Phoenix diff --git a/scripts/md5check.py b/scripts/md5check.py index 951fe0105c..1a54a2844c 100755 --- 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/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..7f3fed88a9 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. diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py index da60fd105a..c2fa8a8d31 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 -- cgit v1.3 From 10cf492ef1730e869389b704345a6604ed363427 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 11 Feb 2011 16:56:28 -0800 Subject: STORM-937 : Use subprocess instead os commands in python, suppress crufty svn code --- indra/lib/python/indra/util/llversion.py | 57 +++++++++++--------------------- scripts/update_version_files.py | 22 ++++-------- 2 files changed, 25 insertions(+), 54 deletions(-) (limited to 'scripts') diff --git a/indra/lib/python/indra/util/llversion.py b/indra/lib/python/indra/util/llversion.py index 2718a85f41..ba6f567b60 100644 --- a/indra/lib/python/indra/util/llversion.py +++ b/indra/lib/python/indra/util/llversion.py @@ -1,7 +1,9 @@ -"""@file llversion.py -@brief Utility for parsing llcommon/llversion${server}.h - for the version string and channel string - Utility that parses hg or svn info for branch and revision +#!/usr/bin/env python +"""\ +@file llversion.py +@brief Parses llcommon/llversionserver.h and llcommon/llversionviewer.h + for the version string and channel string. + Parses hg info for branch and revision. $LicenseInfo:firstyear=2006&license=mit$ @@ -27,7 +29,7 @@ THE SOFTWARE. $/LicenseInfo$ """ -import re, sys, os, commands +import re, sys, os, subprocess # Methods for gathering version information from # llversionviewer.h and llversionserver.h @@ -73,29 +75,13 @@ def get_viewer_channel(): def get_server_channel(): return get_channel('server') -# Methods for gathering subversion information -def get_svn_status_matching(regular_expression): - # Get the subversion info from the working source tree - status, output = commands.getstatusoutput('svn info %s' % get_src_root()) - m = regular_expression.search(output) - if not m: - print >> sys.stderr, "Failed to parse svn info output, result follows:" - print >> sys.stderr, output - raise Exception, "No matching svn status in "+src_root - return m.group(1) - -def get_svn_branch(): - branch_re = re.compile('URL: (\S+)') - return get_svn_status_matching(branch_re) - -def get_svn_revision(): - last_rev_re = re.compile('Last Changed Rev: (\d+)') - return get_svn_status_matching(last_rev_re) - +# Methods for gathering hg information def get_hg_repo(): - status, output = commands.getstatusoutput('hg showconfig paths.default') + child = subprocess.Popen(["hg","showconfig","paths.default"], stdout=subprocess.PIPE) + output, error = child.communicate() + status = child.returncode if status: - print >> sys.stderr, output + print >> sys.stderr, error sys.exit(1) if not output: print >> sys.stderr, 'ERROR: cannot find repo we cloned from' @@ -103,24 +89,19 @@ def get_hg_repo(): return output def get_hg_changeset(): - # The right thing to do: - # status, output = commands.getstatusoutput('hg id -i') - # if status: - # print >> sys.stderr, output - # sys.exit(1) - - # The temporary hack: - status, output = commands.getstatusoutput('hg parents --template "{rev}"') + # The right thing to do would be to use the *global* revision id: + # "hg id -i" + # For the moment though, we use the parent revision: + child = subprocess.Popen(["hg","parents","--template","{rev}"], stdout=subprocess.PIPE) + output, error = child.communicate() + status = child.returncode if status: - print >> sys.stderr, output + print >> sys.stderr, error sys.exit(1) lines = output.splitlines() if len(lines) > 1: print >> sys.stderr, 'ERROR: working directory has %d parents' % len(lines) return lines[0] -def using_svn(): - return os.path.isdir(os.path.join(get_src_root(), '.svn')) - def using_hg(): return os.path.isdir(os.path.join(get_src_root(), '.hg')) diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py index c2fa8a8d31..87036dc1c0 100755 --- a/scripts/update_version_files.py +++ b/scripts/update_version_files.py @@ -59,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] @@ -90,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: @@ -102,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 @@ -174,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__) @@ -271,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: @@ -349,5 +338,6 @@ def main(): print "File %(filename)s not present, skipping..." % locals() return 0 -main() +if __name__ == '__main__': + sys.exit(main()) -- cgit v1.3 From 6e97ead181f04c5cb4953e5e3316d7d8caf0a1ec Mon Sep 17 00:00:00 2001 From: Kelly Washington Date: Thu, 3 Mar 2011 12:05:40 -0800 Subject: Add early exit to message template check if it hasn't changed. --- indra/cmake/TemplateCheck.cmake | 6 +++--- scripts/template_verifier.py | 22 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/indra/cmake/TemplateCheck.cmake b/indra/cmake/TemplateCheck.cmake index fa4e387dd5..24805b4214 100644 --- a/indra/cmake/TemplateCheck.cmake +++ b/indra/cmake/TemplateCheck.cmake @@ -5,10 +5,10 @@ include(Python) macro (check_message_template _target) add_custom_command( TARGET ${_target} - POST_BUILD + PRE_LINK COMMAND ${PYTHON_EXECUTABLE} ARGS ${SCRIPTS_DIR}/template_verifier.py - --mode=development --cache_master - COMMENT "Verifying message template" + --mode=development --cache_master ${TEMPLATE_VERIFIER_OPTIONS} + COMMENT "Verifying message template - See http://wiki.secondlife.com/wiki/Template_verifier.py" ) endmacro (check_message_template) diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index ddb050fbbb..d01750ffc6 100644 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -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 @@ -233,6 +234,9 @@ http://wiki.secondlife.com/wiki/Template_verifier.py 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 -- cgit v1.3 From f360ce118d8016a052e30538037993d984ae01d8 Mon Sep 17 00:00:00 2001 From: Kelly Washington Date: Thu, 3 Mar 2011 12:14:10 -0800 Subject: Add template .sha1 --- scripts/messages/message_template.msg.sha1 | 1 + 1 file changed, 1 insertion(+) create mode 100644 scripts/messages/message_template.msg.sha1 (limited to 'scripts') diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 new file mode 100644 index 0000000000..dcd172cdf6 --- /dev/null +++ b/scripts/messages/message_template.msg.sha1 @@ -0,0 +1 @@ +a7f6fe7e34c9c92b7315c6fb56ad32b8f651d4fb \ No newline at end of file -- cgit v1.3 From 44ad672b9e0a5ba1eef3ef7c71da3eb887f4fe0a Mon Sep 17 00:00:00 2001 From: "Christian Goetze (CG)" Date: Thu, 31 Mar 2011 15:43:47 -0700 Subject: Apply server side code to message template verification onto the viewer tree. --- build.sh | 5 ++++- indra/cmake/TemplateCheck.cmake | 2 +- indra/cmake/Variables.cmake | 2 ++ scripts/template_verifier.py | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/build.sh b/build.sh index 1c28f5a255..92c2222c73 100755 --- a/build.sh +++ b/build.sh @@ -53,6 +53,8 @@ pre_build() local build_dir="$2" begin_section "Pre$variant" #export PATH="/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE/:$PATH" + [ -n "$master_message_template_checkout" ] && [ -r "$master_message_template_checkout/message_template.msg" ]\ + && template_verifier_master_url="-DTEMPLATE_VERIFIER_MASTER_URL=file://$master_message_template_checkout/message_template.msg" python develop.py \ --incredibuild \ --unattended \ @@ -67,7 +69,8 @@ pre_build() -DLOCALIZESETUP:BOOL=ON \ -DPACKAGE:BOOL=ON \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ - -DLL_TESTS:BOOL="$run_tests" + -DLL_TESTS:BOOL="$run_tests" \ + -DTEMPLATE_VERIFIER_OPTIONS:STRING="$template_verifier_options" $template_verifier_master_url end_section "Pre$variant" } diff --git a/indra/cmake/TemplateCheck.cmake b/indra/cmake/TemplateCheck.cmake index 24805b4214..2fada2eda9 100644 --- a/indra/cmake/TemplateCheck.cmake +++ b/indra/cmake/TemplateCheck.cmake @@ -8,7 +8,7 @@ macro (check_message_template _target) PRE_LINK COMMAND ${PYTHON_EXECUTABLE} ARGS ${SCRIPTS_DIR}/template_verifier.py - --mode=development --cache_master ${TEMPLATE_VERIFIER_OPTIONS} + --mode=development --cache_master --master_url=${TEMPLATE_VERIFIER_MASTER_URL} ${TEMPLATE_VERIFIER_OPTIONS} COMMENT "Verifying message template - See http://wiki.secondlife.com/wiki/Template_verifier.py" ) endmacro (check_message_template) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 5dc0cabf03..0d7156b91d 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -41,6 +41,8 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries") endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake) +set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py") +set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template") if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") set(WINDOWS ON BOOL FORCE) diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index 113607e02a..b44410cdd8 100644 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -229,7 +229,7 @@ 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', -- cgit v1.3 From 6540ccd307128df192ed728ff5b25c6a6e27050c Mon Sep 17 00:00:00 2001 From: Kelly Washington Date: Thu, 31 Mar 2011 16:15:48 -0700 Subject: Updated message template hash. --- scripts/messages/message_template.msg.sha1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 index dcd172cdf6..4b1ba7e2d3 100644 --- a/scripts/messages/message_template.msg.sha1 +++ b/scripts/messages/message_template.msg.sha1 @@ -1 +1 @@ -a7f6fe7e34c9c92b7315c6fb56ad32b8f651d4fb \ No newline at end of file +ee062c94248e9af06df5284f7186893a135084c9 \ No newline at end of file -- cgit v1.3 From cf4d929888025552050e66f3b359e49ed131af8d Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 1 Apr 2011 06:49:19 -0400 Subject: STORM-956 update message template --- scripts/messages/message_template.msg | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'scripts') 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 { -- cgit v1.3 From a03f6997d8c3519e2c89930a1ed03a787af6f7ae Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 1 Apr 2011 12:08:03 -0400 Subject: update message template hash to correct value --- scripts/messages/message_template.msg.sha1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 index 4b1ba7e2d3..41e70011af 100644 --- a/scripts/messages/message_template.msg.sha1 +++ b/scripts/messages/message_template.msg.sha1 @@ -1 +1 @@ -ee062c94248e9af06df5284f7186893a135084c9 \ No newline at end of file +ce3be58f4ea395c272fcfa3e6b6dad027c188e0d \ No newline at end of file -- cgit v1.3