Bug 218730 - [regression, bisected] 'make install' fails on darwin
Summary: [regression, bisected] 'make install' fails on darwin
Status: RESOLVED CODE_FIX
Alias: None
Product: Documentation
Classification: Unclassified
Component: man-pages (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: documentation_man-pages@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-15 21:01 UTC by Sergei Trofimovich
Modified: 2024-04-20 10:06 UTC (History)
1 user (show)

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Sergei Trofimovich 2024-04-15 21:01:43 UTC
It's a forward of downstream `nixpkgs` report at https://github.com/NixOS/nixpkgs/pull/300797#issuecomment-2056982667 where `nixpkgs` trod to update `man-pages` from `6.05.01` to `6.7`.

There `make install` started failing on Darwin as:

    $ make install prefix=$(pwd)/__i__
    INSTALL /Users/test/man-pages/__i__/share/man/man1/
    INSTALL /Users/test/man-pages/__i__/share/man/man1/intro.1
    install: skipping file '/dev/stdin', as it was replaced while being copied
    make: *** [share/mk/install/man.mk:60: /Users/test/man-pages/__i__/share/man/man1/intro.1] Error 1

`git bisect` landed on this change:

$ git bisect bad
30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e is the first bad commit
commit 30c38a8bf8ae8f4a6e71d3b8ac4abf0a40778f1e
Author: Alejandro Colomar <alx@kernel.org>
Date:   Mon Aug 28 01:21:45 2023 +0200

    *.mk: Pipe to install(1)

    Signed-off-by: Alejandro Colomar <alx@kernel.org>

 share/mk/dist.mk        | 7 ++++---
 share/mk/install/man.mk | 6 +++---
 2 files changed, 7 insertions(+), 6 deletions(-)

The system is: x86_64-apple-darwin18.7.0.
Comment 1 Sergei Trofimovich 2024-04-15 21:47:30 UTC
This seems to be the difference between two systems on coreutils-9.4 where `install` comes from on my systems:

Linux (works):

    $ mkdir -p foo; echo 42 | install -m 644 -T /dev/stdin ./foo/a; echo $?
    0

Darwin (fails):

    $ mkdir -p foo; echo 42 | install -m 644 -T /dev/stdin ./foo/a; echo $?
    install: skipping file '/dev/stdin', as it was replaced while being copied
    1
Comment 3 Alejandro Colomar 2024-04-20 10:06:21 UTC
Thanks for reminding me that I should close this!  :-)

Have a lovely day!
Alex

Note You need to log in before you can comment on or make changes to this bug.