Борьба с самопроизвольной правкой конфигов

Предыстория:
на днях обновлялся в результате чего заметил, что калька сама подправила часть моих конфигов, в частности /etc/nsswitch и /etc/default/grub. мне это сильно не понравилось…
на #calculate-ru рассказали, что в кальке есть такая вещь, как шаблоны и они автоматом обновляют конфиги определённых пакетов при их обновлении… я назвал это костылями, поплевался, поматерился про себя, но по зрелому размышлению понял, что некий резон в этом есть. Единственное что мне очень не понравилось, что калька !!сама заменила мои конфиги в обход etc-update!!. соответственно мне захотелось отключить эту «полезную» фичу. для этого сделал sed ‘/cl_merges =/s/calculate-install,?//’ -i /etc/calculate/calculate2.env.
ко их…

История:
после всего этого обновил кеды 4.9.2 и кто-то !!в обход etc-update!! заменил /usr/share/config/kdm/kdmrc на тот, что пришёл с самим пакетом…
рассказали мне, что файл изменён пакетом calculate-merges,
предлагали решение использовать ctl файлы, чтобы защищать конфиги…
также интересовался, куда пропали файлы /usr/share/applications/calculate-*.desktop рассказали, что они создаются calculate-install

Возникли некоторые дополнительные вопросы:
почему calculate-merges не применил свой шаблон, а наложил тот что идёт с самим пакетом? это был баг? или это так и задумывалось?
решание с созданием ctl файлов я верным не считаю… а уж тем более не считаю верным, что утилиты должны напрямую менять конфиги, вместо того, чтобы создавать свои файлы, которые бы уже превносились в систему etc-update’ом. неужели это тоже так изначально и задумано? есть же CONFIG_PROTECT, зачем плодить сущности вроде ctl’ов с тем же смыслом? или это русская мера запретов правки: можно-запрещено-строго_запрещено?

также я интересовался, куда пропали файлы /usr/share/applications/calculate-*.desktop рассказали, что они создаются calculate-install. но кто же тогда часть из них удалил? и как ручками запустить calculate-install, чтобы он создал только их и ничего не попортил?

Инфа р системе:

alexander@goblin-book ~ $ uname -a
Linux goblin-book 3.5.4-calculate-goblin-book-0.4 #1 SMP Tue Oct 2 21:07:46 MSK 2012 x86_64 Intel(R) Atom(TM) CPU N570 @ 1.66GHz GenuineIntel GNU/Linux
alexander@goblin-book ~ $ grep -r . /etc/calculate
/etc/calculate/calculate2.env:#------------------------------------------------------------------------------
/etc/calculate/calculate2.env:# Modified Calculate-install 2.2.27
/etc/calculate/calculate2.env:# Processing template files:
/etc/calculate/calculate2.env:# /usr/share/calculate/templates/install/1live/00-calculate-install/calculate2.env
/etc/calculate/calculate2.env:# /usr/share/calculate/templates/install/1system/calculate-install/calculate2.env
/etc/calculate/calculate2.env:#------------------------------------------------------------------------------
/etc/calculate/calculate2.env:[install]
/etc/calculate/calculate2.env:os_install_net_settings = networkmanager
/etc/calculate/calculate2.env:[main]
/etc/calculate/calculate2.env:# Set auto-update configuration files.
/etc/calculate/calculate2.env:cl_autoupdate_set = off
/etc/calculate/calculate2.env:# keep value of root dev uuid (8 char) for kernel symlink
/etc/calculate/calculate2.env:cl_kernel_uid = c62f9e25
/etc/calculate/calculate2.env:# current linux build
/etc/calculate/calculate2.env:os_linux_build = 20111228
/etc/calculate/calculate2.env:cl_merges = calculate-desktop,calculate-client
/etc/calculate/ini.env:[desktop]
/etc/calculate/ini.env:videoplayer = smplayer
/etc/calculate/ini.env:calculator = kcalc
/etc/calculate/ini.env:audioplayer = amarok
/etc/calculate/ini.env:mail = kmail
/etc/calculate/ini.env:imageburn = k3b
/etc/calculate/ini.env:chat = konversation
/etc/calculate/ini.env:imageedit = gimp
/etc/calculate/ini.env:im = kopete
/etc/calculate/ini.env:textedit = kwrite
/etc/calculate/ini.env:terminal = konsole
/etc/calculate/ini.env:imageview = digikam
/etc/calculate/ini.env:dict = goldendict
/etc/calculate/ini.env:browser = chromium
/etc/calculate/ini.env:writer = libreoffice
/etc/calculate/ini.env:calc = libreoffice
alexander@goblin-book ~ $ eix -Ic cl-*
[i] app-misc/cl-base-meta [1] (12.0-r2@28.08.2012): Calculate Linux (base meta package)
[i] app-misc/cl-decoration-meta (12.0-r1[2]@25.06.2012): Calculate Linux (decoration meta package)
[i] app-misc/cl-kde-meta [1] (4.9.0@03.10.2012): Calculate Linux (kde meta package)
[i] app-misc/cl-network-meta [1] (12.0@22.06.2012): Calculate Linux (network tools meta package)
[i] app-misc/cl-office-meta [1] (12.0@25.06.2012): Calculate Linux (office meta package)
[i] app-misc/cl-printer-meta [1] (12.0@22.06.2012): Calculate Linux (printer/scanner meta package)
[i] app-misc/cl-tools-meta [1] (12.0-r1@10.08.2012): Calculate Linux (tools meta package)
[i] app-misc/cl-wireless-meta [1] (12.0@22.06.2012): Calculate Linux (wireless meta package)
[i] app-misc/cl-xorg-meta [1] (7.4-r3@22.04.2012): Calculate Linux (Xorg meta package)
[1] "calculate" /var/lib/layman/calculate
[2] "local-portage" /usr/local/portage

