summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-04-16 00:29:17 +0200
committerAlejandro Colomar <alx@kernel.org>2024-04-16 16:23:49 +0200
commit9524f0f63badd896ccf6da7d79511100d86c4721 (patch)
tree0f6b3be239f3c7fb59f569d7108d5d812b9f0449
parenta5c977a5bd3b7b705f4b91f3b375cc68d7122331 (diff)
share/mk/: install-man: Don't pipe to install(1)
install(1) doesn't work well in Darwin. It seems to be unable to handle </dev/stdin>. The problem seems to be that Darwin's stdin misbehaves. I've only workarounded the install target, and not the dist target, since it's unlikely that one would run it in such a broken system. But since installing the pages is a common operation that everybody needs, let's work around it here. Fixes: 30c38a8bf8ae ("*.mk: Pipe to install(1)") Link: <https://github.com/NixOS/nixpkgs/pull/300797> Closes: <https://bugzilla.kernel.org/show_bug.cgi?id=218730> Reported-by: Sergei Trofimovich <slyich@gmail.com> Reported-by: Mario Rodas <https://github.com/marsam> Cc: Eli Schwartz <eschwartz93@gmail.com> Cc: Pádraig Brady <P@draigBrady.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--share/mk/install/man.mk6
1 files changed, 3 insertions, 3 deletions
diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
index f32fd01b1..eafbbaa32 100644
--- a/share/mk/install/man.mk
+++ b/share/mk/install/man.mk
@@ -50,10 +50,10 @@ $(foreach s, $(MANSECTIONS), \
$(_manpages):
$(info $(INFO_)INSTALL $@)
- <$< \
- $(SED) $(foreach s, $(MANSECTIONS), \
+ $(INSTALL_DATA) -T $< $@
+ $(SED) -i $(foreach s, $(MANSECTIONS), \
-e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext),') \
- | $(INSTALL_DATA) -T /dev/stdin $@
+ $@
ifeq ($(LINK_PAGES),symlink)
if $(GREP) '^\.so ' <$@ >/dev/null; then \
$(GREP) '^\.so ' <$@ \