[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