Нашёл 9 совпадений.
alexander@goblin-book ~ $ eix -Ic calculate-*
[i] app-misc/calculate-meta [1] (12.0.3@31.08.2012): Calculate Linux (meta package)
[i] sys-apps/calculate-builder [1] (2.2.30-r3@26.09.2012): The utilities for builder tasks of Calculate Linux
[i] sys-apps/calculate-client [1] (2.2.30@31.08.2012): The program of setting and storing the user account in the domain
[i] sys-apps/calculate-console [1] (3.0.2(3)@31.08.2012): Qt gui console client for WSDL Calculate 3
[i] sys-apps/calculate-console-gui [1] (3.0.2-r1(3)@17.09.2012): Qt gui console client for WSDL Calculate 3
[i] sys-apps/calculate-core [1] (3.0.2(3)@31.08.2012): The WSDL api for Calculate 3
[i] sys-apps/calculate-desktop [1] (2.2.30@31.08.2012): The program of the desktop configuration Calculate Linux
[i] sys-apps/calculate-i18n [1] (2.2.30-r1@06.09.2012 3.0.2(3)@31.08.2012): The internationalization package for calculate utilities
[i] sys-apps/calculate-install [1] (3.0.2(3)@31.08.2012): The program of installation Calculate Linux
[i] sys-apps/calculate-lib [1] (2.2.30(2.2)@31.08.2012 3.0.2-r1(3)@17.09.2012): The library for Calculate 3
[i] sys-apps/calculate-utilities [1] (2.2.30-r6@26.09.2012 3.0.2-r1(3)@17.09.2012): Calculate Utilities meta package
[D] sys-kernel/calculate-sources [1] (3.3.5(3.3.5)@18.06.2012 3.5.4-r1(3.5.4)@02.10.2012 -> 2.6.32.59(2.6.32.59)^bs 2.6.35.13(2.6.35.13)^bs 2.6.39.4-r1(2.6.39.4)^bs 3.0.42(3.0.42)^bs 3.2.28(3.2.28)^bs 3.3.8-r1(3.3.8)^bs 3.4.10(3.4.10)^bs 3.5.3-r2(3.5.3)^bs 3.5.4-r1(3.5.4)^bs): Full sources including the Calculate patchset for the 2.6 kernel tree
[1] "calculate" /var/lib/layman/calculate

