From 27951fa1d40abd8cca679f3192264472469e9364 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed <nat@lindenlab.com> Date: Wed, 7 Jan 2015 19:45:51 -0500 Subject: First cut at consuming new slplugins autobuild package. The contents are extracted, but not yet built into the viewer installer. --- autobuild.xml | 32 ++++++++++++++++++++++++++++++++ indra/cmake/CMakeLists.txt | 14 +++++++------- indra/cmake/Linking.cmake | 2 +- indra/llplugin/CMakeLists.txt | 2 +- indra/newview/CMakeLists.txt | 29 ++++++++++++++++++----------- 5 files changed, 59 insertions(+), 20 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 4306d21eb5..97211eb45e 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -2063,6 +2063,38 @@ <key>version</key> <string>7.3</string> </map> + <key>slplugins</key> + <map> + <key>copyright</key> + <string>Second Life Viewer Source Code - Copyright (C) 2010, Linden Research, Inc.</string> + <key>description</key> + <string>Second Life Viewer Plugins and launcher</string> + <key>license</key> + <string>LGPL</string> + <key>license_file</key> + <string>LICENSES/slplugins-license.txt</string> + <key>name</key> + <string>slplugins</string> + <key>platforms</key> + <map> + <key>windows</key> + <map> + <key>archive</key> + <map> + <key>hash</key> + <string>55358f8aca309a73f828929cc4b1b0d2</string> + <key>hash_algorithm</key> + <string>md5</string> + <key>url</key> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/slplugins_3p-update-slplugins/rev/297645/arch/CYGWIN/installer/slplugins-3.7.22.297128.297645-windows-297645.tar.bz2</string> + </map> + <key>name</key> + <string>windows</string> + </map> + </map> + <key>version</key> + <string>3.7.22.297128.297645</string> + </map> <key>slvoice</key> <map> <key>copyright</key> diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt index 10a23ea068..4d98e73092 100755 --- a/indra/cmake/CMakeLists.txt +++ b/indra/cmake/CMakeLists.txt @@ -23,7 +23,7 @@ set(cmake_SOURCE_FILES DirectX.cmake DragDrop.cmake EXPAT.cmake - ExamplePlugin.cmake +## ExamplePlugin.cmake FindAPR.cmake FindAutobuild.cmake FindBerkeleyDB.cmake @@ -44,9 +44,9 @@ set(cmake_SOURCE_FILES GLEXT.cmake GLH.cmake GLOD.cmake - GStreamer010Plugin.cmake +## GStreamer010Plugin.cmake GetPrerequisites_2_8.cmake - Glui.cmake +## Glui.cmake Glut.cmake GoogleBreakpad.cmake GoogleMock.cmake @@ -81,18 +81,18 @@ set(cmake_SOURCE_FILES LLXML.cmake LScript.cmake Linking.cmake - MediaPluginBase.cmake +## MediaPluginBase.cmake NDOF.cmake OPENAL.cmake OpenGL.cmake OpenJPEG.cmake OpenSSL.cmake PNG.cmake - PluginAPI.cmake +## PluginAPI.cmake Prebuilt.cmake PulseAudio.cmake Python.cmake - QuickTimePlugin.cmake +## QuickTimePlugin.cmake TemplateCheck.cmake Tut.cmake UI.cmake @@ -100,7 +100,7 @@ set(cmake_SOURCE_FILES Variables.cmake ViewerMiscLibs.cmake VisualLeakDetector.cmake - WebKitLibPlugin.cmake +## WebKitLibPlugin.cmake XmlRpcEpi.cmake ZLIB.cmake ) diff --git a/indra/cmake/Linking.cmake b/indra/cmake/Linking.cmake index 74fe3f1137..c95f0c3702 100755 --- a/indra/cmake/Linking.cmake +++ b/indra/cmake/Linking.cmake @@ -6,7 +6,7 @@ set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES") include(Variables) set(ARCH_PREBUILT_DIRS ${AUTOBUILD_INSTALL_DIR}/lib) -set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins) +##set(ARCH_PREBUILT_DIRS_PLUGINS ${AUTOBUILD_INSTALL_DIR}/plugins) set(ARCH_PREBUILT_DIRS_RELEASE ${AUTOBUILD_INSTALL_DIR}/lib/release) set(ARCH_PREBUILT_DIRS_DEBUG ${AUTOBUILD_INSTALL_DIR}/lib/debug) if (WINDOWS) diff --git a/indra/llplugin/CMakeLists.txt b/indra/llplugin/CMakeLists.txt index 75d89aac78..05fc12e338 100755 --- a/indra/llplugin/CMakeLists.txt +++ b/indra/llplugin/CMakeLists.txt @@ -68,7 +68,7 @@ list(APPEND llplugin_SOURCE_FILES ${llplugin_HEADER_FILES}) add_library (llplugin ${llplugin_SOURCE_FILES}) -add_subdirectory(slplugin) +##add_subdirectory(slplugin) # Add tests if (LL_TESTS) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 1569061eba..8649386f76 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -44,6 +44,7 @@ include(OPENAL) include(OpenGL) include(OpenSSL) include(PNG) +include(Prebuilt) include(TemplateCheck) include(UI) include(UnixInstall) @@ -60,6 +61,9 @@ if(FMODEX) include_directories(${FMODEX_INCLUDE_DIR}) endif(FMODEX) +# install SLPlugin host executable and its dynamic-library plugins +use_prebuilt_binary(slplugins) + include_directories( ${DBUSGLIB_INCLUDE_DIRS} ${JSONCPP_INCLUDE_DIR} @@ -1816,10 +1820,10 @@ if (WINDOWS) add_dependencies(${VIEWER_BINARY_NAME} copy_win_scripts) endif (EXISTS ${CMAKE_SOURCE_DIR}/copy_win_scripts) - add_dependencies(${VIEWER_BINARY_NAME} - SLPlugin - windows-crash-logger - ) +## add_dependencies(${VIEWER_BINARY_NAME} +## SLPlugin +## windows-crash-logger +## ) # sets the 'working directory' for debugging from visual studio. if (NOT UNATTENDED) @@ -2099,7 +2103,8 @@ if (DARWIN) ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py ) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit mac-crash-logger) +##add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit mac-crash-logger) + add_dependencies(${VIEWER_BINARY_NAME} mac-crash-logger) if (ENABLE_SIGNING) set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}") @@ -2153,19 +2158,21 @@ if (PACKAGE) if (DARWIN) list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}") # *TODO: Generate these search dirs in the cmake files related to each binary. - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/llplugin/slplugin/${CMAKE_CFG_INTDIR}") +## list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/llplugin/slplugin/${CMAKE_CFG_INTDIR}") list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/mac_crash_logger/${CMAKE_CFG_INTDIR}") - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/gstreamer010/${CMAKE_CFG_INTDIR}") - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}") - list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/webkit/${CMAKE_CFG_INTDIR}") +## list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/gstreamer010/${CMAKE_CFG_INTDIR}") +## list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}") +## list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/webkit/${CMAKE_CFG_INTDIR}") set(VIEWER_SYMBOL_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/secondlife-symbols-darwin.tar.bz2") - set(VIEWER_EXE_GLOBS "'Second Life' SLPlugin mac-crash-logger") +## set(VIEWER_EXE_GLOBS "'Second Life' SLPlugin mac-crash-logger") + set(VIEWER_EXE_GLOBS "'Second Life' mac-crash-logger") set(VIEWER_LIB_GLOB "*.dylib") endif (DARWIN) if (LINUX) list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_CURRENT_BINARY_DIR}/packaged") set(VIEWER_SYMBOL_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/secondlife-symbols-linux.tar.bz2") - set(VIEWER_EXE_GLOBS "do-not-directly-run-secondlife-bin SLPlugin") +## set(VIEWER_EXE_GLOBS "do-not-directly-run-secondlife-bin SLPlugin") + set(VIEWER_EXE_GLOBS "do-not-directly-run-secondlife-bin") set(VIEWER_LIB_GLOB "*${CMAKE_SHARED_MODULE_SUFFIX}*") set(VIEWER_COPY_MANIFEST copy_l_viewer_manifest) endif (LINUX) -- cgit v1.2.3 From 9ffe8c5280e00b0ab60a9983adabec5eb9af46a4 Mon Sep 17 00:00:00 2001 From: callum_linden <none@none> Date: Thu, 8 Jan 2015 14:27:00 -0800 Subject: point to new version of llphysicsextensions with updated path to second life map file --- autobuild.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 97211eb45e..b65a244cfa 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1614,16 +1614,16 @@ <key>archive</key> <map> <key>hash</key> - <string>3494fbd0c94d65dcb0fd05c3216bfb87</string> + <string>fe3377f1455ab74de6cd08de0ed9be55</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/295945/arch/CYGWIN/installer/llphysicsextensions_stub-1.0.295945-windows-295945.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/297894/arch/CYGWIN/installer/llphysicsextensions_stub-1.0.297894-windows-297894.tar.bz2</string> </map> <key>name</key> <string>windows</string> </map> </map> <key>version</key> - <string>1.0.297367</string> + <string>1.0.297894</string> </map> <key>llqtwebkit</key> <map> -- cgit v1.2.3 From 1488f3b9f8d2b900c67e45d62c2ea0fdc3fbe59e Mon Sep 17 00:00:00 2001 From: callum_linden <none@none> Date: Thu, 8 Jan 2015 15:52:27 -0800 Subject: point to new version of llphysicsextensions (source, not stub) with updated path to second life map file --- autobuild.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index b65a244cfa..8ae91aa63f 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1548,9 +1548,9 @@ <key>archive</key> <map> <key>hash</key> - <string>6899d771cfdad3a5ea2741f9203f5f5b</string> + <string>36398845726a377fe37a60c675ad1499</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297366/arch/Linux/installer/llphysicsextensions_source-1.0.297366-linux-297366.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297895/arch/Linux/installer/llphysicsextensions_source-1.0.297895-linux-297895.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -1569,7 +1569,7 @@ </map> </map> <key>version</key> - <string>1.0.297366</string> + <string>1.0.297895</string> </map> <key>llphysicsextensions_stub</key> <map> -- cgit v1.2.3 From cfe7095752ced4ca5a234f75d987608f4e047e88 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed <nat@lindenlab.com> Date: Mon, 12 Jan 2015 12:03:08 -0500 Subject: Update viewer_package.py to grab slplugin.exe et al. from package. This only applies to the Windows package so far, because so far only the Windows package exists. --- indra/newview/viewer_manifest.py | 109 ++++++++++++++------------------------- 1 file changed, 39 insertions(+), 70 deletions(-) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index c360fc32ac..7ee1a37175 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -331,14 +331,18 @@ class Windows_i686_Manifest(ViewerManifest): def construct(self): super(Windows_i686_Manifest, self).construct() + pkgdir = os.path.join(self.args['build'], os.pardir, 'packages') + relpkgdir = os.path.join(pkgdir, "lib", "release") + debpkgdir = os.path.join(pkgdir, "lib", "debug") + if self.is_packaging_viewer(): # Find secondlife-bin.exe in the 'configuration' dir, then rename it to the result of final_exe. self.path(src='%s/secondlife-bin.exe' % self.args['configuration'], dst=self.final_exe()) # Plugin host application - self.path2basename(os.path.join(os.pardir, - 'llplugin', 'slplugin', self.args['configuration']), - "slplugin.exe") + # The current slplugin package places slplugin.exe right into the + # packages base directory. + self.path2basename(pkgdir, "slplugin.exe") self.path2basename("../viewer_components/updater/scripts/windows", "update_install.bat") # Get shared libs from the shared libs staging directory @@ -358,15 +362,10 @@ class Windows_i686_Manifest(ViewerManifest): # Mesh 3rd party libs needed for auto LOD and collada reading try: - if self.args['configuration'].lower() == 'debug': - self.path("libcollada14dom22-d.dll") - else: - self.path("libcollada14dom22.dll") - self.path("glod.dll") except RuntimeError, err: print err.message - print "Skipping COLLADA and GLOD libraries (assumming linked statically)" + print "Skipping GLOD library (assumming linked statically)" # Get fmodex dll, continue if missing try: @@ -425,82 +424,52 @@ class Windows_i686_Manifest(ViewerManifest): self.path("featuretable_xp.txt") # Media plugins - QuickTime - if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"): - self.path("media_plugin_quicktime.dll") - self.end_prefix() - # Media plugins - WebKit/Qt - if self.prefix(src='../media_plugins/webkit/%s' % self.args['configuration'], dst="llplugin"): + if self.prefix(src=os.path.join(pkgdir, "llplugin"), dst="llplugin"): + self.path("media_plugin_quicktime.dll") self.path("media_plugin_webkit.dll") - self.end_prefix() + self.path("qtcore4.dll") + self.path("qtgui4.dll") + self.path("qtnetwork4.dll") + self.path("qtopengl4.dll") + self.path("qtwebkit4.dll") + self.path("qtxmlpatterns4.dll") + + # For WebKit/Qt plugin runtimes (image format plugins) + if self.prefix(src="imageformats", dst="imageformats"): + self.path("qgif4.dll") + self.path("qico4.dll") + self.path("qjpeg4.dll") + self.path("qmng4.dll") + self.path("qsvg4.dll") + self.path("qtiff4.dll") + self.end_prefix() + + # For WebKit/Qt plugin runtimes (codec/character encoding plugins) + if self.prefix(src="codecs", dst="codecs"): + self.path("qcncodecs4.dll") + self.path("qjpcodecs4.dll") + self.path("qkrcodecs4.dll") + self.path("qtwcodecs4.dll") + self.end_prefix() + + self.end_prefix() # winmm.dll shim if self.prefix(src='../media_plugins/winmmshim/%s' % self.args['configuration'], dst=""): self.path("winmm.dll") self.end_prefix() - if self.args['configuration'].lower() == 'debug': - if self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'debug'), - dst="llplugin"): + if self.prefix(src=debpkgdir, dst="llplugin"): self.path("libeay32.dll") - self.path("qtcored4.dll") - self.path("qtguid4.dll") - self.path("qtnetworkd4.dll") - self.path("qtopengld4.dll") - self.path("qtwebkitd4.dll") - self.path("qtxmlpatternsd4.dll") self.path("ssleay32.dll") - - # For WebKit/Qt plugin runtimes (image format plugins) - if self.prefix(src="imageformats", dst="imageformats"): - self.path("qgifd4.dll") - self.path("qicod4.dll") - self.path("qjpegd4.dll") - self.path("qmngd4.dll") - self.path("qsvgd4.dll") - self.path("qtiffd4.dll") - self.end_prefix() - - # For WebKit/Qt plugin runtimes (codec/character encoding plugins) - if self.prefix(src="codecs", dst="codecs"): - self.path("qcncodecsd4.dll") - self.path("qjpcodecsd4.dll") - self.path("qkrcodecsd4.dll") - self.path("qtwcodecsd4.dll") - self.end_prefix() - self.end_prefix() + else: - if self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'release'), - dst="llplugin"): + if self.prefix(src=relpkgdir, dst="llplugin"): self.path("libeay32.dll") - self.path("qtcore4.dll") - self.path("qtgui4.dll") - self.path("qtnetwork4.dll") - self.path("qtopengl4.dll") - self.path("qtwebkit4.dll") - self.path("qtxmlpatterns4.dll") self.path("ssleay32.dll") - - # For WebKit/Qt plugin runtimes (image format plugins) - if self.prefix(src="imageformats", dst="imageformats"): - self.path("qgif4.dll") - self.path("qico4.dll") - self.path("qjpeg4.dll") - self.path("qmng4.dll") - self.path("qsvg4.dll") - self.path("qtiff4.dll") - self.end_prefix() - - # For WebKit/Qt plugin runtimes (codec/character encoding plugins) - if self.prefix(src="codecs", dst="codecs"): - self.path("qcncodecs4.dll") - self.path("qjpcodecs4.dll") - self.path("qkrcodecs4.dll") - self.path("qtwcodecs4.dll") - self.end_prefix() - self.end_prefix() # pull in the crash logger and updater from other projects -- cgit v1.2.3 From 33649e848b34dcaa5f4be49862fcbf0a49b46df3 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed <nat@lindenlab.com> Date: Mon, 12 Jan 2015 12:11:37 -0500 Subject: Experimentally try full-size LLLeap stream test on Windows. The new toolchain may (!) have fixed a longstanding bug in LLLeap / APR when we try to pump large volumes of data through a Windows named pipe using APR nonblocking I/O. This used to fail pretty consistently because the APR nonblocking write call would sometimes spuriously return "would block" when in fact the data buffer was completely written; the caller would later retry, which of course would duplicate some of the data in the pipe. Preliminary experiments with VS 2013 suggest this may have been resolved. This changeset is to propagate the experiment to a wider range of Windows systems; we may need to revert it if in fact the bug persists. --- indra/llcommon/tests/llleap_test.cpp | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/indra/llcommon/tests/llleap_test.cpp b/indra/llcommon/tests/llleap_test.cpp index 653b043de4..2d88e2c676 100755 --- a/indra/llcommon/tests/llleap_test.cpp +++ b/indra/llcommon/tests/llleap_test.cpp @@ -38,24 +38,7 @@ StringVec sv(const StringVec& listof) { return listof; } #define sleep(secs) _sleep((secs) * 1000) #endif -#if ! LL_WINDOWS const size_t BUFFERED_LENGTH = 1023*1024; // try wrangling just under a megabyte of data -#else -// "Then there's Windows... sigh." The "very large message" test is flaky in a -// way that seems to point to either the OS (nonblocking writes to pipes) or -// possibly the apr_file_write() function. Poring over log messages reveals -// that at some point along the way apr_file_write() returns 11 (Resource -// temporarily unavailable, i.e. EAGAIN) and says it wrote 0 bytes -- even -// though it did write the chunk! Our next write attempt retries the same -// chunk, resulting in the chunk being duplicated at the child end, corrupting -// the data stream. Much as I would love to be able to fix it for real, such a -// fix would appear to require distinguishing bogus EAGAIN returns from real -// ones -- how?? Empirically this behavior is only observed when writing a -// "very large message". To be able to move forward at all, try to bypass this -// particular failure by adjusting the size of a "very large message" on -// Windows. -const size_t BUFFERED_LENGTH = 65336; -#endif // LL_WINDOWS void waitfor(const std::vector<LLLeap*>& instances, int timeout=60) { -- cgit v1.2.3 From dba9b00b4a85e3b18a039dc3d443bb2df9ec2697 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed <nat@lindenlab.com> Date: Mon, 12 Jan 2015 15:16:39 -0500 Subject: Update llphysicsextensions_* to 297894, 297895 with Callum's path fixes. --- autobuild.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 8ae91aa63f..cb2d358122 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1534,11 +1534,11 @@ <key>archive</key> <map> <key>hash</key> - <string>ce400a6e3ff4452ba26849d9225498bc</string> + <string>700bce57e9db4a5add5f3b6a6f2871d1</string> <key>hash_algorithm</key> <string>md5</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297366/arch/Darwin/installer/llphysicsextensions_source-1.0.297366-darwin-297366.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297895/arch/Darwin/installer/llphysicsextensions_source-1.0.297895-darwin-297895.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -1560,9 +1560,9 @@ <key>archive</key> <map> <key>hash</key> - <string>eb5ce0e6b65438838422f06c968f51ea</string> + <string>bc2e7d312e35c5622cc4b01feff65a89</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297366/arch/CYGWIN/installer/llphysicsextensions_source-1.0.297366-windows-297366.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/297895/arch/CYGWIN/installer/llphysicsextensions_source-1.0.297895-windows-297895.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -1588,11 +1588,11 @@ <key>archive</key> <map> <key>hash</key> - <string>85f28cdf4b4bea23842709bee970fbd0</string> + <string>200e25ae502af90db83e88274f0f1ecf</string> <key>hash_algorithm</key> <string>md5</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/295945/arch/Darwin/installer/llphysicsextensions_stub-1.0.295945-darwin-295945.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/297894/arch/Darwin/installer/llphysicsextensions_stub-1.0.297894-darwin-297894.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -1602,9 +1602,9 @@ <key>archive</key> <map> <key>hash</key> - <string>3ad26fc5343cd14c81649e3fe42e8bc5</string> + <string>5fd0fb6634d7fbc77f012a66e38063d8</string> <key>url</key> - <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/297367/arch/Linux/installer/llphysicsextensions_stub-1.0.297367-linux-297367.tar.bz2</string> + <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/297894/arch/Linux/installer/llphysicsextensions_stub-1.0.297894-linux-297894.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -1614,7 +1614,7 @@ <key>archive</key> <map> <key>hash</key> - <string>fe3377f1455ab74de6cd08de0ed9be55</string> + <string>4c33f540a54591b12e3a2bc08047cd80</string> <key>url</key> <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/llphysicsextensions-stub_llphysicsextensions-update/rev/297894/arch/CYGWIN/installer/llphysicsextensions_stub-1.0.297894-windows-297894.tar.bz2</string> </map> -- cgit v1.2.3