[devel] mass rebuilds
Anton Farygin
rider на basealt.ru
Сб Авг 29 08:08:09 MSK 2020
On 29.08.2020 00:47, Dmitry V. Levin wrote:
> On Fri, Aug 28, 2020 at 11:23:00PM +0300, Anton Farygin wrote:
>> On 28.08.2020 19:46, Dmitry V. Levin wrote:
>>> On Fri, Aug 28, 2020 at 09:58:36AM +0300, Anton Farygin wrote:
>>>> On 28.08.2020 09:25, Andrey Savchenko wrote:
>>>>> On Fri, 28 Aug 2020 08:09:24 +0300 Anton Farygin wrote:
>>>>>> On 28.08.2020 03:23, Dmitry V. Levin wrote:
>>>>>>> On Thu, Aug 27, 2020 at 12:17:34PM +0300, Michael Shigorin wrote:
>>>>>>>> (осмысленность такого вообще и конкретно у нас --
>>>>>>>> отдельный интересный вопрос, который когда-то в ключе
>>>>>>>> (не)использования результатов тестовых пересборок поднимал
>>>>>>>> led@; но сейчас только сошлюсь на этот факт).
>>>>>>> Я думаю, что мы хотим коммитить такие пересобранные пакеты,
>>>>>>> которые в результате пересборки меняются значимым образом.
>>>>>>>
>>>>>>> Например, при смене мажорной версии gcc имеет смысл пересобрать
>>>>>>> и закоммитить то, что компилируется новой версией gcc.
>>>>>>>
>>>>>> Это отличная идея. Можно очень просто вычислить, какие пакеты и кому
>>>>>> нужны для сборки.
>>>>> Мы с Димой и коллегами обсуждали этот вопрос, когда мне нужен был
>>>>> инструмент для построения графа как сборочных, так и установочных
>>>>> зависимостей. Оказалось, что в общем случае это вычислить нельзя,
>>>>> хотя в большинстве случаев возможно.
>>>>>
>>>> А в каких случаях не получается вычислить ?
>>> Ну а как бы ты предложил их вычислить?
>> Пройтись по графу и подсчитать.
>>
>> Вот попытка это сделать:
>> curl -s -k "https://repodb.basealt.space/what_depends_src?task=250722"|jq
>>
>> Считает граф пакетов, которые по сборке и рантайм зависят от пакетов из
>> задания 250722 и сортирует их в порядке пересборки.
> А как ты определяешь сборочные зависимости?
Выбираю зависимости (исходных если интересна только сборка) пакетов, для
которых есть provides у бинарных пакетов из задания. Это если просто. на
самом деле там ещё учитывается глубина поиска, т.е. - можно рекурсивно
уйти вглубь (параметр deep=<1,2,3>.
Но больше 3-х уже не успевает в лимит 30 секунд.
Подробная информация о списке рассылки Devel