Ошибка rpmbuild: команда $`\r` не найдена
Я запускаю файл спецификации 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, rpmbuild версии 4.11.3.
1 ответ
Еще немного работы сделали это. Видимо, когда я скачал .spec
файл, либо мой поставщик электронной почты, либо мой веб-браузер дали ему кодировку DOS ('\r\n'). Я открыл его в текстовом редакторе, переключил на кодировку Unix ('\n') и все в порядке - теперь rpmbuild
бежит счастливо