[CONSOLIDATED,PULL,03/32] qt4: allow a reduction in build time

Submitted by Saul Wold on Aug. 18, 2011, 8:55 p.m.

Details

Message ID 51ef8335df895603e75345a18aaefe2359b2387f.1313700595.git.sgw@linux.intel.com
State New, archived
Headers show

Commit Message

Saul Wold Aug. 18, 2011, 8:55 p.m.
From: Anders Darander <anders@chargestorm.se>

When reducing build time by adding QT_DISTRO_FLAGS from the set '-no-gui -nomake tools
-nomake examples -nomake demos -nomake docs', build failure can occur, due to not building
all tools.

* Make rm not error out when removing one of the, possibly, non-existing tools.
* Only try to rename qtdemo, if qtdemo exists.
* Check if the phrasebook path exists, and only then call do_split_packages()

Signed-off-by: Anders Darander <anders@chargestorm.se>
---
 meta/recipes-qt/qt4/qt4.inc |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
index 0410a92..5545be7 100644
--- a/meta/recipes-qt/qt4/qt4.inc
+++ b/meta/recipes-qt/qt4/qt4.inc
@@ -227,10 +227,11 @@  python populate_packages_prepend() {
  
         phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
         phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
-        do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
+        import os;
+        if os.path.exists(phrasebook_dir):
+                do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
  
         # Package all the plugins and their -dbg version and create a meta package
-        import os
         def qtopia_split(path, name, glob):
                 """
                 Split the package into a normal and -dbg package and then add the
@@ -278,11 +279,11 @@  do_install() {
 
 	# These are host binaries, we should only use them in staging
 	rm ${D}/${bindir}/qmake
-	rm ${D}/${bindir}/uic
-	rm ${D}/${bindir}/uic3
+	rm -f ${D}/${bindir}/uic
+	rm -f ${D}/${bindir}/uic3
 	rm ${D}/${bindir}/moc
 	rm ${D}/${bindir}/rcc
-	rm ${D}/${bindir}/lrelease
+	rm -f ${D}/${bindir}/lrelease
 
 	# fix pkgconfig, libtool and prl files
 	sed -i -e s#-L${S}/lib##g \
@@ -319,6 +320,6 @@  do_install() {
 
 	#Append an E to the qtdemo file
 	if [ -n "${QT_LIBINFIX}" ] ; then
-		mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
+		[ -f ${D}${bindir}/qtdemo ] && mv ${D}${bindir}/qtdemo ${D}${bindir}/qtdemo${QT_LIBINFIX}
 	fi
 }

Comments

Richard Purdie Aug. 19, 2011, 2:34 p.m.
On Thu, 2011-08-18 at 13:55 -0700, Saul Wold wrote:
> From: Anders Darander <anders@chargestorm.se>
> 
> When reducing build time by adding QT_DISTRO_FLAGS from the set '-no-gui -nomake tools
> -nomake examples -nomake demos -nomake docs', build failure can occur, due to not building
> all tools.
> 
> * Make rm not error out when removing one of the, possibly, non-existing tools.
> * Only try to rename qtdemo, if qtdemo exists.
> * Check if the phrasebook path exists, and only then call do_split_packages()
> 
> Signed-off-by: Anders Darander <anders@chargestorm.se>
> ---
>  meta/recipes-qt/qt4/qt4.inc |   13 +++++++------
>  1 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
> index 0410a92..5545be7 100644
> --- a/meta/recipes-qt/qt4/qt4.inc
> +++ b/meta/recipes-qt/qt4/qt4.inc
> @@ -227,10 +227,11 @@ python populate_packages_prepend() {
>   
>          phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
>          phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
> -        do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
> +        import os;
> +        if os.path.exists(phrasebook_dir):
> +                do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '${PN} phrasebook for %s', extra_depends='' )
>   
>          # Package all the plugins and their -dbg version and create a meta package
> -        import os

For reference, BitBake assumes that both os and bb are always imported
so we can likely drop all "import os" references. I'll take this patch
since its harmless but I did just grep the classes directory and it
looks like we can clean up those imports a little.

Cheers,

Richard