rpmbuild:错误:找到已安装(但未打包)的文件解决方案

时间:2020-01-09 10:43:21  来源:igfitidea点击:

我正在尝试构建nginx服务器的RHEL 6 rpm。
但是,出现以下错误:

+ /usr/lib/rpm/brp-strip-comment-note
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/nginx-1.0.5-1.el6.x86_64
error: Installed (but unpackaged) file(s) found:
/usr/local/nginx/conf/fastcgi.conf
/usr/local/nginx/conf/fastcgi.conf.default

….
.
/usr/local/nginx/html/50x.html
/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx

RPM build errors:
Installed (but unpackaged) file(s) found:
/usr/local/nginx/conf/fastcgi.conf
/usr/local/nginx/conf/fastcgi.conf.default

..
.
/usr/local/nginx/html/50x.html
/usr/local/nginx/html/index.html
/usr/local/nginx/sbin/nginx

如何解决此问题并生成rpm文件?
要解决此错误,您需要指定将要安装的文件列表。
这是通过%files部分完成的。
语法如下:

%files
%defattr(-,root,root,-)
/path/to/dir/
/path/to/file/

可以在.spec文件中将上述文件设置如下(在%changelog之前添加):

%files
%defattr(-,root,root,-)
%config(noreplace) /usr/local/nginx/conf/*
/usr/local/nginx/html/
/usr/local/nginx/sbin/nginx

%files部分标识软件包添加了哪些文件和目录。
保存并关闭文件。
现在,您可以按以下方式重建rpm:

$ rpmbuild --bb nginx.spec