2011年12月4日日曜日

AOSPのミラーをgitwebで見る

kernel.orgがクラックされて使えなくなったAOSPのリポジトリが10月に復活しましたが、gitwebは同時公開となりませんでした。なので、自分で用意してみました。自分専用に用意するのが「イラネ」「マンドクセ」って人は、http://www.r3pek.org/node/105 のgitwebを使わせてもらいましょう。

AOSPのミラーは、ここ↓の猿真似で完成。
「AOSPをローカルミラーしてみた」の資料を公開したよん。  http://d.hatena.ne.jp/kinneko/20111025/p29
因みに、プロジェクトリストファイルを用意せずにgitwebを使うと、ディレクトリownerのGECOSフィールドがownerとして表示されるらしいので、ミラー用にaospユーザーを作りました。
me@falcon:~$ useradd -d /home/aosp -s /bin/bash aosp
me@falcon:~$ usermod -c "Android Open Source Project" aosp
me@falcon:~$ sudo mkdir /home/aosp
me@falcon:~$ sudo chown aosp:ao /home/aosp
me@falcon:~$ sudo -i -u aosp
aosp@falcon:~$ mkdir bin
aosp@falcon:~$ echo 'PATH=$HOME/bin:$PATH'>.profile
aosp@falcon:~$ . .profile
aosp@falcon:~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
aosp@falcon:~$ chmod +x ~/bin/repo
aosp@falcon:~$ mkdir AOSP
aosp@falcon:~$ cd AOSP
aosp@falcon:~$ repo init --mirror -u https://android.googlesource.com/mirror/manifest
aosp@falcon:~$ repo sync 
放って置いても日々更新されるように、スクリプトを用意してcrontabに追加。
aosp@falcon:~$ cat bin/mirrorAOSP.sh
#!/bin/sh
PATH=$HOME/bin:$PATH
cd $HOME/AOSP
repo sync
exit 0
aosp@falcon:~$ crontab -l
11 3 * * * /home/aosp/bin/mirrorAOSP.sh
ここから本題。
gitwebが無かったのでインストール。
me@falcon:~$ sudo apt-get install gitweb
/etc/gitweb.conf の中の $projectroot を書き換える。
# path to git projects (<project>.git)
$projectroot = "/home/aosp/AOSP";
 gitwebインストールと同時に/etc/apache2/conf.d/gitwebが用意されるので、http://example.com/gitweb/ を開けばAOSPのミラーが見えます。
下の例では、indextext.htmlでDROID logoとタイトル文字を追加してます。
さらに、descriptionをそれっぽく書き換えたかったので、
aosp@falcon:~$ for f in `locate .git/description|grep aosp/AOSP|fgrep -v '/.git'`; do dn=`dirname $f`; echo "Mirror of ${dn##*/}">$f; done
で一括書き換え。locateのdbはすぐには反映されないので、repo syncが終わって一晩待ってからやったほうがいいかも。
AOSPのgitweb(sort by date desc)
以上。

2011.Dec.10追記
http://www.r3pek.org/ が動いてないっぽい。困った人は http://android.git.linaro.org/gitweb 使うか、自分で鯖立てましょう。

0 件のコメント:

コメントを投稿