Commit Graph

204 Commits (130c1955ca1c1a5f3bbada694d0d339abe0da5a3)

Author SHA1 Message Date
Nat Goodspeed d9d6df313c MAINT-7831: Allow LLManifest.prefix() to be a context manager.
LLManifest.prefix() dates back to before Python had a 'with' statement or the
notion of a context manager. That's why every prefix() call requires a
corresponding end_prefix() call.

Existing usage is of the form:

    if self.prefix(...some args...):
        self.path(...)
        ...
        self.end_prefix()

The use of an 'if' statement is solely to allow the coder to indent the
statements between the self.prefix() call and the corresponding call to
self.end_prefix() -- there is no intention to make that code conditional.
self.prefix() unconditionally returned True to facilitate that usage.

But now that we have the 'with' statement, this all feels a little silly. Make
prefix() return an instance of a context-manager class so that it's reasonable
to say instead:

    with self.prefix(...some args...):
        self.path(...)
        ...

and have the Right Things happen simply by leaving the 'with' block.

The only tricky part is code to preserve compatibility with old-style usage:

* The context manager has a __nonzero__() method so that if it's tested in an
  'if' statement, it can unconditionally return True.

* On leaving the 'with' block, rather than simply popping the top of each
  prefix stack, the context manager restores its length to the same length it
  had before that prefix() call. This allows for (erroneous but hardly
  unlikely) usage of the form:

    with self.prefix(...some args...):
        self.path(...)
        ...
        self.end_prefix()

Restoring the previous length makes the context manager insensitive to whether
or not end_prefix() has popped the most recent prefix() entries.
2017-10-09 16:28:35 -04:00
Ansariel 547df251e4 Merge viewer64 2017-10-02 17:57:56 +02:00
Oz Linden 38d9454cbf remove redundant exception constructor code, and
generalize exception catching for platform specific code
2017-09-21 19:24:04 -04:00
Oz Linden 6ac6826192 Clean up running commands under viewer_manifest (at least a little)
* do not redirect stderr to stdout
* catch errors generated in platform specific code and display them more nicely
* run_command no longer captures output (only used in one place;
  replaced that with direct use of subprocess)
