一般在linux下开发,在对源码进行二进制打包时,要用到spec文件,这个是rpmbuild的一个输入文件,暂且相当于配置文件吧。
进行打包时会出现:
另外,上述的环境确保$RPM_BUILD_ROOT的工程文件存在,否则会报错:
File not found: xxx/xxx.debuglist
老版本的linux下,rpmbuild可能替代的命令是rpm,老版本的$RPM_BUILD_ROOT路径一般是/var/tmp,很难通过$HOME/.rpmmacros来进行指定,所以一般需要使用sudo权限;
但如果一般用户编译,可以在spec文件中指定$_topdir和$_tmpdir,来确定你拥有权限的目录路径。
针对rpm一些疑难问题,大家不妨发表评论,相互交流一下。
进行打包时会出现:
Installed (but unpackaged) file(s) found:这种现象一般属于文件files中未完全包含$RPM_BUILD_ROOT下的文件,检查一下看什么问题,可以使用:
/usr/bin/xxx
/usr/lib/xxx
/usr/share/xxx
rpmbuild -bl xxx.spec调试时rpm会自动帮你检查文件是否包含完整,并且不需要进行编译;
另外,上述的环境确保$RPM_BUILD_ROOT的工程文件存在,否则会报错:
File not found: xxx/xxx.debuglist
老版本的linux下,rpmbuild可能替代的命令是rpm,老版本的$RPM_BUILD_ROOT路径一般是/var/tmp,很难通过$HOME/.rpmmacros来进行指定,所以一般需要使用sudo权限;
但如果一般用户编译,可以在spec文件中指定$_topdir和$_tmpdir,来确定你拥有权限的目录路径。
针对rpm一些疑难问题,大家不妨发表评论,相互交流一下。