Title: [136116] trunk
Revision
136116
Author
[email protected]
Date
2012-11-29 02:56:42 -0800 (Thu, 29 Nov 2012)

Log Message

[Qt] Fix installation of QtWebProcess binary
https://bugs.webkit.org/show_bug.cgi?id=101735

Patch by Andras Becsi <[email protected]> on 2012-11-29
Reviewed by Simon Hausmann.

Source/WebKit2:

If available use QLibraryInfo::LibraryExecutablesPath to find
the web process and the plugin process and deploy both helper
processes to QT_INSTALL_LIBEXECS.

The effective fallback used to find the helper processes becomes:
    1. Application directory
    2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
    3. Qt binaries directory (QLibraryInfo::BinariesPath)
    4. No absolute path used

* PluginProcess.pro:
* Shared/qt/ProcessExecutablePathQt.cpp:
(WebKit::executablePath):
* WebProcess.pro:

Tools:

Add config test to detect the availability of support
for "program executables" in Qt (libexec).

This test can be removed after the Qt5 release.

* Tools.pro:
* qmake/mkspecs/features/features.prf:
* qmake/config.tests/libexecdir/libexecdir.cpp:
* qmake/config.tests/libexecdir/libexecdir.pro:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (136115 => 136116)


--- trunk/Source/WebKit2/ChangeLog	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Source/WebKit2/ChangeLog	2012-11-29 10:56:42 UTC (rev 136116)
@@ -1,3 +1,25 @@
+2012-11-29  Andras Becsi  <[email protected]>
+
+        [Qt] Fix installation of QtWebProcess binary
+        https://bugs.webkit.org/show_bug.cgi?id=101735
+
+        Reviewed by Simon Hausmann.
+
+        If available use QLibraryInfo::LibraryExecutablesPath to find
+        the web process and the plugin process and deploy both helper
+        processes to QT_INSTALL_LIBEXECS.
+
+        The effective fallback used to find the helper processes becomes:
+            1. Application directory
+            2. Qt library executables directory (QLibraryInfo::LibraryExecutablesPath)
+            3. Qt binaries directory (QLibraryInfo::BinariesPath)
+            4. No absolute path used
+
+        * PluginProcess.pro:
+        * Shared/qt/ProcessExecutablePathQt.cpp:
+        (WebKit::executablePath):
+        * WebProcess.pro:
+
 2012-11-28  Ryuan Choi  <[email protected]>
 
         [EFL] Generate big_button_theme.edj

Modified: trunk/Source/WebKit2/PluginProcess.pro (136115 => 136116)


--- trunk/Source/WebKit2/PluginProcess.pro	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Source/WebKit2/PluginProcess.pro	2012-11-29 10:56:42 UTC (rev 136116)
@@ -21,7 +21,8 @@
 INSTALLS += target
 
 isEmpty(INSTALL_BINS) {
-    target.path = $$[QT_INSTALL_BINS]
+    use?(libexecdir): target.path = $$[QT_INSTALL_LIBEXECS]
+    else: target.path = $$[QT_INSTALL_BINS]
 } else {
     target.path = $$INSTALL_BINS
 }

Modified: trunk/Source/WebKit2/Shared/qt/ProcessExecutablePathQt.cpp (136115 => 136116)


--- trunk/Source/WebKit2/Shared/qt/ProcessExecutablePathQt.cpp	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Source/WebKit2/Shared/qt/ProcessExecutablePathQt.cpp	2012-11-29 10:56:42 UTC (rev 136116)
@@ -40,7 +40,12 @@
     if (QFile::exists(expectedPath))
         return String(expectedPath);
 
-    expectedPath = QLibraryInfo::location(QLibraryInfo::BinariesPath) + QDir::separator() + baseName;
+    QLibraryInfo::LibraryLocation location = QLibraryInfo::BinariesPath;
+#if USE(LIBEXECDIR)
+    location = QLibraryInfo::LibraryExecutablesPath;
+#endif
+
+    expectedPath = QLibraryInfo::location(location) + QDir::separator() + baseName;
     if (QFile::exists(expectedPath))
         return String(expectedPath);
 