Нашёл 12 совпадений.
alexander@goblin-book ~ $ emerge --info
Portage 2.2.0_alpha134 (!../var/lib/layman/calculate/profiles/calculate/desktop/CLD/amd64/binary, gcc-4.5.4, glibc-2.15-r2, 3.5.4-calculate-goblin-book-0.4 x86_64)
=================================================================
System uname: Linux-3.5.4-calculate-goblin-book-0.4-x86_64-Intel-R-_Atom-TM-_CPU_N570_@_1.66GHz-with-gentoo-12.0.3
Timestamp of tree: Wed, 03 Oct 2012 18:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.9.8.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo calculate qutim kde-sunset science local-portage
Installed sets: @custom
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=atom -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=atom -pipe"
DISTDIR="/home/portage/distfiles"
EMERGE_DEFAULT_OPTS="--binpkg-respect-use=y --quiet-build=n --binpkg-respect-use y "
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distcc distlocks ebuild-locks fixlafiles getbinpkg metadata-transfer parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="ru ru_RU"
MAKEOPTS="-j4"
PKGDIR="/home/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/home/portage/tree"
PORTDIR_OVERLAY="/var/lib/layman/calculate /var/lib/layman/qutim /var/lib/layman/kde-sunset /var/lib/layman/science /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X a52 aac aalib acl acpi alsa amd64 amr apm audiofile avahi avi bash-completion berkdb bittorrent bluetooth bzip2 cairo cdda cddb cdparanoia cdr chm clamav cli consolekit cpudetection cracklib crypt css cue cups cxx dbus djvu dri dv dvd dvdr dvdread ebook encode exif faac fbcon ffmpeg flac flash foomaticdb fortran ftp gd gdbm ggi gif git gphoto2 gpm gtk iconv id3tag ieee1394 imagemagick ipod ipv6 irc jabber jingle jpeg jpeg2k kde libcaca libnotify libwww lirc lm_sensors logrotate lzo mad matroska mbox mikmod mmx mmxext mng modules mp3 mpeg mplayer mudflap multilib musepack nas ncurses networkmanager nfs nls nptl nsplugin ogg oggvorbis openal opencore-amr openexr opengl openmp oscar pam pcre pdf png policykit portaudio ppp pppd qt3support qt4 quicktime raw rdesktop readline samba scanner sdl session smp speex spell srt sse sse2 sse3 sse4.1 sse4.2 sse4a sse5 ssl ssse3 subversion svg tcpd tga theora tiff truetype udev unicode usb userlocales v4l v4l2 vaapi vcd vdpau vhosts vim-syntax vorbis wavpack webkit wimax wmf wxwindows x264 xanim xcomposite xinerama xpm xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALCULATE="nographics nomultimedia nonettools" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="* ptp2" CDISTRO="CLD desktop" CL="builder client desktop console consolegui" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="*" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev mutouch synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru ru_RU" LIRC_DEVICES="devinput" PHP_TARGETS="php5-3" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

кросспост с linuxforum’а: http://linuxforum.ru/viewtopic.php?id=24581

Предыстория:
Calculate позиционируется, как готовый для использования дистрибутив. Средств emerge для настройки пакетов недостаточно, т.к. с одной стороны какой-то некоторый функционал в них отсутствует, с другой стороны настраивать систему при помощи ebuild-файлов крайне неудобно и расточительно. Одно дело, когда мантейнер настраивает десяток поддерживаемых им пакетов, другое дело, когда несколько человек поддерживают настройку 7-ми дистрибутивов, в т.ч. полноценного сервера. Для сравнения, возьмите настройки профилей пользователей Sabayon и Calculate (размеры директорий и сами файлы).

История:
Шаблоны были разработаны в 2006 г. В основу легли идеи простой правки конфигов на основе значений переменных утилит с поддержкой условных выражений. В будущем шаблоны довольно сильно развились, появились встроенные функции, заголовки шаблонов и т.д. На вид неудобные файлы оказались довольно эффективным инструментом поддержания всех настроек в рабочем состоянии. Неплохим испытанием была миграция на плазму в KDE 4 и переходы между версиями 4.1, 4.2, 4.3, когда в конфиг нужно было вность определенные изменения, не затрагивая остальные настройки этого немаленького файла. Здесь шаблоны оказались как нельзя кстати со своей поддержкой формата настроек плазмы.

