summaryrefslogtreecommitdiffstats
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-06-10 16:45:50 +0100
commitfdeec079948d059fb4ae8e1b8e77c9235cc2eb93 (patch)
treede70c7435ef3fd8b5228941d03d74ccd3a87dc40
parent33fa8e2a78901fe71638759eb6d6d1a57cfc9223 (diff)
downloadpoky-fdeec079948d059fb4ae8e1b8e77c9235cc2eb93.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 master rev: 61a7329a5c1f0b84f447256134f5a77917f07f38) (From OE-Core rev: fd4abad4f440bb7fe43779ec7601576bd937b59b) Signed-off-by: Paul Barker <paul@paulbarker.me.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 35e3003470..da73ad1c73 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