PostgreSQL 8.1 for Sarge
/etc/apt/preferences を書いてインストールしようとしたら、glibc のバージョンが合わなかったので結局リビルドすることにした。
キーワード: postgresql-8.1
ディストリビューション: すべて
で検索。
検索結果を見ると、現時点では unstable しかないようだ。
該当ページの画面下部のパッケージをダウンロード。
- postgresql-8.1_8.1.0-2.dsc
- postgresql-8.1_8.1.0.orig.tar.gz
- postgresql-8.1_8.1.0-2.diff.gz
パッケージに自分で修正を加えたい - AptGet - Debian GNU/Linux スレッドテンプレ を見ながら作業。
$ dpkg-source -x postgresql-8.1_8.1.0-2.dsc $ dch -n
ChangeLog も書いておく。あ、バージョン番号いじるの忘れてた。ま、いっか。
debuild したら 以下が足りねーと怒られたので入れよう。
$ aptitude -s install cdbs libperl-dev tk8.4-dev libssl-dev libpam0g-dev libpam-dev libxml2-dev libkrb5-dev libxslt1-dev python-dev
コレラがさらに依存するパッケージ:
comerr-dev defoma fontconfig libfontconfig1 libfreetype6 libft-perl libgcrypt11-dev libgpg-error-dev libice-dev libkadm55 libsm-dev libttf2 libx11-dev libxaw7 libxext-dev libxft2 libxi-dev libxi6 libxrender1 libxslt1.1 libxt-dev libxv-dev libxv1 python2.3-dev tcl8.4 tcl8.4-dev tk8.4 ttf-bitstream-vera x-dev xlibs-static-dev xterm
合わせて、
cdbs comerr-dev defoma fontconfig libfontconfig1 libfreetype6 libft-perl libgcrypt11-dev libgpg-error-dev libice-dev libkadm55 libkrb5-dev libpam0g-dev libperl-dev libsm-dev libssl-dev libttf2 libx11-dev libxaw7 libxext-dev libxft2 libxi-dev libxi6 libxml2-dev libxrender1 libxslt1-dev libxslt1.1 libxt-dev libxv-dev libxv1 python-dev python2.3-dev tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev ttf-bitstream-vera x-dev xlibs-static-dev xterm
これだけ必要だってさ。(※必ずメモって置くこと)
$ aptitude install cdbs libperl-dev tk8.4-dev libssl-dev libpam0g-dev libpam-dev libxml2-dev libkrb5-dev libxslt1-dev python-dev $ debuild -us -uc
パッケージがいっぱい出来ました:
libecpg-compat2_8.1.0-2_i386.deb libecpg-dev_8.1.0-2_i386.deb libecpg5_8.1.0-2_i386.deb libpgtypes2_8.1.0-2_i386.deb libpq-dev_8.1.0-2_i386.deb libpq4_8.1.0-2_i386.deb postgresql-8.1_8.1.0-2_i386.deb postgresql-client-8.1_8.1.0-2_i386.deb postgresql-contrib-8.1_8.1.0-2_i386.deb postgresql-doc-8.1_8.1.0-2_all.deb postgresql-plperl-8.1_8.1.0-2_i386.deb postgresql-plpython-8.1_8.1.0-2_i386.deb postgresql-pltcl-8.1_8.1.0-2_i386.deb postgresql-server-dev-8.1_8.1.0-2_i386.deb
散らかしたら直ぐお掃除しないと絶対忘れる。
$ aptitude remove cdbs comerr-dev defoma fontconfig libfontconfig1 libfreetype6 libft-perl libgcrypt11-dev libgpg-error-dev libice-dev libkadm55 libkrb5-dev libpam0g-dev libperl-dev libsm-dev libssl-dev libttf2 libx11-dev libxaw7 libxext-dev libxft2 libxi-dev libxi6 libxml2-dev libxrender1 libxslt1-dev libxslt1.1 libxt-dev libxv-dev libxv1 python-dev python2.3-dev tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev ttf-bitstream-vera x-dev xlibs-static-dev xterm
で done。
元々の PostgreSQL をアンインストールしなくちゃ:
$ COLUMNS=100 dpkg -l | grep -i postgres ii libpgsql-ruby 0.7.1-3 PostgreSQL extension library for ruby (dummy package) ii libpgsql-ruby1.8 0.7.1-3 PostgreSQL extension library for ruby1.8 ii libpq3 7.4.7-6sarge1 PostgreSQL C client library ii postgresql 7.4.7-6sarge1 object-relational SQL database management system ii postgresql-client 7.4.7-6sarge1 front-end programs for PostgreSQL
あー、あとで libpgsql-ruby も リコンパイルしなくちゃな。
$ sudo aptitude remove libpgsql-ruby libpgsql-ruby1.8 libpq3 postgresql postgresql-client
削除おk。
$ sudo dpkg -i postgresql-8.1_8.1.0-2_i386.deb postgresql-client-8.1_8.1.0-2_i386.deb libpq4_8.1.0-2_i386.deb ...(省略)... dpkg: dependency problems prevent configuration of postgresql-8.1: postgresql-8.1 depends on postgresql-common (>= 24); however: Package postgresql-common is not installed. ...(省略)...
え? 何コレ。postgresql-common なんてものが要るのか。パッケージ検索結果 してみる。ん、*.orig.tar.gz ファイルがないな。ダミーパッケージってやつかな?
ダウンロードしてゴソゴソ編集。
$ dpkg-source -x postgresql-common_30.dsc $ dch -n $ debuild -us -uc
また lintian に怒られた。あー、dch -i すればバージョン番号上げて ChangeLog も書けるんだ。ま、いいか。
$ sudo dpkg -i postgresql-common_30_all.deb $ sudo dpkg -i postgresql-8.1_8.1.0-2_i386.deb postgresql-client-8.1_8.1.0-2_i386.deb libpq4_8.1.0-2_i386.deb libpq-dev_8.1.0-2_i386.deb
こんだけ入れとけばいいかな?
$ COLUMNS=100 dpkg -l | grep -i postgres ii libpq-dev 8.1.0-2 header files for libpq4 (PostgreSQL library) ii libpq4 8.1.0-2 PostgreSQL C client library ii postgresql-8.1 8.1.0-2 object-relational SQL database, version 8.1 server ii postgresql-client-8 8.1.0-2 front-end programs for PostgreSQL 8.1 ii postgresql-common 30 manager for PostgreSQL database clusters
終わったー。
(実はこっそり cdbs と libssl-dev も途中で入れました。)