Patchwork [1/1] netcf: fix offline rebuilding failed

login
register
mail settings
Submitter Hongxu Jia
Date March 14, 2014, 8:36 a.m.
Message ID <b7b3910fc03d9f0fac1e6363eb6b0db24d50a635.1394785570.git.hongxu.jia@windriver.com>
Download mbox | patch
Permalink /patch/68607/
State New, archived
Headers show

Comments

Hongxu Jia - March 14, 2014, 8:36 a.m.
The netcf downloaded gnulib source to ${S} at the configure time,
while the network disconnected, if sstate cache was cleaned, the
netcf rebuilding failed.

Added a new recipe named 'gnulib' to download gnulib source to
${GITDIR} and populate it to the staging data dir.

So netcf could specify this local directory where gnulib sources
reside to save the bandwidth downloading.

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 .../recipes-support/netcf/gnulib_git.bb            | 35 ++++++++++++++++++++++
 meta-networking/recipes-support/netcf/netcf_git.bb |  5 ++--
 2 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100644 meta-networking/recipes-support/netcf/gnulib_git.bb
Joe MacDonald - March 14, 2014, 2:30 p.m.
Merged, thanks.
-J.

[[oe] [PATCH 1/1] netcf: fix offline rebuilding failed] On 14.03.14 (Fri 16:36) Hongxu Jia wrote:

> The netcf downloaded gnulib source to ${S} at the configure time,
> while the network disconnected, if sstate cache was cleaned, the
> netcf rebuilding failed.
> 
> Added a new recipe named 'gnulib' to download gnulib source to
> ${GITDIR} and populate it to the staging data dir.
> 
> So netcf could specify this local directory where gnulib sources
> reside to save the bandwidth downloading.
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>  .../recipes-support/netcf/gnulib_git.bb            | 35 ++++++++++++++++++++++
>  meta-networking/recipes-support/netcf/netcf_git.bb |  5 ++--
>  2 files changed, 38 insertions(+), 2 deletions(-)
>  create mode 100644 meta-networking/recipes-support/netcf/gnulib_git.bb
> 
> diff --git a/meta-networking/recipes-support/netcf/gnulib_git.bb b/meta-networking/recipes-support/netcf/gnulib_git.bb
> new file mode 100644
> index 0000000..730f5cd
> --- /dev/null
> +++ b/meta-networking/recipes-support/netcf/gnulib_git.bb
> @@ -0,0 +1,35 @@
> +SUMMARY = "The GNU portability library"
> +DESCRIPTION = "A collection of software subroutines which are designed to \
> +be usable on many operating systems. The goal of the project \
> +is to make it easy for free software authors to make their \
> +software run on many operating systems. Since source is designed \
> +to be copied from gnulib, it is not a library per-se, as much \
> +as a collection of portable idioms to be used in other projects."
> +
> +HOMEPAGE = "http://www.gnu.org/software/gnulib/"
> +SECTION = "libs"
> +LICENSE = "LGPLv2+"
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=e4cf3810f33a067ea7ccd2cd889fed21"
> +SRCREV = "24379a9217fa4bd62685795aaaa010fd90ced9e3"
> +SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
> +"
> +S = "${WORKDIR}/git"
> +
> +# Git clone a copy of gnulib source to the staging data dir
> +sysroot_stage_all () {
> +    [ -d ${STAGING_DATADIR}/gnulib/ ] && rm -rf ${STAGING_DATADIR}/gnulib/
> +    cd ${S}
> +    git checkout master
> +    git clone ${S} ${STAGING_DATADIR}/gnulib
> +}
> +
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +do_install[noexec] = "1"
> +do_package[noexec] = "1"
> +do_packagedata[noexec] = "1"
> +do_package_write_ipk[noexec] = "1"
> +do_package_write_deb[noexec] = "1"
> +do_package_write_rpm[noexec] = "1"
> diff --git a/meta-networking/recipes-support/netcf/netcf_git.bb b/meta-networking/recipes-support/netcf/netcf_git.bb
> index 93f8c70..6c36ce8 100644
> --- a/meta-networking/recipes-support/netcf/netcf_git.bb
> +++ b/meta-networking/recipes-support/netcf/netcf_git.bb
> @@ -12,7 +12,7 @@ PV = "0.2.3+git${SRCPV}"
>  SRC_URI = "git://git.fedorahosted.org/netcf.git;protocol=git \
>  "
>  
> -DEPENDS += "augeas libnl libxslt libxml2"
> +DEPENDS += "augeas libnl libxslt libxml2 gnulib"
>  
>  S = "${WORKDIR}/git"
>  
> @@ -21,6 +21,7 @@ inherit gettext autotools
>  EXTRA_OECONF_append_class-target = " --with-driver=redhat"
>  do_configure_prepend() {
>  	cd ${S}
> -	./bootstrap
> +	rm -f .gitmodules
> +	./bootstrap --gnulib-srcdir=${STAGING_DATADIR}/gnulib
>  }
>  
> -- 
> 1.8.1.2
>

Patch

diff --git a/meta-networking/recipes-support/netcf/gnulib_git.bb b/meta-networking/recipes-support/netcf/gnulib_git.bb
new file mode 100644
index 0000000..730f5cd
--- /dev/null
+++ b/meta-networking/recipes-support/netcf/gnulib_git.bb
@@ -0,0 +1,35 @@ 
+SUMMARY = "The GNU portability library"
+DESCRIPTION = "A collection of software subroutines which are designed to \
+be usable on many operating systems. The goal of the project \
+is to make it easy for free software authors to make their \
+software run on many operating systems. Since source is designed \
+to be copied from gnulib, it is not a library per-se, as much \
+as a collection of portable idioms to be used in other projects."
+
+HOMEPAGE = "http://www.gnu.org/software/gnulib/"
+SECTION = "libs"
+LICENSE = "LGPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e4cf3810f33a067ea7ccd2cd889fed21"
+SRCREV = "24379a9217fa4bd62685795aaaa010fd90ced9e3"
+SRC_URI = "git://git.sv.gnu.org/gnulib;protocol=git \
+"
+S = "${WORKDIR}/git"
+
+# Git clone a copy of gnulib source to the staging data dir
+sysroot_stage_all () {
+    [ -d ${STAGING_DATADIR}/gnulib/ ] && rm -rf ${STAGING_DATADIR}/gnulib/
+    cd ${S}
+    git checkout master
+    git clone ${S} ${STAGING_DATADIR}/gnulib
+}
+
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_install[noexec] = "1"
+do_package[noexec] = "1"
+do_packagedata[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_deb[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
diff --git a/meta-networking/recipes-support/netcf/netcf_git.bb b/meta-networking/recipes-support/netcf/netcf_git.bb
index 93f8c70..6c36ce8 100644
--- a/meta-networking/recipes-support/netcf/netcf_git.bb
+++ b/meta-networking/recipes-support/netcf/netcf_git.bb
@@ -12,7 +12,7 @@  PV = "0.2.3+git${SRCPV}"
 SRC_URI = "git://git.fedorahosted.org/netcf.git;protocol=git \
 "
 
-DEPENDS += "augeas libnl libxslt libxml2"
+DEPENDS += "augeas libnl libxslt libxml2 gnulib"
 
 S = "${WORKDIR}/git"
 
@@ -21,6 +21,7 @@  inherit gettext autotools
 EXTRA_OECONF_append_class-target = " --with-driver=redhat"
 do_configure_prepend() {
 	cd ${S}
-	./bootstrap
+	rm -f .gitmodules
+	./bootstrap --gnulib-srcdir=${STAGING_DATADIR}/gnulib
 }