diff --git a/doc/contributions.txt b/doc/contributions.txt
index 067f29ed55b1346f4e9fb0beddedd2804c85eb9c..eea73ee76728a5d18289f5bc39ca7cd3db147eec 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -524,6 +524,7 @@ Robin Cornelius
 	SNOW-504
 	SNOW-506
 	SNOW-507
+	SNOW-511
 	SNOW-514
 	SNOW-520
 	SNOW-585
@@ -605,6 +606,8 @@ Strife Onizuka
 	VWR-2265
 	VWR-4111
 Tayra Dagostino
+	SNOW-517
+	SNOW-543
 	VWR-13947
 TBBle Kurosawa
 	VWR-938
@@ -612,6 +615,7 @@ TBBle Kurosawa
 	VWR-942
 	VWR-944
 	VWR-945
+	SNOW-543
 	VWR-1891
 	VWR-1892
 Teardrops Fall
diff --git a/indra/cmake/WebKitLibPlugin.cmake b/indra/cmake/WebKitLibPlugin.cmake
index 1c572ab27f285176d8b6c3d262abaf349673c5bd..12ba1b1b35b8f95f43f194c7fb3a35a0d12fb64f 100644
--- a/indra/cmake/WebKitLibPlugin.cmake
+++ b/indra/cmake/WebKitLibPlugin.cmake
@@ -3,48 +3,46 @@ include(Linking)
 include(Prebuilt)
 
 if (STANDALONE)
