Ports doesnt respect fetch environment settings

Tom Evans tevans.uk at googlemail.com
Mon Jun 21 10:04:18 UTC 2010

My company recently enabled proxy authentication for outgoing
connections, and this has stopped ports from working.

>From fetch(5), I understand that I can place my proxy authentication
in plain text in the environment*, and this will allow fetch to work
correctly, and this does work:

> # env | grep -i proxy
HTTP_PROXY_AUTH=basic:*:tevans at domain.com:password
> # fetch http://googlecl.googlecode.com/files/googlecl-0.9.5.tar.gz
googlecl-0.9.5.tar.gz                         100% of   36 kB   77 MBps

However, the ports makefiles seem to do something funky to my
environment which hides these environment variables, and so the ports
infrastructure stops working:

> # make fetch
===>  Vulnerability check disabled, database not found
===>  License check disabled, port has not defined LICENSE
=> googlecl-0.9.5.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://googlecl.googlecode.com/files/.
fetch: http://googlecl.googlecode.com/files/googlecl-0.9.5.tar.gz:
Proxy Authentication Required
=> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/googlecl-0.9.5.tar.gz:
Not Found
=> Couldn't fetch it - please try to retrieve this
=> port manually into /usr/ports/distfiles/ and try again.
*** Error code 1

Stop in /usr/FreeBSD/CURRENT/ports/net/googlecl.

This is on i386 7-STABLE, last updated in mid May, with current ports,
last updated yesterday.



* Which, incidently, is completely rubbish. Why is there no option for
HTTP like ~/.netrc for FTP? Exposing my passwords in plain text in my
environment feels stupid.

More information about the freebsd-current mailing list