2017-09-21 15:50:29 -04:00
Ansariel 43012fdd88 More fixing and cleaning up of the Windows installer and manifest scripts 2017-07-29 11:59:53 +02:00
Ansariel b54ba18e20 Don't pass the bundle ID so we sign the Mac DMG file with the developer certificate - probably... 2017-07-28 08:56:14 +02:00
Ansariel e6f9a5e2db Merge viewer64 2017-07-27 21:07:14 +02:00
Ansariel 8d9c2925ce Trash some old stuff 2017-06-23 18:08:50 +02:00
Oz Linden e044902aaf SL-702: refactor to make the viewer-manager easier for TPVs to integrate 2017-05-24 09:41:44 -04:00
Ansariel d47f8e1abe Merge viewer-bear 2016-08-10 21:29:01 +02:00
Glenn Glazer 609595e938 MAINT-6585: put back indra/ipc files needed for scripts/template_verifier.py 2016-07-21 16:51:47 -07:00
Glenn Glazer d7636753e8 MAINT=6585: hg rm everything we don't need 2016-07-20 13:51:58 -07:00
Nicky 46d5cd7f24 Merge with https://bitbucket.org/callum_linden/viewer-cef 2015-09-03 14:38:13 +02:00
Nat Goodspeed c7842dda37 Update llmanifest.LLManifest.copy_action() to handle symlinks
for directories as well as for files.
2015-06-18 18:56:01 -04:00
Nicky cf512d6815 Fix build error in copy_w_viewer_manifest for Windows x86 and x64. 2015-05-08 14:02:39 +02:00
Nicky 6b0722598a Allow side-by-side installation of FS-Win64. 2014-05-13 19:29:21 +02:00
Tank_Master 7b2cc02863 Merge LL fitted mesh 2014-02-06 00:41:33 -08:00
Oz Linden 2ea9f3d700 merge changes for 3.6.12-release 2013-12-17 11:15:01 -05:00
Oz Linden 79919ef9b6 move setting default grid to settings_install.xml so that it works on all platforms 2013-11-24 13:18:12 -05:00
Oz Linden 6d6b0edfe2 normalize format of and add arch to all installer names 2013-11-24 13:16:36 -05:00
Oz Linden ecb2220afd add handler for socket.error to fix OPEN-196 2013-11-18 12:12:31 -05:00
Nicky 4720f67bf7 Merge with viewer-release. 2013-12-13 21:21:45 +01:00
JJ Linden bcff609fb8 changes for additional packages to be packaged from the same build. see BuildParams for example environment variables used to specify the packages and their channels and sourceids. also updated mac packages to use a larger virtual drive and auto-open on download 2013-09-16 12:58:40 -07:00
Nat Goodspeed a207b24d33 CHOP-955: Include app_settings/settings_install.xml in file_list.
viewer_manifest.py uses its base-class llmanifest.LLManifest.put_in_file()
method to create several different files in the install image being
marshalled. I based the logic to create settings_install.xml on that example.
Unfortunately I failed to notice that after every existing call, the script
also explicitly appended the newly-created file to self.file_list... which
only matters on Windows. file_list is fed to the NSIS installer.
Change put_in_file() method to implicitly append to self.file_list.
Change every existing viewer_manifest.py call to pass new put_in_file(src=)
param instead of explicitly appending to self.file_list.
2013-07-26 10:42:13 -04:00
Oz Linden cb5289e02a remove files incorrectly brought back from the past by merges 2013-06-18 12:31:54 -04:00
Oz Linden 3bb708d706 merge up to latest viewer-development for merge to 3.5.2 2013-04-19 14:42:56 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Tank_Master 6007d1235e merge snowstorm repo 2013-10-19 23:48:44 -07:00
Nicky 329ca38457 Merge with -lgpl. 2013-09-14 23:23:26 +02:00
Tank_Master 5a8d94c50f Merge LL 3.6.4 pass 1 2013-08-28 00:10:39 -07:00
Nicky 0addf213ed Merge with FS tip. First pass. 2013-08-02 00:40:48 +02:00
Nicky fd696b0322 Merge with LGPL. 2013-08-02 00:10:52 +02:00
Nicky 1085e1c7b8 - New options for 64 bit builds and only copy artworks.
- Handle 64 bit versions of Windows dlls.
2013-08-01 23:51:00 +02:00
Nicky 1fd560c7ca When generating symbols do include the viewer flavor (oss or havok) in the symbols filename.
Before: Phoenix_Firestorm-Release_4-4-0-33720_symbols-windows.tar.bz2
Now: Phoenix_Firestorm-Release_4-4-0-33720_hvk_symbols-windows.tar.bz2 / Phoenix_Firestorm-Release_4-4-0-33720_oss_symbols-windows.tar.bz2
2013-05-26 23:42:14 +02:00
Tank_Master 718f6fa0ff merge LL 3.6.1 2013-07-10 00:23:23 -07:00
Tank_Master d4640277d0 Merge LL 3.5.3 release. 2013-07-09 16:24:58 -07:00
Oz Linden 237a48721d clarify windows installer name 2013-02-15 09:29:09 -05:00
Oz Linden 5ea68c69a4 convert to new channel name scheme and remove login_channel build time parameter 2013-02-12 10:50:47 -05:00
Oz Linden d7e90f4160 derive version number from indra/VIEWER_VERSION.txt 2013-02-07 11:56:57 -05:00
Oz Linden d35c4f4c9d merge changes for DRTVWR-223 2012-11-06 14:54:27 -05:00
Nat Goodspeed a507df6e28 SWAT-711: Create Mac app bundle symlinks only for .dylib files that exist.
Previous viewer_manifest.py unconditionally created Mac symlinks for all expected
.dylib files. Recent change to revert to statically linking llcommon means we
no longer build libllcommon.dylib, therefore we no longer copy it, therefore
any symlink to that library will be broken by definition.
Change to create symlinks for .dylib files that were successfully copied.
2012-09-18 11:40:45 -04:00
callum_linden 78854c9baa Fix to build with code signing option (patch from STORM-1900) 2012-07-25 16:42:37 -07:00
Tank_Master cc44316aed Merge LL 3.4.3,
Note: aligned some of our code with LL's, spcifically feature table, gpu table, texture fetching, and some rendering defaults behavior.
2012-12-18 00:36:35 -08:00
Tank_Master 5b5f4c8bf5 Merge LL 3.4.2 release,
broken revision, KDU package needs updating, mac packager also likely broken
2012-12-14 07:59:55 -08:00
Tank_Master 991d43709c merge LL 3.3.3 beta 2012-06-16 07:22:27 -07:00
Nat Goodspeed acd46062fd Eliminate ManifestError for wildcards matching 0 files.
Turns out that some (many?) wildcard LLManifest.path(wildcard) calls are "just
in case": sweep up any (e.g.) "*.tga" files there may be, but no problem if
there are none.
Change path() logic so it tries the next tree (source, artwork, build) if
either a specific (non-wildcard) filename doesn't exist, as now, OR if a
wildcard matches 0 files in the current tree. This continues to support "just
in case" wildcards, while permitting wildcards to work in the artwork and
build trees as well as the source tree.
Use a more specific exception than ManifestError for missing file. Only in
that case should we try the next tree. Any other ManifestError should
propagate.
2012-02-10 16:45:18 -05:00
Nat Goodspeed 028a05e794 Use wildcards instead of many version-specific lib names on Linux.
viewer_manifest.py's Linux_i686Manifest class has contained directives to copy
library files with names like (e.g.) "libapr-1.so.0.4.2", which means that
every update to any such library requires messing with viewer_manifest.py.
But LLManifest.path() claims to support wildcards, and it's more robust to
specify "libapr-1.so*" instead.
Unfortunately LLManifest.path()'s wildcard support only used to work for files
in the source tree (vs. the artwork tree or the build tree). The logic in
path() tries each tree in turn, relying on an exception to make it try the
next tree. This exception was raised for a nonexistent specific filename --
but it never used to raise that exception for a wildcard matching 0 files.
Instead it would simply report "0 files" and proceed, producing an invalid
viewer install.
Raise that exception for a wildcard matching nothing. This forces path() to
consider the artwork tree and the build tree, permitting us to use wildcards
in library names.
Define an exception specific to LLManifest: ManifestException rather than the
generic Python RuntimeException. Make it a subclass of RuntimeException so any
existing callers expecting to catch RuntimeException will continue to work.
2012-02-10 12:04:27 -05:00
Oz Linden 7e5be23686 add proper license headers to files that did not have them 2011-08-17 14:43:39 -04:00
Oz Linden f0bc8a0f71 convert tabs to spaces where they are forbidden 2011-08-17 12:33:23 -04:00
Merov Linden 10cf492ef1 STORM-937 : Use subprocess instead os commands in python, suppress crufty svn code 2011-02-11 16:56:28 -08:00
Merov Linden 896bc12a2b STORM-937 : Fix python scripts shebang line and license header for consistency 2011-02-09 15:23:07 -08:00
Merov Linden 01dd9929e2 STORM-937 : Makes all python paths use consistent syntax 2011-01-28 16:00:57 -08:00
Robin Cornelius 061c3a5ab6 VWR-20879: Allow find_vc_dir() to work with VCExpress 2010-12-27 12:18:19 +00:00
Arrehn 7394730eaa Merge up to LL FUI 2011-10-28 02:00:09 -04:00
Arrehn afe5c530b9 Use ".in" files for source files that contain build-specific data. 2011-08-08 07:41:56 -04:00
Arrehn e277b8a4ac Merge with LL 2.6.9, initial work. Needs tests, extra XUI merging with particular skins. 2011-08-04 11:53:40 -04:00
Arrehn a2e86bf04a Windows packaging workaround 2011-05-10 15:12:20 -04:00
Tank_Master b04a325088 fix for FIRE-867 (VC express on 64bit OS patch) 2011-04-13 10:44:03 -07:00
Arrehn 10e88f3891 Merge with RLVa-LL2.5.2 2011-04-09 22:24:22 -07:00
Liny f96328b8e2 Fixing build with the manifest mython script. 2011-01-27 14:47:15 -08:00
Liny be934f3c7b Changing version numbers to be done in a cpp file rather than a h file. 2011-01-25 16:25:56 -08:00
Arrehn 3070ce747f Manually importing WolfSpirit's 2008 patch to firestorm lgpl, because we don't merge from gpl to lgpl. 2010-11-19 14:31:03 -05:00
Arrehn 348d15f836 Phoenix branding, part 1, macintosh build 2010-10-19 23:31:37 -04:00
Leyla Farazha a4b223248e Merge 2010-09-27 17:54:52 -07:00
Aimee Linden ffae589843 Post-convert merge by convert_monolith.py from /Users/Aimee/Documents/Work/Linden-Lab/Development/viewer/convert/viewer-identity-evolution 2010-09-03 17:41:39 +01:00
Merov Linden a36033853a STORM-168 : Python modules cleanup 2010-09-16 14:27:42 -07:00
Aimee Linden fcb240792f VWR-20747 (SNOW-527) FIXED Don't import deprecated python module sets 2010-08-18 11:58:24 +01:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Oz Linden fedb5a25a2 correct license tags from "internal" to "viewergpl" 2010-08-12 20:30:21 -04:00
Nat Goodspeed d34d8e491b Make run_command() use subprocess.Popen() rather than os.popen().
This lets us capture the command's stderr as well as stdout. I've been
perplexed recently by errors from Mac SetFile commands that didn't report
stderr.
2010-06-18 17:43:30 -04:00
Tofu Linden cbc0674a7a EXT-4163 Don't strip viewer symbols, or tar the result, in DEBUG builds 2010-01-11 14:35:39 -08:00
Mark Palange (Mani) 9e69702fe7 Added calls to ll_deploy_sharedlibs_command
Using viewer_manifest.py for windows dependency deployment during build.
Added SHARED_LIBS_REL_PATH var to cmake cache.
2009-11-05 08:52:07 -08:00
Mark Palange (Mani) 0d0840de0e Routing mt.exe output to NUL to hopefully fix expected error build failures... 2009-10-01 14:51:35 -07:00
brad kittenbrink 292aecbb3e Updated test_win32_manifest.py to throw custom exception objects, rather than relying on string comparison. 2009-09-30 18:57:00 -07:00
Mark Palange (Mani) 17f9fd5f96 Changes force no crt manifest linking in windows plugin files. 2009-09-25 19:23:24 -07:00
brad kittenbrink afb053ebd7 Minor tweaks of test_win32_manifest output. 2009-09-18 19:30:10 -04:00
brad kittenbrink bb1d4592bd Merged latest viewer/viewer-20 into login-api. 2009-09-18 15:22:25 -04:00
Mark Palange (Mani) 93869a8ef2 Fixed up CopyWinLibs.cmake post moap/viewer-2.0.0-3 merge.
Added CRT assembly check to viewer_manifest.py.
twiddled test_win32_manifest.py for ease of use.
2009-09-15 12:32:22 -07:00
brad kittenbrink 11d10bd53a merged cg's automated build script changes into login-api 2009-09-08 16:44:38 -04:00
Bryan O'Sullivan 7ad3af45a6 Merge 2009-09-08 13:27:05 -07:00
Bryan O'Sullivan dd628f29af Use rev numbers instead of changeset IDs for now. 2009-09-01 11:54:34 -07:00
Bryan O'Sullivan 5f3a7fa6f3 Patch in some other useful scripts from trunk. 2009-09-01 11:18:33 -07:00
Bryan O'Sullivan ff11d74820 Add Mercurial-specific build version info.
Pilfered from billc.
2009-08-26 10:57:38 -07:00
Christian Goetze e588d1f284 svn merge -r125825:125901 svn+ssh://svn.lindenlab.com/svn/user/cg/qar-1654
QAR-1654 merge completed.
2009-07-01 00:22:05 +00:00
Bryan O'Sullivan 5f4c09fa1f Python 2.4 and 2.6 improvements
The sets module is no longer needed with Python 2.4, and causes a
DeprecationWarning with 2.6, so drop it

