2013年11月10日日曜日

AOSPのmirror用manifesttが足りない

KitKatのソースが公開されたので、毎日syncしているAOSPのmirrorからsyncしてみたが、何か足りないっぽい。
fatal: '/home/aosp/AOSP/platform/external/lzma' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
...
error: Exited sync due to fetch errors
この問題は、Android Buildingのgroupでも指摘されていた。

  aosp mirror/manifest missing some git projects form android-4.4_r1 

ワークツリーに展開する際に参照する  https://android.googlesource.com/platform/manifest.git に含まれているprojectの幾つかが、ミラーリングに使用する  https://android.googlesource.com/mirror/manifest.git に含まれていないのが原因らしい。
KitKat公開直後は多くのprojectが不足していたようだが、指摘を受けて大半は改善されたようだ。しかし11月10日の時点でも、まだlzmaとsil-fontsがmirrorに含まれていない。

 Mirror/manifest project

この件について、Repo and Gerrit Discussionで質問があり、スレ違いの指摘と共に解決策が提示されていた。
  aosp mirror/manifest missing some git projects form android-4.4_r1

ミラー用の .repo ディレクトリの中に、このようなlocal manifestを追加したら、デフォルトのmanifestに抜けているプロジェクトもミラーされるようになった。
$ cat .repo/local_manifests/missing.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="platform/external/lzma" />
  <project name="platform/external/sil-fonts" />
</manifest>
 めでたし、めでたし。