加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

RPM包是如何从源RPM制作的

发布时间:2019-11-06 04:55:57 所属栏目:建站 来源:Ankur Sinha "franciscod"
导读:副标题#e# 在上一篇文章中,我们研究了什么是 RPM 软件包。它们是包含文件和元数据的档案文件。当安装或卸载 RPM 时,此元数据告诉 RPM 在哪里创建或删除文件。正如你将在上一篇文章中记住的,元数据还包含有关依赖项的信息,它可以是运行时或构建时的依赖

用 RPM 行话来讲,“python3” 是“主包”,因此该 spec 文件将称为 python3.spec。所有其他软件包均为“子软件包”。你可以下载 python3 的源 RPM,并查看其中的内容。(提示:补丁也是源代码的一部分):

  1. $ dnf download --source python3
  2. python3-3.7.4-1.fc30.src.rpm
  3.  
  4. $ rpm -qpl ./python3-3.7.4-1.fc30.src.rpm
  5. 00001-rpath.patch
  6. 00102-lib64.patch
  7. 00111-no-static-lib.patch
  8. 00155-avoid-ctypes-thunks.patch
  9. 00170-gc-assertions.patch
  10. 00178-dont-duplicate-flags-in-sysconfig.patch
  11. 00189-use-rpm-wheels.patch
  12. 00205-make-libpl-respect-lib64.patch
  13. 00251-change-user-install-location.patch
  14. 00274-fix-arch-names.patch
  15. 00316-mark-bdist_wininst-unsupported.patch
  16. Python-3.7.4.tar.xz
  17. check-pyc-timestamps.py
  18. idle3.appdata.xml
  19. idle3.desktop
  20. python3.spec

从源 RPM 构建 RPM

现在我们有了源 RPM,并且其中有什么内容,我们可以从中重建 RPM。但是,在执行此操作之前,我们应该设置系统以构建 RPM。首先,我们安装必需的工具:

  1. $ sudo dnf install fedora-packager

这将安装 rpmbuild 工具。rpmbuild 需要一个默认布局,以便它知道源 RPM 中每个必需组件的位置。让我们看看它们是什么:

  1. # spec 文件将出现在哪里?
  2. $ rpm -E %{_specdir}
  3. /home/asinha/rpmbuild/SPECS
  4.  
  5. # 源代码将出现在哪里?
  6. $ rpm -E %{_sourcedir}
  7. /home/asinha/rpmbuild/SOURCES
  8.  
  9. # 临时构建目录是哪里?
  10. $ rpm -E %{_builddir}
  11. /home/asinha/rpmbuild/BUILD
  12.  
  13. # 构建根目录是哪里?
  14. $ rpm -E %{_buildrootdir}
  15. /home/asinha/rpmbuild/BUILDROOT
  16.  
  17. # 源 RPM 将放在哪里?
  18. $ rpm -E %{_srcrpmdir}
  19. /home/asinha/rpmbuild/SRPMS
  20.  
  21. # 构建的 RPM 将放在哪里?
  22. $ rpm -E %{_rpmdir}
  23. /home/asinha/rpmbuild/RPMS

(编辑:西安站长网)

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

热点阅读