けっこう長いことLinuxを使っていますが、SRPMを使ってRPMを再構築したのは初めてだったりします。 Vine Linux用のSamba3.0.10が、なぜだかldapsamをオフにしてビルドされてるみたいなんです(明示的にオフにしないかぎり使えるはずのオプションなのに)。普通にソースからコンパイルしても良いのですが、別のサーバーにも導入したかったこともあり、RPMのリビルドに挑戦してみました。 挑戦してみたといっても、オンラインマニュアルの記述そのままですけれど、忘れないようにメモメモ。 マニュアルは こちら もう一つ、specファイルを書き換えた場合のリビルド方法として、@ITの こちら の記事を参照しました。 mkrpmdir . もしくは mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}} echo "%_topdir $HOME/rpm" > ~/.rpmmacros としてビルド用のディレクトリを作り、 apt-get build-dep samba で関連するライブリラリなどをインストール。 apt-get source samba でSRPMSを取得して、これを展開します。 でもこの展開の仕方が分からない。とりあえず、 apt-get -b source samba として普通にリビルドを初め、すぐに途中終了させます。こうすると、ソースが展開されてます。強引ですけど。そして、SPECSディレクトリ内のspecファイルを開き(たしかsamba3.specだった気がします)、最初の方にある$ldap(大文字だったかも)に1を指定します。ここが0だと、わざわざ--without-ldapsamするようになってるんですね。 そしていよいよリビルドです。 rpm -bb スペックファイル名.spec あとはひたすら待つだけです。RPMSディレクトリ内にRPMが出来上がるので、それをインストールすれば出来上がり。よしよし。 ちなみに、FedoraCore3用しかないSamba3.0.10をFedoraCore1でも使いたい、といった場合も、同じ手順でFedoraCore1上でリビルドすればOKでした。ただ、mkrpmdirコマンドがないので手