Rocky Linux 9.4基于官方源码制作openssh 9.8p1二进制rpm包 —— 筑梦之路
#!/bin/bash
# 构建OpenSSH 9.8p1的RPM包脚本
# 定义源代码和依赖项目的版本
OPENSSH_VERSION="9.8p1"
ZLIB_VERSION="1.2.12"
LIBZ_STD_VERSION="1.2.12"
# 创建构建目录并下载源代码
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
cd ~/rpmbuild/SOURCES
wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-${OPENSSH_VERSION}.tar.gz
wget https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz
wget https://sourceforge.net/projects/libpng/files/zlib/${ZLIB_VERSION}/zlib-${LIBZ_STD_VERSION}.tar.gz/download
# 解压源代码
tar xvf zlib-${ZLIB_VERSION}.tar.gz
tar xvf zlib-${LIBZ_STD_VERSION}.tar.gz
tar xvf openssh-${OPENSSH_VERSION}.tar.gz
# 复制zlib源代码到openssh源代码中
cp -r zlib-${LIBZ_STD_VERSION} openssh-${OPENSSH_VERSION}/zlib
# 下载并修改spec文件
wget https://src.fedoraproject.org/repo/pkgs/openssh/openssh-9.8p1.spec/9a702e2a02565a4a7f9e65866e4d431afa5a0b6a/openssh-9.8p1.spec
sed -i 's/OpenSSH-9.8p1/openssh-'"${OPENSSH_VERSION}"'/g' openssh-9.8p1.spec
sed -i 's/Release: 9.8p1/%{?dist}~/g' openssh-9.8p1.spec
# 构建RPM包
rpmbuild -bb openssh-9.8p1.spec
这段代码首先定义了OpenSSH和zlib的版本,然后创建了必要的构建目录,下载了源代码和spec文件。接着,它修改了spec文件以适应新的版本号,并使用rpmbuild命令来构建RPM包。这个过程展示了如何准备构建环境,下载源代码和修改spec文件来创建一个定制的RPM包。
评论已关闭