rpm的一点学问

一般在linux下开发,在对源码进行二进制打包时,要用到spec文件,这个是rpmbuild的一个输入文件,暂且相当于配置文件吧。

进行打包时会出现:
Installed (but unpackaged) file(s) found:
/usr/bin/xxx
/usr/lib/xxx
/usr/share/xxx
这种现象一般属于文件files中未完全包含$RPM_BUILD_ROOT下的文件,检查一下看什么问题,可以使用:
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一些疑难问题,大家不妨发表评论,相互交流一下。

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on March 6, 2009 5:23 PM.

好怀念leohacks was the previous entry in this blog.

关于编译的几点须知 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.