1

我正在将一些工作打包成一个 rpm。brew 安装 rpm 后,我在 Mac OSX 上执行此操作。我有一个基本的 .spec 文件,但出现错误并且无法诊断:

$ rpmbuild -ba myapp.spec
Executing(%prep): %{__spec_prep_cmd} /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.14478
error: Bad exit status from /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.14478 (%prep)


RPM build errors:
    Bad exit status from /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.14478 (%prep)

规范文件如下:

Name:           myapp
Version:        0.1.0
Release:        1
Summary:        Web service to do stuff
URL:            http://myapp.com
BuildRoot:      %{_tmppath}/myapp-build-root

%description
My app

%prep

%build

%install

%pre

%preun

%postun

%clean

%files
%defattr(-,www-data,www-data,-)
%doc

这是我第一次构建 rpm,我做错了什么,我该如何解决这个问题。提前致谢!

4

1 回答 1

2

我今天遇到了同样的问题。%prep 宏没有明显的原因会失败,即使没有任何内容。

添加这两个值后,在我的 Ubuntu 机器上运行你的规范似乎工作得很好:

License:        yourLicense
Group:          yourGroup

我有理由相信,rpm 没有通过自制软件正确安装在我的盒子上。我想我在某个时候中止了这个过程,然后在午餐时忘记了它,但是 rpmbuild 可以在我的脚本中使用,我遇到了上面的问题。

我将尝试在详细模式下彻底安装 rpm 公式,看看我的假设是否正确。

更新:

我已经成功安装了 rpm,但是花了很长时间:

/usr/local/Cellar/rpm/5.4.10: 187 files, 9.7M, built in 92.4 minutes

然而,它继续失败并出现同样的错误

rpmbuild -ba so.spec
Executing(%prep): %{__spec_prep_cmd} /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.69701
error: Bad exit status from /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.69701 (%prep)

随着 /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.69701 的内容说:

%{__spec_prep_template}%{__spec_prep_post}
于 2013-05-28T13:57:00.600 回答