使用 rpm specfile 获取要安装的文件

Using rpm specfile to get files to be installed

我正在寻找一种解决方案来查询 RPM 规范文件以获取它安装的文件列表,最好不要构建包。我试过 rpmspec --queryformat '%{filenames}' 但它只会导致 (none)

示例test.spec:

Name:           test
Version:        1
Release:        1%{?dist}
Summary:        test
License:        bsd
URL:            http://localhost
Source0:        test.tgz
%description
%install
%files
/usr/foo.txt

测试运行:

$ rpmspec --builtrpms -q --qf 'name: %{name}\nfiles: %{filenames}\n\n' test.spec
name: test
files: (none)

预期结果:

name: test
files: /usr/foo.txt

规范文件不知道正在安装多少文件。

如果它有这样的东西:

%files
/path/to/a/ton/of/files/

它无法知道构建软件后该目录中有多少文件。

如果您构建了 RPM,则可以使用 rpm -qlp <rpmfile> 查看它 安装的文件,而无需进行实际安装。但同样,您需要一个内置的 RPM。