Отвечая на вопросы:

также интересовался, куда пропали файлы /usr/share/applications/calculate-*.desktop рассказали, что они создаются calculate-install

calculate~~*.desktop~~ настраивается шаблонами:

grep 3 /usr/share/applications/calculate-browser.desktop
 # Modified Calculate-install 3.0.2
 # /var/lib/layman/calculate/profiles/templates/install-3.0/1merge/Desktop/100-Browser/chromium/calculate/chromium-11.desktop

но если Вы выполните:

 equery b /usr/share/applications/calculate-browser.desktop 
 * Searching for /usr/share/applications/calculate-browser.desktop ... 
www-client/chromium-22.0.1229.79 (/usr/share/applications/calculate-browser.desktop)

то увидите, что файл принадлежит пакету chromium. Т.е. удалив утилиты и обновив браузер, Вы получили неработающую иконку.

Цель Calculate - иметь работающую систему. Это значит, что иконка на вашем рабочем столе должна работать, даже, если chromium-browser-chromium.desktop вдруг решат в очередной раз переименовать. Утилиты дополняют настройки emerge на стадии установки пакета. В бинарном пакете настроек нет, во время установки пакет настраивается, все изменения фиксируются в /var/db/pkg/ самим пакетным менеджером. Т.е. представлены как настроенные самим ebuild-ом.

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

Единственное что мне очень не понравилось, что калька !!сама заменила мои конфиги в обход etc-update!!

Утилиты встроены в пакетный менеджер, причем сделано это стандартным для gentoo способом. Оверлей позволяет выполнять bash скрипт на разные события (/var/lib/layman/calculate/profiles/calculate/profile.bashrc). Собственно события - стадии установки пакета. В этот момент и происходят вызовы утилит.

Не всегда можно выполнить настройку на собираемой в образе системе. Например, когда Вы загружаете компьютер в первый раз, нужно настроить видеодрайвер, сеанс пользователя и т.д. Во время первой загрузки, Вы не можете выполнить env-update, т.к. консоли ещё нет. Да и пользователя не поймут правильно такую костыльную загрузку.

решение с созданием ctl файлов я верным не считаю… а уж тем более не считаю верным, что утилиты должны напрямую менять конфиги, вместо того, чтобы создавать свои файлы, которые бы уже превносились в систему etc-update’ом. неужели это тоже так изначально и задумано?

Возможно Вам предпочтительнее размаскировывать пакеты при помощи emerge --autounmask-write … && env-update && emerge … В случае же настройки видео, удобно использовать только cl-setup-video. Здесь напрашивается бэкап старых настроек + лог того, что меняется, некий verbose режим. Но это уже другой вопрос.

есть же CONFIG_PROTECT, зачем плодить сущности вроде ctl’ов с тем же смыслом? или это русская мера запретов правки: можно-запрещено-строго_запрещено?

Начнем с того, что у clt не тот же смысл. Например CONFIG_PROTECT не перенесёт ваши настройки в случае установки системы в другой раздел. clt модифицирует базовые настройки ebuild-а, выполняя как небольшие правки, так и полностью замещая файл. Например, у меня нет файла smb.conf, но есть smb.conf.default. Я могу создать smb.conf.default.clt, который вполнит настройки smb.conf, перенеся в него дефолтные настройки и выполнив в них опредёленные правки. Причём в самом clt-файле будут только сами правки. Ориентироваться в таком файле будет легко, если понадобится вспомнить через пару лет ЧТО и для чего я в нём менял.

после всего этого обновил кеды 4.9.2 и кто-то !!в обход etc-update!! заменил /usr/share/config/kdm/kdmrc на тот, что пришёл с самим пакетом…

Только что изменил kdmrc, переустановил пакет. Мои настройки остались.

