[devel] Официальный список "пакет <-> git".

Evgeny Sinelnikov =?iso-8859-1?q?sin_=CE=C1_altlinux=2Eru?=
Чт Июн 26 20:11:13 MSD 2008


26 июня 2008 г. 19:20 пользователь Michael Shigorin <mike на osdn.org.ua> написал:
> On Thu, Jun 26, 2008 at 05:29:40PM +0400, Wartan Hachaturow wrote:
>> Эмм. Если ты дашь людям возможность иметь двадцать
>> репозиториев, и собирать попеременно из одного и из другого,
>> они так и будут делать. Я хочу знать, куда мне идти делать git
>> clone, не глядя в логи пакетов, и быть уверенным, что я получу
>> последнее состояние, которое потом станет следующей версией. Не
>> два, не три, не двадцать гитов, не гадать -- "а где же
>> maintainer работает сейчас.." -- а просто взять и
>> отклонировать.
>
> Боюсь, ты хочешь невозможного.
>

Тем не менее это возможно, а в ряде случаев просто необходимо.
Необходимо, чтобы можно было однозначно указать скриптовому роботу,
который не получает писем и не может проводить какой-либо анализ о
том, кто же теперь пакет собирает, откуда же пересобрать новую версию
пакета.

Сначала я это придумал так, чтобы было взаимооднозначное соответствие
между именами пользователей и именами репозитоиев, из которых
собираются их пакеты. Тогда поиск проводится вот по такому шаблону:
        git = git.alt:/people/${packager}/packages/${name}.git

В рамках полиси один пакет - один ответственный, и имя пакета равно
имени репозиория, такая схема даже способна работать.

В принципе, никто не мешает после удачной сборки делать pull в
отдельный набор репозиториев - тот самый аналог archive, где будет
находится не последний по дате коммит, собираемого пакета, а коммит
последней сборки этого пакета в Сизифе.

> Проблема в том, что "надёжные" данные -- это последний заливавший
> в течение некоторого промежутка времени (в зависимости от пакета,
> количества ACL и количества реально занимающихся пакетом в данное
> время людей).
>
> Если на прошлой неделе кто-нить занимался работой по пакету
> (на залитие которого права нет), которая будет смержена на этой
> неделе добравшимся комайнтейнером и, возможно, после окончания
> ещё каких работ поправлена и залита другим комайнтейнером
> (посмотри, например, ченжлог ppp) -- какой именно ответ ожидается
> от технического средства, которое не может оценивать ситуацию?
>
> Возможно, чуточку бы помогло добавить к
> http://sisyphus.ru/srpm/%name/git информацию из ACL
> -- например, выделение жирным тех, кто может залить,
> и звёздочкой -- того, кто собирал опубликованный пакет
> (если в этом списке он есть).
>

Я думаю, что сделать после удачной сборки что-то вроде:
git.altlinux.org/last/%name.git
Это именно то, что решило бы поставленный вопрос.

>> > Уже сейчас по lastchange пакета однозначно вычисляется тот,
>> > кто отправил пакет на сборку.
>> Если на сборку пакет отправляет то один, то другой -- ты
>> предлагаешь мне следить за обоими гитами?
>
> Ты-то что предлагаешь?
>

Ну, если я правильно понял, то именно то, что я описал выше.

>> > Ты забыл рассказать, в чём специфика твоей задачи и,
>> > соответственно, что ещё нужно для работы.
>> Всё просто. Я хочу точно знать, что мне патчить для нужд моего
>> порта (в смысле, содержимое какого гита), и что отслеживать.
>
> Про почтовую подписку в курсе?
> http://freesource.info/wiki/AltLinux/Sisyphus/devel/git#h5572-6
>

Скриптам рассылка не поможет...

>> В примере с ядром -- я, например, не уверен, что послезавтра
>> ядра не станут собираться из гитов vsu@ опять, а через неделю
>> их не начнёт собирать отдел маркетинга.
>
> Кому-нить сдать свой склад хрустальных шаров и опубликовать
> скриптовое API? :)
>
> Ну или подумай и уточни в пределах реального, что ли.
>

Я тоже не вижу, что ничего такого не реального сделать pull в
отдельный набор репозиториев, после удачной сборки. Хотя примерно
ощушается ряд проблем по переименованию и удалению пакетов, но
всё-таки это наверное решаемые вопросы.

Тут хотелось бы услышать аргументы против и варианты автоматического
поиска последнего репозитория пакета по имени этого пакета.

-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel