Сбой сборки RPM в разделе установки - PullRequest
1 голос
/ 11 сентября 2011

Я пытаюсь собрать свой первый rpm-пакет, представляющий собой один простой исполняемый файл (mysh).

Мой файл спецификаций:

Summary: bla <br>
Name: mysh <br>
Version: 1.0 <br>
Release: 1 <br>
Group: Applications <br>
Source: mysh-1.0.tar.gz <br>
URL: http://www.google.com <br>
Vendor: tadas sofware inc. <br>
Packager: tadas <br>
License: GPL 

%description <br>
a very good program!

%prep <br>
rm -rf $RPM_BUILD_DIR/mysh-1.0 <br>
zcat $RPM_SOURCE_DIR/mysh-1.0.tar.gz | tar -xvf -

%build <br>
make 

%install <br>
cp mysh /usr/local/bin/mysh

%files <br>
/usr/local/bin/mysh

Сбой из-за следующей ошибки:

cd: 8: can't cd to /home/tadzys/rpm/BUILDROOT/mysh-1.0-1.x86_64

Конечно, этого файла там не существует.Я пытался скопировать его там все еще там же ошибка.Не уверен, что мой раздел установки должен поместить что-нибудь в папку BUILDROOT.

Я нахожусь на Ubuntu 11.04.

1 Ответ

5 голосов
/ 11 сентября 2011

Когда вы ссылаетесь на каталоги на целевом компьютере в разделе %install, вам нужно ссылаться на все, что относится к $RPM_BUILD_ROOT (или %{buildroot}):

%install
cp mysh $RPM_BUILD_ROOT/usr/local/bin/mysh

Раздел %files требует , а не , однако его необходимо обновить.

Кроме того, вы должны рассмотреть возможность использования команды install при копировании файлов. Это похоже на cp, но install позволяет вам установить биты разрешения для целевого файла:

%install
install -m 755 mysh $RPM_BUILD_ROOT/usr/local/bin/mysh
...