OpenSSH もソースファイルからRPM ファイルを作る

(2005/01/25 22:31 追記)
OpenSSH のRPM を作って入れ替え」 に追加記事を書きましたのでご参照ください。

OpenSSL の入れ替えが終わったので、次はOpenSSH。これもRPM で入れられるよう、あれこれしてみます。いったんはCheckInstall でRPM を作ってみたものの、tarball の中をよーく見てみたらredhat 用のSPEC ファイルを発見したのでこいつを使って入れ直すことにしました。


今回使用したソースファイルはオリジナルのOpenSSH にchroot パッチを適用しているもので、更に「sftp-server SJISパッチ」 をあてたかったので一旦解凍してからパッチをあて、再度固めています。
また、"rpmbuild -ta" ではSPEC をルートフォルダからアルファベット順に探して行くみたいで、デフォルトのままだとcaldera 用のSPEC ファイルが誤って先に読み込まれてしまうため、これをリネームしています。redhat 用のSPEC ファイルは特に手を入れなくてもそのままで通るはずです。


# tar xvzf openssh-3.8.1p1-chroot.tar.gz
# mv openssh-3.8.1p1-chroot openssh-3.8.1p1
# gzip -d openssh-3.7.1p2-sjis.patch.gz
# mv openssh-3.7.1p2-sjis.patch openssh-3.8.1p1
# cd openssh-3.8.1p1
# patch < openssh-3.7.1p2-sjis.patch
# cd ..
# mv openssh-3.8.1p1/contrib/caldera/openssh.spec openssh-3.8.1p1/contrib/caldera/openssh.spec.nouse
# emacs openssh-3.8.1p1/contrib/redhat/openssh.spec
# tar cvzf openssh-3.8.1p1.tar.gz openssh-3.8.1p1/
# rpmbuild -ta openssh-3.8.1p1.tar.gz

できあがったRPM ファイルを入れ替えて、最後に"/etc/ssh/sshd_config" の設定をマージして完了。PuTTY でこれまで通り繋がることを確認。また、SJIS パッチを入れたので、WinSCP でEUC 日本語なファイルもちゃんと表示されるようになりました。素晴らしい!!
これで手順が確立できたので、今後クリティカルな脆弱性が発見され、バージョンが上がったとしても自分で入れ替えできそうです。