summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Villavicencio <the_paya@gentoo.org>2010-03-24 11:04:55 +0000
committerJavier Villavicencio <the_paya@gentoo.org>2010-03-24 11:04:55 +0000
commit2e477ebc6edafee54c614afbc134d92f3ef0cea3 (patch)
tree41777f73df952fb6621ca6f9137a78c76c0dc24b
parentstable x86, bug 309873 (diff)
downloadgentoo-2-2e477ebc6edafee54c614afbc134d92f3ef0cea3.tar.gz
gentoo-2-2e477ebc6edafee54c614afbc134d92f3ef0cea3.tar.bz2
gentoo-2-2e477ebc6edafee54c614afbc134d92f3ef0cea3.zip
/usr/bin/install patch to avoid parallel make install bugs.
(Portage version: 2.2_rc67/cvs/FreeBSD i386)
-rw-r--r--sys-freebsd/freebsd-ubin/ChangeLog6
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-8.0-xinstall.patch26
-rw-r--r--sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild3
3 files changed, 33 insertions, 2 deletions
diff --git a/sys-freebsd/freebsd-ubin/ChangeLog b/sys-freebsd/freebsd-ubin/ChangeLog
index 963910e3bed2..3c2baa7c8518 100644
--- a/sys-freebsd/freebsd-ubin/ChangeLog
+++ b/sys-freebsd/freebsd-ubin/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-freebsd/freebsd-ubin
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.65 2010/03/19 11:50:51 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.66 2010/03/24 11:04:55 the_paya Exp $
+
+ 24 Mar 2010; Javier Villavicencio <the_paya@gentoo.org>
+ freebsd-ubin-8.0.ebuild, +files/freebsd-ubin-8.0-xinstall.patch:
+ Fix for parallel make install bugs when they use our /usr/bin/install.
*freebsd-ubin-8.0 (19 Mar 2010)
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-8.0-xinstall.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-8.0-xinstall.patch
new file mode 100644
index 000000000000..099c0437211e
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-8.0-xinstall.patch
@@ -0,0 +1,26 @@
+Parallel make installs often cause 2 concurrent install -d to fail
+while they are creating the path to the target dirs.
+This patch changes the failure to a warning so that a make -j6 install doesn't
+fails as often as it does on Gentoo/FreeBSD, if it uses /usr/bin/install.
+
+--- usr.bin/xinstall/xinstall.c.orig
++++ usr.bin/xinstall/xinstall.c
+@@ -748,9 +748,17 @@
+ ch = *p;
+ *p = '\0';
+ if (stat(path, &sb)) {
+- if (errno != ENOENT || mkdir(path, 0755) < 0) {
++ if (errno != ENOENT) {
+ err(EX_OSERR, "mkdir %s", path);
+ /* NOTREACHED */
++ } else if (mkdir(path, 0755) < 0) {
++ /* Previos errno from stat() says that the directory didn't exist (ENOENT)
++ * But if errno is now EEXIST, then we just hit a parallel make bug.
++ */
++ if (errno == EEXIST)
++ warn("mkdir: %s now exists!", path); /* let me know when this happens */
++ else
++ err(EX_OSERR, "mkdir %s", path);
+ } else if (verbose)
+ (void)printf("install: mkdir %s\n",
+ path);
diff --git a/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild b/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild
index 2bd37dbe3d37..83efa61d4b87 100644
--- a/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild
+++ b/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild,v 1.1 2010/03/19 11:50:51 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/freebsd-ubin-8.0.ebuild,v 1.2 2010/03/24 11:04:55 the_paya Exp $
EAPI=2
@@ -45,6 +45,7 @@ PATCHES=( "${FILESDIR}/${PN}-6.0-bsdcmp.patch"
"${FILESDIR}/${PN}-setXid.patch"
"${FILESDIR}/${PN}-lint-stdarg.patch"
"${FILESDIR}/${PN}-6.0-kdump-ioctl.patch"
+ "${FILESDIR}/${PN}-8.0-xinstall.patch"
"${FILESDIR}/${PN}-8.0-bsdar.patch" )
# Here we remove some sources we don't need because they are already