gitをdebian化玄箱HGにインストールしようとしてはまる2011年02月05日 11時03分31秒

単純にandroidのソースをダウンロードして置いておくためだけに玄箱HGにrepoとgitをインストールすることを思いついたのが運の尽き。

結構はまってしまいました。

何にはまったのかを整理すると結局はMTAであるexim4でした。 「git-buildpackage」をインストールするとMTAを必要とするらしくexim4をインストールしようとしますが、

Adding system-user for exim (v4)

と表示されたまま固まってしまうわけです。

結論から先に言えばexim4にこだわらなければMTAとして先にpostfixをインストールしておけばよかったんじゃないかと思われます。

以前にも玄箱でのdebian環境ではeximのインストールではまったことがあり、削除できなくなって困ったことがありました。 今回も試行錯誤してexim4の中途半端なインストール状態から順番にエラーになっているパッケージを指定して削除しました。で、削除の過程で偶然にもpostfixのインストールをお勧めされてインストールしたところexim4の削除もすんなり出来てしまいました。

なので、少なくとも私の玄箱HG(debian)上でのgitのインストールは以下の順番でのインストールをしようと思います。ちなみに今回はaptitudeを使いましたがapt-getでも同じだと思います。

  1. #aptitude install postfix
  2. #aptitude install git-core
  3. #aptitude install pristine-tar
  4. #aptitude install git-buildpackage

肝心のandroidのソースはまだダウンロードしていませんが、repoとgitの関係はこちらに詳しくまとめてあると思います。

ちなみに、git-buildpackageを最初にインストールしようとした時の依存パッケージは以下を参考にしてください。

KURO-BOX:~# aptitude install git-buildpackage
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information        
Initializing package states... Done
Reading task descriptions... Done  
The following NEW packages will be installed:
  at{a} bsd-mailx{a} build-essential{a} conkeror{a} conkeror-spawn-process-helper{a} 
  dctrl-tools{a} debhelper{a} debian-keyring{a} debian-maintainers{a} devscripts{a} 
  dictionaries-common{a} diffstat{a} dpkg-dev{a} dput{a} equivs{a} exim4{a} exim4-base{a} 
  exim4-config{a} exim4-daemon-light{a} fakeroot{a} fontconfig{a} g++{a} g++-4.3{a} gettext{a} 
  gettext-base{a} git-buildpackage hicolor-icon-theme{a} html2text{a} intltool-debian{a} 
  libatk1.0-0{a} libatk1.0-data{a} libauthen-sasl-perl{a} libcairo2{a} libclass-accessor-perl{a} 
  libcompress-raw-zlib-perl{a} libcompress-zlib-perl{a} libconvert-binhex-perl{a} 
  libcrypt-ssleay-perl{a} libdatrie0{a} libdevel-symdump-perl{a} libdigest-hmac-perl{a} 
  libdirectfb-1.0-0{a} libfcgi-perl{a} libfile-remove-perl{a} libfont-afm-perl{a} libglib2.0-0{a} 
  libglib2.0-data{a} libgtk2.0-0{a} libgtk2.0-bin{a} libgtk2.0-common{a} libhtml-format-perl{a} 
  libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-template-perl{a} libhtml-tree-perl{a} 
  libhunspell-1.2-0{a} libio-compress-base-perl{a} libio-compress-zlib-perl{a} 
  libio-socket-ssl-perl{a} libio-string-perl{a} libio-stringy-perl{a} liblcms1{a} 
  libmail-box-perl{a} libmail-sendmail-perl{a} libmailtools-perl{a} libmime-tools-perl{a} 
  libmime-types-perl{a} libmozjs1d{a} libnet-libidn-perl{a} libnet-ssleay-perl{a} libnspr4-0d{a} 
  libnss3-1d{a} libobject-realize-later-perl{a} libossp-uuid-perl{a} libossp-uuid15{a} 
  libpango1.0-0{a} libpango1.0-common{a} libparse-debcontrol-perl{a} 
  libparse-debianchangelog-perl{a} libpixman-1-0{a} libpod-coverage-perl{a} libsoap-lite-perl{a} 
  libstartup-notification0{a} libstdc++6-4.3-dev{a} libsys-hostname-long-perl{a} libsysfs2{a} 
  libterm-size-perl{a} libtest-pod-perl{a} libthai-data{a} libthai0{a} libtie-ixhash-perl{a} 
  libtimedate-perl{a} libts-0.0-0{a} liburi-perl{a} libuser-identity-perl{a} libwww-perl{a} 
  libxcb-render-util0{a} libxcb-render0{a} libxcomposite1{a} libxcursor1{a} libxft2{a} libxi6{a} 
  libxinerama1{a} libxml-namespacesupport-perl{a} libxml-parser-perl{a} libxml-sax-expat-perl{a} 
  libxml-sax-perl{a} libxml-simple-perl{a} libxrandr2{a} libxrender1{a} libyaml-syck-perl{a} 
  lintian{a} lsb-release{a} mailx{a} myspell-en-us{a} patchutils{a} po-debconf{a} 
  python-dateutil{a} python-support{a} strace{a} unzip{a} wdiff{a} x-ttcidfont-conf{a} 
  xulrunner-1.9{a}