rpm подпакеты%install раздел

Возможно ли иметь отдельный раздел%install для подпакета в файле спецификации?

Например, файлы для основного пакета могут быть указаны как

%files

а для подпакета вот так:

%files mysubpackage

Тем не менее, я видел только один

%install

раздел, и я получаю ошибку, если я делаю

%install mysubpackage

1 ответ

Нет, у вас не может быть, и вам не нужен отдельный раздел %install.

Давайте предположим типичный пример: вы компилируете программу и хотите создать два пакета; library.rpm и library-devel.rpm (с заголовками). Тогда у вас будет файл спецификации примерно такой:

Name: library
# probably some other fields...

%description
describre library

%package devel
Summary: headers for library

%description devel
describe library-devel package

%prep
# some common prep code for both packages; eg
%setup -q

%build
make (or whatever to build your program)

%install
# install files for both rpm packages; library AND headers
mkdir -p ${RPM_BUILD_ROOT}/%_libdir/
mkdir -p ${RPM_BUILD_ROOT}/usr/include/

cp library.so* ${RPM_BUILD_ROOT}/%_libdir/
cp include/*.h* ${RPM_BUILD_ROOT}/usr/include/

%files
%defattr(-,root,root)
%_libdir/*.so.*

%files devel
%defattr(-,root,root)
%_libdir/*.so # yes; if you use version numbers; the versioned .so go in the normal package; the one without version number in the devel package
/usr/include/*

дальнейшее чтение: руководство по RPM

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