会社のMacBookにSnow Leopardが入ったので、自宅マシンと同様に環境設定していく。
まずはMacPortsを入れようと思ったが、いきなり最初のrsyncができなくてはまる。
"macports proxy"で検索すると、プロキシ経由でMacPortsを使用するには — LyX HowToと言うページを発見したのでその通りにやってみる。
cvsのproxy越えについて調べたところ、cvs のバージョン1.12.7以降であればproxyが使えるようだ。(see info cvs)
そこで、/opt/local/var/macports/sources/dports/aqua/emacs-app-devel/Portfileの cvs.root の行を以下のように変更。
これで行けるかと思ったら、やっぱりエラーになる。ログをみると
ここで挫折して、自宅マシンで port mdmg emacs-app-develで作成したdmgファイルからインストールして逃げた。
ここまでで、svnのproxy越えとcvsのproxy越え(成功してないけど)を取り上げたので、ついでにgitのproxy越えも取り上げておく。
proxy内のmac(に限らないけど)からgithubのgit@github.com:のURLにアクセスするには、sshがproxyを越えれば良い。
既にmacのsshの鍵はgithubに登録されているとして、~/.ssh/configに以下を追加する。
これを動かすためには $HOME/bin/connectが必要なので、この辺から持ってきて、
これで、git clone git@github.com:・・・リポジトリ.git とかやれば成功するはず。
追記(2011/6/6)
git@github.com: みたいにsshを使う場合は上記で良いんだけど、git:とかhttps:を使う場合はsshの設定ではなくgitの設定を使う。ちょっと調べた感じだとcokescrewを使うケースが多いみたいだけど、うちのHTTP ProxyはCONNECTメソッドを許可していないし、socks proxyがある場合はちょうどssh用に入れた connect が使えるので、以下のようにする。
まずはMacPortsを入れようと思ったが、いきなり最初のrsyncができなくてはまる。
"macports proxy"で検索すると、プロキシ経由でMacPortsを使用するには — LyX HowToと言うページを発見したのでその通りにやってみる。
- /opt/local/etc/macports/sources.conf に以下の行を加え、rsync:// で始まる行をコメントアウトする。
file:///opt/local/var/macports/sources/dports/ [default]
- svnがproxyを超えるようにする(参考サイトでは、環境変数http_proxyを設定していたが、私の環境のsvnはhttp_proxyをみてくれないようだ)ために、~/.subversion/serversのglobalセクションを以下のようにする。
[global] http-proxy-exceptions = proxyを使わないホスト名 *.example.comとか http-proxy-host = proxyホスト名 http-proxy-port = proxyポート番号
- dportsの取得
$ cd /opt/local/var/macports/sources $ sudo svn co http://svn.macports.org/repository/macports/trunk/dports
- ソースツリーの更新
$ sudo port -d sync
- port自身の更新
$ sudo port -f install macports
cvsのproxy越えについて調べたところ、cvs のバージョン1.12.7以降であればproxyが使えるようだ。(see info cvs)
そこで、/opt/local/var/macports/sources/dports/aqua/emacs-app-devel/Portfileの cvs.root の行を以下のように変更。
cvs.root "\":pserver;proxy=proxyホスト名;proxyport=proxyポート番号:anonymous@cvs.savannah.gnu.org:/sources/emacs\""portfileはtclで書かれているので、tclに途中の;を解釈されないように外側の""が必要で、その後cvsの呼び出し時にシェルに;が解釈されないように内側の\"\"が必要だ。
これで行けるかと思ったら、やっぱりエラーになる。ログをみると
:info:fetch cvs [export aborted]: proxy server proxyホスト名:proxyポート番号 does not support http tunnellingと出ているので、うまくproxyが超えられていないらしい。
ここで挫折して、自宅マシンで port mdmg emacs-app-develで作成したdmgファイルからインストールして逃げた。
ここまでで、svnのproxy越えとcvsのproxy越え(成功してないけど)を取り上げたので、ついでにgitのproxy越えも取り上げておく。
proxy内のmac(に限らないけど)からgithubのgit@github.com:のURLにアクセスするには、sshがproxyを越えれば良い。
既にmacのsshの鍵はgithubに登録されているとして、~/.ssh/configに以下を追加する。
Host github.com ProxyCommand $HOME/bin/connect -S proxyホスト %h %pあ、ここで指定するproxyホストは http proxy じゃなくて socks proxyである必要がある。
これを動かすためには $HOME/bin/connectが必要なので、この辺から持ってきて、
$ mkdir ~/bin $ gcc -o ~/bin/connect connect.c -lresolvとかやって使えるようにしておく。(macportsにはproxytunnelと言うのが入っているので、こちらも使えるかもしれない)
これで、git clone git@github.com:・・・リポジトリ.git とかやれば成功するはず。
追記(2011/6/6)
git@github.com: みたいにsshを使う場合は上記で良いんだけど、git:とかhttps:を使う場合はsshの設定ではなくgitの設定を使う。ちょっと調べた感じだとcokescrewを使うケースが多いみたいだけど、うちのHTTP ProxyはCONNECTメソッドを許可していないし、socks proxyがある場合はちょうどssh用に入れた connect が使えるので、以下のようにする。
- 以下の内容でgit-proxyコマンドを作る
#!/bin/sh $HOME/bin/connect -S proxyホスト $1 $2
- git config でgithub.comに対するproxyコマンドを設定する
$ git config --global core.gitproxy '"git-proxy" for github.com'
カテゴリ
Macトラックバック(0)
このブログ記事を参照しているブログ一覧: proxyの内側からmacports
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/2679
コメントする