Product SiteDocumentation Site

6.2. SPEC-файл

Spec-файл можно рассматривать как «инструкцию», которую утилита rpmbuild использует для сборки RPM-пакета. Он определяет все действия, выполняемые при сборке, а также операции, необходимые при установке и удалении пакета. Каждый .src.rpm-пакет содержит spec-файл.
Spec-файл представляет собой текстовый файл. Согласно соглашению об именовании, он должен называться по шаблону: имя_пакета.spec.
Spec-файл сообщает системе сборки, что необходимо выполнить, задавая инструкции в виде набора разделов. Эти разделы условно делятся на две части:
  • Hasher — содержит метаданные пакета;
  • Hasher — содержит инструкции по сборке и установке.
Преамбула содержит элементы метаданных, которые используются в основной части Основная часть включает команды и сценарии, выполняемые на различных этапах сборки.
Текст внутри spec-файла имеет специальный синтаксис. Его конструкции определяют порядок сборки, версию пакета, зависимости и другую информацию, которая впоследствии может быть получена из базы данных RPM.

6.2.1. Пример spec-файла

Пример spec-файла:
Name: sampleprog
Version: 1.0
Release: alt1

Summary: Sample program specfile
Summary(ru_RU.UTF-8): Пример spec-файла для программы

License: GPLv2+
Group: Development/Other
Url: http://www.altlinux.org/SampleSpecs/program

Packager: Sample Packager <sample@altlinux.org>

Source: %name-%version.tar
Patch0: %name-1.0-alt-makefile-fixes.patch

%description
This specfile is provided as sample specfile for packages with programs.
It contains most of usual tags and constructions used in such specfiles.

%description -l ru_RU.UTF-8
Этот spec-файл является примером spec-файла для пакета с программой. Он содержит
основные теги и конструкции, используемые в подобных spec-файлах.

%prep
%setup
%patch0 -p1

%build
%configure
%make_build

%install
%makeinstall_std
%find_lang %name

%files -f %name.lang
%doc AUTHORS ChangeLog NEWS README THANKS TODO contrib/ manual/
%_bindir/*
%_man1dir/*

%changelog
* Sat Sep 12 3001 Sample Packager <sample@altlinux.org> 1.0-alt1
- initial build