Page MenuHomeFreeBSD

sh: install hard links with same mode as target
ClosedPublic

Authored by emaste on Nov 23 2022, 3:31 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 9, 12:05 PM
Unknown Object (File)
Fri, May 8, 8:56 PM
Unknown Object (File)
Thu, May 7, 12:11 PM
Unknown Object (File)
Wed, May 6, 6:11 AM
Unknown Object (File)
Wed, May 6, 5:39 AM
Unknown Object (File)
Wed, May 6, 3:12 AM
Unknown Object (File)
Mon, May 4, 11:34 AM
Unknown Object (File)
Sun, May 3, 2:44 AM
Subscribers

Details

Summary

Previously when using NO_ROOT we recorded METALOG entries for the /.profile hard link with a different file mode than the link target, which is not permitted.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I am not sure why we have /.profile and /.cshrc at all, though?

Similar issue with etc/pam.d/ftp, with the same fix.

emaste retitled this revision from sh, csh: install hard links with same mode as target to sh: install hard links with same mode as target.
emaste edited the summary of this revision. (Show Details)

Split out sh change

bin/csh/Makefile
164 ↗(On Diff #113440)

Have to change this one, because it gets applied to

LINKS=  ${BINDIR}/csh ${BINDIR}/tcsh

also, resulting in

error: entries point to the same inode but have different meta: ./bin/csh,./bin/tcsh in line 11446,11476. off by "mode"

A slightly hacky way to do this would be:

${INSTALL_LINK} ${TAG_ARGS} -m ${CONFMODE} ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc

(bsd.links.mk, bsd.own.mk do not include per-file control over ${LINKMODE})

This revision is now accepted and ready to land.Nov 23 2022, 6:56 PM