У них есть патчи, примененные к дереву исходного кода, которые адаптируют местоположения.
Доступно достаточно «стандартов», чтобы каждый дистрибутив мог выбирать на основании (личных) предпочтений и / или исторических практик. Существует редко решение, которое имеет только преимущества. Это иногда раздражает / сбивает с толку, но согласованность внутри одного дистрибутива является наиболее важной целью: это приводит к меньшему беспорядку и более легкому гаданию, что может быть для программы 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), вы увидите, что вы комбинируете оригинальный оригинальный архив пакета с одним или несколькими исправлениями, которые будут применены перед настройкой / компиляцией ,