The md5 module causes a DeprecationWarning with 2.6, so try to import
hashlib (its replacement) instead, else fall back

Reviewed by Poppy.
2009-06-22 22:36:36 +00:00
Robert Knop 99660542bb Adding back the setting of "DEBUG", the lack of which caused many unit
tests to fail.
2009-05-19 15:19:39 +00:00
Aaron Brashears 6df2755ba6 Result of svn merge -r119432:120464 svn+ssh://svn/svn/linden/branches/http_database/merge-03 into trunk. QAR-1462 2009-05-18 23:38:35 +00:00
Ryan Williams 2768539bfe svn merge -r116334:116916 svn+ssh://svn.lindenlab.com/svn/linden/branches/rad-chilies/rad-chilies-trunkmerge-2 2009-04-08 22:39:01 +00:00
Aaron Brashears a60c54568c Result of svn merge -r115238:115240 svn+ssh://svn/svn/linden/branches/trivial-changes/trivial_slave_merge into trunk. In turn a result of svn merge -r113279:113280 svn+ssh://svn/svn/linden/branches/trivial-changes/trivial-changes-1 into trivial_slave_merge and svn merge -r107805:110030 svn+ssh://svn/svn/user/phoenix/slave-ds into trivial_slave_merge. QAR-1329 2009-03-27 19:40:03 +00:00
Andrew Meadows 15a6d273cc svn merge -r108142:108148 svn+ssh://svn.lindenlab.com/svn/linden/qa/maint-server/maint-server-5-r108113 2009-01-17 01:29:45 +00:00
Aaron Brashears e3cf284388 Result of svn merge -r107256:107258 svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 2009-01-08 00:05:06 +00:00
Mark Palange fb793870fe QAR-1142 merging 1.22 RC0-RC4 changes.
svn merge -c 106471 svn+ssh://svn.lindenlab.com/svn/linden/qa/viewer_1-22-106055_merge
2008-12-23 19:39:58 +00:00
Ryan Williams 14a5879c88 svn merge -r104949:105037 svn+ssh://svn.lindenlab.com/svn/linden/branches/rad-chilies/rad-chilies-06-release-merge
QAR-1048: Distributed L$ Transactions > Rad Chilies 06 Indra items
2008-12-09 22:41:28 +00:00
Robert Knop 189599b6ff Merging from server/server-1.25 back to trunk.
svn merge -r99446:104838 svn+ssh://svn.lindenlab.com/svn/linden/branches/server/server-1.25

