加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

如何编写RPM的spec文件

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

本节提供有关 fpaste 的常规信息:它是什么,正在将什么版本制作为 RPM,其许可证等等。如果你已安装 fpaste,并查看其元数据时,则可以看到该 RPM 中包含的以下信息:

  1. $ sudo dnf install fpaste
  2. $ rpm -qi fpaste
  3. Name : fpaste
  4. Version : 0.3.9.2
  5. Release : 2.fc30
  6. ...

RPM 会自动添加一些其他标签,以代表它所知道的内容。

至此,我们掌握了要为其构建 RPM 的软件的一般信息。接下来,我们开始告诉 RPM 做什么。

第二部分:准备构建

spec 文件的下一部分是准备部分,用 %prep 代表:

  1. %prep
  2. %autosetup

对于 fpaste,这里唯一的命令是 %autosetup。这只是将 tar 档案文件提取到一个新文件夹中,并为下一部分的构建阶段做好了准备。你可以在此处执行更多操作,例如应用补丁程序,出于不同目的修改文件等等。如果你查看过 Python 的源 RPM 的内容,那么你会在那里看到许多补丁。这些都将在本节中应用。

通常,spec 文件中带有 前缀的所有内容都是 RPM 以特殊方式解释的宏或标签。这些通常会带有大括号,例如 %{example}

第三部分:构建软件

下一部分是构建软件的位置,用 %build 表示。现在,由于 fpaste 是一个简单的纯 Python 脚本,因此无需构建。因此,这里是:

  1. %build
  2. #nothing required

不过,通常来说,你会在此处使用构建命令,例如:

  1. configure; make

构建部分通常是 spec 文件中最难的部分,因为这是从源代码构建软件的地方。这要求你知道该工具使用的是哪个构建系统,该系统可能是许多构建系统之一:Autotools、CMake、Meson、Setuptools(用于 Python)等等。每个都有自己的命令和语法样式。你需要充分了解这些才能正确构建软件。

第四部分:安装文件

软件构建后,需要在 %install 部分中安装它:

  1. %install
  2. mkdir -p %{buildroot}%{_bindir}
  3. make install BINDIR=%{buildroot}%{_bindir} MANDIR=%{buildroot}%{_mandir}

(编辑:惠州站长网)

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

推荐文章
    热点阅读