On 11/30/2012 03:46 PM, Martin Jansa wrote:
On Fri, Nov 30, 2012 at 11:08:43AM +0800, qi.c...@windriver.com wrote:
From: Chen Qi<qi.c...@windriver.com>

If the TMPDIR has more than 256 chars, building qt4-native fails.
This violates the 410 length limit of TMPDIR.

This patch makes building qt4-native succeed with a long building
path (410 for example) by extending its static arrays' sizes by
256 chars.

[YOCTO #2766]

Signed-off-by: Chen Qi<qi.c...@windriver.com>
---
  ...e-qt4-native-work-with-long-building-path.patch |   82 ++++++++++++++++++++
  meta/recipes-qt/qt4/qt4-native.inc                 |    3 +-
  2 files changed, 84 insertions(+), 1 deletion(-)
  create mode 100644 
meta/recipes-qt/qt4/qt4-4.8.3/0001-make-qt4-native-work-with-long-building-path.patch

diff --git 
a/meta/recipes-qt/qt4/qt4-4.8.3/0001-make-qt4-native-work-with-long-building-path.patch
 
b/meta/recipes-qt/qt4/qt4-4.8.3/0001-make-qt4-native-work-with-long-building-path.patch
new file mode 100644
index 0000000..74f4e1a
--- /dev/null
+++ 
b/meta/recipes-qt/qt4/qt4-4.8.3/0001-make-qt4-native-work-with-long-building-path.patch
@@ -0,0 +1,82 @@
+Upstream-Status: Pending
Why not submit this upstream? And isn't the same problem in target
recipes?
I've tried and are now waiting for their reply.
There's no such problem in target recipe.

+Make qt4-native work with long building path.
+
+Signed-off-by: Chen Qi<qi.c...@windriver.com>
+
+Index: configure
+=====================================================================
+--- a/configure
++++ b/configure
+@@ -4764,8 +4764,8 @@ DEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 
"qt_demopath=$QT_INST
+ TODAY=`date +%Y-%m-%d`
+ cat>  "$outpath/src/corelib/global/qconfig.cpp.new"<<EOF
+ /* License Info */
+-static const char qt_configure_licensee_str          [256 + 12] = 
"$LICENSE_USER_STR";
+-static const char qt_configure_licensed_products_str [256 + 12] = 
"$LICENSE_PRODUCTS_STR";
++static const char qt_configure_licensee_str          [512 + 12] = 
"$LICENSE_USER_STR";
++static const char qt_configure_licensed_products_str [512 + 12] = 
"$LICENSE_PRODUCTS_STR";
+
+ /* Installation date */
+ static const char qt_configure_installation          [12+11]    = 
"qt_instdate=$TODAY";
+@@ -4790,36 +4790,36 @@ if [ ! -z "$QT_HOST_PREFIX" ]; then
+
+ #if defined(QT_BOOTSTRAPPED) || defined(QT_BUILD_QMAKE)
+ /* Installation Info */
+-static const char qt_configure_prefix_path_str       [256 + 12] = 
"$HOSTPREFIX_PATH_STR";
+-static const char qt_configure_documentation_path_str[256 + 12] = 
"$HOSTDOCUMENTATION_PATH_STR";
+-static const char qt_configure_headers_path_str      [256 + 12] = 
"$HOSTHEADERS_PATH_STR";
+-static const char qt_configure_libraries_path_str    [256 + 12] = 
"$HOSTLIBRARIES_PATH_STR";
+-static const char qt_configure_binaries_path_str     [256 + 12] = 
"$HOSTBINARIES_PATH_STR";
+-static const char qt_configure_plugins_path_str      [256 + 12] = 
"$HOSTPLUGINS_PATH_STR";
+-static const char qt_configure_imports_path_str      [256 + 12] = 
"$HOSTIMPORTS_PATH_STR";
+-static const char qt_configure_data_path_str         [256 + 12] = 
"$HOSTDATA_PATH_STR";
+-static const char qt_configure_translations_path_str [256 + 12] = 
"$HOSTTRANSLATIONS_PATH_STR";
+-static const char qt_configure_settings_path_str     [256 + 12] = 
"$HOSTSETTINGS_PATH_STR";
+-static const char qt_configure_examples_path_str     [256 + 12] = 
"$HOSTEXAMPLES_PATH_STR";
+-static const char qt_configure_demos_path_str        [256 + 12] = 
"$HOSTDEMOS_PATH_STR";
++static const char qt_configure_prefix_path_str       [512 + 12] = 
"$HOSTPREFIX_PATH_STR";
++static const char qt_configure_documentation_path_str[512 + 12] = 
"$HOSTDOCUMENTATION_PATH_STR";
++static const char qt_configure_headers_path_str      [512 + 12] = 
"$HOSTHEADERS_PATH_STR";
++static const char qt_configure_libraries_path_str    [512 + 12] = 
"$HOSTLIBRARIES_PATH_STR";
++static const char qt_configure_binaries_path_str     [512 + 12] = 
"$HOSTBINARIES_PATH_STR";
++static const char qt_configure_plugins_path_str      [512 + 12] = 
"$HOSTPLUGINS_PATH_STR";
++static const char qt_configure_imports_path_str      [512 + 12] = 
"$HOSTIMPORTS_PATH_STR";
++static const char qt_configure_data_path_str         [512 + 12] = 
"$HOSTDATA_PATH_STR";
++static const char qt_configure_translations_path_str [512 + 12] = 
"$HOSTTRANSLATIONS_PATH_STR";
++static const char qt_configure_settings_path_str     [512 + 12] = 
"$HOSTSETTINGS_PATH_STR";
++static const char qt_configure_examples_path_str     [512 + 12] = 
"$HOSTEXAMPLES_PATH_STR";
++static const char qt_configure_demos_path_str        [512 + 12] = 
"$HOSTDEMOS_PATH_STR";
+ #else // QT_BOOTSTRAPPED
+ EOF
+ fi
+
+ cat>>  "$outpath/src/corelib/global/qconfig.cpp.new"<<EOF
+ /* Installation Info */
+-static const char qt_configure_prefix_path_str       [256 + 12] = 
"$PREFIX_PATH_STR";
+-static const char qt_configure_documentation_path_str[256 + 12] = 
"$DOCUMENTATION_PATH_STR";
+-static const char qt_configure_headers_path_str      [256 + 12] = 
"$HEADERS_PATH_STR";
+-static const char qt_configure_libraries_path_str    [256 + 12] = 
"$LIBRARIES_PATH_STR";
+-static const char qt_configure_binaries_path_str     [256 + 12] = 
"$BINARIES_PATH_STR";
+-static const char qt_configure_plugins_path_str      [256 + 12] = 
"$PLUGINS_PATH_STR";
+-static const char qt_configure_imports_path_str      [256 + 12] = 
"$IMPORTS_PATH_STR";
+-static const char qt_configure_data_path_str         [256 + 12] = 
"$DATA_PATH_STR";
+-static const char qt_configure_translations_path_str [256 + 12] = 
"$TRANSLATIONS_PATH_STR";
+-static const char qt_configure_settings_path_str     [256 + 12] = 
"$SETTINGS_PATH_STR";
+-static const char qt_configure_examples_path_str     [256 + 12] = 
"$EXAMPLES_PATH_STR";
+-static const char qt_configure_demos_path_str        [256 + 12] = 
"$DEMOS_PATH_STR";
++static const char qt_configure_prefix_path_str       [512 + 12] = 
"$PREFIX_PATH_STR";
++static const char qt_configure_documentation_path_str[512 + 12] = 
"$DOCUMENTATION_PATH_STR";
++static const char qt_configure_headers_path_str      [512 + 12] = 
"$HEADERS_PATH_STR";
++static const char qt_configure_libraries_path_str    [512 + 12] = 
"$LIBRARIES_PATH_STR";
++static const char qt_configure_binaries_path_str     [512 + 12] = 
"$BINARIES_PATH_STR";
++static const char qt_configure_plugins_path_str      [512 + 12] = 
"$PLUGINS_PATH_STR";
++static const char qt_configure_imports_path_str      [512 + 12] = 
"$IMPORTS_PATH_STR";
++static const char qt_configure_data_path_str         [512 + 12] = 
"$DATA_PATH_STR";
++static const char qt_configure_translations_path_str [512 + 12] = 
"$TRANSLATIONS_PATH_STR";
++static const char qt_configure_settings_path_str     [512 + 12] = 
"$SETTINGS_PATH_STR";
++static const char qt_configure_examples_path_str     [512 + 12] = 
"$EXAMPLES_PATH_STR";
++static const char qt_configure_demos_path_str        [512 + 12] = 
"$DEMOS_PATH_STR";
+ EOF
+
+ if [ ! -z "$QT_HOST_PREFIX" ]; then
diff --git a/meta/recipes-qt/qt4/qt4-native.inc 
b/meta/recipes-qt/qt4/qt4-native.inc
index ad20723..42e2801 100644
--- a/meta/recipes-qt/qt4/qt4-native.inc
+++ b/meta/recipes-qt/qt4/qt4-native.inc
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = 
"file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
                      file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
                      
file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"

-INC_PR = "r18"
+INC_PR = "r19"

  inherit native

@@ -17,6 +17,7 @@ SRC_URI = 
"http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-sr
             
file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
             file://0002-qkbdtty_qws-fix-build-with-old-kernel-headers.patch \
             file://0003-webkit2-set-OUTPUT_DIR-value-if-empty.patch \
+          file://0001-make-qt4-native-work-with-long-building-path.patch \
Please don't mix tabs and spaces for indentation.

I didn't fix indentation. I'm also curious about why it appears this way. On my computer, it's ok.

             file://g++.conf \
             file://linux.conf \
        "
--
1.7.9.5


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to