Шаблоны. Как их отлаживать?

День добрый!

Подскажите, плс, как найти причину такого странного поведения шаблонов: при сборке пакета шаблоны не отрабатывают, но при запуске cl-core-setup --pkg-name=bareos -v -T local всё отрабатывает как надо.

Есть набор шаблонов:

#isa # ls -lAR /var/calculate/templates/additional_soft_merge/app-backup/
/var/calculate/templates/additional_soft_merge/app-backup/:
итого 8
drwxr-xr-x 2 root root 4096 мар  4 14:40 bareos
-rw-r--r-- 1 root root   24 мар  4 13:47 .calculate_directory

/var/calculate/templates/additional_soft_merge/app-backup/bareos:
итого 24
-rw-r--r-- 1 root root 220 мар  4 14:39 bareos-fd-client-hostname.conf
-rw-r--r-- 1 root root 146 мар  4 14:39 bareos-fd-client-myself.conf
-rw-r--r-- 1 root root 152 мар  4 14:40 bareos-fd-director-bareos-dir.conf
-rw-r--r-- 1 root root 152 мар  4 14:40 bareos-fd-director-bareos-mon.conf
-rw-r--r-- 1 root root 285 мар  4 14:40 bareos-fd-director-gebo.conf
-rw-r--r-- 1 root root  24 мар  4 13:47 .calculate_directory

В файлах .calculate_directory написано # Calculate append=skip
Часть шаблонов удаляет содержимое дефолтовых конфигов, вторая часть создаёт нужные мне конфиги.

Если выполнить rm -rf /etc/bareos/bareos-fd.d/ ; emerge app-backup/bareos, то в /etc/bareos/bareos-fd.d/ появляются дефолтовые конфиги, ровно такие, как приходят из дистрибутива, и моих конфигов не возникает. Если после этого сказать cl-core-setup --pkg-name=bareos -v -T local всё становится как надо:

#✓/root                                                                                 
#isa # l /etc/bareos/bareos-fd.d/client/
итого 4.0K
-rw-r--r-- 1 root root 379 мар  7 14:28 myself.conf
#✓/root                                                                                 
#isa # cl-core-setup --pkg-name=bareos -v -T local
 * Конфигурация утилитами Calculate системных настроек bareos ...
 * Утилиты Calculate изменили файлы:  
 *      /etc/bareos/bareos-fd.d/client/isa-fd.conf  
 *      /etc/bareos/bareos-fd.d/client/myself.conf  
 *      /etc/bareos/bareos-fd.d/director/bareos-dir.conf  
 *      /etc/bareos/bareos-fd.d/director/bareos-mon.conf  
 *      /etc/bareos/bareos-fd.d/director/gebo-dir.conf  
#✓/root                                                                                 
#isa # l /etc/bareos/bareos-fd.d/client/
итого 8.0K
-rw-r--r-- 1 root root 497 мар  7 14:32 isa-fd.conf
-rw-r--r-- 1 root root 423 мар  7 14:32 myself.conf

Здравствуйте!
А что у вас в /var/calculate/templates/additional_soft_merge/.calculate_directory ?

Здравствуйте!

#✓/root                                                                         
#isa # l /var/calculate/templates/additional_soft_merge/.calculate_directory
-rw-r--r-- 1 root root 57 фев 28 08:31 /var/calculate/templates/additional_soft_merge/.calculate_directory
#✓/root                                                                                    
#isa # cat  /var/calculate/templates/additional_soft_merge/.calculate_directory
# Calculate append=skip env=install ac_install_merge==on
#✓/root                                                                                    
#isa # 

Самое странное для меня в том, что рядом лежат шаблоны для dovecot, и они работают. Организованы в точности так же, как и у бареоса. Собственно шаблоны бареоса и получались копированием и правкой. :man_facepalming:

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

Добавьте в .calculate_directory mergepkg(app-backup/bareos)!= , если это пакет app-backup/bareos:

# Calculate append=skip env=install ac_install_merge==on mergepkg(app-backup/bareos)!=

Добавил, как Вы предложили, но это ожидаемо не помогло. У меня mergepkg в файлах шаблонов прописано:

Спойлер
# Calculate format=patch mergepkg(app-backup/bareos)!= path=/etc/bareos/bareos-fd.d/client name=myself.conf comment=#

<reg>.</reg>
<text></text>

Зато пользуясь ebuild я таки нашёл проблему. Теперь ещё бы понять, как с этим жить :frowning: Делалось так:

ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild install
ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild qmerge

И вот в конце выхлопа qmerge было обнаружено такое:

Спойлер
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
Traceback (most recent call last):
  File "/usr/sbin/cl-core", line 18, in <module>
    import calculate.core.core_main as core_main
ModuleNotFoundError: No module named 'calculate'
>>> app-backup/bareos-23.1.1 merged.
>>> Regenerating /etc/ld.so.cache...

Почему раньше не замечал, не скажу :frowning: Пинки по шинам привели к тому, что в /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild была отредактирована строка PYTHON_COMPAT=( python3_{10..13} ) на PYTHON_COMPAT=( python3_{10..12} )

ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild digest
ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild clean
ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild install
ebuild /var/db/repos/gentoo/app-backup/bareos/bareos-23.1.1.ebuild qmerge

И в конце мы получаем сообщение

Спойлер
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
 * Конфигурация утилитами Calculate системных настроек bareos ...
 * Утилиты Calculate изменили файлы:
 *      /etc/bareos/bareos-fd.d/client/isa-fd.conf
 *      /etc/bareos/bareos-fd.d/client/myself.conf
 *      /etc/bareos/bareos-fd.d/director/bareos-dir.conf
 *      /etc/bareos/bareos-fd.d/director/bareos-mon.conf
 *      /etc/bareos/bareos-fd.d/director/gebo-dir.conf
>>> app-backup/bareos-23.1.1 merged.
>>> Regenerating /etc/ld.so.cache...

Не то чтобы я был в претензии, но для меня странно, что поведение утилит Calculate зависит от того, что там себе наконфигурил пакет. :man_shrugging: