RPM规范通过添加前缀可重定位但在安装时我看不到安装的文件

时间:2011-07-20 00:47:33

标签: rpm rpmbuild rpm-spec

Summary: A small lighttpd
Name: lighttpd
Version: 1.4.28
Release: 1000

License: LGPL
Group: Applications/Webserver
URL: http://www.lighttpd.com/
Source: http://www.lighttpd.com/lighttpd-%{version}.tar.gz
BuildRoot: %{name}-%{version}
Prefix: /opt/src/Opensource/lighttpd-1.4.28/install
#Do not terminate if there are files in the buildroot that are not packed into the rpm.
%define _unpackaged_files_terminate_build       0
#Do not terminate if there are any documents missing in the buildroot dir and not      packaged
%define _missing_doc_files_terminate_build      0
%description
A small foot print webserver
%files
%defattr(-, root, root, 0755)
#%doc README
/sbin/lighttpd
/lib/mod_auth.so
/lib/mod_cgi.so
/lib/mod_cml.so
/lib/mod_compress.so
Given this i build my rpm using the following command
rpmbuild -bb --buildroot /opt/src/Opensource/lighttpd-1.4.28/install  lightppd.spec
rpm -qpi  on the generated rpm gives me the following output
Name        : lighttpd               Relocations:/opt/src/Opensource/lighttpd-1.4.28/install
Version     : 1.4.28                            Vendor:  Repository
Release     : 1000                          Build Date: Tue 19 Jul 2011 05:17:44 PM PDT
Install Date: (not installed)               Build Host: 
Group       : Applications/Webserver        Source RPM: lighttpd-1.4.28-1000.src.rpm
Size        : 259873                           License: LGPL
Signature   : (none)

while installing i issue the command

rpm -ivh --prefix /opt/components/  --dbpath /opt/rpm/database

I get the rpm installed 

but i dont see any installtion directory or files installed in the location /opt/components

1 个答案:

答案 0 :(得分:1)

查看http://www.rpm.org/max-rpm/s1-rpm-reloc-wrinkles.html,特别是第一个说明“%files文件中的文件应以前缀标记行开头”的项目符号。

尝试使用'/opt/src/Opensource/lighttpd-1.4.28/install'在%files部分中为文件名添加前缀,重建rpm,然后再次尝试安装。