首页 > 解决方案 > rpmbuild 我没有指定的依赖项来自哪里?

问题描述

如果您使用创建 RPMrpmbuild -ba并且 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”依赖项。

标签: rpmbuildrpm-spec

解决方案


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

不推荐这样做,但是)如果你想停止rpmbuild这样做,你可以放:

AutoReqProv: no

在您的规范文件中。


推荐阅读