[devel] sisyphus-unmets: "смягчить" работу над shared tasks (was: collaboration patterns)
Michael Shigorin
mike на osdn.org.ua
Сб Май 30 18:04:52 MSD 2009
On Fri, Apr 24, 2009 at 09:43:58PM +0400, Alexey Tourbin wrote:
> > > Yes, you have to add that another package to your fpc task.
> > > If you have ACL permissions to build that another package,
> > > this is remarkably simple. :) And if you don't, this is
> > > still possible.
> > Да, наверно сейчас, когда такой пакет всего один, это будет
> > просто. А если завтра их будет больше одного? А каждый
> > мантейнер личность и к каждому найти подход...
> Okay, let's discuss again what I call "collaboration patterns".
[...]
> Are there any better possibilities? I believe we need to make
> rebuilding packages for new dependencies easily possible. And
> otherwise we face major problems.
Yup.
Вот что ещё подумалось: а можно ли обломавшиеся по причине
создания новых анметов задания сваливать в некую общую кучу
sisyphus-unmets или там sisyphus-next, в рамках которой не
требовалось бы отдельных действий по координации для исправления?
Это бы могло снизить потери времени на это самое взаимодействие
(что бывает особенно важно тогда, когда у разных людей сильно
разъезжаются окна времени для работы над сизифом) и вместе с тем
быть семантически ближе к тому, как публиковал сизиф ldv@,
что бывало менее категоричным, нежели текущая схема.
Возможность реализации IMHO зависит от того, насколько получается
предположить возможность исправления целостности получаемого
репозитория новоприбывшими пакетами -- примерно так:
- залил новые A и B;
- A собрался/проверился нормально и пошёл в Sisyphus;
- B сломал по установочным зависимостям пакеты C и D
и потому был отправлен в sisyphus-unmets;
- майнтейнер C забросил новую сборку в git.alt или incoming;
- её пересборка в окружении sisyphus-unmets показала
уменьшение количества анметов при транзакции
=> пакет определён в sisyphus-unmets;
- майнтейнер D тоже забросил сборку, но она не уменьшила
количества анметов в рамках sisyphus-unmets, при этом
пересборка на sisyphus показала неувеличение анметов
=> пакет определён в sisyphus;
- когда все порождённые B анметы "погашены" определёнными
в sisyphus-unmets пакетами, B и пакеты, скомпенсировавшие
именно им созданные анметами, отправляются на пересборку
в Sisyphus (и при прохождении перекладываются туда).
Налицо существенные сомнения в "сходимости ряда" анметов таким
образом в разумное время, чтобы полученную "кучу" можно было
целиком перемещать в Sisyphus: скорее всего, куча будет
распухать со временем и блокировать возможность перекладывания
в сизиф статистически постоянным наличием/созданием анметов.
_Возможно_, от этого бы помогло установление некоего таймаута
(скажем, в неделю) и напускание stmpclean.
А ещё судьба пакета C может быть неожиданной для майнтейнера,
который и не собирался как-то особенно исправлять судьбу пакета B
(даже быть не в курсе), а просто намеревался увидеть новую сборку
пакета C в сизифе.
---
Предложение не претендует на реализуемость, но если вдруг
получится сделать так, чтобы простые вещи (вроде исправления
строго прибитых по V/VR зависимых пакетов пересборкой) делались
если не сами, то хотя бы просто и без отдельной синхронизации
людей -- то это бы здорово сэкономило времени и нервов на
полезную, а не формальную деятельность.
Получилось же сделать task add srpm, за что отдельное спасибо.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Devel