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