通过添加前缀使 RPM 规范可重定位,但在安装时我没有看到安装的文件 [英] RPM spec made relocatable by adding prefix but while installing i do not see the files installed
问题描述
总结:一个小小的lighttpd名称: lighttpd版本:1.4.28发布:1000许可证:LGPL组:应用程序/网络服务器网址:http://www.lighttpd.com/来源:http://www.lighttpd.com/lighttpd-%{version}.tar.gzBuildRoot: %{name}-%{version}前缀:/opt/src/Opensource/lighttpd-1.4.28/install#如果buildroot中有文件没有打包进rpm就不要终止.%define _unpackaged_files_terminate_build 0#如果 buildroot 目录中缺少任何文件且未打包,则不终止%define _missing_doc_files_terminate_build 0%描述一个小尺寸的网络服务器%个文件%defattr(-, 根, 根, 0755)#%doc 自述文件/sbin/lighttd/lib/mod_auth.so/lib/mod_cgi.so/lib/mod_cml.so/lib/mod_compress.so
<前>鉴于此,我使用以下命令构建我的 rpmrpmbuild -bb --buildroot/opt/src/Opensource/lighttpd-1.4.28/install lightppd.specrpm -qpi 在生成的 rpm 上给我以下输出名称:lighttpd 重定位:/opt/src/Opensource/lighttpd-1.4.28/install版本:1.4.28 供应商:存储库发布:1000 构建日期:2011 年 7 月 19 日星期二 05:17:44 PM PDT安装日期:(未安装)构建主机:组:应用程序/网络服务器源 RPM:lighttpd-1.4.28-1000.src.rpm尺寸:259873 许可证:LGPL签名:(无)安装时我发出命令rpm -ivh --prefix/opt/components/--dbpath/opt/rpm/database我安装了 rpm但我没有看到/opt/components 位置中安装了任何安装目录或文件
查看 http://www.rpm.org/max-rpm/s1-rpm-reloc-wrinkles.html,特别是第一个说%files 部分中的文件应该以前缀标记行".
尝试在 %files 部分中使用/opt/src/Opensource/lighttpd-1.4.28/install"作为文件名的前缀,重建 rpm,然后再次尝试安装.
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
Check out http://www.rpm.org/max-rpm/s1-rpm-reloc-wrinkles.html, in particular the first bullet that says "files in the %files section should start with the prefix tag line".
Try prefixing your file names in your %files section with '/opt/src/Opensource/lighttpd-1.4.28/install', rebuild the rpm and then try the installation again.
这篇关于通过添加前缀使 RPM 规范可重定位,但在安装时我没有看到安装的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!