[OE-core] [PATCH v2] bjam-native: do not search all PATHs variable

Alexander Kanavin alex.kanavin at gmail.com
Sun Apr 28 09:38:58 UTC 2019


Wait, why is this a problem for specifically bjam, but not the other tools that also look into PATH? Shouldn’t you fix the nfs instead?

Alex

> On 28 Apr 2019, at 9.02, <mingli.yu at windriver.com> <mingli.yu at windriver.com> wrote:
> 
> From: Li Wang <li.wang at windriver.com>
> 
> By default, it searches all paths specified by $PATH.
> 
> But if the directory of the $PATH variable on
> build host includes nfs(build host as nfs client),
> it causes the build hung when the nfs server is
> unavailable.
> 
> Signed-off-by: Li Wang <li.wang at windriver.com>
> Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
> ---
> meta/recipes-support/boost/bjam-native_1.69.0.bb   |  1 +
> .../bjam-do-not-search-all-PATHs-varibale.patch    | 53 ++++++++++++++++++++++
> 2 files changed, 54 insertions(+)
> create mode 100644 meta/recipes-support/boost/files/bjam-do-not-search-all-PATHs-varibale.patch
> 
> diff --git a/meta/recipes-support/boost/bjam-native_1.69.0.bb b/meta/recipes-support/boost/bjam-native_1.69.0.bb
> index 94f96e6..395ad34 100644
> --- a/meta/recipes-support/boost/bjam-native_1.69.0.bb
> +++ b/meta/recipes-support/boost/bjam-native_1.69.0.bb
> @@ -6,6 +6,7 @@ SECTION = "devel"
> inherit native
> 
> SRC_URI += "file://bjam-native-build-bjam.debug.patch \
> +            file://bjam-do-not-search-all-PATHs-varibale.patch \
> "
> 
> do_compile() {
> diff --git a/meta/recipes-support/boost/files/bjam-do-not-search-all-PATHs-varibale.patch b/meta/recipes-support/boost/files/bjam-do-not-search-all-PATHs-varibale.patch
> new file mode 100644
> index 0000000..742603a
> --- /dev/null
> +++ b/meta/recipes-support/boost/files/bjam-do-not-search-all-PATHs-varibale.patch
> @@ -0,0 +1,53 @@
> +bjam: do not search all PATHs varibale
> +
> +By default, it searches all paths specified by $PATH.
> +But if the directory of the $PATH variable on
> +build host includes nfs, it causes system hung
> +when nfs server is unavailable.
> +
> +Upstream-Status: Inappropriate [oe specific]
> +
> +Signed-off-by: Li Wang <li.wang at windriver.com>
> +Signed-off-by: Mingli Yu <mingli.yu at windriver.com>
> +---
> + tools/build/src/engine/build.jam | 10 +++++-----
> + 1 file changed, 5 insertions(+), 5 deletions(-)
> +
> +diff --git a/tools/build/src/engine/build.jam b/tools/build/src/engine/build.jam
> +index a92b70f..f866619 100644
> +--- a/tools/build/src/engine/build.jam
> ++++ b/tools/build/src/engine/build.jam
> +@@ -781,8 +781,8 @@ if $(OS) = NT
> + }
> + SUFEXE ?= "" ;
> + 
> +-yacc ?= [ GLOB $(PATH) : yacc$(SUFEXE) ] ;
> +-yacc ?= [ GLOB $(PATH) : bison$(SUFEXE) ] ;
> ++yacc ?= [ GLOB "" : yacc$(SUFEXE) ] ;
> ++yacc ?= [ GLOB "" : bison$(SUFEXE) ] ;
> + yacc ?= [ GLOB "$(ProgramFiles:J= )\\GnuWin32\\bin"
> +     "C:\\Program Files\\GnuWin32\\bin" : bison$(SUFEXE) ] ;
> + yacc = $(yacc[1]) ;
> +@@ -966,7 +966,7 @@ if $(OS) = NT
> + }
> + if $(UNIX) = true
> + {
> +-    tar ?= [ GLOB $(PATH) : star bsdtar tar ] ;
> ++    tar ?= [ GLOB "" : star bsdtar tar ] ;
> +     tar = $(tar[1]) ;
> +     switch $(tar:D=:S=)
> +     {
> +@@ -1047,8 +1047,8 @@ rule .package ( dst-dir : src-files + )
> + }
> + 
> + # RPM distro file.
> +-rpm-tool = [ GLOB $(PATH) : "rpmbuild" ] ;
> +-rpm-tool ?= [ GLOB $(PATH) : "rpm" ] ;
> ++rpm-tool = [ GLOB "" : "rpmbuild" ] ;
> ++rpm-tool ?= [ GLOB "" : "rpm" ] ;
> + rpm-tool = $(rpm-tool[1]) ;
> + rule .rpm ( name : source )
> + {
> +-- 
> +2.18.1
> +
> -- 
> 2.7.4
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list