ALR-Wiki/conventions.md

31 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Общие рекомендации
Пакеты должны содержать название(я) того, что они содержат, в массивах `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.