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

login
register
mail settings
Submitter Saul Wold
Date Aug. 18, 2011, 8:55 p.m.
Message ID <51ef8335df895603e75345a18aaefe2359b2387f.1313700595.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/10221/
State New, archived
Headers show

Comments

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(-)
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

Patch

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
 }