Использование альтернатив
Создаём файл с описанием предоставляемой альтернативы в каталог /etc/alternatives/packages.d/ примерно так:
Не забываем записать
И pkg-config
Почему в pkg-config отключена рекурсия (особенность сборки в ALT). Если программа не линкуется с какой-либо библиотекой, то весьма вероятно, что это ошибка в сборке библиотеки – библиотека использует функции из других библиотек, но с ними не слинкована. Ошибка эта практически везде, кроме как в ALT Linux прикрыта стандартным поведением pkg-config.
В качестве заглушки можно вписать MIME-типы
Файлы информации о MIME-типах.
1. Если в пакете есть файлы /usr/share/mime/packages/*.xml, то при его установке, удалении, обновлении необходимо обновить и кеш базы mime-типов с использованием в spec-файле макросов
То есть в спеке должны быть секции:
И указаны зависимости: 2. Файлы из каталога %_datadir/mime-info/* не используется GNOME-программами, которые получают mime-информацию из пакета shared-mime-info. Тем не менее эти файлы используются рядом других программ (например, KDE), так что их тоже надо паковать. При этом пакет не получает никаких дополнительных зависимостей. Файлы schemas
При сборке в пакете установку schemas надо отключать:
это рекомендуется вместо конструкции В спеке должны быть секции:
Образец оформления секции %files:
В зависимостях пакета должно быть: Файлы scrollkeeper
Нельзя упаковывать каталог и файлы из %_localstatedir/scrollkeeper, если они получаются при сборке, их надо удалить командой
В спеке должны быть секции:
В зависимостях пакета должно быть:
Если %make_install вызывает scrollkeeper-update и сборка прерывается по ошибке – перед %make_install Файлы локализации%find_lang вызывается в секции %install
Для программ GNOME указывается: При этом find-lang кроме файлов переводов в %_datadir/locale ищет файлы справки Гном в %_datadir/gnome/help и .omf файлы в %_datadir/omf
Поэтому не нужно указывать в секции %files каталоги с locale (переводами), а также
Для программ KDE указывается:
Далее секция %files оформляется следующим образом: %find_lang, являющийся скриптом, имеет и другие параметры, делающие его более гибким. Файлы менюПосле перемещения в alt-docs необходимо совместить данный раздел с файлом ftp://ftp.altlinux.org/pub/people/zerg/menu/menu-packaging-howto-current.txt
Файл меню либо создаётся непосредственно заданием его содержимого, либо формируется. Перевод строк, содержащихся в меню, содержится в пакете menu. Формат файла меню частично описан ((http://lists.altlinux.ru/pipermail/community/2004-October/133634.html здесь). На основе файла меню, устанавливающегося в /usr/lib/menu, генерируются меню для всех оконных менеджеров, установленных
Пример того, как обычно в спеке создают файл меню:
*РЕКОМЕНДУЕМЫЙ СПОСОБ:*
При использовании этого скрипта в пакете
Каталог для файлов меню обычно создают командой:
Созданный файл меню устанавливается в каталог %_menudir. При установке или удалении пакета меню должно переформироваться,
В секции %files: Пережиток KDE-шного прошлого %_datadir/applnk тоже надо паковать, если имеется. При этом не появляется дополнительных зависимостей. Сейчас *.desktop и menu-файлы существуют параллельно. %_menudir обязательно, а %_datadir/applications/*.desktop – нет. Когда-нибудь в далеком будущем бОльшая часть оконных менеджеров будет уметь самостоятельно читать %_datadir/applications. Тогда пакет menu станет не нужен. Статичный вариант меню хранится в %_datadir/applications, а генерируемый из menu-файлов в – %_datadir/application-alt KDE не особо при чем, %_datadir/applications и %_menudir – это общее для всех. После сборки нового пакета и его установке обязательно проверяйте, что программа появилась в меню на своём месте и имеет нужную пиктограмму. Обновление базы обрабатываемых форматов
В файлах desktop кроме названия программы, способа её запуска и комментария, обычно также указаны сведения о том, какие Подробнее см. http://www.freedesktop.org/Standards/desktop-entry-spec
Нижеописанное нужно только в случае если в %_datadir/applications/*.desktop есть
В спеке должны быть секции:
В пакете должна быть указана зависимость: Используется вне зависимости от типа программы в пакете, и всегда должно быть указано. Файлы bonoboПока ничего не знаю кроме того, что в %files пишется %_libdir/bonobo/servers/* Статические библиотеки
Общей тенденцией является условная упаковка статических библиотек. Упаковываются они в пакет с суффиксом -devel-static.
При конфигурировании указывается
При указании пакетов на упаковку
Тогда чтобы получить lib%name-devel-static, нужно пересобрать пакет с `--enable static'. Установка lib%name-devel-static автоматически ставит Установка файловВ секции %install для установки файлов используется несколько способов
1.
2. Это для программ, которые не пытаются запоминать пути, куда их устанавливают, при установке, а делают это при configure. 3. Иной способ. Возможно, ручная установка с помощью %__install Дополнительно
Будьте особенно внимательны при написании скриптов pre/post и прочих – используемые там пакеты должны быть прописаны в Requires. Примеры использованияСмотрите в Сизифе пакеты ggv2, rythmbox, eog2, gthumb, totem, conglomerate, inkscape Авторы
Yuri N. Sedunov <aris@altlinux.ru>, 2004 09.11.2004, 21.01.2005 |  
|