package/mc: do not install mc.lib twice
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Mon, 20 Apr 2020 20:16:44 +0000 (22:16 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Mon, 20 Apr 2020 20:54:27 +0000 (22:54 +0200)
Fixes:
 - http://autobuild.buildroot.org/results/1fded9bacffdc57fea9cb151ed889f48ceb5ff8d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/mc/0001-Ticket-4070-misc-Makefile-am-install-mc-lib-only-once.patch [new file with mode: 0644]
package/mc/mc.mk

diff --git a/package/mc/0001-Ticket-4070-misc-Makefile-am-install-mc-lib-only-once.patch b/package/mc/0001-Ticket-4070-misc-Makefile-am-install-mc-lib-only-once.patch
new file mode 100644 (file)
index 0000000..be9bf7a
--- /dev/null
@@ -0,0 +1,60 @@
+From afb09f7cd7024484845ade25e15b8b93d6cf2d2c Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Tue, 3 Mar 2020 09:26:12 +0000
+Subject: [PATCH] Ticket #4070: misc/Makefile.am: install mc.lib only once.
+
+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>
+Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Retrieved from:
+https://github.com/MidnightCommander/mc/commit/afb09f7cd7024484845ade25e15b8b93d6cf2d2c]
+---
+ misc/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/misc/Makefile.am b/misc/Makefile.am
+index 8ed1826136..24f4a0e1ad 100644
+--- a/misc/Makefile.am
++++ b/misc/Makefile.am
+@@ -17,7 +17,6 @@ dist_pkgdata_DATA = \
+       mc.lib
+ pkgdata_DATA = \
+-      $(dist_pkgdata_DATA) \
+       $(PKGDATA_OUT)
+ SCRIPTS_IN = \
+@@ -54,7 +53,6 @@ EXTRA_DIST = \
+       $(LIBFILES_SCRIPT) \
+       $(SCRIPTS_IN) \
+       $(noinst_DATA) \
+-      $(dist_pkgdata_DATA) \
+       $(PKGDATA_IN)
+ install-data-hook:
index 4e76b618d8e0e395680b22b4cebec931352e4848..b689e50e73d93935c483deebb8fc85eb93db9688 100644 (file)
@@ -11,6 +11,8 @@ MC_LICENSE = GPL-3.0+
 MC_LICENSE_FILES = COPYING
 MC_DEPENDENCIES = libglib2 host-pkgconf $(TARGET_NLS_DEPENDENCIES)
 MC_CONF_ENV = LIBS=$(TARGET_NLS_LIBS)
+# We're patching misc/Makefile.am
+MC_AUTORECONF = YES
 
 ifeq ($(BR2_PACKAGE_GPM),y)
 MC_CONF_OPTS += --with-gpm-mouse