Binary package identity change: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Очевидно, что Backports_Policy устарел. Бранечей мало того, что стало много, они ещё и потеряли…»)
 
Нет описания правки
Строка 2: Строка 2:


# специфичные для бранчей суффиксы отменяются
# специфичные для бранчей суффиксы отменяются
# для указания предпочтения пакетов из того или иного репозитория предполагается использовать механизм apt preferences,  конфигурации apt, распространяемые в дистрибутивах должны быть настроены на нужный бранч
# для указания предпочтения пакетов из того или иного репозитория предполагается использовать механизм apt preferences,  конфигурации apt, распространяемые в дистрибутивах должны быть настроены на нужный бранч
# бранч, для которого собран пакет, будет указываться в build-host
# бранч, для которого собран пакет, будет указываться в build-host
# для того, чтобы правильно работали меж-подпакетные зависимости, при сборке пакета должен генерироваться некий build-id и зависимости между подпакетами должны автоматически измениться с EVR на зависимости на этот build-id
# для того, чтобы правильно работали меж-подпакетные зависимости, при сборке пакета должен генерироваться некий build-id и зависимости между подпакетами должны автоматически измениться с EVR на зависимости на этот build-id
# таким образом, раз мы всё равно будем иметь в разных бранчах разные пакеты с одинаковым name-EVR, ничто не мешает нам разрешить это в рамках одного бранча, разрешив rebuild пакета без изменения (хотя, естественно, результат может получиться отличающимся от результата предыдущей сборки); Следует научить rpm-build в таком случае создавать в changelog бинарных пакетов псевдо-запись, сообщающую о пересборке
# таким образом, раз мы всё равно будем иметь в разных бранчах разные пакеты с одинаковым name-EVR, ничто не мешает нам разрешить это в рамках одного бранча, разрешив rebuild пакета без изменения (хотя, естественно, результат может получиться отличающимся от результата предыдущей сборки); Следует научить rpm-build в таком случае создавать в changelog бинарных пакетов псевдо-запись, сообщающую о пересборке
# копирование пакетов как таковое запрещается, только пересборка. Можно оставить для совместимости интерфейс сборочницы <tt>copy</tt>, но он будет в таком случае означать пересборку из исходного бранча в целевой.
# копирование пакетов как таковое запрещается, только пересборка. Можно оставить для совместимости интерфейс сборочницы <tt>copy</tt>, но он будет в таком случае означать пересборку из исходного бранча в целевой.
[[Категория:Branches]]
[[Категория:Branches]]

Версия от 13:18, 14 июля 2017

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