○ openssh-5.8p2 (rpm) の作成

・オリジナルソースからrpmパッケージを作成します
・sftpでコマンドライン編集を可能にします

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:openssh-5.8p2.tar.gz (http://www.openssh.com/portable.html)
:libedit-3.0-2.20090923cvs.fc14.src.rpm (ftp.riken.jp/Linux/fedora/)
:x11-ssh-askpass-1.2.4.1.tar.gz (http://www.jmknoble.net/software/)

(ftp.riken.jp/Linux/momonga/6/Everything/SOURCES/)

○インストール環境

:OS CentOS 5.6
:selinux disabled or permissive
:インストール先 
:作業 /usr/src
:言語 LANG=ja_JP.UTF-8
:ユーザー rootで実行

・メンテナンスの場合は一般ユーザから行います



○openssh-5.8p2

○rpmbuildに必要な開発パッケージ

・specファイルに記述されているものです
・X86-develはサポートされていなので、読みかえます
紫色部分 パッチで追加
・libX11-devel(Xlib.h)、libXt-devel(Intrinsic.h)が必要
・specファイルで要求されないもので、gtk2-devel が必要

BuildPreReq: perl, openssl-devel, tcp_wrappers
BuildPreReq: /bin/login
BuildPreReq: glibc-devel, pam
BuildPreReq: /usr/include/security/pam_appl.h
BuildPreReq: /usr/include/X11/Xlib.h
BuildPreReq: pkgconfig
BuildPreReq: krb5-devel
BuildPreReq: krb5-libs
BuildPreReq: libedit, libedit-devel

○libeditのビルド・インストール

・fedoraのパッケージをCentOS用にアレンジします
・md5チェックができないので、--nomd5オプションでインストールします

# cd /usr/src
[root@mars:/usr/src]
# mkdir libedit
# rpm -ivh --nomd5 libedit-3.0-2.20090923cvs.fc14.src.rpm
# cd redhat/SPECS
[root@mars:/usr/src/redhat/SPECS]

# rpmbuild -ba --clean --rmsource --define 'dist .C56' libedit.spec
# mv libedit.spec /usr/src/libedit
# cd ../RPMS/i386
[root@mars:/usr/src/redhat/RPMS/i386]

・作成されたパッケージ
 libedit-3.0-2.20090923cvs.C56.i386.rpm
 libedit-devel-3.0-2.20090923cvs.C56.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/libedit
# cd ../../SRPMS
[root@mars:/usr/src/redhat/SRPMS]

・作成されたパッケージ
 libedit-3.0-2.20090923cvs.C56.src.rpm

# mv *.rpm /usr/src/libedit

・インストール

# cd /usr/src/libedit
[root@mars:/usr/src/libedit]
# rpm -Uvh libedit-devel* libedit-3.0-2.20090923cvs.C56.i386.rpm

○opensshのビルド・インストール

・x11-ssh-askpass-1.2.4.1.tar.gzをダウンロードしておきます

# cd /usr/src
[root@mars:/usr/src]
# mkdir openssh
# tar zxf openssh-5.8p2.tar.gz
# cd openssh-5.8p2
[root@earth:/usr/src/openssh-5.8p2]
# cp contrib/redhat/openssh.spec ../redhat/SPECS

・version.hの修正 SSH_PORTABLE 番号 (p1 → p2)

# vi version.h

・再圧縮してSOURCESディレクトリにコピーします

# cd /usr/src
[root@mars:/usr/src]
# rm openssh-5.8p2.tar.gz
# tar zcf openssh-5.8p2.tar.gz openssh-5.8p2/
# cp openssh-5.8p2.tar.gz redhat/SOURCES
# cp x11-ssh-askpass-1.2.4.1.tar.gz redhat/SOURCES
# rm -rf openssh-5.8p2

・パッチを当てます (下記参照)
・パッチは/usr/srcディレクトリにおきます

# patch -p0 < openssh-libedit.spec.patch
# cd redhat/SPECS
[root@mars:/usr/src/redhat/SPECS]
# rpmbuild -ba --clean --rmsource --define 'dist .C56' openssh.spec
# cd ../RPMS/i386
[root@mars:/usr/src/redhat/RPMS/i386]

・作成されたパッケージ
 openssh-5.8p2-1.C56.i386.rpm
 openssh-askpass-5.8p2-1.C56.i386.rpm
 openssh-askpass-gnome-5.8p2-1.C56.i386.rpm
 openssh-clients-5.8p2-1.C56.i386.rpm
 openssh-server-5.8p2.C56.i386.rpm

# rm *debuginfo*
# mv *.rpm /usr/src/openssh
# cd ../../SRPMS
[root@mars:/usr/src/redhat/SRPMS]

・作成されたパッケージ
 openssh-5.8p2-1.C56.src.rpm

# mv *.rpm /usr/src/openssh

・インストール

# cd /usr/src/openssh
[root@mars:/usr/src/openssh]
# rpm -Uvh openssh-clients* openssh-server* \
openssh-5.8p2-1.C56.i386.rpm openssh-askpass-5.8p2-1.C56.i386.rpm

openssh-libedit.spec.patch

・CentOS 5.6の開発パッケージに合わせます

○ Copyright(c) 528p.com All Rights Reserved.