то увидите, что файл принадлежит пакету chromium. Т.е. удалив утилиты и обновив браузер, Вы получили неработающую иконку.
гмм… у меня так:

alexander@goblin-book /usr/src/linux $ equery b /usr/share/applications/calculate-*.desktop 
 * Searching for /usr/share/applications/calculate-browser.desktop,/usr/share/applications/calculate-calc.desktop,/usr/share/applications/calculate-chat.desktop,/usr/share/applications/calculate-dict.desktop,/usr/share/applications/calculate-imageedit.desktop,/usr/share/applications/calculate-videoplayer.desktop,/usr/share/applications/calculate-writer.desktop ... 
app-office/libreoffice-3.6.2.2 (/usr/share/applications/calculate-calc.desktop)
app-office/libreoffice-3.6.2.2 (/usr/share/applications/calculate-writer.desktop)
media-gfx/gimp-2.8.2 (/usr/share/applications/calculate-imageedit.desktop)
net-irc/konversation-1.4 (/usr/share/applications/calculate-chat.desktop)
alexander@goblin-book /usr/src/linux $ ls /usr/share/applications/calculate-*.desktop 
/usr/share/applications/calculate-browser.desktop  /usr/share/applications/calculate-calc.desktop     /usr/share/applications/calculate-chat.desktop     /usr/share/applications/calculate-dict.desktop
/usr/share/applications/calculate-imageedit.desktop
/usr/share/applications/calculate-videoplayer.desktop
/usr/share/applications/calculate-writer.desktop

почему исчезли остальные я понял, но тогда другой вопрос: почему остались неучтённые browser, dict и videoplayer? они то и сбили меня с толку и я решил, что утилиты создают файлы в обход portage…

Утилиты встроены в пакетный менеджер, причем сделано это стандартным для gentoo способом. Оверлей позволяет выполнять bash скрипт на разные события (/var/lib/layman/calculate/profiles/calculate/profile.bashrc). Собственно события - стадии установки пакета. В этот момент и происходят вызовы утилит.
думал, что куда-то сюда надо копать, но где именно не додумался т.к. в man portage читал только секцию про /etc… спасибо… похоже нашёл виновника, usr/sbin/cl-core-setup … но судя по параметрам он не должен тогда обновлять конфиги…собственно теряюсь, кто их собственно мёрджит?

Только что изменил kdmrc, переустановил пакет. Мои настройки остались.
сейчас воспроизвести у меня тоже не получается… не знаю, в чём дело… правда я не особо и старался…

в завершении всего, главный вопрос треда, который ИМХО так и остался без прямого ответа: почему конфиги мёрджатся в обход их стандартной защиты и нет опции, чтобы отключить такое поведение?

[после ручной настройки двух тачек с почти идентичным конфигом, готов признать, что шаблоны - это не костыль и даже могут быть полезны в определённой области]

Ceterum censeo Carthaginem esse delendam, в смысле, по шаблонам должна быть создана доступная для неофита документация (лучше всего - wiki). Конкретно по конфигам - чем дальше, тем больше ссылочек “сделайте себе .clt в этой же директории”, за что авторам большое человеческое спасибо.
НО: если нет сил на документацию (я понимаю, несколько человек на 7 дистров и всё такое), может быть, легче будет откомментировать прямо внутри имеющиеся (дефолтные) шаблоны с идеей, чтобы юзера могли писать/переопределять свои грамотно, а не как я, тупо копируя конфиг с расширением .clt. Т.е., “обучение в процессе работы”. Имеющаяся документация по шаблонам отстоит от реальности примерно как общая органическая химия от методики изготовления самогона в домашних условиях.

Неучтённые файлы могут создаться, если выполнить наложение шаблонов cl-setup-system, при этом у пакета не было настроек. Если же после этого переустановить пакет, эти настройки закрепятся за ним.

В ближайшее время мигрируем на ветку 3.1, далее можно будет подумать и об описании. Первое время вики работала, но приходилось не только почти всё самим писать, но и исправлять ошибки других. Текущее положение дел, когда при выделении фразы на сайте можно нажать Ctrl+Enter и ввести свой вариант вполне устраивает.