mc/misc/Makefile.am
Sergei Trofimovich afb09f7cd7 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>
2020-03-07 09:58:55 +03:00

63 lines
1009 B
Makefile

## Process this file with automake to create Makefile.in.
SUBDIRS = ext.d macros.d skins syntax
LIBFILES_OUT = mc.ext
noinst_DATA = xterm.ad
PKGDATA_IN = mc.charsets.in
PKGDATA_OUT =
if CHARSET
PKGDATA_OUT += mc.charsets
endif
dist_pkgdata_DATA = \
mc.lib
pkgdata_DATA = \
$(PKGDATA_OUT)
SCRIPTS_IN = \
mc.menu.in \
mcedit.menu.in
SCRIPTS_OUT = \
mc.menu \
mcedit.menu
LIBFILES_CONST = \
filehighlight.ini \
mc.default.keymap \
mc.emacs.keymap
LIBFILES_SCRIPT = \
edit.indent.rc
CLEANFILES = $(SCRIPTS_OUT) $(PKGDATA_OUT)
cfgdir = $(sysconfdir)/@PACKAGE@
cfg_DATA = \
$(LIBFILES_CONST) \
$(SCRIPTS_OUT) \
$(LIBFILES_OUT)
cfg_SCRIPTS = \
$(LIBFILES_SCRIPT)
# Files processed by configure don't need to be here
EXTRA_DIST = \
$(LIBFILES_CONST) \
$(LIBFILES_SCRIPT) \
$(SCRIPTS_IN) \
$(noinst_DATA) \
$(PKGDATA_IN)
install-data-hook:
cd $(DESTDIR)$(cfgdir) && rm -f mc.keymap && $(LN_S) mc.default.keymap mc.keymap
uninstall-hook:
cd $(DESTDIR)$(cfgdir) && rm -f mc.keymap