我正在努力将一些工作打包到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,我做错了什么,我该如何解决这个问题。提前谢谢!
答案 0 :(得分: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}