[Devel] Пакеты для LINUX на Etersoft
Evgeny Sinelnikov
=?iso-8859-1?q?sin_=CE=C1_etersoft=2Eru?=
Пн Апр 21 15:58:05 MSD 2008
Здравствуйте,
сегодня меня наконец-то посетила идея о корне проблемы со сборкой
пакетов. Первое, с чего стоит начать эту тему - это политика сборки
пакетов. Формально, в ALT Linux это оформлено в виде пакета
sisyphus_check. Нас эта политика приводит к противоречию, из которого
уже я не могу выйти самостоятельно. Далее я попытаюсь раскрыть суть
противоречия. Некоторые аспекты и мнение ALT Linux по этому поводу
можно найти здесь:
https://bugzilla.altlinux.org/show_bug.cgi?id=15376
Итак, с письмах о дистрибутиве я приводил ссылку на свою статью:
http://freesource.info/wiki/AltLinux/Sisyphus/SolutionProcess
В рамках этой статьи я приводил два варианта для создания своего
дистрибутива со специальными расширениями и вариант работы
непосредственно с репозиторием разработчиков:
0) пакеты в сизиф
1) новая ветка
2) расширение пакетной базы
Второй вариант, с моей точки зрения более приемлем по многим
параметром (совместная стабилизация пакетной базы на бранчах,
отсутствие необходимости держать полные зеркала).
Как в первом, так и втором случаях интересен вараинт ноль, то есть
постепенного внесения наших изменений в Сизиф. И тут возникает
основное противоречие в политиках... Оно состоит в том, что
sisyphus_check предполагает наличие домена @altlinux в именах
электронных почтовых адресов, а также alt в начале релиза всех
пакетов. Далее я попытаюсь привести свой вариант политики для нашего
дистрибутива и те противоречия, к которым я прихожу в связи с
ограничениями sisyphus_check
Политика:
1) Дистрибутив базируется на Sisyphus
2) Все пакеты, распространение которых предполагаются свободным,
вносятся в Сизиф. Для это именование пакетов формируется таким
образом, чтобы расширять пакетную базу сизифа, не пересекаясь по
именам с существующими
3) Все пакеты из Сизифа, предполагающие специальный набор настроек
форкаются в наши аналоги:
alt-license-desktop -> etersoft-license-desktop
design-bootsplash-desktop -> design-bootsplash-etersoft
design-bootloader-installer-desktop -> design-bootloader-installer-etersoft
kde-settings-desktop -> kde-settings-etersoft
design-alterator-browser-desktop -> design-alterator-browser-etersoft
altlinux-release-4.0 -> altlinux-release-etersoft ??? (etersoft-release-1.0.0)
sisyphus_check -> etersoft_check
apt-conf-sisyphus -> apt-conf-etersoft
подробнее можно посмотреть и дописать сюда:
http://bugs.etersoft.ru/show_bug.cgi?id=1679
4) Все пакеты из Сизифа, с дополнительно пересобранными исправлениями,
которые в следующем обновлении попадут в сизиф увеличивают релиз
согласно altX.eterY, где X - это текущий релиз в ALT Linux, а Y - наш
текущий релиз. При сборки новой версии указывается релиз
%new_version-alt0.eterY
5) Все пакеты из Сизифа, дополнительно пересобранные, и по каким-либо
причинам не попавшие обратно в сизиф именуются уникально, с
добаввлением суффикса *-etersoft и складываются в наших репозиториях.
При этом в пакетах добавляется Provides: исходный_пакет =
исходная_версия, для каждого подпакета, который получается из
исходного в Сизифе.
6) Если наш пакет позже переезжает обратно в Сизиф, то для обновления
наших дистрибутивов, в нём требуется выполнить Obsoletes:
исходный_пакет-etersoft <= наша_последняя_версия
Таким образом достигается возможность одновременного подключения наших
репозиториев и репозиториев ALT Linux. И отсутсвие необходимости
вручную перекладывать пакеты из сизифа или бранча в наш клон в виде
отдельной ветки. Возможность обновления из Сизифа.
Для поддержания этого хозяйства уже требуется некая инфраструктура, мы
её готовим в виде автоматического сборщика пакетов из
git-репозиториев.
Противоречия:
1) чтобы наши пакеты удовлетворяли sisyphus_check, сборщик должен быть
мэйнтейнером ALT Linux. Так получается, что в SPEC-файлах для
прохождения sisyphus_check не могут участвовать адреса отличные от
домeнов @altlinux, что означает, в свою очередь невозможность ведения
одних и тех же спеков для сизифа и LINUX на Etersoft людьми не
являющимися членами ALT Linux Team.
2) Требуется чтобы рамках внесения новых пакетов в Сизиф, чтобы
человек был из ALT Linux Team. Тогда ему потребуется адрес @altlinux
В связи с этим предлагаю решить вопрос так:
1) Все изменения, которые вносятся и собираются у нас должны проходить
некий набор проверок из пакета etersoft_check, который я сделаю по
аналогии с sisyphus_check, но для этого ещё нужно починить hasher на
предмет возможности подменять программу проверки.
2) Все собирающие пакеты в Сизиф должны пройти процесс вступления в
ALT (здесь, я очень сомневаюсь - не стоит к этому принуждать, но иначе
куча грабель, которые всё равно разгребать).
Пока для сборки пакетов в hasher'е, у которых в chagelog'е указывается
адрес @etersoft.ru у меня собран специальный вариант пакета
sisyphus_check. Следующим шагом я сделаю etersoft_check и
apt-conf-etersoft для его поддержки, а поддержки также других наших
конфликтных пакетов.
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки devel