svn commit: r314693 - head/usr.sbin/rmt
Bryan Drewery
bdrewery at FreeBSD.org
Sun Mar 5 21:42:07 UTC 2017
On 3/5/17 1:39 PM, Rodney W. Grimes wrote:
>> On 3/5/17 8:26 AM, Rodney W. Grimes wrote:
>>> Moved thread to -hackers for a quick discussion.
>>>
>>>> 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.
>>> Unless I have missed a commit:
>>> ./crypto/openssh/contrib/cygwin/Makefile: cd $(DESTDIR)$(mandir)/man1 && ln -s ssh.1.gz slogin.1.gz
>>> ./usr.sbin/sendmail/Makefile: ln -sf ${.ALLSRC} ${.TARGET}
>>> ./usr.sbin/rmt/Makefile: ln -s ${BINDIR}/rmt ${DESTDIR}/etc/rmt
>>> ...
>>
>> Keep in mind that INSTALL_*SYMLINK should only be used for *installing*
>> a symlink, not for intermediate build files. All of the direct 'ln'
>> usage in the tree should be not installed. Brooks and I and others have
>> done passes before to ensure that any installed symlink uses
>> INSTALL_*SYMLINK. The reasoning is that the -DNO_ROOT build requires
>> that 'install' be used since it is logging the file in a meta log that
>> is later used to build an image from. This is also important for the
>> DIRDEPS_BUILD feature.
>
> In those several passes you have missed at least this one here in rmt
> that has been there since the refer commit of r6499. This is not a
> new link someone added recently. I simply corrected the arguments to
> the command so that we no longer have an absolute link inside
> of ${DESTDIR}.
Yup it looks like we missed the 'etc'/configuration ones. Those are
kind of special in those 2 build modes I mentioned which is probably why
they've been missed.
>
> Let me review my other 10 or so pending commits again, but I think all
> of those are errors in SYMLINKS=. Bapt did not answer my question
> on how to deal with SYMLINKS hardcoded to use INSTALL_SYMLINKS but
> I well need it to use INSTALL_RSYMLINKS for some of these corrections.
>
> For now I have just feed the proper arguments to SYMLINKS so that it
> creates proper relative paths.
>
>>> A summary is there are 50 instances of ln -sf, 28 other variants of ln -s,
>>> and 5 ln -fs. I did not search for other permutaions of ln and s f options.
> ...
> REVIEWING my patches I see this:
> --- share/termcap/Makefile (revision 314708)
> +++ share/termcap/Makefile (working copy)
> @@ -24,6 +24,6 @@
> cap_mkdb ${CAP_MKDB_ENDIAN} -f ${.TARGET:R} ${.ALLSRC}
>
> etc-termcap:
> - ${INSTALL_SYMLINK} ${BINDIR}/misc/termcap ${DESTDIR}/etc/termcap
> + ${INSTALL_SYMLINK} ..${BINDIR}/misc/termcap ${DESTDIR}/etc/termcap
>
> .include <bsd.prog.mk>
>
> I'll convert that to INSTALL_RSYMLINK, all others are in
> SYMLINK lists. That should get handled by your .mk modifications to
> do the right thing.
>
>
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20170305/52808092/attachment.sig>
More information about the freebsd-hackers
mailing list