Проблемы со сборкой RPM - PullRequest
0 голосов
/ 21 июня 2019

У меня есть такой файл спецификации RPM, я скомпилировал файл C и создал исполняемый файл, пытаясь скопировать его в папку buildroot / tmp и пытаясь выполнить его оттуда,

%install
mkdir -p %{buildroot}/tmp/
install -m 755 /root/Desktop/np %{buildroot}/tmp/np
./%{buildroot}/tmp/np
%files
/tmp/np

КогдаЯ пытаюсь построить RPM, я сталкиваюсь с ошибкой

"/ var / tmp / rpm-tmp.0HMeZn: строка 35: .//root/rpmbuild/BUILDROOT/hp-simulate-generalfailure1-1.0.0-1.x86_64 / tmp / np: Нет такого файла или каталога "

Помогите мне сделать чистую сборку.Заранее спасибо.

1 Ответ

0 голосов
/ 16 июля 2019

Давайте оставим в стороне, что вы делаете что-то очень странное и выполняете rpmbuild от имени root (очень неприятно).

%{buildroot} - это абсолютный путь.См .:

$ rpm --eval '%{buildroot}'
/home/msuchy/rpmbuild/BUILDROOT/%{NAME}-%{VERSION}-%{RELEASE}.x86_64

Если вы действительно пытаетесь выполнить этот двоичный файл, вы не должны ставить туда ведущий ./.Таким образом, ваш фрагмент должен быть:

%install
mkdir -p %{buildroot}/tmp/
install -m 755 /root/Desktop/np %{buildroot}/tmp/np
%{buildroot}/tmp/np
%files
/tmp/np
...