summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2020-03-03 09:41:45 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2020-03-03 09:41:59 +0000
commit505d6452fcc516ba6baf978b85ede975cb05bea6 (patch)
tree00a5387fd09ac3014d6dc1c464d4379998c85de3 /app-misc/mc
parentdev-python/python-gnupg: Remove py2 (diff)
downloadgentoo-505d6452fcc516ba6baf978b85ede975cb05bea6.tar.gz
gentoo-505d6452fcc516ba6baf978b85ede975cb05bea6.tar.bz2
gentoo-505d6452fcc516ba6baf978b85ede975cb05bea6.zip
app-misc/mc: fix parallel 'make install'
Reported-by: Rolf Eike Beer Bug: https://midnight-commander.org/ticket/4070 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'app-misc/mc')
-rw-r--r--app-misc/mc/files/mc-4.8.24-mc-lib-twice-4070.patch84
-rw-r--r--app-misc/mc/mc-4.8.24.ebuild2
2 files changed, 86 insertions, 0 deletions
diff --git a/app-misc/mc/files/mc-4.8.24-mc-lib-twice-4070.patch b/app-misc/mc/files/mc-4.8.24-mc-lib-twice-4070.patch
new file mode 100644
index 000000000000..8db6fdfb2ea3
--- /dev/null
+++ b/app-misc/mc/files/mc-4.8.24-mc-lib-twice-4070.patch
@@ -0,0 +1,84 @@
+https://midnight-commander.org/ticket/4070
+
+From 30fd157a73f148dbc150c18b206b85e1a4a93e9c Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Tue, 3 Mar 2020 09:26:12 +0000
+Subject: [PATCH] misc/Makefile.am: install 'mc.lib' only once (#4070)
+
+Before the change `mc.lib` was installed twice due to being
+in two `_DATA` variables:
+
+```
+dist_pkgdata_DATA = \
+ mc.lib
+
+pkgdata_DATA = \
+ $(dist_pkgdata_DATA) \
+ $(PKGDATA_OUT)
+```
+
+This causes occasional install failures when two parallel
+`/usr/bin/install` calls race in installing the file:
+
+```
+$ make -j20 DESTDIR=/var/tmp/portage/app-misc/mc-4.8.24/image install
+...
+ /usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
+ -c -m 644 mc.lib '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
+ /usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
+ -c -m 644 mc.lib mc.charsets '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
+...
+ /usr/bin/install: cannot create regular file
+ '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc/mc.lib': File exists
+```
+
+After the change `mc.lib` is present only in `dist_pkgdata_DATA`.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ misc/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/misc/Makefile.am
++++ b/misc/Makefile.am
+@@ -17,7 +17,7 @@ dist_pkgdata_DATA = \
+ mc.lib
+
+ pkgdata_DATA = \
+- $(dist_pkgdata_DATA) \
++ \
+ $(PKGDATA_OUT)
+
+ SCRIPTS_IN = \
+@@ -54,7 +53,7 @@ EXTRA_DIST = \
+ $(LIBFILES_SCRIPT) \
+ $(SCRIPTS_IN) \
+ $(noinst_DATA) \
+- $(dist_pkgdata_DATA) \
++ \
+ $(PKGDATA_IN)
+
+ install-data-hook:
+--- a/misc/Makefile.in
++++ b/misc/Makefile.in
+@@ -472,7 +473,7 @@ dist_pkgdata_DATA = \
+ mc.lib
+
+ pkgdata_DATA = \
+- $(dist_pkgdata_DATA) \
++ \
+ $(PKGDATA_OUT)
+
+ SCRIPTS_IN = \
+@@ -508,7 +509,7 @@ EXTRA_DIST = \
+ $(LIBFILES_SCRIPT) \
+ $(SCRIPTS_IN) \
+ $(noinst_DATA) \
+- $(dist_pkgdata_DATA) \
++ \
+ $(PKGDATA_IN)
+
+ all: all-recursive
+--
+2.25.1
+
diff --git a/app-misc/mc/mc-4.8.24.ebuild b/app-misc/mc/mc-4.8.24.ebuild
index 2fff74e2efc5..035e43c0cb8d 100644
--- a/app-misc/mc/mc-4.8.24.ebuild
+++ b/app-misc/mc/mc-4.8.24.ebuild
@@ -42,6 +42,8 @@ RESTRICT="!test? ( test )"
S=${WORKDIR}/${MY_P}
+PATCHES=("${FILESDIR}"/${P}-mc-lib-twice-4070.patch)
+
pkg_pretend() {
if use slang && use unicode ; then
ewarn "\"unicode\" USE flag only takes effect when the \"slang\" USE flag is disabled."