Android

android repo init 문제 - 임시 repo

neodelicious 2011. 9. 24. 21:59
android source 를 좀 보려고 repo init 을 했는데 아래와 같이 안 되었다.

$ repo init -u git://android.git.kernel.org/platform/manifest.git
Getting repo ...
   from git://android.git.kernel.org/tools/repo.git
fatal: Unable to look up android.git.kernel.org (port 9418) (Name or service not known)

DNS 혹은 Port 문제인가 싶어서 이것 저것 다 확인하고 바꿔봤는데,
결론은 Android repo 의 git server 가 hacking 당해서 동작 안 한다는 것... 덜덜;;

http://php.webtutor.pl/en/2011/09/05/kernel-org-hacked-how-to-get-android-repo/
위 URL 에서 관련 사실을 확인했고 방법도 참고했는데, 9/5 날짜이니 나름 최근인가 보다.

위 URL 에서는 아래와 같이 다른 곳에서 repo 를 받으라고 되어 있다.
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
chmod a+x ~/bin/repo
사족인데 혹시나 해서 받은 repo 를 봤더니 역시 repo 의 default git URL 을 수정해 놓은 repo 였다. 위에서 받은 repo 를 사용하면 되는데, 굳이 이전에 받은 repo 를 사용하고자 한다면  --repo-url 옵션을 통해 repo 에 repo git URL 을 argument 로 전달하면 된다.

그리고 android platform 의 git server 도 hacking 당했는지 안 되는데 위 URL 에서 알려주듯이 아래와 같이 변경해서 받을 수 있다.

repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread

알겠지만 repo init 끝에 -b gingerbread 는 gingerbread branch 를 받는 것으로 원하면 생략하거나 다른 branch 값을 쓰면 된다.

참고적으로 android kernel 을 받으려면 repo project 를 통해서 받을 수도 있지만,
android kernel 의 git server 에서 다음과 같이 바로 git clone 할 수 있다.
$ git clone git://android.git.kernel.org/kernel/common.git kernel

그런데 현재 kernel 또한 server 에 문제가 있어 위의 대체 URL 을 이용해서 받을 수 있다.
$ git clone git://codeaurora.org/kernel/common.git kernel