rpm - 使用 rpm specfile 获取要安装的文件
问题描述
我正在寻找一种解决方案来查询 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。
推荐阅读
- c# - 计算块中的中断
- javascript - 单击时如何使手风琴自定义菜单处于活动状态并打开
- asp.net - RedirectToRoute 和 RedirectToAction 返回带有 Areas 的错误 url
- django - DRF 不支持多个渲染器类
- php - 使用 API 版本 3 在 Google 表格顶部插入行
- python - ThreadPoolExecutor 过早地杀死最后一个线程
- python - 如何在python中对整数占位符执行操作?
- java - 如何在此代码中使用 if else 语句而不是 try 和 catch 异常
- angular - 如何对从数组中删除重复项的方法进行单元测试?
- spring-boot - 发送多封邮件时 JTA 超时