rpmbuild: как собрать пакет без% install? - PullRequest
2 голосов
/ 09 ноября 2010

Я пытаюсь собрать обороты, но, к сожалению, на моей сборочной машине у меня есть только ограниченные права, что означает, что операция в% install не может быть выполнена внутри сборочной машины. Как собрать пакет (файл .rpm) без запуска раздела% install? Похоже, что для этого нет доступных опций:

http://www.rpm.org/max-rpm-snapshot/ch-rpm-b-command.html

Мой файл bu.spec:

Summary: xxxx
Name: xx
Version: 1.0
Release: 1
Group: Applications/Sound
License: Share

%description

%prep
echo "prep"

%build

%install
echo "install"
mkdir -p /opt/xcp_src/
cp scripts.tgz /opt/xcp_src/

%files
/tmp/xcp_src/scripts.tgz

%post
cd /opt/xcp_src/
tar zxvf scripts.tgz

1 Ответ

2 голосов
/ 09 ноября 2010

Во-первых, установите buildroot и используйте его при установке, например:

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
...
%install
mkdir -p %{buildroot}/opt/xcp_src

Во-вторых, убедитесь, что вы можете собрать без прав root, перемещая сборку RPMarea .

Я бы также предложил указать фактический список файлов (вместо того, чтобы RPM извлекал файл tgz), поскольку это сделало бы пакет полностью удаляемым.

...