Unmets Creation Policy: различия между версиями
(Новая страница: «{{span|font-size: 180%|}} {{DraftPolicy |responsible=Igor Vlasenko }} ==Unmets Creation Policy. == === Вводная часть === Unmets (unmet dependencies) -...») |
|||
(не показаны 3 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
{{ | {{Policy|since_branch=5.0|responsible=Игорь Власенко}} | ||
|responsible= | |||
}} | |||
=== Срок действия полиси. === | |||
Данное полиси временное, устареет при появлении полноценных "карманов". | |||
=== Вводная часть === | === Вводная часть === | ||
Строка 32: | Строка 30: | ||
Фиктивные Provides необходимо выделять в отдельный исходный пакет. | Фиктивные Provides необходимо выделять в отдельный исходный пакет. | ||
Название пакета должно иметь вид | Название пакета должно иметь вид unmet-dependency-<пакет, породивший unments>. | ||
Обоснование: легкая фильтрация таких пакетов. | Обоснование: легкая фильтрация таких пакетов. | ||
Рекомендуется | Рекомендуется ставить в пакете AutoReqProv: noauto, | ||
все фиктивные Provides: прописывать вручную. | |||
<pre> | <pre> | ||
AutoReqProv: noauto | AutoReqProv: noauto | ||
</pre> | </pre> | ||
Обоснование: во избежание. | |||
Обоснование: во избежание | |||
=== Требования к сборочной системе === | === Требования к сборочной системе === |
Текущая версия от 14:56, 11 октября 2022
Срок действия полиси.
Данное полиси временное, устареет при появлении полноценных "карманов".
Вводная часть
Unmets (unmet dependencies) -- зависимости пакета, которые не могут быть разрешены в существующем репозитарии.
В Сизифе не рекомендуется создавать unmet dependencies. Рекомендуется переводить транзакциями репозитарий с одного устойчивого состояния в другое. К сожалению, пока (до появления надлежащей реализации карманов?) некоторые транзакции и workflows сборочницей не поддерживаются. В частности, не поддерживаются транзакции, включающие в себя несколько версий одного и того же пакета (bootstrap-сборка). Получается противоречие: сборочница не позволяет создать unmets, в то время как для того, чтобы обновить пакет, unmets необходимо создать.
Это противоречие можно обойти, спрятав unmets под ковер: создав пакет-заглушку, который обманывает сборочную систему, фиктивно предоставляя отсутствующие Provides:. Однако наличие таких пакетов в Сизифе создает другие проблемы, устранение которых является целью данного полиси.
Требования к пакетам, прячущим unmets
Реальные пакеты не должны иметь фиктивных (закрывающих unmets) Provides. Фиктивные Provides необходимо выделять в отдельный исходный пакет.
Название пакета должно иметь вид unmet-dependency-<пакет, породивший unments>.
Обоснование: легкая фильтрация таких пакетов.
Рекомендуется ставить в пакете AutoReqProv: noauto, все фиктивные Provides: прописывать вручную.
AutoReqProv: noauto
Обоснование: во избежание.
Требования к сборочной системе
желательно иметь возможность принудительное удалять пакеты, несмотря на возникающие unmets.
В крайнем случае, при удалении пакета вида unment-dependency-* проверка на возникающие unmets не должна проводиться.