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

Dmitry V. Levin ldv на altlinux.org
Пт Ноя 20 22:51:15 MSK 2020


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. те из них, которые в результате пересборки поменялись, коммитим в репозиторий.


-- 
ldv


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