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)
Tue, Apr 30, 5:43 PM
Unknown Object (File)
Tue, Apr 30, 5:41 PM
Unknown Object (File)
Tue, Apr 30, 5:41 PM
Unknown Object (File)
Tue, Apr 30, 5:41 PM
Unknown Object (File)
Tue, Apr 30, 1:44 PM
Unknown Object (File)
Sat, Apr 27, 4:00 PM
Unknown Object (File)
Fri, Apr 26, 4:06 PM
Unknown Object (File)
Wed, Apr 24, 10:56 PM
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

Lint
Lint Skipped
Unit
Tests Skipped

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