Patchwork [CONSOLIDATED,PULL,12/28] libnl2: Fix a race on route/pktloc_syntax.h

login
register
mail settings
Submitter Saul Wold
Date Oct. 14, 2011, 5:33 a.m.
Message ID <e4dbd916c029abca10e538f70fb06380c21bdd83.1318570250.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/13215/
State New, archived
Headers show

Comments

Saul Wold - Oct. 14, 2011, 5:33 a.m.
From: Tom Rini <tom_rini@mentor.com>

At issue is that route/pktloc.c (not generated) depends on
route/pktloc_syntax.h (generated).

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
---
 .../libnl/fix-pktloc_syntax_h-race.patch           |   26 ++++++++++++++++++++
 meta/recipes-support/libnl/libnl_2.0.bb            |    3 +-
 2 files changed, 28 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
Martin Jansa - Nov. 3, 2011, 3:55 p.m.
On Fri, Oct 14, 2011 at 7:33 AM, Saul Wold <sgw@linux.intel.com> wrote:
> From: Tom Rini <tom_rini@mentor.com>
>
> At issue is that route/pktloc.c (not generated) depends on
> route/pktloc_syntax.h (generated).
>
> Signed-off-by: Tom Rini <tom_rini@mentor.com>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
>  .../libnl/fix-pktloc_syntax_h-race.patch           |   26 ++++++++++++++++++++
>  meta/recipes-support/libnl/libnl_2.0.bb            |    3 +-
>  2 files changed, 28 insertions(+), 1 deletions(-)
>  create mode 100644 meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
>
> diff --git a/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch b/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
> new file mode 100644
> index 0000000..05d75db
> --- /dev/null
> +++ b/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
> @@ -0,0 +1,26 @@
> +Upstream-Status: Inappropriate [configuration]
> +
> +libnl has progressed to 0.3.2 and there does not appear to be any
> +"make -j" issues with this build after my limited testing on that
> +newer version so we can assume this issue is fixed upstream
> +
> +Index: libnl-2.0/lib/Makefile.am
> +===================================================================
> +--- libnl-2.0.orig/lib/Makefile.am
> ++++ libnl-2.0/lib/Makefile.am
> +@@ -27,11 +27,15 @@ CLEANFILES = \
> +       route/pktloc_grammar.c route/pktloc_grammar.h \
> +       route/pktloc_syntax.c route/pktloc_syntax.h
> +
> ++BUILT_SOURCES = route/pktloc_syntax.h route/pktloc_grammar.h
> ++
> + # Hack to avoid using ylwrap. It does not function correctly in combination
> + # with --header-file=
> ++route/pktloc_grammar.h: route/pktloc_grammar.c
> + route/pktloc_grammar.c: route/pktloc_grammar.l
> +       $(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^
> +
> ++route/pktloc_syntax.h: route/pktloc_syntax.c
> + route/pktloc_syntax.c: route/pktloc_syntax.y
> +       $(YACC) -d $(YFLAGS) -o $@ $^
> +
> diff --git a/meta/recipes-support/libnl/libnl_2.0.bb b/meta/recipes-support/libnl/libnl_2.0.bb
> index 0dfcaf6..5339846 100644
> --- a/meta/recipes-support/libnl/libnl_2.0.bb
> +++ b/meta/recipes-support/libnl/libnl_2.0.bb
> @@ -6,10 +6,11 @@ LICENSE = "LGPLv2.1"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc"
>
>  DEPENDS = "flex-native bison-native"
> -PR = "r2"
> +PR = "r3"
>
>  SRC_URI= "http://www.infradead.org/~tgr/libnl/files/${BPN}-${PV}.tar.gz \
>           file://fix-makefile.patch \
> +         file://fix-pktloc_syntax_h-race.patch \
>          "
>
>  SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7"
> --
> 1.7.6.2

Why is this fix-pktloc_syntax_h-race.patch in
meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
instead of more common location
meta/recipes-support/libnl/libnl-2.0/fix-pktloc_syntax_h-race.patch

and why is this separate from fix-makefile.patch when they both are
trying to fix same issue?

I'll send patch for this..
Martin Jansa - Nov. 3, 2011, 10:44 p.m.
On Thu, Nov 03, 2011 at 05:52:42PM +0100, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  .../libnl/libnl-2.0/fix-makefile.patch             |   32 --------------------
>  .../{ => libnl-2.0}/fix-pktloc_syntax_h-race.patch |    5 ++-
>  meta/recipes-support/libnl/libnl_2.0.bb            |    8 ++--
>  3 files changed, 8 insertions(+), 37 deletions(-)
>  delete mode 100644 meta/recipes-support/libnl/libnl-2.0/fix-makefile.patch
>  rename meta/recipes-support/libnl/{ => libnl-2.0}/fix-pktloc_syntax_h-race.patch (86%)

git repo is up.. so pushed
To git+ssh://git@git.openembedded.org/openembedded-core-contrib
 + 3f41fdf...f9cc3b7 jansa/libnl -> jansa/libnl (forced update)
Saul Wold - Nov. 7, 2011, 6:59 p.m.
On 11/03/2011 09:52 AM, Martin Jansa wrote:
> Signed-off-by: Martin Jansa<Martin.Jansa@gmail.com>
> ---
>   .../libnl/libnl-2.0/fix-makefile.patch             |   32 --------------------
>   .../{ =>  libnl-2.0}/fix-pktloc_syntax_h-race.patch |    5 ++-
>   meta/recipes-support/libnl/libnl_2.0.bb            |    8 ++--
>   3 files changed, 8 insertions(+), 37 deletions(-)
>   delete mode 100644 meta/recipes-support/libnl/libnl-2.0/fix-makefile.patch
>   rename meta/recipes-support/libnl/{ =>  libnl-2.0}/fix-pktloc_syntax_h-race.patch (86%)
>
> diff --git a/meta/recipes-support/libnl/libnl-2.0/fix-makefile.patch b/meta/recipes-support/libnl/libnl-2.0/fix-makefile.patch
> deleted file mode 100644
> index 3e88fbd..0000000
> --- a/meta/recipes-support/libnl/libnl-2.0/fix-makefile.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -Upstream-Status: Pending
> -
> -12/03/2010
> -
> -add explicit rules for header files generated by lex and yacc,
> -otherwise the build of lib/route/pktloc.c may fail in a parallel
> -environment.
> -
> -Signed-off-by: Qing He<qing.he@intel.com>
> -
> -12/06/2010
> -
> -the dependency rule should really read pktloc.lo instead of
> -pktloc.$(OBJEXT), since it's in a libtool setup.
> -
> -Signed-off-by: Qing He<qing.he@intel.com>
> -
> -diff --git a/lib/Makefile.am b/lib/Makefile.am
> -index 92a916e..e8b8ef3 100644
> ---- a/lib/Makefile.am
> -+++ b/lib/Makefile.am
> -@@ -35,6 +35,10 @@ route/pktloc_grammar.c: route/pktloc_grammar.l
> - route/pktloc_syntax.c: route/pktloc_syntax.y
> - 	$(YACC) -d $(YFLAGS) -o $@ $^
> -
> -+route/pktloc.lo: route/pktloc_syntax.h route/pktloc_grammar.h
> -+route/pktloc_syntax.h: route/pktloc_syntax.c
> -+route/pktloc_grammar.h: route/pktloc_grammar.c
> -+
> - libnl_route_la_LDFLAGS = -version-info 2:0:0
> - libnl_route_la_LIBADD  = libnl.la
> - libnl_route_la_SOURCES = \
> diff --git a/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch b/meta/recipes-support/libnl/libnl-2.0/fix-pktloc_syntax_h-race.patch
> similarity index 86%
> rename from meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
> rename to meta/recipes-support/libnl/libnl-2.0/fix-pktloc_syntax_h-race.patch
> index 05d75db..ea32e82 100644
> --- a/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
> +++ b/meta/recipes-support/libnl/libnl-2.0/fix-pktloc_syntax_h-race.patch
> @@ -4,11 +4,13 @@ libnl has progressed to 0.3.2 and there does not appear to be any
>   "make -j" issues with this build after my limited testing on that
>   newer version so we can assume this issue is fixed upstream
>
> +Signed-off-by: Martin Jansa<martin.jansa@gmail.com>
> +
>   Index: libnl-2.0/lib/Makefile.am
>   ===================================================================
>   --- libnl-2.0.orig/lib/Makefile.am
>   +++ libnl-2.0/lib/Makefile.am
> -@@ -27,11 +27,15 @@ CLEANFILES = \
> +@@ -27,11 +27,16 @@ CLEANFILES = \
>    	route/pktloc_grammar.c route/pktloc_grammar.h \
>    	route/pktloc_syntax.c route/pktloc_syntax.h
>
> @@ -16,6 +18,7 @@ Index: libnl-2.0/lib/Makefile.am
>   +
>    # Hack to avoid using ylwrap. It does not function correctly in combination
>    # with --header-file=
> ++route/pktloc.lo: route/pktloc_syntax.h route/pktloc_grammar.h
>   +route/pktloc_grammar.h: route/pktloc_grammar.c
>    route/pktloc_grammar.c: route/pktloc_grammar.l
>    	$(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^
> diff --git a/meta/recipes-support/libnl/libnl_2.0.bb b/meta/recipes-support/libnl/libnl_2.0.bb
> index 5339846..f783867 100644
> --- a/meta/recipes-support/libnl/libnl_2.0.bb
> +++ b/meta/recipes-support/libnl/libnl_2.0.bb
> @@ -8,10 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc"
>   DEPENDS = "flex-native bison-native"
>   PR = "r3"
>
> -SRC_URI= "http://www.infradead.org/~tgr/libnl/files/${BPN}-${PV}.tar.gz \
> -          file://fix-makefile.patch \
> -	  file://fix-pktloc_syntax_h-race.patch \
> -         "
> +SRC_URI = "\
> +  http://www.infradead.org/~tgr/${BPN}/files/${BP}.tar.gz \
> +  file://fix-pktloc_syntax_h-race.patch \
> +"
>
>   SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7"
>   SRC_URI[sha256sum] = "5a40dc903d3ca1074da7424b908bec8ff16936484798c7e46e53e9db8bc87a9c"

Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch b/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
new file mode 100644
index 0000000..05d75db
--- /dev/null
+++ b/meta/recipes-support/libnl/fix-pktloc_syntax_h-race.patch
@@ -0,0 +1,26 @@ 
+Upstream-Status: Inappropriate [configuration]
+
+libnl has progressed to 0.3.2 and there does not appear to be any
+"make -j" issues with this build after my limited testing on that
+newer version so we can assume this issue is fixed upstream
+
+Index: libnl-2.0/lib/Makefile.am
+===================================================================
+--- libnl-2.0.orig/lib/Makefile.am
++++ libnl-2.0/lib/Makefile.am
+@@ -27,11 +27,15 @@ CLEANFILES = \
+ 	route/pktloc_grammar.c route/pktloc_grammar.h \
+ 	route/pktloc_syntax.c route/pktloc_syntax.h
+ 
++BUILT_SOURCES = route/pktloc_syntax.h route/pktloc_grammar.h
++
+ # Hack to avoid using ylwrap. It does not function correctly in combination
+ # with --header-file=
++route/pktloc_grammar.h: route/pktloc_grammar.c
+ route/pktloc_grammar.c: route/pktloc_grammar.l
+ 	$(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^
+ 
++route/pktloc_syntax.h: route/pktloc_syntax.c
+ route/pktloc_syntax.c: route/pktloc_syntax.y
+ 	$(YACC) -d $(YFLAGS) -o $@ $^
+ 
diff --git a/meta/recipes-support/libnl/libnl_2.0.bb b/meta/recipes-support/libnl/libnl_2.0.bb
index 0dfcaf6..5339846 100644
--- a/meta/recipes-support/libnl/libnl_2.0.bb
+++ b/meta/recipes-support/libnl/libnl_2.0.bb
@@ -6,10 +6,11 @@  LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc"
 
 DEPENDS = "flex-native bison-native"
-PR = "r2"
+PR = "r3"
 
 SRC_URI= "http://www.infradead.org/~tgr/libnl/files/${BPN}-${PV}.tar.gz \
           file://fix-makefile.patch \
+	  file://fix-pktloc_syntax_h-race.patch \
          "
 
 SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7"