У них есть патчи, примененные к дереву исходного кода, которые адаптируют местоположения.
Доступно достаточно «стандартов», чтобы каждый дистрибутив мог выбирать на основании (личных) предпочтений и / или исторических практик. Существует редко решение, которое имеет только преимущества. Это иногда раздражает / сбивает с толку, но согласованность внутри одного дистрибутива является наиболее важной целью: это приводит к меньшему беспорядку и более легкому гаданию, что может быть для программы Y, если вы уже знаете, где аналогичные вещи (например, файлы настройки / конфигурации) для программы ИКС.
Пример применения патча
Мой пакет на python ruamel.yaml
доступен в Debian Sid. Раньше это зависело от ruamel.base
, и пользователи, которые устанавливали через PyPI, могли все еще иметь более старые несовместимые версии ruamel.base
установленных. Использование setup.py
/ PyPI не является реальным управлением пакетами, поэтому вы не можете удалить пакет, ранее установленный через зависимости. Я решил проблему для пользователей PyPI, сделав более новую версию, ruamel.base
которая устранила проблемы, связанные со старыми ruamel.base
пакетами, и сделала ruamel.yaml
зависимость от этой более новой версии.
Для Sid это не проблема: более старые версии ruamel.base
не были установлены (или могли быть удалены через управление пакетами). Поэтому они применяют патч , который вы можете найти на ruamel.yaml
странице информации для Сида , который удаляет зависимость ruamel.yaml
от ruamel.base
.
Другие дистрибутивы имеют аналогичные настройки. Например, если вы посмотрите на спецификации создания исходного файла RPM (например, для RedHat / CentOS / SuSE), вы увидите, что вы комбинируете оригинальный оригинальный архив пакета с одним или несколькими исправлениями, которые будут применены перед настройкой / компиляцией ,