使用 vim
打开 *.spec
后缀文件时会自动加载模板,源自于读取了模板文件 /usr/share/vim/vimfiles/template.spec
.
如果自己要添加新模板则:
$ vim /etc/vimrc
autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec # 自带的模板规则
autocmd BufNewFile *.test 0r /usr/share/vim/vimfiles/template.test # 自定义的新增模板规则
~/rpmbuild/SPECS/test.spec
内容:
#
# 以#符号开头的行是注释行
# 2022-10-21
# Author: LeslieZhu
# 会创建目录: rpmbuild/BUILDROOT/%%(name)-%%(version)-%%(release).%%(arch)
Name: test
# 版本号
Version: 1.0.0
# 发布次数
Release: 2
Summary: A Test Program
Group: TestTeam
License: GPLv3
# N/A: 表示没有
URL: N/A
# 构建目标架构
BuildArch: x86_64
# 用来构建RPM文件的源文件,如果不提供则使用下方的%files
Source0: %{name}-%{version}.tar.gz
# 构建的时候依赖的软件包
BuildRequires: gcc,vim
# 软件运行时需要的软件包
Requires: gcc,vim
%description
This is a test program.
# 测试安装目录
BuildRoot: %_topdir/BUILDROOT
# 构建软件包之前要做的事情
%prep
# 解压并cd,将%_sourcedir内容解压到%_builddir
%setup -q
%build
# 如果有源码编译则一般是 ./configure %{?_smp_mflags}
# make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install
%pre
# rpm文件安装前
echo install start....
%post
# rpm文件安装后
echo install done
%preun
# 卸载前
echo uninstall start...
%postun
# 卸载后
echo uninstall done
%clean
# 清理
echo clean start...
make DESTDIR=%{buildroot} clean
echo clean done...
%files
# /path/to/ 如果是某个目录则直接把目录写到这里即可
/usr/local/Test/bin/test.exe
%doc
# /path/to/docfile 文档路径
此时目录结构:
├── BUILD
├── BUILDROOT
├── RPMS
├── SOURCES
│ ├── test-1.0.0
│ │ ├── Makefile
│ │ └── test.exe
│ └── test-1.0.0.tar.gz
├── SPECS
│ └── test.spec
└── SRPMS