如何提取 RPM 包的“Requires(pre)”字段?

如何提取 RPM 包的“Requires(pre)”字段?

我有一个 RPM 的 spec 文件,其中包含“Requires”和“Requires(pre)”。基本上是这样的:

Requires: /lib/lsb/init-functions, /sbin/iptables
Requires(pre): zip

如果我跑

rpm -pqR package.rpm

我得到了三个指定的要求。我想要一种方法来仅获取预依赖项(“Requires(zip)”),以便自动转换为 Debian“Pre-Depends”。我还尝试了 rpm --querytags 提供的(部分)键,但没有成功。

有什么建议吗?谢谢。

答案1

如果您添加该-v选项,则rpm显示该信息。例如,

$ rpm -qpR diffstat-1.61-1.x86_64.rpm
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)
zlib
zlib-devel

但使用-v

$ rpm -qpR -v diffstat-1.61-1.x86_64.rpm
auto: libc.so.6()(64bit)
auto: libc.so.6(GLIBC_2.14)(64bit)
auto: libc.so.6(GLIBC_2.2.5)(64bit)
auto: libc.so.6(GLIBC_2.3)(64bit)
rpmlib: rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib: rpmlib(FileDigests) <= 4.6.0-1
rpmlib: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib: rpmlib(PayloadIsXz) <= 5.2-1
auto: rtld(GNU_HASH)
manual: zlib
pre: zlib-devel

相关内容