rpmbuild 我没有指定的依赖项来自哪里?

rpmbuild where do dependencies I didn't specify come from?

如果您使用 rpmbuild -ba 创建一个 RPM,并且 PHP 脚本包含在 RPM 中,是否会使该 RPM 自动依赖于 /usr/bin/phpusr/bin/env

我正在使用 rpmbuild -ba 打包一个 Symfony 项目。 Symfony 有许多 PHP 脚本,其中 #!/usr/bin/env php 作为脚本的第一行。

构建后,如果我执行 rpm -qp <rpm-package> --requires,它会显示对 /usr/bin/env/usr/bin/php/bin/sh(列出两次?很奇怪)和 /bin/bash 的依赖关系.

我看到一些脚本使用 #!/bin/sh,而其他脚本使用 #!/bin/bash

我想了解这些依赖项的来源,因为它们尚未在 .spec 文件中指定为 "Requires" 依赖项。

rpmbuild 自动扫描您的文件以查找依赖项(使用 ldd 等)。您可以在此处找到文档:http://ftp.rpm.org/max-rpm/s1-rpm-depend-auto-depend.html

不推荐,但是)如果你想阻止rpmbuild这样做,你可以输入:

AutoReqProv: no

在您的规范文件中。