Patchwork [2/3] distcc_2.18.3.bb: Fix compilation on uclibc

login
register
mail settings
Submitter Khem Raj
Date May 19, 2011, 2:29 a.m.
Message ID <b1d1f4f3cdbfd52c547252d2c8663b5877bcc2ed.1305772107.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/4487/
State New, archived
Headers show

Comments

Khem Raj - May 19, 2011, 2:29 a.m.
We enable gtk/gnome in distcc that code uses loadavg()
a function unimplemented in uclibc. Therefore for uclibc
we disable gnome and gtk+ features in distcc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/distcc/distcc_2.18.3.bb |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
Richard Purdie - May 19, 2011, 10:56 p.m.
On Wed, 2011-05-18 at 19:29 -0700, Khem Raj wrote:
> We enable gtk/gnome in distcc that code uses loadavg()
> a function unimplemented in uclibc. Therefore for uclibc
> we disable gnome and gtk+ features in distcc
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-devtools/distcc/distcc_2.18.3.bb |   18 +++++++++++++-----
>  1 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-devtools/distcc/distcc_2.18.3.bb b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
> index 1f5c2af..d6e51d9 100644
> --- a/meta/recipes-devtools/distcc/distcc_2.18.3.bb
> +++ b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
> @@ -6,7 +6,8 @@ LICENSE = "GPLv2"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
>  PR = "r6"
>  
> -DEPENDS = "avahi gtk+"
> +DEPENDS = "avahi"
> +DEPENDS_append-libc-glibc = " gtk+ "
>  RRECOMMENDS_${PN} = "avahi-daemon"
>  
>  # Upstream change this patch periodically so store locally
> @@ -24,17 +25,24 @@ inherit autotools pkgconfig update-rc.d
>  
>  INITSCRIPT_NAME = "distcc"
>  
> -EXTRA_OECONF = " --with-gtk "
> -
> -do_install_append() {
> +EXTRA_OECONF_libc-glibc = " --with-gtk "
> +EXTRA_OECONF_libc-uclibc = " --without-gtk --without-gnome "
> +do_install_append_libc-glibc() {
>      install -d ${D}${sysconfdir}/init.d/
>      install -d ${D}${sysconfdir}/default
> +    install -d ${D}${datadir}/distcc/
>      install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
>      install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
>      install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/
>  }
> +do_install_append_libc-uclibc() {
> +    install -d ${D}${sysconfdir}/init.d/
> +    install -d ${D}${sysconfdir}/default
> +    install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
> +    install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
> +}
>  

You can surely come up with a patch without that code duplication
in? ;-)

Even something like:

do_install_append() {
   <common_code>
   ${DESKTOPINSTALL}
}
DESKTOPINSTALL = ""
DESKTOPINSTALL_libc-glibc () {
   <desktopinstall>
}


Cheers,

Richard

Patch

diff --git a/meta/recipes-devtools/distcc/distcc_2.18.3.bb b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
index 1f5c2af..d6e51d9 100644
--- a/meta/recipes-devtools/distcc/distcc_2.18.3.bb
+++ b/meta/recipes-devtools/distcc/distcc_2.18.3.bb
@@ -6,7 +6,8 @@  LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 PR = "r6"
 
-DEPENDS = "avahi gtk+"
+DEPENDS = "avahi"
+DEPENDS_append-libc-glibc = " gtk+ "
 RRECOMMENDS_${PN} = "avahi-daemon"
 
 # Upstream change this patch periodically so store locally
@@ -24,17 +25,24 @@  inherit autotools pkgconfig update-rc.d
 
 INITSCRIPT_NAME = "distcc"
 
-EXTRA_OECONF = " --with-gtk "
-
-do_install_append() {
+EXTRA_OECONF_libc-glibc = " --with-gtk "
+EXTRA_OECONF_libc-uclibc = " --without-gtk --without-gnome "
+do_install_append_libc-glibc() {
     install -d ${D}${sysconfdir}/init.d/
     install -d ${D}${sysconfdir}/default
+    install -d ${D}${datadir}/distcc/
     install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
     install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
     install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/
 }
+do_install_append_libc-uclibc() {
+    install -d ${D}${sysconfdir}/init.d/
+    install -d ${D}${sysconfdir}/default
+    install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
+    install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
+}
 
-PACKAGES += "distcc-distmon-gnome"
+PACKAGES_append_libc-glibc = " distcc-distmon-gnome"
 
 FILES_${PN} = " ${sysconfdir} \
 		${bindir}/distcc \