Date: Tue, 22 Apr 2003 11:50:19 -0700 (PDT) From: Charles Swiger <cswiger@mac.com> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/51283: expat2 port fails to configure Message-ID: <200304221850.h3MIoJB4004925@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/51283; it has been noted by GNATS. From: Charles Swiger <cswiger@mac.com> To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/51283: expat2 port fails to configure Date: Tue, 22 Apr 2003 14:50:11 -0400 On Tuesday, April 22, 2003, at 01:16 PM, Anton Berezin wrote: [ ... ] > The majority (hopefully, all) of the binaries used by the ports > collection has corresponding make variables, for example LS, ID, FIND, > and so on. I am not sure that changing this practice to adjust to > habits of a single FreeBSD user is a good idea. I don't expect FreeBSD to adjust something which works to cater to individual preferences, even if those preferences are mine. :-) However, the way the UNAME environment variable is handled under the ports is somewhat more prone to failure than, say, setting MAKE. Even if I export "MAKE=foobar", /usr/bin/make will override my setting with something appropriate and the build works fine. > That said, there are several possible solutions for you. > > One is to actually *define* a UNAME make variable to be /usr/bin/uname > in your /etc/make.conf. Due to the way make(1) operates, it will > ignore > your shell UNAME variable in this case. In this way you will still > have > UNAME to be whatever it is you like it to be in the SHELL, but not > inside makefiles. > > Another possibility, which I do not personally like, is to modify > bsd.port.mk to use, for instance, UNAME_CMD instead of UNAME. The solution of unsetting UNAME is "good enough". Setting UNAME in /etc/make.conf, or for that matter, doing a "ln -s /usr/sbin/uname /usr/local/bin/FreeBSD" would also work-- albeit the latter is even more of a hack than overriding UNAME. However, it would be nice if /usr/ports/Mk/bsd.port.mk was smart enough to test whether UNAME exists and is executable before trying to invoke $UNAME as a program: # /bin/sh syntax if [ ! -x "$UNAME" ]; then UNAME=/usr/sbin/uname export UNAME fi Also, I would suggest that the fact that $UNAME is significant to the ports collection really ought to be mentioned in "man 7 ports". Thanks for your time and responses, -Chuck
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304221850.h3MIoJB4004925>