diff options
author | Alejandro Colomar <alx@kernel.org> | 2024-04-16 00:29:17 +0200 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2024-04-16 16:23:49 +0200 |
commit | 9524f0f63badd896ccf6da7d79511100d86c4721 (patch) | |
tree | 0f6b3be239f3c7fb59f569d7108d5d812b9f0449 | |
parent | a5c977a5bd3b7b705f4b91f3b375cc68d7122331 (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.mk | 6 |
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 ' <$@ \ |