summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorPaul Barker <paul@paulbarker.me.uk>2013-05-07 10:05:22 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-09 08:51:13 +0100
commitb3a745c53291dc417e5e6747929433a6c97933f7 (patch)
treecc377bf276a973e6d7b91bc0e11d2813eb48a581 /meta
parent452f6b25eedf0c4577586912b6a01fc8a77d6ea5 (diff)
downloadpoky-b3a745c53291dc417e5e6747929433a6c97933f7.tar.gz
qt4: remove trailing slash from prefix
The trailing slashs on "Prefix=${prefix}/" and "-prefix ${prefix}/" are passed through to the generated pkgconfig files and may be joined to paths like "/include" yielding a final path with a double forward-slash (eg. "/usr//include"). This may end up in the debugging symbols in other applications or libraries which depend on qt4 which in turn causes the debugedit program to fail with the message "canonicalization unexpectedly shrank by one character" when it tries to replace the double forward-slash with a single forward-slash. Thus the function split_and_strip_files fails and ultimately do_package fails. As this slash is removed from the prefix it is added into the regular expression used to fix up pkgconfig files later in the recipe. This error was seen in vlc in meta-openembedded and should be solved by this change in openembedded-core. (From OE-Core rev: 61a7329a5c1f0b84f447256134f5a77917f07f38) Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-qt/qt4/qt4.inc6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
index 37fc1dd7d5..84c0ae9dab 100644
--- a/meta/recipes-qt/qt4/qt4.inc
+++ b/meta/recipes-qt/qt4/qt4.inc
@@ -213,7 +213,7 @@ do_configure() {
213 cp -f ${WORKDIR}/linux.conf mkspecs/common/ 213 cp -f ${WORKDIR}/linux.conf mkspecs/common/
214 214
215 echo "[Paths]" > $QT_CONF_PATH 215 echo "[Paths]" > $QT_CONF_PATH
216 echo "Prefix=${prefix}/" >> $QT_CONF_PATH 216 echo "Prefix=${prefix}" >> $QT_CONF_PATH
217 echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH 217 echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
218 echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH 218 echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
219 echo "Libraries=${libdir}" >> $QT_CONF_PATH 219 echo "Libraries=${libdir}" >> $QT_CONF_PATH
@@ -229,7 +229,7 @@ do_configure() {
229 ${EXTRA_QMAKE_MUNGE}|| true 229 ${EXTRA_QMAKE_MUNGE}|| true
230 230
231 echo yes | QT_LICENSE_FILE="${QT_LICENSE_FILE}" ./configure -v \ 231 echo yes | QT_LICENSE_FILE="${QT_LICENSE_FILE}" ./configure -v \
232 -prefix ${prefix}/ \ 232 -prefix ${prefix} \
233 -bindir ${bindir} \ 233 -bindir ${bindir} \
234 -libdir ${libdir} \ 234 -libdir ${libdir} \
235 -datadir ${datadir}/${QT_DIR_NAME} \ 235 -datadir ${datadir}/${QT_DIR_NAME} \
@@ -358,7 +358,7 @@ do_install() {
358 358
359 # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here: 359 # QT abuses $includedir to point to its headers, which breaks pkgconfig sysroot, so manually fix it up here:
360 for pc in ${D}${libdir}/pkgconfig/*.pc ; do 360 for pc in ${D}${libdir}/pkgconfig/*.pc ; do
361 sed -i -e "s:prefix}include/${QT_DIR_NAME}/$(basename $pc .pc):prefix}/include:" \ 361 sed -i -e "s:prefix}/include/${QT_DIR_NAME}/$(basename $pc .pc):prefix}/include:" \
362 -e 's:IP{:I${:g' $pc 362 -e 's:IP{:I${:g' $pc
363 done 363 done
364 364