SampleSpecs: различия между версиями
(Import from freesource.info) |
(Ссылка на готовые спеки на sisyphus.ru) |
||
Строка 2: | Строка 2: | ||
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/SampleSpecs}} | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/SampleSpecs}} | ||
Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если вы не знаете, с чего начать упаковку пакета -- попробуйте взять образец отсюда. | Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если вы не знаете, с чего начать упаковку пакета -- попробуйте взять образец отсюда. Также полезно посмотреть готовые спеки для пакетов в [http://sisyphus.ru/ sisyphus.ru] (вкладка «Спек» любого пакета). | ||
=== Примеры spec-файлов === | === Примеры spec-файлов === |
Версия от 11:24, 25 декабря 2008
Предлагаем вашему вниманию примеры спек-файлов для некоторых типичных пакетов RPM. Если вы не знаете, с чего начать упаковку пакета -- попробуйте взять образец отсюда. Также полезно посмотреть готовые спеки для пакетов в sisyphus.ru (вкладка «Спек» любого пакета).
Примеры spec-файлов
- пустой спек
- программа (на autotools)
- программа (на cmake)
- библиотека
- модуль ядра
- kernel-source для модуля ядра
- java библиотека
- плагин для Vim
- модуль для Python
- модуль для PEAR
- библиотека для GNOME
- программа для GNOME
Для получения готового спека модуля perl рекомендуется использовать программу cpan2rpm из одноимённого пакета, которой указывается название модуля perl, и она формирует готовый спек, со всеми зависимостями. Не забывайте проверять description и включить страницы man и файлы README и Changelog, если они имеются, в секцию %files.
Для получения готового спека модуля pear можно использовать команду pear make-rpm-spec название_пакета.
Что еще: перловый/питоновый/php модуль/pam модуль/сервис, KDE-шная прога со специфичными хаками, qt-прожка с выставлением QTDIR и запуском qmake
условное переопределение макросов
(куда бы это воткнуть? пока лучше не придумал)
Иногда бывает полезно определить макрос в случае, если он ещё не определён (например, для более старого сборочного окружения). На примере %_desktopdir:
%{?!_desktopdir:%define _desktopdir %_datadir/applications}
(другим вариантом в случае старого сборочного окружения является добавление BuildPreReq: rpm-build-compat, который автоматически добавляется при портировании спеков с помощью rpmbph)