将 Qt 依赖项添加到 rpmbuild 中的规范文件
Posted
技术标签:
【中文标题】将 Qt 依赖项添加到 rpmbuild 中的规范文件【英文标题】:Adding Qt Dependencies to spec file in rpmbuild 【发布时间】:2019-06-03 18:24:02 【问题描述】:我使用的是 Ubuntu 14.04,我正在更新现在使用 Qt 的应用程序的 rpmbuild 规范文件。
我需要的包如下:
sudo apt-get build-essential
sudo apt-get install mesa-common-dev -y
sudo apt-get install libglu1-mesa-dev -y
sudo apt-get qt5-default
sudo apt-get qtwebengine5-dev
我知道规范文件有“BuildRequires”和“Requires”依赖标签...编写此文件的任何帮助以及一些示例都会有所帮助。我有一个工作规范文件,我只需要添加依赖项。
【问题讨论】:
【参考方案1】:我认为这里有些混乱。 spec
文件用于生成rpm
文件。但是 Ubuntu 使用 deb
文件。
假设你真的想创建一个 rpm;那么你需要知道这一点:
构建要求
构建 rpm 需要这些软件包。通常你需要 build-essential
和 '*-dev` 包来构建你的应用程序
需要
安装时需要这些软件包才能使您的应用程序正常工作;大多数情况下,您不再需要构建工具,但您仍然需要 qt5-default
。
PS:顺便说一句,我可能是世界上唯一使用带有特殊转换脚本https://bitbucket.org/klaussfreire/spec2deb/src/default/ 的规范文件构建 deb 包的人之一,但我不会真的推荐。
【讨论】:
感谢您的回复,非常感谢。我知道在 RHEL 中他们使用的 yum 没有与 Ubuntu 下的 apt-get 对应的包名称(例如 qt5-default 在 yum 中称为其他名称)......我如何创建一个兼容 Ubuntu 和红帽? 除了使用spec2deb你不能从spec文件创建Deb,你需要在Ubuntu上的Deb文件... 忘记deb...我只想创建一个RPM文件...我只想知道Qt依赖项 我不太明白。如果我理解得很好;你只需要登录你的redhat系统,找到你需要的包的包名;然后将它们添加到Requires
部分。假设您需要 /some/lib.so ;您可以使用rpm -qf /some/lib.so
来了解哪个包拥有该文件。以上是关于将 Qt 依赖项添加到 rpmbuild 中的规范文件的主要内容,如果未能解决你的问题,请参考以下文章