[devel] пересборка

Anton Farygin rider на basealt.ru
Сб Ноя 21 10:21:37 MSK 2020


On 20.11.2020 22:51, Dmitry V. Levin wrote:
> On Fri, Nov 20, 2020 at 09:40:58PM +0300, Mikhail Novosyolov wrote:
>> 20.11.2020 20:52, Anton Farygin пишет:
>>> On 20.11.2020 20:47, Dmitry V. Levin wrote:
>>>> On Fri, Nov 20, 2020 at 07:24:59PM +0300, Mikhail Novosyolov wrote:
> [...]
>>>>> Отсутствие полной пересборки после бранчевания - это просто экономия времени и машинных ресурсов (вряд ли), или чем-то еще обусловлено?
>>>> Полная пересборка после бранчевания - это концептуально неправильно,
>>>> по-хорошему, пересобирать нужно всегда, когда результат пересборки
>>>> меняется, не дожидаясь бранчевания.
>>>>
>>> согласен.  не очень сложно выяснить, нужно ли пересобирать пакет.
>> Недавно в devel@ обсуждался хороший пример, почему это не совсем так: многие пакеты используют лишь заголовки из boost, не линкуясь с ним, все методы определения необходимости пересборки покажут, что пересборка не нужна, но ведь она нужна для уверенности в поддержании пакета в пересобираемом состоянии как минимум. Также могут меняться структуры данных и пр., оставляя внешние символы теми же самыми, такое тоже не отловится существующим инструментарием, гораздо надежнее пересобрать.
> Лучше всего, когда уверенность основывается на знании.
>
> Если все методы определения необходимости пересборки покажут, что
> пересборка не нужна, значит, либо методы неправильные, либо пересборка
> действительно не нужна.
>
> Например, если NT_GNU_BUILD_ID у файла после пересборки с другим boost
> не поменялся, значит, его пересобирать не надо.
>
> Грубо говоря, алгоритм может быть такой:
> 1. определяем все пакеты, у которых поменялась сборочная среда;
> 2. пересобираем все эти пакеты;
> 3. те из них, которые в результате пересборки поменялись, коммитим в репозиторий.

Ла, я ровно это и имел в виду.

Конечно, на практике скорее всего будут случаи, когда мы не сможем 
выявить изменения в результате пересборки, но это будет скорее 
исключением чем правило.




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