Conflicts resolved by Prospero, except for one scary conflict in
SendConfirmationEmail.php which was resolved by jarv.
2008-12-04 22:36:34 +00:00
Christian Goetze a86aa7d8b0 QAR-963 svn merge -r101685:101752 svn+ssh://svn.lindenlab.com/svn/linden/branches/rad-chilies/rc05-release-merge 2008-11-18 21:20:05 +00:00
Kartic Krishnamurthy b2bfb128e7 Merged into release with command:
=================================
svn merge -r100865:101402 svn+ssh://svn/svn/linden/branches/purge-dpo-code-for-merge .

QAR-951 : Sandbox QA for DEV 20842 - Ensure DPO is not enabled accidentally
QAR-967 : Merge Build for DEV 20842 - Ensure DPOis not enabled accidentally
QA tested: Beast, Oskar

DEV's fulfilled as part of this branch:
======================================

DEV-20842 Prevent accidental activation of DPO procs
DEV-23028 Mac build fails - link error dual inclusion
DEV-20824 VWR-9255: Build fails on mac_updater and mac_crash_logger targets due to info.plist problems
DEV-22997 Xcode project: 'server' target has no dependencies
DEV-23353 Friend request custom messages come through as an asset tag.
DEV-23309 Voice Chat Indicator does not show active voice status
DEV-23187 Can't teleport to home location
2008-11-07 00:07:44 +00:00
John Biesley 091962408e * Added del_empty_estates.py script.
* Shifted common code for copy_bans.py and del_empty_estates.py into the indra library.
* Documented copy_bans.py and del_empty_estates.py.
* Added iter_chunks generator to a new module: indra.util.iterators.
* Added unit tests for indra.util.iterators.
2008-11-04 16:57:17 +00:00
Ryan Williams 635c06bb46 DEV-22018 : cllsd unit test failures. Fixed mostly by changing the Python code and the tests to look more like cllsd. 2008-10-10 19:57:34 +00:00
Andrew Meadows 5f3875018e svn merge -r99056:99248 svn+ssh://svn.lindenlab.com/svn/linden/branches/andrew/gcc-4-003-for-merge 2008-10-10 16:04:02 +00:00
Don Kjer 4ff16b735f QAR-907: svn merge -r 98908:98910 svn+ssh://svn/svn/linden/qa/sim-metrics/sim-metrics2-release-merge-98903 into release 2008-10-09 18:07:46 +00:00