# Calculate append=skip

В этой директории находятся шаблоны для новых утилит Calculate, разработанных
для дистрибутивов Calculate Linux.

Шаблоны - универсальное средство настройки системы и используются на всех
этапах, начиная от сборки дистрибутива и заканчивая настройкой рабочего стола
пользователя.

Шаблоны представляют собой файлы и директории. Свойства файлов описываются
параметрами в первой строке заголовка, свойства директорий описываются в
заголовке служебного файла '.calculate_directory', размещённого внутри
директории. Файл, который вы читаете - тоже шаблон, но он не используется для
настройки системы, т.к. в заголовке своём содержит параметр 'append' со
значением 'skip', указывающий утилитам пропускать его. Служебная строка
заголовка размещается в начале файла и начинается со слова '# Calculate'.

Другие часто встречаемые параметры заголовка:
* env=<модуль> - использование набора переменных указанного модуля
* merge=пакет[,пакет2, ...] - вызов события настройки пакета

Помимо параметров, заголовок шаблона может включать условные выражения. В
выражениях могут участвовать переменные и функции утилит. Переменные состоят
из двух и более слов, разделённых символом подчеркивания. Первое слово
обозначает назначение переменной, второе, как правило указывает на пакет
утилит, третье на действие, последнее слово может указывать на тип значения.
Пример:

os_install_lvm_set - система использует LVM разделы. Здесь 'set' в имени
переменной указывает на то, что переменная возвращает значение 'on' или
'off'.

Список переменных можно посмотреть при помощи утилиты
'cl-core-variables-show'.

В отличие от переменных, функции имеют аргументы. Пример часто встречаемых
функций:
* pkg(категория/пакет[:слот]) - функция возвращает версию установленного
пакета.
* merge([пакет]) - функция возвращает '1' или '' в зависимости от
необходимости настройки пакета. Если аргумент у функции пропущен, имя пакета
берётся из имени шаблона. В случае выполнения настройки всей системы, функция
всегда будет будет возвращать положительный результат. Не путайте функцию
merge() с параметром заголовка, см. выше.

В настоящее время используются несколько версий шаблонов, совпадающих по
нумерации с версиями утилит Calculate: 2.0, 2.2, 3.0 и 3.1. Шаблоны 2.0
используются для настройки сервера и хранятся в пакетах утилит. Шаблоны 2.2
в настоящее время используются только при сборке системы. Шаблоны 3.0
использует установщик Calculate Linux 12. Шаблоны 3.1 на данный момент
являются текущей актуальной версией, поддержка которых со временем должна
появиться во пакетах утилит.

Вы можете использовать свои шаблоны по образу и подобию этих. Ваши шаблоны
будут иметь приоритетное значение. Стандартные пути для хранения
пользовательских шаблонов: /var/calculate/templates и
/var/calculate/remote/templates. Существуют также clt-файлы шаблонов,
располагаемые непосредственно в директории /etc.

Подробнее можно почитать здесь:
http://www.calculate-linux.ru/main/ru/calculate_utilities_templates

Успешной работы!
