我正在运行一个rpm规范文件,并遇到以下错误:
$ rpmbuild -ba gregorio.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.dDWqRV
+ umask 022
+ cd /home/cantanima/rpmbuild/BUILD
+ cd /home/cantanima/rpmbuild/BUILD
+ rm -rf gregorio-2.4.1
+ /usr/bin/tar -xf -
+ /usr/bin/gzip -dc /home/cantanima/rpmbuild/SOURCES/gregorio-2.4.1.tar.gz
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd gregorio-2.4.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ $'\r'
/var/tmp/rpm-tmp.dDWqRV: line 39: $'\r': command not found
error: Bad exit status from /var/tmp/rpm-tmp.dDWqRV (%prep)脚本文件/var/tmp/rpm-tmp.dDWqRV在该区域有以下行:
if [ $STATUS -ne 0 ]; then
exit $STATUS
fi
cd 'gregorio-2.4.1'
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
autoreconf -f -i第39行是紧接autoreconf -f -i上方的行。这是一个空行,显然是用\r标记的,而不是标准的Linux回车。如果我在文本编辑器中更改这一行,脚本就会运行良好.
据我所知,这个脚本文件是由rpmbuild自动生成的,而不是由规范文件生成的,尽管我不知道。我在做什么导致这一切?我正在运行Fedora 20,rpmbuildVersion4.11.3。
发布于 2015-04-12 05:15:03
再多做点工作就行了。显然,当我下载.spec文件时,我的电子邮件提供商或我的浏览器给它一个DOS编码('\r\n')。我在一个文本编辑器中打开它,将它转换为Unix编码('\n'),一切都很好--现在rpmbuild运行得很愉快。
https://stackoverflow.com/questions/29586003
复制相似问题