From 22d5063c551d3c08c0a4ad8b80e08b793d53093d Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 10 Sep 2015 16:23:27 +0300 Subject: [PATCH] This patch fixes a command line that is too long (over 100K!) and is rejected by /bin/sh. Upstream-Status: Backport [should appear in 2.10, http://trac.webkit.org/changeset/184856] Signed-off-by: Alexander Kanavin --- Source/WebKit2/PlatformGTK.cmake | 11 ++++++----- Tools/gtk/generate-inspector-gresource-manifest.py | 16 ++++++++++++---- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Source/WebKit2/PlatformGTK.cmake b/Source/WebKit2/PlatformGTK.cmake index a13af7c..058c241 100644 --- a/Source/WebKit2/PlatformGTK.cmake +++ b/Source/WebKit2/PlatformGTK.cmake @@ -408,7 +408,7 @@ set(WebKit2WebExtension_INSTALLED_HEADERS ${WEBKIT2_DIR}/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h ) -file(GLOB InspectorFiles +set(InspectorFiles ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/*.html ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Base/*.js ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Controllers/*.css @@ -423,13 +423,14 @@ file(GLOB InspectorFiles ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Views/*.js ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/gtk/*.png ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/UserInterface/Images/gtk/*.svg -) - -list(APPEND InspectorFiles ${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorBackendCommands.js ) +file(GLOB InspectorFilesDependencies + ${InspectorFiles} +) + # This is necessary because of a conflict between the GTK+ API WebKitVersion.h and one generated by WebCore. list(INSERT WebKit2_INCLUDE_DIRECTORIES 0 "${FORWARDING_HEADERS_WEBKIT2GTK_DIR}" @@ -564,7 +565,7 @@ add_custom_command( add_custom_command( OUTPUT ${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml - DEPENDS ${InspectorFiles} + DEPENDS ${InspectorFilesDependencies} ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py COMMAND ${TOOLS_DIR}/gtk/generate-inspector-gresource-manifest.py --output=${DERIVED_SOURCES_WEBKIT2GTK_DIR}/InspectorGResourceBundle.xml ${InspectorFiles} VERBATIM diff --git a/Tools/gtk/generate-inspector-gresource-manifest.py b/Tools/gtk/generate-inspector-gresource-manifest.py index 0687c4c..03060cf 100755 --- a/Tools/gtk/generate-inspector-gresource-manifest.py +++ b/Tools/gtk/generate-inspector-gresource-manifest.py @@ -16,6 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA import argparse +import glob import os import sys @@ -26,10 +27,17 @@ BASE_DIR = 'WebInspectorUI/' def get_filenames(args): filenames = [] - for filename in args: - base_dir_index = filename.rfind(BASE_DIR) - if base_dir_index != -1: - filenames.append(filename[base_dir_index + len(BASE_DIR):]) + for pattern in args: + paths = glob.glob(pattern) + for filename in paths: + base_dir_index = filename.rfind(BASE_DIR) + if base_dir_index != -1: + name = filename[base_dir_index + len(BASE_DIR):] + # The result should use forward slashes, thus make sure any os-specific + # separator, added by the glob.glob() call, is properly replaced + if os.sep != '/': + name = name.replace(os.sep, '/') + filenames.append(name) return filenames -- 2.1.4