[quote:cc4361abf2="KDE"]BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
通常我们要加 %{release}
%{_tmppath}/%{name}-%{version}-%{release}-buildroot
构建根路径越冗长越安全。这是为了避免并行编译多个 rpm 时可能的相互覆盖。
BuildPrereq: imlib2-devel, zlib-devel, libXft-devel, fontconfig-devel
应该是 BuildRequires: 而不是 BuildPrereq: ,前者指编译软件过程中该软件自身依赖哪些包,后者指编译基本环境需要预先满足的基本条件,一般是一些特定命令,比如 spec 里的编译脚本用到了 perl 脚本,那么需要写作 BuildPrereq: /usr/bin/perl
任何官方发布的包均应该默认使用 /usr,/usr/local 是给用户自己从源码编译准备的空间,你可以利用 spec 头部的 Prefix: %{_prefix} 参数允许用户安装 rpm 时将文件放到其它位置。%{_prefix} 宏一般是指 /usr。
#make %{?_smp_mflags}
不要跳过 make 而直接使用 make install,因为那样做有时并不可靠,就是说不一定 make install 一定会包含 make 动作。况且这样做并没有利用并行编译参数 %{?_smp_mflags}
请仔细阅读 rpm 建包原理里的说明。一切均应该力图标准化。magic 2.0 里大部分包是 kanker 打的,一部分是我打的,其它人也有一些。这里面 magic 有一套自己的打包标准,抽空我会写出来。[/quote]
恩,受教了。学会了一点。希望各位大哥多多指教。
PS:刚打好了wxPython-2.6.3.2的RPM包。已经用上了

。这东西对学习wxPython是必须的,而且我还下好了电子书《wxPython in Action》及其书中的示例代码。暂时还不知道如何将电子书打包成RPM。
我现在把fluxbox的SPEC改改。