Binary package identity change: различия между версиями
(Новая страница: «Очевидно, что 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]] |
Версия от 16:18, 14 июля 2017
Очевидно, что Backports_Policy устарел. Бранечей мало того, что стало много, они ещё и потеряли очевидный порядок "старшинства". Для поддержки сборок из одиних и тех же исходников в разные бранчи возникли конструкции вроде %ubt, отрицательно влияющие на воспроизводимость сборки. В то же время, копирование пакетов также регулярно приводит к проблемам как в пересобираемости, так и в работоспособности скопированного.
- специфичные для бранчей суффиксы отменяются
- для указания предпочтения пакетов из того или иного репозитория предполагается использовать механизм apt preferences, конфигурации apt, распространяемые в дистрибутивах должны быть настроены на нужный бранч
- бранч, для которого собран пакет, будет указываться в build-host
- для того, чтобы правильно работали меж-подпакетные зависимости, при сборке пакета должен генерироваться некий build-id и зависимости между подпакетами должны автоматически измениться с EVR на зависимости на этот build-id
- таким образом, раз мы всё равно будем иметь в разных бранчах разные пакеты с одинаковым name-EVR, ничто не мешает нам разрешить это в рамках одного бранча, разрешив rebuild пакета без изменения (хотя, естественно, результат может получиться отличающимся от результата предыдущей сборки); Следует научить rpm-build в таком случае создавать в changelog бинарных пакетов псевдо-запись, сообщающую о пересборке
- копирование пакетов как таковое запрещается, только пересборка. Можно оставить для совместимости интерфейс сборочницы copy, но он будет в таком случае означать пересборку из исходного бранча в целевой.