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一些疑难问题,大家不妨发表评论,相互交流一下。

Categories

| | 评论(0)

发表评论

August 2012

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

关于此日记

此日记由 Cnangel 发表于 March 6, 2009 5:23 PM

此Blog上的上一篇日记好怀念leohacks

此Blog上的下一篇日记关于编译的几点须知

首页归档页可以看到最新的日记和所有日记。

归档

Powered by Movable Type 5.14-en