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.
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.
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.
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.
=================================
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
* 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.
Related Jiras:
1. DEV-17797 New Top Causes of Inventory Loss is Attachments with null folder_id
2. DEV-17937 null asset id not handled correctly in ais inventory fetch
3. OPSRT-1097 Update python-indra package on the system images
4. DEV-20505 QAR-751: Banning Cap "FetchLibDescendents" results in error in viewer log.
5. DEV-20328 QAR-751 Excessive log spam when using ais viewer against ais sim
6. DEV-20335 QAR-751 AIS bans are missing from message.xml
svn merge -r95983:96590 svn+ssh://svn/svn/linden/branches/ais-for-merge-qar-751 .
Miscellaneous commit:
1. Fixed silly bug in llsd-rest that broke connects to https on a non-standard port
Backport fixes made in the production branch to the trunk now that it is live on the grid:
* DEV-14443 Launcher not producing colo prefix when looking up sim class
* DEV-10840 "/etc/init.d/backbone stop" returns before all child backbones exited; "backbone restart" results in defunct children
* DEV-12558: Able to make anyone's object shout error messages
* QAR-483 user start location migration prelude
* QAR-490 havok4-6
* Revert havok4-5/4-6 code changes causing parcel access check issues
* Revert QAR-277 sqlite-backbone
* DEV-12357 SEC-53: Script that crashes regions
* QAR-486 New proc and query for Web Classifieds Fix
Pick up last minute changes to 1.19.0:
* Access/Ban UI string "translation" fixes from 1.19.0.5
* Support for setting more scoped channel during builds/packaging, for A/B testing
QAR-242 merge of maintenance-5 (QAR-203)
* DEV-6548 Copy To Inventory fail to execute without any output feedback when Notecard has changes but not saved
* DEV-7600 Deleting someone else's object in god mode crashes sim
* DEV-5329 LLSD parsers should determine and set maximum parse sizes
* DEV-7473 Resolve instant message crash report
* DEV-2904 Presence Issues not (apparently) caused by scripted attachments
* DEV-7083 Investigate Null Folder IDs Bug that caused 470K inventory items with Null Folder IDS on the Grid
* DEV-2865 Textures/Snapshots in a notecard are opened again when you click copy to inventory.
* DEV-6612 VWR-3290: Linux scons build script doesn't work with distcc
* DEV-8002 c++ llsd notation parser accepts malformed data
* DEV-8001 c++ xml parse returns wrong number of elements parsed
* DEV-8089 Double delete in statc structured data parse functions
* DEV-5326 Any viewer can request presence information for any agent
* DEV-2378 python service builder does not sort query string
* DEV-7872 Block teleport off teen grid sub-estates like Schome Park / Open University
* DEV-4465 Add a "logfile" command line option to the sim to create log files