4 Feb 16:05
Re: CVS and proxies: testers wanted
TANAKA Atushi <atanaka <at> hotcake.halfmoon.jp>
2010-02-04 15:05:39 GMT
2010-02-04 15:05:39 GMT
Hi I'm sending a reply to a mail about using cvs for fink behind a firewall using a http proxy. I found this mail in the web archive. http://sourceforge.net/mailarchive/forum.php?thread_name=49B5DDF0.4030109%40gmail.com&forum_name=fink-users From: Alexander Hansen <alexanderk.hansen <at> gm...> - 2009-03-10 03:27 > As best as I can tell, our cvs-proxy package doesn't work on Leopard > (possibly not even on Tiger); and I've discontinued providing cvs there > in any case, since Xcode provides the latest version. I'm trying to > find a more reliable solution for people with http proxies. I don't > have one, myself, and I don't really have enough time to try setting one up. > > According to the info page for cvs on Leopard, people should be able to > try the following syntax there: > > cvs d-:pserver;proxy=www.myproxy.net;proxyport=8000:\ > anonymous <at> fi...:/cvsroot/fink login > > cvs d-:pserver;proxy=www.myproxy.net;proxyport=8000:\ > anonymous <at> fi...:/cvsroot/fink co fink > > where you need to replace 'www.myproxy.net' by your proxy address, and '8000' by your actual proxy port. I confirmed that the way above actually works in our macs with Snow Leopard and Leopard, if we put several quotations("), e.g., cvs -d":pserver;proxy=proxy.example.com;proxyport=8080:anonymous@(soory I forgot the strings here)/cvsroot/fink" login To realize it, I hardcoded this at perlmod/Fink/SelfUpdate/CVS.pm in fink-0.29.10: --- CVS.pm.orig 2010-02-03 11:57:14.000000000 +0900 +++ CVS.pm 2010-02-03 12:40:37.000000000 +0900 @@ -202,7 +202,7 @@ $cmd = "cvs ${verbosity} -z3 -d$cvsrepository"; } else { - $cmd = "cvs -d:pserver:anonymous\@$cvsrepository login"; + $cmd = "cvs -d\":pserver;proxy=proxy.example.com;proxyport=8080:anonymous\@$cvsrepository\" login"; if ($username ne "root") { $cmd = "/usr/bin/su $username -c '$cmd'"; } @@ -210,7 +210,7 @@ die "Logging into the CVS server for anonymous read-only access failed.\n"; } else { - $cmd = "cvs ${verbosity} -z3 -d:pserver:anonymous\@$cvsrepository"; + $cmd = "cvs ${verbosity} -z3 -d\":pserver;proxy=proxy.example.com;proxyport=8080:anonymous\@$cvsrepository\""; } } } else { I know hardcoding the proxy configulation is stupid, but it works for me. By the way, the specification of proxy in cvs command line has a side effect that the postinst of fink-mirror fails. This must be resolved by the following patch: --- /sw/lib/fink/mirror/postinstall.pl.orig 2010-02-03 13:06:10.000000000 +0900 +++ /sw/lib/fink/mirror/postinstall.pl 2010-02-03 13:19:19.000000000 +0900 @@ -53,14 +53,14 @@ open(IN,'<',"$sentinel_cvs/Root") or die "can't open $sentinel_cvs/Root: $!"; while (defined($_=<IN>)) { chomp; - if (/^(:\w+:\w+)@(.+)$/) { + if (/^(:\S+:\S+)@(.+)$/) { $method_user = $1; $repo = $2; } } close(IN); die "couldn't parse $sentinel_cvs/Root\n" unless ((defined $method_user) and (defined $repo)); - if (defined $method_user and $method_user eq ":pserver:anonymous") { + if (defined $method_user and $method_user =~ /^:pserver(.*):anonymous$/) { $repo_file = "/sw/lib/fink/URL/anonymous-cvs"; } else { $repo_file = "/sw/lib/fink/URL/developer-cvs"; Sincerely, Atushi Tanaka ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com
RSS Feed