On Sun, Mar 05, 2017 at 05:19:28AM -0800, Rodney W. Grimes wrote: > -- Start of PGP signed section. > > On Sun, Mar 05, 2017 at 04:09:18AM +0000, Rodney W. Grimes wrote: > > > Author: rgrimes > > > Date: Sun Mar 5 04:09:18 2017 > > > New Revision: 314693 > > > URL: https://svnweb.freebsd.org/changeset/base/314693 > > > > > > Log: > > > Change /etc/rmt symlink from absolute to relative path, > > > correcting the mistake made in r6499 > > > > > > Approved by: grehan > > > MFC after: 1 week > > > > > > Modified: > > > head/usr.sbin/rmt/Makefile > > > > > > Modified: head/usr.sbin/rmt/Makefile > > > ============================================================================== > > > --- head/usr.sbin/rmt/Makefile Sun Mar 5 04:02:47 2017 > > > (r314692) > > > +++ head/usr.sbin/rmt/Makefile Sun Mar 5 04:09:18 2017 > > > (r314693) > > > @@ -7,6 +7,6 @@ MAN= rmt.8 > > > # called from /usr/src/etc/Makefile > > > etc-rmt: > > > rm -f ${DESTDIR}/etc/rmt > > > - ln -s ${BINDIR}/rmt ${DESTDIR}/etc/rmt > > > + ln -s ..${BINDIR}/rmt ${DESTDIR}/etc/rmt > > > > I think this should be ${INSTALL_RSYMLINK} ${BINDIR}/rmt ${DESTDIR}/etc/rmt > > find /usr/src | xargs grep INSTALL_RSYM > (no results) > > Sorry, no prior work does this, perhaps once I get done sweeping the > absolutes out of the tree (about 10 or 15 IIRC) a pass can be made to > sweep all ln -s out and propage this internal bsd.lib.mk function out > to the rest of the source tree?
There is also no Makefiles that do ls -sf directly beside that one. INSTALL_RSYMLINK has exactly be done to be use everywhere it is needed. (I wrote it for that exact reason :)) > > find /usr/share/mk/ | xargs grep INSTALL_RSYM > /usr/share/mk/bsd.own.mk:INSTALL_RSYMLINK?= ${INSTALL} ${RSYMLINK} > /usr/share/mk/bsd.lib.mk: ${INSTALL_RSYMLINK} > ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} > ${DESTDIR}${_LIBDIR}/${SHLIB_LINK} > /usr/share/mk/bsd.lib.mk: ${INSTALL_RSYMLINK} ${TAG_ARGS} > ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \ > /usr/share/mk/bsd.lib.mk: ${INSTALL_RSYMLINK} > ${TAG_ARGS:D${TAG_ARGS},development} ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \ > /usr/share/mk/bsd.lib.mk: ${INSTALL_RSYMLINK} ${TAG_ARGS} > ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \ > > This is called from within bsd.lib.mk only, do we want to use this for > all symbolics links in the source tree? If so I would of though the > person adding this functionality to the .mk files would of made > a tree sweeping looking for that and making those changes as well. When I did it only bsd.lib.mk was using it iirc > > > The rm -f before can then be removed, the symlink will be relative and the > > METALOG will be respected > > METALOG? The only documentation I can find on this seems to be part of > src/tootls/tools/makeroot.8. > > It appears that something in Makefile.inc uses it and there are references > to it in etc/Makefile. > > Where is this METALOG documented? It is really badly documented and should be :( it is a mtree file that is generated when built is done via -DNO_ROOT for the purpose of being able to generate disk with makefs as a user I have reused it for packaging base. This was designed IIRC by adrian and brooks iirc. Embedded people relies a lot on it. Everything not going though the install(1) command is not tracked that is why this is an issue. Best regards, Bapt
signature.asc
Description: PGP signature