在构建RPM包之前自动安装构建依赖项

Jun*_*ned 41 fedora rpmbuild

我正在尝试构建一个.rpm包.我刚刚按照步骤来做到这一点.到现在为止所有的步骤都很顺利,但现在我只是坚持这一步.我只是运行以下命令并得到此错误:

rpmbuild -ba asterisk.spec

error: Failed build dependencies: 
    gtk2-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    libsrtp-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    [... more ...]
    freetds-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
    uw-imap-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
Run Code Online (Sandbox Code Playgroud)

我正在使用fedora-15.如何解决此错误?

如何在安装src.rpm包时安装所有依赖项.可能吗?

Tom*_*omH 68

您可以使用程序包中的yum-builddep命令yum-utils来安装程序包的所有构建依赖项.

参数可以是spec文件的路径,源RPM的路径,也可以是在已配置的存储库中作为源RPM存在的包的名称,例如:

yum-builddep my-package.spec
Run Code Online (Sandbox Code Playgroud)

要么

yum-builddep my-package.src.rpm
Run Code Online (Sandbox Code Playgroud)

在较新版本的Fedora上可以实现同样的目的,dnf通过确保dnf-plugins-core已安装然后执行以下操作作为其包管理器:

dnf builddep my-package.spec
Run Code Online (Sandbox Code Playgroud)

要么

dnf builddep my-package.src.rpm
Run Code Online (Sandbox Code Playgroud)

  • 我已经描述了你如何运行它!除此之外,你的第一站,就像任何linux命令一样,将是"man yum-builddep",这无疑将具有启发性. (6认同)