Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Group: Applications/MediaЭту секция RPM-файла spec часто называют заголовком. В ней содержатся наиболее важные параметры
NameVersionReleaseПараметр
GroupDistributionНеплохо добавить в ваш файл spec комментарии. Как и сценарии командной оболочки, и make-файлы, команда
rpmbuild## Это строка комментария.Для того чтобы помочь пользователям решить, нужно ли им устанавливать ваш пакет, предоставьте секции
Summary%descriptionSummary: Trivial application%descriptionMyApp Trivial ApplicationA trivial application used to demonstrate development tools.This version pretends it requires MySQL at or above 3.23.Authors: Neil Matthew and Richard StonesСекция
%descriptionФайл spec может содержать сопутствующую информацию и о том, какие возможности предоставляет ваш пакет, и о том, от чего он зависит. (Вы также можете определить, от чего зависит пакет исходных файлов, например, указать специальные заголовочные файлы, необходимые для компиляции.)
Параметр
ProvidesProvides: goodnessВ примере утверждается, что пакет предоставляет вымышленную функциональную возможность, именуемую
goodnessProvidesНаиболее важная сопутствующая информация определяется в параметрах
RequiresRequires: mysql >= 3.23Если вам нужна СУРБД MySQL любой версии, можно задать параметр следующим образом:
Requires: mysqlRPM-система не разрешит пользователям устанавливать пакеты, если не установлены пакеты, необходимые для их работы. (Правда, пользователи могут переопределить это поведение.)
RPM-система автоматически добавляет зависимые элементы, например /bin/sh для сценариев командной оболочки, интерпретатор Perl для сценариев на языке Perl и любые совместно используемые библиотеки (файлы с расширением so), которые вызывает ваше приложение. Каждая новая версия RPM-системы включает все новые средства для автоматической проверки зависимостей.
После задания требований необходимо определить исходные файлы, формирующие ваше приложение. Для большинства приложений можно просто скопировать следующую строку:
source: %{name}-%{version}.tar.gzСинтаксическая запись
%{name}rpmbuild%{name}myapp%{version}1.0В примере задается параметр
BuildrootBuildroot: %{_tmppath}/%{name}-%{version}-rootПосле того как параметр
BuildrootBuildroot$RPM_BUILD_ROOTПосле задания всех этих характеристик пакета далее нужно определить, как собирать пакет. Для этого есть четыре основные секции:
%prep%build%install%cleanСудя по имени, секция
%prep%setup-q%prep%setup -qСекция
%buildmake%buildmakeЭто один из способов, которым RPM-система использует уже проделанную вами работу по созданию make-файла.
Секция
%install%makeinstallinstall%installmkdir -р $RPM_BUILD_ROOT%{_bindir}mkdir -p $RPM_BUILD_ROOT%{_mandir}install -m755 myapp $RPM_BUILD_ROOT%{_bindir}/myappinstall -m755 myapp.1 $RPM_BUILD_ROOT%{_mandir}/myapp.1
