[OE-core] [PATCH 2/3] qt4-native: make qt4-native work with long building path
ChenQi
Qi.Chen at windriver.com
Fri Nov 30 09:05:40 UTC 2012
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, Qi.Chen at windriver.com wrote:
>>>> From: Chen Qi<Qi.Chen at 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.Chen at 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.
> 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<Qi.Chen at 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.
> 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
More information about the Openembedded-core
mailing list