On 11/30/2012 04:11 PM, Martin Jansa wrote:
On Fri, Nov 30, 2012 at 04:01:00PM +0800, ChenQi wrote:
On 11/30/2012 03:46 PM, Martin Jansa wrote:
On Fri, Nov 30, 2012 at 11:08:43AM +0800, [email protected] wrote:
From: Chen Qi<[email protected]>

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<[email protected]>
---
   ...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.
OK, so it's Submitted now, right?

There's no such problem in target recipe.

+Make qt4-native work with long building path.
+
+Signed-off-by: Chen Qi<[email protected]>
+
+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.
Lines above are using only spaces, your line has tab followed by 3
spaces.

Cheers,

Thanks a lot. I didn't notice that.
I'll fix this and send out this series of patches again.

About the qt4 patch:
I sent the patch to its mailing list. I also opened a bug for it in case of accident.
https://bugreports.qt-project.org/browse/QTBUG-28292

Thanks,
Chen Qi

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to