ant rpm task - 在%prep上找不到命令

时间:2013-08-06 08:48:41

标签: linux rpm

我被要求为我们的OPS团队制作RPM软件包以安装我们的软件。我发现ant有一个RPM任务并开始使用它。我根据this linkthis onealso this one填充了一个spec文件。但是我现在陷入了僵局。我一直从RPM任务中得到“[rpm]:命令而不是建立错误:来自/var/tmp/rpm-tmp.VNmA3k(%prep)的错误退出状态”。

我使用了RPMBUILD,并且得到了完全相同的错误,除了/ var / tmp / rpm-tmp。每次都有不同的文件扩展名。如果我在第36行转到该文件,我发现“^ M”。现在这个文件似乎是由RPMBUILD工具生成的,所以我现在可以控制它了。

我做错了什么?

规范文件:

Name:   SYJBoss7
Version:        1.0
Release:        1
Summary:        Esentially a JBoss 7.1 release from the SwitchYard team, with custom modules for genvods

Group:          <our group name>
License:        none
URL:            none
Source0: file:///tmp/SYJBoss7.tar.gz
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

%description


%prep
%setup -q


%build
pwd

%install
rm -rf %{buildroot}
mkdir -p $RPM_BUILD_ROOT/opt/swithcyard/

install -s SYJboss7 $RPM_BUILD_ROOT/opt/swithcyard/


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc
$RPM_BUILD_ROOT/opt/swithcyard/


%changelog

ant rpm命令的输出:

  [rpm] Building the RPM based on the example.spec file
  [rpm] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.VNmA3k
  [rpm] + umask 022
  [rpm] + cd /tmp/rpm/SYJboss7/BUILD
  [rpm] + cd /tmp/rpm/SYJboss7/BUILD
  [rpm] + rm -rf SYJBoss7-1.0
  [rpm] + /bin/tar -xf -
  [rpm] + /usr/bin/gzip -dc /tmp/rpm/SYJboss7/SOURCES/SYJBoss7.tar.gz
  [rpm] + STATUS=0
  [rpm] + '[' 0 -ne 0 ']'
  [rpm] + cd SYJBoss7-1.0
  [rpm] + /bin/chmod -Rf a+rX,u+w,g-w,o-w .
  [rpm] + $'\r'
  [rpm] /var/tmp/rpm-tmp.VNmA3k: line 36: 
  [rpm] : command not founderror: Bad exit status from /var/tmp/rpm-tmp.VNmA3k (%prep)
  [rpm]     Bad exit status from /var/tmp/rpm-tmp.VNmA3k (%prep)
  [rpm] 
  [rpm] 
  [rpm] RPM build errors:

1 个答案:

答案 0 :(得分:1)

嗯,符号$'\r'(回车)在Linux中没有行结尾含义。所以你最好把它留下来;它会弄乱你的脚本。

可能您(或其他人)使用Windows编辑器编辑了此.spec文件。

查看%prep部分,尝试使用您喜欢的编辑器修复错误的行结尾。