Технический комитет Debian (CTTE) одобрил поставку Kubernetes в форме монолитного пакета, включающего зависимости. Kubernetes требует для своей работы большого числа библиотек на языке Go. В соответствии с правилами Debian каждая библиотека должна сопровождаться в отдельном пакете, что в случае единичного использования нецелесообразно и существенно увеличивает трудозатраты. Кроме того, для крупных проектов наблюдается привязка к версиям библиотек, с которыми гарантируется стабильная работа. Сопровождающий Kubernetes не стал следовать правилам и встроил в пакет около 200 зависимостей на языке Go.
После рассмотрения данного нарушения, технический комитет Debian сделал для Kubernetes исключение и позволил поставлять его со встроенными зависимостями (вместо разделения на отдельные библиотеки, связываемые через механизм зависимостей dpkg, все исходные тексты будут загружаться из набора, предоставляемого проектом Kubernetes и помещаться в репозиторий Debian в один заход).
По аналогии с Firefox пакет с Kubernetes отнесён у категории специальных, которые из-за большого размера и сложности отличаются от других пакетов и могут обрабатываться отдельно. Также отмечено, что у разработчиков Kubernetes значительно больше ресурсов для поддержания набора в актуальном состоянии, чем у сопровождающих в Debian. Разрешение включения зависимостей оценено как единственный возможный путь поставки Kubernetes для Debian.
Ранее интеграция зависимостей также была одобрена проектом Fedora для проектов на базе платформы Node.js. Подробно проблема с интеграцией зависимостей рассматривалась в обзоре, опубликованном на прошлой неделе.