25 January 2012

repo で proxyを乗り越える

今、会社でAndroid ビルド用のPCを立ち上げようとしております。

Ubuntu でやるのが一番簡単だと思いますが、会社では

  1. proxy の壁がある
  2. 一応 RHELを使え、ということになっている

まずは、 1. のproxy設定からやってみた。

RHELのメニューから「システム -> 設定 -> ネットワークのプロキシ」と選んで設定。

「マニュアルでプロキシの設定を行う」にサーバー名とポート番号を記入。 「全てのプロトコルで同じプロキシを使う」にチェックを入れる。

これで、アプリのインストールがしやすくなった。Firefoxも問題なし。

さっそく、Android Open Source Project を見ながら、repo を取ってこようとするものの、

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

とするも

Couldn't resolve host 'dl-ssl.google.com'

とエラーになる。

コマンドライン用に、別にproxy の設定がいるらしい。

とりあえず、

export http_proxy="your.proxy.server.co.jp:8080"
export https_proxy="your.proxy.server.co.jp:8080"

で環境変数追加したら、curlが動くようになりました。

repoはとりあえず /usr/local/bin/ に置いた。

この状態で、git clone http://git clone https:// は使えるが、 git:// プロトコルが動かない。

検索していたら、corkscrew というのを使えばよいらしい。 http://www.agroman.net/corkscrew/ から tarballを取ってきて、./configure && make && make install

さらに、/usr/local/bin/git-proxy というファイルを作って、以下のように記載。

#!/bin/sh
your.proxy.server.co.jp 8080 $1 $2

さらに、環境変数として以下を設定。

export GIT_PROXY_COMMAND=git-proxy

これで git:// プロトコルも動くようになりました。

無事 repo initrepo sync で Android のソースコードが取れるようになった。



blog comments powered by Disqus