Modified: trunk/Source/WebKit2/WebProcess.pro (136115 => 136116)


--- trunk/Source/WebKit2/WebProcess.pro	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Source/WebKit2/WebProcess.pro	2012-11-29 10:56:42 UTC (rev 136116)
@@ -21,7 +21,8 @@
 INSTALLS += target
 
 isEmpty(INSTALL_BINS) {
-    target.path = $$[QT_INSTALL_BINS]
+    use?(libexecdir): target.path = $$[QT_INSTALL_LIBEXECS]
+    else: target.path = $$[QT_INSTALL_BINS]
 } else {
     target.path = $$INSTALL_BINS
 }

Modified: trunk/Tools/ChangeLog (136115 => 136116)


--- trunk/Tools/ChangeLog	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Tools/ChangeLog	2012-11-29 10:56:42 UTC (rev 136116)
@@ -1,3 +1,20 @@
+2012-11-29  Andras Becsi  <[email protected]>
+
+        [Qt] Fix installation of QtWebProcess binary
+        https://bugs.webkit.org/show_bug.cgi?id=101735
+
+        Reviewed by Simon Hausmann.
+
+        Add config test to detect the availability of support
+        for "program executables" in Qt (libexec).
+
+        This test can be removed after the Qt5 release.
+
+        * Tools.pro:
+        * qmake/mkspecs/features/features.prf:
+        * qmake/config.tests/libexecdir/libexecdir.cpp:
+        * qmake/config.tests/libexecdir/libexecdir.pro:
+
 2012-11-29  Eric Seidel  <[email protected]>
 
         run-perf-tests does not work when the layout test directory does not exist

Modified: trunk/Tools/Tools.pro (136115 => 136116)


--- trunk/Tools/Tools.pro	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Tools/Tools.pro	2012-11-29 10:56:42 UTC (rev 136116)
@@ -34,6 +34,7 @@
     qmake/config.tests/README \
     qmake/config.tests/fontconfig/* \
     qmake/config.tests/gccdepends/* \
+    qmake/config.tests/libexecdir/* \
     qmake/mkspecs/modules/* \
     qmake/mkspecs/features/*.prf \
     qmake/mkspecs/features/*.pri \

Added: trunk/Tools/qmake/config.tests/libexecdir/libexecdir.cpp (0 => 136116)


--- trunk/Tools/qmake/config.tests/libexecdir/libexecdir.cpp	                        (rev 0)
+++ trunk/Tools/qmake/config.tests/libexecdir/libexecdir.cpp	2012-11-29 10:56:42 UTC (rev 136116)
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ *
+ * 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 COPYRIGHT
+ * OWNER 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.
+ */
+
+#include <qlibraryinfo.h>
+
+int main(int, char**)
+{
+    QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath);
+    return 0;
+}

Added: trunk/Tools/qmake/config.tests/libexecdir/libexecdir.pro (0 => 136116)


--- trunk/Tools/qmake/config.tests/libexecdir/libexecdir.pro	                        (rev 0)
+++ trunk/Tools/qmake/config.tests/libexecdir/libexecdir.pro	2012-11-29 10:56:42 UTC (rev 136116)
@@ -0,0 +1,4 @@
+SOURCES = libexecdir.cpp
+OBJECTS_DIR = obj
+CONFIG += qt
+QT -= gui

Modified: trunk/Tools/qmake/mkspecs/features/features.prf (136115 => 136116)


--- trunk/Tools/qmake/mkspecs/features/features.prf	2012-11-29 10:40:42 UTC (rev 136115)
+++ trunk/Tools/qmake/mkspecs/features/features.prf	2012-11-29 10:56:42 UTC (rev 136116)
@@ -37,6 +37,7 @@
     haveQtModule(widgets): WEBKIT_CONFIG += have_qstyle
     haveQtModule(testlib): WEBKIT_CONFIG += have_qttestlib
 
+    config_libexecdir: WEBKIT_CONFIG += use_libexecdir
     config_libxml2: WEBKIT_CONFIG += use_libxml2
     config_libxslt: WEBKIT_CONFIG += xslt
     config_libzlib: WEBKIT_CONFIG += use_zlib
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to