The template was not applied and said nothing: diagnostics
Updated 5 Novembre 2026
- 1. Mauvais nom de répertoire d'événement
- 2. Pas de variable d'action sur le répertoire ou le fichier de premier niveau
- 3. Condition d'action requise non spécifiée
- 4. Modèle associé à un paquet qui n'est pas configuré actuellement
- 5. Module de variables disponible non spécifié
- 6. Erreur dans le modèle lui-même
- Aperçu de ce que créera le modèle
- Que faire si rien n'a aidé
- Voir aussi
La question la plus fréquente estils n'entrent tout simplement pas dans la sélection. Ci-dessous les causes par ordre décroissant de fréquence, chacune avec une vérification.
1. Mauvais nom de répertoire d'événement
Le répertoire de premier niveau doit avoir un en-tête avec une variable d'action - dans le fichier .calculate_directory, par exemple # Calculate append=skip env=install ac_install_merge==on. Le répertoire lui-même peut s'appeler comme vous voulezles répertoires sont parcourus dans l'ordre lexicographique, donc le numéro au début du nom fixe l'ordre de fusion.
Vérification : comparez avec l'ensemble réel dans /var/db/repos/calculate/profiles/templates/ (voir la carte des événements).
2. Pas de variable d'action sur le répertoire ou le fichier de premier niveau
Pour le stockage utilisateur (/var/calculate/templates), la règle est stricte : chaque élément de premier niveau - répertoire comme fichier - doit avoir dans son en-tête une variable d'action (ac_*) ou cl_name==. S'il manque, le sous-arbre est ignoré et le processus de configuration est marqué comme échoué ; dans la sortie détaillée, vous verrez la liste "Gabarits omis :" et une indication sur un en-tête de la forme # Calculate ac_install_merge==on.
Les arbres dans les dépôts (/var/db/repos/…) sont exclus de cette règle - là, env= et l'action sont définis au niveau du répertoire d'événement.
Les fichiers binaires au premier niveau ne sont autorisés dans aucun cas.
3. Condition d'action requise non spécifiée
Cas classique : le modèle est dans le bon répertoire, mais l'en-tête n'a pas env=install ac_install_merge==on - ou inversement, il porte la condition ac_desktop_profile==on, alors que vous lancez la configuration du paquet.
Vérifiez les valeurs des variables de cette exécution :
/usr/libexec/calculate/cl-variable --value install.ac_install_merge install.ac_install_live install.cl_setup cl_merge_pkg
Les variables d'action sont dans le module install, donc sans le préfixe, cl-variable ne les trouve pas et répond Variable non trouvée. Une ligne vide dans la réponse signifie que la variable est définie mais n'a pas de valeur (par exemple, cl_merge_pkg en dehors de la configuration d'un paquet).
Полезно помнить
Lancer cl-core-setup directement sur un système installé active ac_install_merge et ac_install_live d'un coup, alors que dans le chroot Portage le mode live est désactivé.
4. Modèle associé à un paquet qui n'est pas configuré actuellement
Les conditions mergepkg(<category>/<package>)!=, merge(...)!=, pkg(...)!= sont des filtres sur le paquet. Elles sont vraies si le paquet est configuré en ce moment ou figure dans le cache de configuration :
/var/lib/calculate/calculate-core/cache/merge-setup.list # package setup /var/lib/calculate/calculate-core/cache/merge-patch.list # patches
Deux conséquences non évidentes s'ensuivent. Premièremergepkg() sans arguments prend la catégorie et le nom du paquet dans le chemin ([HTML_REMOVED]/[HTML_REMOVED]/…), donc un répertoire de paquet mal nommé donne un modèle qui reste silencieusement inopérant.
Vous pouvez vérifier à l'avance les noms de paquets dans ces conditions, sans lancer la fusion : cl-check-templates (le paquet sys-apps/calculate-toolkit, installé dans /usr/sbin/cl-check-templates) analyse les conditions pkg() et merge() - et avec elles mergepkg() - et confronte les paquets indiqués aux dépôts et à la base des paquets installés, en tenant compte des renommages. Une faute de frappe dans un nom de paquet, ce n'est pas "le modèle ne correspondait pas", c'est "il ne correspondra jamais".
Vérification
cl-core-setup -n [HTML_REMOVED]
Elle liste les modèles appliqués et les erreurs pour chaque fichier.
5. Module de variables disponible non spécifié
Le paramètre env=[HTML_REMOVED] charge les variables du paquet d'utilitaires correspondant. Si le module n'est pas dans le système, le modèle est ignoré sans message d'erreur. Le symptômeils sont marqués comme désactivés et attendent que l'administrateur les active par une valeur dans ini.env.
6. Erreur dans le modèle lui-même
incorrect header parameter: '<name>'- le paramètre d'en-tête n'existe ni pour un fichier ni pour un répertoire (rappel : l'ensemble de paramètres d'un répertoire est bien plus court) ;function of templates '<name>' not found- l'en-tête ou le corps utilise une fonction qui n'est ni intégrée ni une fonction d'overlay : le modèle est interrompu ;Failed to apply custom function …- une fonction de scripts/functions a renvoyé une erreur : la substitution devient vide, le modèle est appliqué, mais "au mauvais endroit" ;Wrong option 'append=<value>' in template <file>- pour patch et les formats "exécutables" (diff, dconf, contents, sqlite, backgrounds), le mode de fusion doit être patch ;Wrong value '<x>' in the template- valeur de paramètre incorrecte (par exemple une valeur relative pour le path=).
Aperçu de ce que créera le modèle
Sans attendre la vraie configuration du système, vous pouvez diriger les résultats vers un répertoire : --pkg-path définit le chemin racine pour les fichiers de configuration sauvegardés.
mkdir -p /tmp/clt-preview
* Les utilitaires Calculate configurent les réglages système pour le paquet baselayout ... * Les utilitaires Calculate ont modifié les fichiers : * /tmp/clt-preview/etc/profile.d/editor.sh * /tmp/clt-preview/etc/os-release
Les vrais fichiers ne sont pas modifiés pour autant - vérifiez avec ls -l /etc/profile.d/editor.sh. C'est un moyen pratique de voir ce que donnera exactement votre modèle, y compris le control record et la répartition entre répertoires.
Il est utile aussi de vérifier que le modèle ne crée pas de répertoires superflusson en-tête doit contenir une variable d'action, sinon tout le sous-arbre est ignoré sans message (dans la sortie détaillée - Répertoires omis :).
Que faire si rien n'a aidé
- --pkg-path + -v : si vous voyez le fichier dans le résultat, le problème n'est pas dans le modèle mais dans la sélection (points 1-5).
- Retirez de l'en-tête toutes les conditions sauf env=install ac_install_merge==on et vérifiez encore : si cela fonctionne, l'une des conditions retirées est "coupable" - remettez-les une par une.
-
Comparez avec un équivalent qui fonctionne
Comparez avec un équivalent qui fonctionne : l'arbre calculate contient un modèle prêt à l'emploi pour presque n'importe quel paquet ; cherchez ainsi :
grep -rl 'format=kde' /var/db/repos/calculate/profiles/templates | head