2011/09/30

android.git.kernel.org以外からAndroidソースコードをダウンロードする方法



2011/09/30現在、Kernel.orgから発表されたサーバへの不正侵入があって以来、
android.git.kernel.orgが休業状態となりソースがダウンロードできない。

Linuxのソースコード管理サイトに不正侵入



ということで、codeauroraの非公式ミラーサイトからソースをダウンロード
しようと思います。
コツとしてはandroid.git.kernel.orgにアクセスしないようにすることです。
正式な方法は検索すれば見つかると思うので割愛。
ミラーの正当性は保証しません。
(追記)2011年12月、android gitサーバが復活したことに伴い正式なダウンロード方法を記載
⇒正式なgitからのダウンロードはこちら


【環境】
Windows7 + Cygwin

Cygwinに必要なパッケージ(curlとか)は忘れました。すみません。
とりあえず 実行→パッケージが必要なら追加インストール としてください。


【手順】

1. Cygwin起動
→Cygwin.batを実行

2. ホーム直下にbinディレクトリを作成
$ mkdir ~/bin

3. repoコマンドのインストール
$ curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo

4. repoコマンドのパーミッション変更
$ chmod a+x ~/bin/repo

5. repoコマンドの初期化
$ mkdir ~/android_src/
$ cd ~/android_src/
$ ~/bin/repo init -u git://codeaurora.org/platform/manifest.git
※1. nameとmailアドレスを尋ねられますが適当でOK
※2. 初期化に失敗した場合は手順aに
※3. SSL関係のエラーがでた場合は手順bに

6. .repo/manifests/default.xmlの編集
→~/android_src/.repo/manifests/default.xmlを修正
先頭付近の
fetch="git://android.git.kernel.org/"

fetch="git://codeaurora.org/"
に変更

7. ソースコードをダウンロード
$ ~/bin/repo sync
※ダウンロードには長時間かかります。

以上です。

---
以下はエラー発生時の対処法

(a) windowsコマンドプロンプトより
$ cd (cygwinインストールディレクトリ)/bin
$ ash.exe
$ /usr/bin/rebaseall

(b) 下記のようなエラーがでて失敗することがある
error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL
その場合は下記を実行
$ cd /usr/ssl/certs
$ curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
$ c_rehash