Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.
Как делать пакеты Xorg
Xorg
X.Org окончательно отпочковался от XFree86, когда у XFree86 сменилась лицензия (стала несовместимой с Debian), поэтому в тексте программ и в названиях пакетов часто встречается xfree86 или xf86.
X.org, начиная с выпуска 7.1, перестал быть монолитным. Теперь разработка и выпуск каждой компоненты X.Org ведётся отдельно, а выпуск «всего X.org» собирается из стабильных версий компонент.
Так? Как правило, выпуск «всего X.Org» привязан к выпуску его главной компоненты — X-сервера.
Префикс xorg-x11- некоторых пакетов — не правило, а исключение, нужное для обратной совместимости.
Состав метапакетов (xorg-x11, xorg-x11-libs, xorg-x11-apps и т. п.) диктуется только здравым смыслом и нигде не отлит в бронзе. Это попытка воссоздать «монолит» старого X.Org, убрав оттуда всё лишнее.
В метапакеты входит не только то, что собрано из компонент самого X.Org. Нынешний состав метапакетов описан в отдельной странице: !/Xorg Content .
Сборка пакетов X.Org для Сизифа
Секция %build спек-файла может выглядеть так (autoreconf нужен, как минимум, для того, чтобы man-ы стали называться .1, а не .1x):
Не стоит ставить пакет xorg-x11-devel в сборочную зависимость: как видно из !/Xorg Content, этот пакет вытягивает все мыслимые средства разработки X.Org
xorg-x11-devel используется вместе в buildreq при сборке пакета для определения настоящих зависимостей примерно так (в примерах используется GEAR, но алгоритм универсальный):
Разворачиваем исходник в «голой» системе:
Доставляем туда xorg-x11-devel и rpm-utils:
Выполняем buildreq и забираем получившийся спек:
Buildreq отчего-то не понимает, что для autoreconf нужен xorg-x11-util-macros; этот пакет надо добавить в сборочные зависимости. Если в них появятся imake и xorg-cf-files, это ещё ничего не значит: autoreconf мог просто проверить, есть ли они, а builreq этот факт отметить. Нормальным компонентам X.Org они уже не нужны: вместо imake используются autotools, поэтому рекомендуется удалить imake и xorg-cf-files из сборочных зависимостей и повторить сборку.
Пакеты, использующие X.Org
Пакеты, использующие библиотеки X.Org, собираются примерно тем же путём, что и сами компоненты X.Org.
Эти пакеты могут захотеть использовать imake/xmkmf
Бинарники для X.Org7+ ставятся в %_bindir, их библиотеки — в %_libdir, конфиги — в %_x11sysconfdir, app-defaults — в %_x11appconfdir. Вопрос: не стоит ли всё-таки использовать _x11bindir, _x11libdir и .т .п, хоть они теперь и совпадают с %_bindr, %_libdir и т. п.?
В каталог /usr/X11R6 устанавливается только то, что относится к X11 предыдущей, шестой версии. То есть, фактически, ничего.