RPM 包

来自 PostgreSQL Wiki
跳转到导航跳转到搜索

RPM 如何打包?

本文由 Lamar Owen 和 Devrim Gündüz 撰写,2006-10-16,2014-09 由 Craig Ringer 重写。

http://git.postgresql.org/gitweb/?p=pgrpms.git 上维护了一个 git 仓库,该仓库针对每个包包含

  1. 一组补丁,用于使源代码的某些部分更符合 Red Hat 打包其自身匹配的 RPM 的方式,更好地集成到多体系结构安装中,等等;
  2. 初始化脚本 / systemd 服务文件;
  3. 任何其他辅助脚本和文件;
  4. 一个 README.rpm-dist 文档,试图充分记录 RPM 构建与差异原因之间的差异,以及有用的 RPM 环境操作(例如,使用 syslog,升级,让 postmaster 在操作系统启动时启动等);
  5. 将所有内容整合在一起的 spec 文件,指定哪些文件在哪些子包中,版本,依赖关系以及更多内容。

像 PostgreSQL 这样的给定“包”将包含上述内容的许多副本,每个发行版版本和 PostgreSQL 版本一个。例如,针对 Fedora 20 上的 PostgreSQL 9.4 的包位于9.4/postgresql/F-20

PGDG RPM 维护者构建 SRPM,然后在各种构建工作机器上执行 RPM 构建,并将生成的 RPM 和 SRPM 推送到 http://yum.postgresql.org/srpms/$version/$distro/$distro-$release-$arch/http://yum.postgresql.org/$version/$distro/$distro-$release-$arch/,例如 http://yum.postgresql.org/srpms/9.4/fedora/fedora-20-x86_64/http://yum.postgresql.org/9.4/fedora/fedora-20-x86_64/

然后更新 Yum 仓库元数据,以便 yum 可以找到新包。