加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

如何编写RPM的spec文件

发布时间:2019-11-05 21:29:59 所属栏目:Windows 来源:Ankur Sinha "franciscod"
导读:在关于 RPM 软件包构建的上一篇文章中,你了解到了源 RPM 包括软件的源代码以及 spec 文件。这篇文章深入研究了 spec 文件,该文件中包含了有关如何构建 RPM 的指令。同样,本文以 fpaste 为例。 了解源代码 在开始编写 spec 文件之前,你需要对要打包的软

spec 文件的每项变更都必须有一个变更日志条目。如你在此处看到的,虽然我以维护者身份更新了该 spec 文件,但其他人也做过更改。清楚地记录变更内容有助于所有人知道该 spec 文件的当前状态。对于系统上安装的所有软件包,都可以使用 rpm 来查看其更改日志:

  1. $ rpm -q --changelog fpaste

构建 RPM

现在我们准备构建 RPM 包。如果要继续执行以下命令,请确保遵循上一篇文章中的步骤设置系统以构建 RPM。

我们将 fpaste 的 spec 文件放置在 ~/rpmbuild/SPECS 中,将源代码档案文件存储在 ~/rpmbuild/SOURCES/ 中,现在可以创建源 RPM 了:

  1. $ cd ~/rpmbuild/SPECS
  2. $ wget https://src.fedoraproject.org/rpms/fpaste/raw/master/f/fpaste.spec
  3.  
  4. $ cd ~/rpmbuild/SOURCES
  5. $ wget https://pagure.io/fpaste/archive/0.3.9.2/fpaste-0.3.9.2.tar.gz
  6.  
  7. $ cd ~/rpmbuild/SOURCES
  8. $ rpmbuild -bs fpaste.spec
  9. Wrote: /home/asinha/rpmbuild/SRPMS/fpaste-0.3.9.2-3.fc30.src.rpm

让我们看一下结果:

  1. $ ls ~/rpmbuild/SRPMS/fpaste*
  2. /home/asinha/rpmbuild/SRPMS/fpaste-0.3.9.2-3.fc30.src.rpm
  3.  
  4. $ rpm -qpl ~/rpmbuild/SRPMS/fpaste-0.3.9.2-3.fc30.src.rpm
  5. fpaste-0.3.9.2.tar.gz
  6. fpaste.spec

我们看到源 RPM 已构建。让我们同时构建源 RPM 和二进制 RPM:

  1. $ cd ~/rpmbuild/SPECS
  2. $ rpmbuild -ba fpaste.spec
  3. ..
  4. ..
  5. ..

RPM 将向你显示完整的构建输出,并在我们之前看到的每个部分中详细说明它的工作。此“构建日志”非常重要。当构建未按预期进行时,我们的打包人员将花费大量时间来遍历它们,以跟踪完整的构建路径来查看出了什么问题。

就是这样!准备安装的 RPM 应该位于以下位置:

  1. $ ls ~/rpmbuild/RPMS/noarch/
  2. fpaste-0.3.9.2-3.fc30.noarch.rpm

概括

我们已经介绍了如何从 spec 文件构建 RPM 的基础知识。这绝不是一份详尽的文档。实际上,它根本不是文档。它只是试图解释幕后的运作方式。简短回顾一下:

  • RPM 有两种类型:源 RPM 和 二进制 RPM。
  • 二进制 RPM 包含要安装以使用该软件的文件。
  • 源 RPM 包含构建二进制 RPM 所需的信息:完整的源代码,以及 spec 文件中的有关如何构建 RPM 的说明。
  • spec 文件包含多个部分,每个部分都有其自己的用途。    在这里,我们已经在安装好的 Fedora 系统中本地构建了 RPM。虽然这是个基本的过程,但我们从存储库中获得的 RPM 是建立在具有严格配置和方法的专用服务器上的,以确保正确性和安全性。这个 Fedora 打包流程将在以后的文章中讨论。

你想开始构建软件包,并帮助 Fedora 社区维护我们提供的大量软件吗?你可以从这里开始加入软件包集合维护者。

如有任何疑问,请发布到 Fedora 开发人员邮件列表,我们随时乐意为你提供帮助!

参考

这里有一些构建 RPM 的有用参考:

  • https://fedoraproject.org/wiki/How_to_create_an_RPM_package
  • https://docs.fedoraproject.org/en-US/quick-docs/create-hello-world-rpm/
  • https://docs.fedoraproject.org/en-US/packaging-guidelines/
  • https://rpm.org/documentation.html

【编辑推荐】

  1. QQ for Linux 复活,微信 for Linux 还会远吗?
  2. 使用GNOME优化工具自定义Linux桌面的10种方法
  3. Linux 下软链接和硬链接的区别
  4. 5个Linux桌面上的密码管理器
  5. 微软官宣:基于Chromium的Edge即将登陆GNU/Linux平台
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读