#环境说明:
[root@tower ~]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
[root@tower ~]# uname -r
4.18.0-305.3.1.el8.x86_64
#依赖包安装
yum install rpm-build glibc-devel krb5-devel openssl-devel perl gcc pam-devel -y
#下载并准备相关包: x11-ssh-askpass-1.2.4.1.tar.gz openssh-9.0p1.tar.gz src.fedoraproject.org/repo/pkgs/o…
#编译环境准备
rpmbuild -ba openssh.spec #会因缺失文件报错,但是会产生rpmbuild文件夹以及子目录;
[root@tower ~]# ls rpmbuild/
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
将x11-ssh-askpass-1.2.4.1.tar.gz openssh-9.0p1.tar.gz放在rpmbuild/SOURCES文件夹
#从压缩包中提取openssh.spec文件并放在rpmbuild/SPECS文件夹
tar -zxvf openssh-9.0p1.tar.gz openssh-9.0p1/contrib/redhat/openssh.spec
#修改rpmbuild/SPECS/openssh.spec文件(将默认的0改为1)
# Do we want to disable building of x11-askpass? (1=yes 0=no)
%global no_x11_askpass 1
# Do we want to disable building of gnome-askpass? (1=yes 0=no)
%global no_gnome_askpass 1
注释掉,原因是系统的的openssl-devel 版本高于1.1
#BuildRequires: openssl-devel < 1.1
生成rpm包:
rpmbuild -ba openssh.spec