Ошибка 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 бежит счастливо

Другие вопросы по тегам