My place of employment has everything locked down except for port 80 so I have to use an http proxy. I can use curl from the command line with the proxy option so I know it should work for Macports, but a web search and the reading of the Macport Wiki, FAQ and other docs has not shown that Macports can take advantage of the proxy option for libCURL or the curl command. I have used the libCURL library using the libCURL proxy facility to fetch http data with C++, so I know the proxy can work through both the library and the command. I suppose I could look around in the source and hack it to use a proxy option is an arbitrarily named (by me) proxy file exists and using the proxy for the curl command invocation. But then it would break on Macports updates. Is there an 'official' way to do this? One that should hold up through Macport updates? Daniel LOrd
On Mar 24, 2008, at 9:07 AM, Daniel Lord wrote:
My place of employment has everything locked down except for port 80 so I have to use an http proxy. I can use curl from the command line with the proxy option so I know it should work for Macports, but a web search and the reading of the Macport Wiki, FAQ and other docs has not shown that Macports can take advantage of the proxy option for libCURL or the curl command. I have used the libCURL library using the libCURL proxy facility to fetch http data with C++, so I know the proxy can work through both the library and the command.
I suppose I could look around in the source and hack it to use a proxy option is an arbitrarily named (by me) proxy file exists and using the proxy for the curl command invocation. But then it would break on Macports updates.
Is there an 'official' way to do this? One that should hold up through Macport updates?
If you set the standard curl proxy environment variables (http_proxy, FTP_PROXY, etc; see 'man curl'), this should get fetching of sources to work through the proxy. However, for selfupdate, which uses rsync, there isn't a way to use the proxy. I think in this case you have to use a subversion-based repository instead. For this you need to checkout MacPorts[1], then updated your ${prefix}/etc/macports/sources.conf to point to the location of the dports directory instead of the rsync:// line. Bryan [1] - http://trac.macports.org/projects/macports/wiki/GetMacPortsSource
Daniel LOrd
Bryan Blackburn wrote:
If you set the standard curl proxy environment variables (http_proxy, FTP_PROXY, etc; see 'man curl'), this should get fetching of sources to work through the proxy.
According to ticket #13158 [1], you have to specify your proxy on the command line if using sudo, as it normally unsets environment variables: $ sudo env http_proxy='foobar' port fetch $portname This is still missing from the HOWTO section in the wiki [2], but requested. Any volunteers? :-)
However, for selfupdate, which uses rsync, there isn't a way to use the proxy. I think in this case you have to use a subversion-based repository instead. For this you need to checkout MacPorts[1], then updated your ${prefix}/etc/macports/sources.conf to point to the location of the dports directory instead of the rsync:// line.
Unfortunately if rsync is unavailable, there is no other way of updating base than downloading sources and compiling manually. But the ports tree can be synced with svn over HTTP/HTTPS. Rainer [1] http://trac.macosforge.org/projects/macports/ticket/13158 [2] http://trac.macosforge.org/projects/macports/wiki/howto/
Is it possible to have an officially supported rsync service that listens on port 80 for people like us who cannot get standard rsync ports opened up on the firewall? Is there a technical reason why I can't be done or is it a resource issue? -- Noah On Mar 24, 2008, at 2:48 PM, Rainer Müller wrote:
Bryan Blackburn wrote:
If you set the standard curl proxy environment variables (http_proxy, FTP_PROXY, etc; see 'man curl'), this should get fetching of sources to work through the proxy.
According to ticket #13158 [1], you have to specify your proxy on the command line if using sudo, as it normally unsets environment variables:
$ sudo env http_proxy='foobar' port fetch $portname
This is still missing from the HOWTO section in the wiki [2], but requested. Any volunteers? :-)
However, for selfupdate, which uses rsync, there isn't a way to use the proxy. I think in this case you have to use a subversion-based repository instead. For this you need to checkout MacPorts[1], then updated your ${prefix}/etc/macports/sources.conf to point to the location of the dports directory instead of the rsync:// line.
Unfortunately if rsync is unavailable, there is no other way of updating base than downloading sources and compiling manually. But the ports tree can be synced with svn over HTTP/HTTPS.
Rainer
[1] http://trac.macosforge.org/projects/macports/ticket/13158 [2] http://trac.macosforge.org/projects/macports/wiki/howto/ _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-users
The svn method of syncing uses port 80. -Bill On Mar 25, 2008, at 1:16 PM, Noah Leaman wrote:
Is it possible to have an officially supported rsync service that listens on port 80 for people like us who cannot get standard rsync ports opened up on the firewall? Is there a technical reason why I can't be done or is it a resource issue?
-- Noah
On Mar 24, 2008, at 2:48 PM, Rainer Müller wrote:
Bryan Blackburn wrote:
If you set the standard curl proxy environment variables (http_proxy, FTP_PROXY, etc; see 'man curl'), this should get fetching of sources to work through the proxy.
According to ticket #13158 [1], you have to specify your proxy on the command line if using sudo, as it normally unsets environment variables:
$ sudo env http_proxy='foobar' port fetch $portname
This is still missing from the HOWTO section in the wiki [2], but requested. Any volunteers? :-)
However, for selfupdate, which uses rsync, there isn't a way to use the proxy. I think in this case you have to use a subversion-based repository instead. For this you need to checkout MacPorts[1], then updated your ${prefix}/etc/macports/sources.conf to point to the location of the dports directory instead of the rsync:// line.
Unfortunately if rsync is unavailable, there is no other way of updating base than downloading sources and compiling manually. But the ports tree can be synced with svn over HTTP/HTTPS.
Rainer
[1] http://trac.macosforge.org/projects/macports/ticket/13158 [2] http://trac.macosforge.org/projects/macports/wiki/howto/ _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-users
_______________________________________________ macports-users mailing list macports-users@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-users
---- William Siegrist Software Support Engineer Mac OS Forge http://macosforge.org/ wsiegrist@apple.com 408 862 7337
participants (5)
-
Bryan Blackburn
-
Daniel Lord
-
Noah Leaman
-
Rainer Müller
-
William Siegrist