Skip to content

Commit 1d6633f

Browse files
committed
Fix race condition when installing init binary
The old situation led to errors when building the Debian package with more than one thread.
1 parent e593718 commit 1d6633f

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

Makefile.am

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
AM_CPPFLAGS = -Wall -Wextra
22

3-
pkglibexec_PROGRAMS = tiny_initramfs
3+
noinst_PROGRAMS = tiny_initramfs
44

55
tiny_initramfs_SOURCES = tiny_initramfs.c io.c fstab.c mount.c log.c devices.c util.c
66
if ENABLE_NFS4
@@ -11,12 +11,17 @@ tiny_initramfs_LDFLAGS = -static
1111

1212
EXTRA_DIST = README.md tiny_initramfs.h nfs4.h
1313

14+
installdirs-local:
15+
$(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)"
16+
1417
if HAVE_VARIANT
15-
install-exec-hook:
16-
cd $(DESTDIR)$(pkglibexecdir) && \
17-
mv -f tiny_initramfs init-@VARIANT@
18+
install-exec-local:
19+
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) -T tiny_initramfs$(EXEEXT) "$(DESTDIR)$(pkglibexecdir)/init-@VARIANT@$(EXEEXT)"
20+
uninstall-local:
21+
rm -f "$(DESTDIR)$(pkglibexecdir)/init-@VARIANT@$(EXEEXT)"
1822
else
19-
install-exec-hook:
20-
cd $(DESTDIR)$(pkglibexecdir) && \
21-
mv -f tiny_initramfs init
23+
install-exec-local:
24+
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) -T tiny_initramfs$(EXEEXT) "$(DESTDIR)$(pkglibexecdir)/init$(EXEEXT)"
25+
uninstall-local:
26+
rm -f "$(DESTDIR)$(pkglibexecdir)/init$(EXEEXT)"
2227
endif

0 commit comments

Comments
 (0)