Patchwork apt: Fix parallel make race

login
register
mail settings
Submitter Richard Purdie
Date March 19, 2012, 3:55 p.m.
Message ID <1332172520.9740.35.camel@ted>
Download mbox | patch
Permalink /patch/23813/
State Accepted
Commit dcad44962fc78741020584edced0526866d09b53
Headers show

Comments

Richard Purdie - March 19, 2012, 3:55 p.m.
I was just going to turn off parallel make but ended up fixing this properly.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Khem Raj - March 19, 2012, 6:28 p.m.
On Mon, Mar 19, 2012 at 8:55 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> I was just going to turn off parallel make but ended up fixing this properly.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Thanks for fixing the underlying problem. I would like to encourage
that we try this all the time I know many times it may not be possible
for us to fix a given package but then we should report it upstream as
a plan b
before we add PARALLE_MAKE = "" to packages

Patch

diff --git a/meta/recipes-devtools/apt/apt-0.7.14/makerace.patch b/meta/recipes-devtools/apt/apt-0.7.14/makerace.patch
new file mode 100644
index 0000000..403711f
--- a/dev/null
+++ b/meta/recipes-devtools/apt/apt-0.7.14/makerace.patch
@@ -0,0 +1,23 @@ 
+I was seeing various issues with parallel make, mainly due to to what was likely 
+partially installed headers. If you change into the source directory and
+"NOISY=1 make  ../obj/apt-pkg/sourcelist.opic" in apt-pkg, you'll see it 
+doesn't have any dependencies on the headers being installed. This patch
+fixes that so things build correctly.
+
+RP 2012/3/19
+
+Upstream-Status: Pending
+
+Index: apt-0.7.14/buildlib/library.mak
+===================================================================
+--- apt-0.7.14.orig/buildlib/library.mak
++++ apt-0.7.14/buildlib/library.mak
+@@ -61,7 +61,7 @@ $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR
+ 
+ # Compilation rules
+ vpath %.cc $(SUBDIRS)
+-$(OBJ)/%.opic: %.cc
++$(OBJ)/%.opic: %.cc $($(LOCAL)-HEADERS)
+ 	echo Compiling $< to $@
+ 	$(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $<
+ 	$(DoDep)
diff --git a/meta/recipes-devtools/apt/apt-native_0.7.14.bb b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
index 37368ac..ec3fd20 100644
--- a/meta/recipes-devtools/apt/apt-native_0.7.14.bb
+++ b/meta/recipes-devtools/apt/apt-native_0.7.14.bb
@@ -1,6 +1,6 @@ 
 require apt-native.inc
 
-PR = "r6"
+PR = "r7"
 
 SRC_URI += "file://nodoc.patch \
             file://noconfigure.patch \
diff --git a/meta/recipes-devtools/apt/apt.inc b/meta/recipes-devtools/apt/apt.inc
index 6265203..9d32ddb 100644
--- a/meta/recipes-devtools/apt/apt.inc
+++ b/meta/recipes-devtools/apt/apt.inc
@@ -6,6 +6,7 @@  SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/apt_${PV}.tar.gz \
            file://no-ko-translation.patch \
            file://use-host.patch \
            file://localefixes.patch \
+           file://makerace.patch \
            "
 
 inherit autotools gettext
diff --git a/meta/recipes-devtools/apt/apt_0.7.14.bb b/meta/recipes-devtools/apt/apt_0.7.14.bb
index bd1116f..8464b7f 100644
--- a/meta/recipes-devtools/apt/apt_0.7.14.bb
+++ b/meta/recipes-devtools/apt/apt_0.7.14.bb
@@ -3,7 +3,7 @@  RDEPENDS_${PN} = "dpkg"
 LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
 require apt.inc
 
-PR = "r9"
+PR = "r10"
 
 SRC_URI += "file://nodoc.patch \
             file://includes-fix.patch "