# Общие рекомендации Пакеты должны содержать название(я) того, что они содержат, в массивах `provides` и `conflicts`. Таким образом, пользователи могут устанавливать их, не зная полного названия пакета. Например, существуют два пакета `admc` для ADMC: admc и admc-git. Оба из них имеют массивы `provides` и `conflicts`, указывающие на две команды, которые они устанавливают. Это означает, что если пользователь хочет установить *ADMC*, ему просто нужно ввести `alr in admc`, и ALR предложит ему выбрать, какой из них он хочет установить. ## Бинарные пакеты Пакеты, которые устанавливают загруженные и установленные предварительно скомпилированные бинарные файлы, должны иметь суффикс `-bin`. ## Пакеты Git Пакеты, которые собирают и устанавливают программы из исходного кода, клонируемого непосредственно из Git, должны иметь суффикс `-git`. Версии этих пакетов должны состоять из количества ревизий, за которым следует текущая ревизия, разделенные точкой. Например: `183.80187b0`. Обратите внимание, что в отличие от *AUR*, в начале нет `r`. Это связано с тем, что некоторые менеджеры пакетов отказываются устанавливать пакеты, номера версий которых не начинаются с цифры. Этот номер версии можно получить с помощью следующей команды: ```sh printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" ``` Функция [version()](build-scripts.md#version) для таких пакетов должна использовать предоставленную ALR функцию [git-version](build-scripts.md#git-version), следующим образом: ```sh version() { cd "$srcdir/$name" git-version } ``` Это использует встроенную реализацию Git от alr, что гарантирует, что пользователю не нужно устанавливать Git на свою систему для установки пакетов `-git`. ## Прочие пакеты Пакеты, которые загружают исходники для конкретной версии программы, не должны иметь никаких суффиксов, даже если эти исходники загружаются из Git.