Binary package identity change

Материал из ALT Linux Wiki

Очевидно, что Backports_Policy устарел. Бранечей мало того, что стало много, они ещё и потеряли очевидный порядок "старшинства". Для поддержки сборок из одиних и тех же исходников в разные бранчи возникли конструкции вроде %ubt, отрицательно влияющие на воспроизводимость сборки. В то же время, копирование пакетов также регулярно приводит к проблемам как в пересобираемости, так и в работоспособности скопированного.

  1. специфичные для бранчей суффиксы отменяются
  2. для указания предпочтения пакетов из того или иного репозитория предполагается использовать механизм apt preferences, конфигурации apt, распространяемые в дистрибутивах должны быть настроены на нужный бранч
  3. бранч, для которого собран пакет, будет указываться в build-host
  4. для того, чтобы правильно работали меж-подпакетные зависимости, при сборке пакета должен генерироваться некий build-id и зависимости между подпакетами должны автоматически измениться с EVR на зависимости на этот build-id
  5. таким образом, раз мы всё равно будем иметь в разных бранчах разные пакеты с одинаковым name-EVR, ничто не мешает нам разрешить это в рамках одного бранча, разрешив rebuild пакета без изменения (хотя, естественно, результат может получиться отличающимся от результата предыдущей сборки); Следует научить rpm-build в таком случае создавать в changelog бинарных пакетов псевдо-запись, сообщающую о пересборке
  6. копирование пакетов как таковое запрещается, только пересборка. Можно оставить для совместимости интерфейс сборочницы copy, но он будет в таком случае означать пересборку из исходного бранча в целевой.