Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
Group: Applications/Media
Эту секция RPM-файла spec часто называют заголовком. В ней содержатся наиболее важные параметры
Name
Version
Release
Параметр
Group
Distribution
Неплохо добавить в ваш файл spec комментарии. Как и сценарии командной оболочки, и make-файлы, команда
rpmbuild
#
# Это строка комментария.
Для того чтобы помочь пользователям решить, нужно ли им устанавливать ваш пакет, предоставьте секции
Summary
%description
Summary: Trivial application
%description
MyApp Trivial Application
A 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 может содержать сопутствующую информацию и о том, какие возможности предоставляет ваш пакет, и о том, от чего он зависит. (Вы также можете определить, от чего зависит пакет исходных файлов, например, указать специальные заголовочные файлы, необходимые для компиляции.)
Параметр
Provides
Provides: goodness
В примере утверждается, что пакет предоставляет вымышленную функциональную возможность, именуемую
goodness
Provides
Наиболее важная сопутствующая информация определяется в параметрах
Requires
Requires: mysql >= 3.23
Если вам нужна СУРБД MySQL любой версии, можно задать параметр следующим образом:
Requires: mysql
RPM-система не разрешит пользователям устанавливать пакеты, если не установлены пакеты, необходимые для их работы. (Правда, пользователи могут переопределить это поведение.)
RPM-система автоматически добавляет зависимые элементы, например /bin/sh для сценариев командной оболочки, интерпретатор Perl для сценариев на языке Perl и любые совместно используемые библиотеки (файлы с расширением so), которые вызывает ваше приложение. Каждая новая версия RPM-системы включает все новые средства для автоматической проверки зависимостей.
После задания требований необходимо определить исходные файлы, формирующие ваше приложение. Для большинства приложений можно просто скопировать следующую строку:
source: %{name}-%{version}.tar.gz
Синтаксическая запись
%{name}
rpmbuild
%{name}
myapp
%{version}
1.0
В примере задается параметр
Buildroot
Buildroot: %{_tmppath}/%{name}-%{version}-root
После того как параметр
Buildroot
Buildroot
$RPM_BUILD_ROOT
После задания всех этих характеристик пакета далее нужно определить, как собирать пакет. Для этого есть четыре основные секции:
%prep
%build
%install
%clean
Судя по имени, секция
%prep
%setup
-q
%prep
%setup -q
Секция
%build
make
%build
make
Это один из способов, которым RPM-система использует уже проделанную вами работу по созданию make-файла.
Секция
%install
%makeinstall
install
%install
mkdir -р $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}
install -m755 myapp $RPM_BUILD_ROOT%{_bindir}/myapp
install -m755 myapp.1 $RPM_BUILD_ROOT%{_mandir}/myapp.1