New /bin/sh based script to manage ports
Doug Barton
dougb at FreeBSD.org
Sat Jan 7 02:27:51 PST 2006
KOMATSU Shinichiro wrote:
> PORTSDIR is set in bsd.port.mk, which is not included
> if you do not explicitly include it by ".include <bsd.port.mk>".
> Don't you set it in /etc/make.conf or environment variable?
>
> Recently I thought the same problem, and
> the best solution I came up with till now is
> running the following command:
>
> % echo '.include <bsd.port.mk>' | make -f - -V PORTSDIR
Actually Sam Lawrance was kind enough to point out that that you can simply
do 'make -V VAR' even without a Makefile. I had tried this approach, but was
discouraged when I didn't get a value back. After Sam's encouragement
though, it dawned on me that a value would appear using this method if there
was one set in /etc/make.conf. I tested this method, and incorporated it in
a new version of portmaster which I just uploaded to my web site.
KOMATSU-san, you might want to be aware that on RELENG_4 doing 'make -V VAR'
without a Makefile, will print an error message. I handled it this way:
portsdir=`make -V PORTSDIR 2>/dev/null`
pkg_dbdir=`make -V PKG_DBDIR 2>/dev/null`
...
: ${portsdir:=/usr/ports}
: ${pkg_dbdir:=/var/db/pkg}
hth,
Doug
PS, thanks Sam!
--
This .signature sanitized for your protection
More information about the freebsd-ports
mailing list