-    set(WEBKITLIBPLUGIN OFF CACHE BOOL
-        "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
+  set(WEBKITLIBPLUGIN OFF CACHE BOOL
+      "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
 else (STANDALONE)
-    use_prebuilt_binary(llqtwebkit)
-    set(WEBKITLIBPLUGIN ON CACHE BOOL
-        "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
+  use_prebuilt_binary(llqtwebkit)
+  set(WEBKITLIBPLUGIN ON CACHE BOOL
+      "WEBKITLIBPLUGIN support for the llplugin/llmedia test apps.")
 endif (STANDALONE)
 
 if (WINDOWS)
-    set(WEBKIT_PLUGIN_LIBRARIES 
-    debug llqtwebkitd
-    debug QtWebKitd4
-    debug QtOpenGLd4
-    debug QtNetworkd4
-    debug QtGuid4
-    debug QtCored4
-    debug qtmaind
-    optimized llqtwebkit
-    optimized QtWebKit4
-    optimized QtOpenGL4
-    optimized QtNetwork4
-    optimized QtGui4
-    optimized QtCore4
-    optimized qtmain
-    )
+  set(WEBKIT_PLUGIN_LIBRARIES
+      debug llqtwebkitd
+      debug QtWebKitd4
+      debug QtOpenGLd4
+      debug QtNetworkd4
+      debug QtGuid4
+      debug QtCored4
+      debug qtmaind
+      optimized llqtwebkit
+      optimized QtWebKit4
+      optimized QtOpenGL4
+      optimized QtNetwork4
+      optimized QtGui4
+      optimized QtCore4
+      optimized qtmain
+      )
 elseif (DARWIN)
-    set(WEBKIT_PLUGIN_LIBRARIES
-        optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-        debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
-        )
+  set(WEBKIT_PLUGIN_LIBRARIES
+      optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+      debug ${ARCH_PREBUILT_DIRS_RELEASE}/libllqtwebkit.dylib
+      )
 elseif (LINUX)
+  if (STANDALONE) 
+    set(WEBKIT_PLUGIN_LIBRARIES llqtwebkit)
+  else (STANDALONE)
     set(WEBKIT_PLUGIN_LIBRARIES
         llqtwebkit
 
         qgif
-#        qico
         qjpeg
-#        qpng
-#        qtiff
-#        qsvg
 
-#        QtSvg
         QtWebKit
         QtOpenGL
         QtNetwork
@@ -56,9 +54,6 @@ elseif (LINUX)
         X11
         Xrender
         GL
-
-#        sqlite3
-#        Xi
-#        SM
         )
+  endif (STANDALONE)
 endif (WINDOWS)
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 65502209f768fbd341398d7e71aaaefaf7c9b9f1..1ee7586d5f3955a0017d6282bce01402fa8245f3 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1704,12 +1704,12 @@ if (LINUX)
 
   add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit)
 
-  if (NOT INSTALL)
+  if (PACKAGE)
     add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
     add_dependencies(package linux-crash-logger-target)
     add_dependencies(package linux-updater-target)
     check_message_template(package)
-  endif (NOT INSTALL)
+  endif (PACKAGE)
 
   add_custom_command(
     OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.copy_touched
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 9885d1aa0d9f0b2a5c90d459eb2ee1eb53b31f6b..0eda4007e3e3e1a0b6a219c84249b5ef0c28fcf8 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -833,6 +833,28 @@ class LinuxManifest(ViewerManifest):
         # Create an appropriate gridargs.dat for this package, denoting required grid.
         self.put_in_file(self.flags_list(), 'etc/gridargs.dat')
 
+        self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
+        self.path("../linux_crash_logger/linux-crash-logger","bin/linux-crash-logger.bin")
+        self.path("../linux_updater/linux-updater", "bin/linux-updater.bin")
+        self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
+
+        if self.prefix("res-sdl"):
+            self.path("*")
+            # recurse
+            self.end_prefix("res-sdl")
+
+        # plugins
+        if self.prefix(src="", dst="bin/llplugin"):
+            self.path("../media_plugins/webkit/libmedia_plugin_webkit.so", "libmedia_plugin_webkit.so")
+            self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
+            self.end_prefix("bin/llplugin")
+
+        try:
+            self.path("../llcommon/libllcommon.so", "lib/libllcommon.so")
+        except:
+            print "Skipping llcommon.so (assuming llcommon was linked statically)"
+
+        self.path("featuretable_linux.txt")
 
     def package_finish(self):
         if 'installer_name' in self.args:
@@ -847,6 +869,10 @@ class LinuxManifest(ViewerManifest):
             else:
                 installer_name += '_' + self.channel_oneword().upper()
 
+        if self.args['buildtype'].lower() == 'release' and self.is_packaging_viewer():
+            print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build"
+            self.run_command("find %(d)r/bin %(d)r/lib -type f | xargs --no-run-if-empty strip -S" % {'d': self.get_dst_prefix()} ) # makes some small assumptions about our packaged dir structure
+
         # Fix access permissions
         self.run_command("""
                 find %(dst)s -type d | xargs --no-run-if-empty chmod 755;
@@ -883,36 +909,12 @@ class Linux_i686Manifest(LinuxManifest):
 
         # install either the libllkdu we just built, or a prebuilt one, in
         # decreasing order of preference.  for linux package, this goes to bin/
-        for lib, destdir in ("llkdu", "bin"), ("llcommon", "lib"):
-            libfile = "lib%s.so" % lib
-            try:
-                self.path(self.find_existing_file(os.path.join(os.pardir, lib, libfile),
-                    '../../libraries/i686-linux/lib_release_client/%s' % libfile), 
-                      dst=os.path.join(destdir, libfile))
-                # keep this one to preserve syntax, open source mangling removes previous lines
-                pass
-            except RuntimeError:
-                print "Skipping %s - not found" % libfile
-                pass
-
-        self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
-
-        self.path("../linux_crash_logger/linux-crash-logger","bin/linux-crash-logger.bin")
-        self.path("../linux_updater/linux-updater", "bin/linux-updater.bin")
-        self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
-        if self.prefix("res-sdl"):
-            self.path("*")
-            # recurse
-            self.end_prefix("res-sdl")
-
-        # plugins
-        if self.prefix(src="", dst="bin/llplugin"):
-            self.path("../media_plugins/webkit/libmedia_plugin_webkit.so", "libmedia_plugin_webkit.so")
-            self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
-            self.end_prefix("bin/llplugin")
-
-        self.path("featuretable_linux.txt")
-        #self.path("secondlife-i686.supp")
+        try:
+            self.path(self.find_existing_file('../llkdu/libllkdu.so',
+                '../../libraries/i686-linux/lib_release_client/libllkdu.so'),
+                  dst='bin/libllkdu.so')
+        except:
+            print "Skipping libllkdu.so - not found"
 
         if self.prefix("../../libraries/i686-linux/lib_release_client", dst="lib"):
             self.path("libapr-1.so.0")
@@ -955,10 +957,6 @@ class Linux_i686Manifest(LinuxManifest):
                     self.path("libvivoxplatform.so")
                     self.end_prefix("lib")
 
-        if self.args['buildtype'].lower() == 'release' and self.is_packaging_viewer():
-            print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build"
-            self.run_command("find %(d)r/bin %(d)r/lib -type f | xargs --no-run-if-empty strip -S" % {'d': self.get_dst_prefix()} ) # makes some small assumptions about our packaged dir structure
-
 ################################################################
 
 if __name__ == "__main__":