SampleSpecs: различия между версиями

Материал из ALT Linux Wiki
м (убрал маркер fs.i)
м (уточнения про Group: и переводы)
Строка 1: Строка 1:
Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если вы не знаете, с чего начать упаковку пакета -- попробуйте взять образец отсюда. Также полезно посмотреть готовые спеки для пакетов в [http://packages.altlinux.org/ru packages.altlinux.org] (вкладка «Спек» любого пакета).
Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если не знаете, с чего начать упаковку пакета — попробуйте взять образец отсюда. Также полезно посмотреть готовые спеки для пакетов в [http://packages.altlinux.org/ru packages.altlinux.org] (вкладка «Спек» похожего пакета).
 
Обратите внимание на то, что метаданные заполняются в ASCII, пример переводов см. [[SampleSpecs/program|здесь]]; значение <tt>Group:</tt> — одна из строк файла {{path|/usr/lib/rpm/GROUPS}}.


=== Примеры spec-файлов ===
=== Примеры spec-файлов ===
Строка 30: Строка 32:


=== условное переопределение макросов ===
=== условное переопределение макросов ===
(куда бы это воткнуть?  пока лучше не придумал)
''(куда бы это воткнуть?  пока лучше не придумал)''


Иногда бывает полезно определить макрос в случае, если он ещё не определён (например, для более старого сборочного окружения).  На примере <tt>%_desktopdir</tt>:
Иногда бывает полезно определить макрос в случае, если он ещё не определён (например, для более старого сборочного окружения).  На примере <tt>%_desktopdir</tt>:

Версия от 19:50, 16 июня 2015

Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если не знаете, с чего начать упаковку пакета — попробуйте взять образец отсюда. Также полезно посмотреть готовые спеки для пакетов в packages.altlinux.org (вкладка «Спек» похожего пакета).

Обратите внимание на то, что метаданные заполняются в ASCII, пример переводов см. здесь; значение Group: — одна из строк файла /usr/lib/rpm/GROUPS.

Примеры spec-файлов

Для получения готового спека модуля perl рекомендуется использовать программу cpan2rpm из одноимённого пакета, которой указывается название модуля perl, и она формирует готовый спек, со всеми зависимостями. Не забывайте проверять description и включить страницы man и файлы README и Changelog, если они имеются, в секцию %files.

Для получения готового спека модуля pear можно использовать команду pear make-rpm-spec название_пакета.

Что еще: перловый/питоновый/php модуль/pam модуль/сервис, KDE-шная прога со специфичными хаками

Примеры фрагментов spec-файлов

условное переопределение макросов

(куда бы это воткнуть? пока лучше не придумал)

Иногда бывает полезно определить макрос в случае, если он ещё не определён (например, для более старого сборочного окружения). На примере %_desktopdir:

%{?!_desktopdir:%define _desktopdir %_datadir/applications}

(другим вариантом в случае старого сборочного окружения является добавление BuildPreReq: rpm-build-compat, который автоматически добавляется при портировании спеков с помощью rpmbph)