用rpmbuild打包时,有些文件是不需要打包到rpm包里的,这时需要修改spec文件。
在百度上搜到:
Name: example-package
Version: 1.0
Release: 1%{?dist}
Summary: Example package for excluding files
%description
This is an example package that excludes specific files.
%prep
# 解压源码等准备工作
%build
# 构建软件
%install
# 安装软件
%files
%defattr(-,root,root,-)
# 包含所有文件和目录
/usr/bin/*
/etc/config/*
%exclude
# 排除指定的文件或目录
/etc/config/exclude_this_file
/usr/bin/do_not_include_this_script
%changelog
实际没有用。因为exclude应该跟defattr一样是files下的一个命令,上面那样是没有用的。
正确方法:
%files
/usr/*
%{_prefix}/*
%exclude %{_prefix}/abc/lib/*.a
%exclude %{_prefix}/abc/lib/*.debug
spec文件在使用中还发现一个问题,#并不能注释掉%开头的行,不需要的%开头的东西,直接删掉,否则用#注释掉,还会有各种问题。