1. 建立工作路径
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
2. 下载Nginx源码
cd ~/rpmbuild/SOURCES
wget http://nginx.org/download/nginx-1.20.1.tar.gz
3. 安装依赖、编译和打包工具
yum install -y gcc rpm-build pcre-devel pcre zlib zlib-devel
4. 编写SPEC文件
cd ~/rpmbuild/SPECS
vim nginx_build.spec
# 软件名
Name: nginx
# 版本号
Version: 1.20.1
# 发布编号
Release: 1%{?dist}
# 软件说明
Summary(zh_CN): 这是nginx项目
# 软件包的版权协议
License: GPLv3+
URL: http://nginx.org/download/
Source0: nginx-1.20.1.tar.gz
# 编译需要的依赖
BuildRequires: gcc
# 本软件需要的依赖
Requires: pcre-devel zlib-devel
%description -l zh_CN
这个是一个nginx项目练手项目,进行nginx打包等操作。
%prep
%setup -q
# 编译阶段执行的命令
%build
./configure
make
# 安装阶段执行的命令
%install
rm -rf %{buildroot}/*
make install DESTDIR=%{buildroot}
# 安装后执行的命令
%post
useradd nginx -M -s /sbin/nologin
# 卸载前执行的命令
%preun
userdel -r nginx
# 将所需要打包的文件都存放到这边中;-f %{name}.lang 加上后的意思为声明找到的文件
%files
%{_prefix}/local/*
# 软件更新说明
%changelog
5.检查SPEC文件(可略)
rpmlint nginx_build.spec
6.打包
centos7以及下命令:
cd ~/rpmbuild/SPECS
rpmbuild -ba nginx_build.spec
centos8命令:
cd ~/rpmbuild/SPECS
rpmbuild -ba nginx_build.spec --nodebuginfo