【问题标题】:How can I build an RPM on my MacOS system?如何在我的 MacOS 系统上构建 RPM?
【发布时间】:2011-03-09 14:58:25
【问题描述】:

我正在运行 Mac OS X 10.6.6。我有一些我想要构建的纯数据 RPM。

直到最近,我在运行 CentOS 的 VM 上完成了大部分开发工作,但我已经能够将这些任务一一转移到 Mac 上。我一直在使用Fink 来访问我需要的 Open/Free 工具,但我还没有准备好去 Fink 不稳定,RPM5 包已经有一段时间了。

我还尝试从源代码构建 RPM 实用程序,但到目前为止运气不佳。

还有其他人在 Mac 上本地构建 RPM 吗?如果有,怎么做?

【问题讨论】:

  • 您是否尝试过来自RPM for Darwin 的 DMG 存档? 5.0 和 5.1 有一个 RPM。如果 5.x 在 OS X 1.6 上运行,则对此网站没有评论,他们只是说最低要求是 10.4/10.5
  • 达尔文 RPM 页面上的所有链接都已失效 ...
  • RPM 5.0 和 5.1 版本的链接没有失效。然而,RPM 实用程序一旦安装,就不能很好地创建 RPM。显然,需要进行自定义 bash 更改才能构建。你真的尝试过,还是只是谷歌并发布?
  • 在追踪到一个非常奇怪的错误后,我最近了解到 MacOS 有一个不区分大小写(但会保留大小写)的文件系统。这不足以满足我的日常需求,所以我又开始使用安装了不错的 Unix 变体的 VM。
  • 在您的机器上安装 Mac OS X 时,您可以选择将驱动器格式化为: Mac OS Extended (Case-Sensitive, Journalled) 这将提供您想要的区分大小写用于 Unix 工作。

标签: macos rpm fink


【解决方案1】:

您可以使用 Homebrew 包管理器在 MacOS 上安装 rpmbuild。

brew install rpm

这会安装一堆软件包,包括用于构建 rpm 的 rpmbuild。然后您可以运行以下命令来创建一个 rpm

rpmbuild <specfile>

【讨论】:

  • 这应该是公认的答案 - 问题现在已经过时,这是安装 rpm 的最简单方法
  • Brew 是处理此问题的最简单方法。这应该是公认的答案。
  • Brew 是处理此问题的最简单方法,但由于各种原因(权限、ruby 版本控制、软件包版本控制......),许多 macOS 用户更愿意远离它。
【解决方案2】:

我今天也遇到了同样的情况,但我刚刚成功构建并运行了 rpm,首先安装了 MacPorts,然后从那里安装。它需要 1.8GB 的​​下载量才能构建,因为它需要从 Apple Store 安装 1.6GB 的(免费)Xcode 开发人员工具包,然后再安装 140MB 的命令行工具包。

所以,首先要仔细按照此处明确说明的每一步来安装 MacPorts: http://www.macports.org/install.php

完成所有操作后,请务必运行更新命令(如安装说明中所述),以便下载可用的软件端口包(如果不这样做,则会显示“找不到 rpm”) :

sudo port -v selfupdate

所有这些都完成后,运行以下命令来获取 rpm 并构建它:

sudo port install rpm

在我 2011 年初的带有 Lion 的 MacBook Pro 上,下载所有内容并构建需要大约 10 分钟。

整个过程需要一段时间,但它确实有效。祝你好运!

【讨论】:

  • PS:我注意到在大多数情况下不需要额外的“sudo port -v selfupdate”......原来是我公司的防火墙阻止了它的工作。 MacPorts 安装程序会自动为您执行此步骤。
  • 投反对票,因为此答案已被 brew install rpm 废弃,如另一个答案所述。
【解决方案3】:

正如@user132447 所指出的,您需要将驱动器重新格式化为 MacOS 扩展格式(区分大小写)。

作为 CentOS 一部分的 rpmRPM5 构建不同。两者都是两个不同的项目。稍后可能会在 MacOS 上运行,但我建议您使用仅基于 RPM 的 VM(或单独的系统)。这肯定会为您节省大量时间来解决和关心不那么有用的问题。

来自 rpm.org 的 RPM 尚不支持 MacOS(我猜它会构建 - 至少是最新版本),这是 CentOS 使用的 rpm。

【讨论】:

    【解决方案4】:

    我一直在使用 RPM for Darwin 构建基于 maven 的项目,这些项目会创建 RPM 工件。

    【讨论】:

      猜你喜欢
      • 2012-05-25
      • 2015-05-16
      • 2014-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 2017-01-28
      • 2011-12-31
      相关资源
      最近更新 更多