[AlternC-dev] debianisation, suite

Retour à l'archive de la liste
Le site d'AlternC
Google Custom Search

Benjamin Sonntag benjamin at octopuce.com
Sam 8 Mai 22:42:30 CEST 2004


The Anarcat a écrit :

>Dans le monde de debian, je crois que ceci serait:
>
>alternc-common
>alternc-bureau
>alternc-mailman
>alternc-sympa
>  
>
oui, exact. je suis d'accord. on peut meme séparer tout de suite 
alternc-webalizer (pour la venue prochaine de alternc-awstat, non 
exclusive j'entends...)

>>* fichier de conf AlternC <=> liste de variables la plupart du temps 
>>sous la forme key=value\n ou key="complex value"\n et # est pour les 
>>commentaires. On peut imaginer de nouvelles syntaxes __si besoin__ (pour 
>>des blocs par exemple, on pourrait utiliser <> </> comme dans httpd.conf.)
>>    
>>
>
>La simplicié est la clé ici. Ce format pourrait être un shell ou un perl
>script. C'est d'ailleurs le format du fichier alternc.conf présentement,
>à quelques différences près.
>  
>
oui, exact, il faudrait idéalement une syntaxe shell ou perl...

>>- on met dans /etc/ac/ (ou un autre nom, si possible court et facile à 
>>retenir/comprendre) la copie de l'ensemble de l'arborescence de /etc 
>>concernée par les fichiers de configuration. par exemple, 
>>/etc/ac/apache/httpd.conf /etc/ac/postfix/main.cf  /etc/ac/proftpd.conf
>>    
>>
>
>Je préfèrerais /etc/alternc/defaults.
>
>Cependant, sous debian, cette valse devrait être évitée. Il devrait y
>avoir un moyen de modifier les fichiers de config proprement, dans le
>respect des autres packages, sans avoir besoin de garder les configs
>originales.
>  
>
Je pense que l'on aura BEACOUP de mal à trouver une alternative qui 
marche facilement pour tous les programmes.
On peut se fader un script qui lit / ecrit / modifier un httpd.conf, 
mais il faudra en faire un autree pour lire / ecrire / modifier un 
named.conf etc.

dur.

>Les autres dépendances sont plus complexes. Les règles de Debian sont
>très claires:
>
>http://www.debian.org/doc/debian-policy/ch-files.html#s-config-files
>
>deux packages ne peuvent pas partager des fichiers de config. Un package
>ne doit pas modifier des fichiers qu'il n'est pas propriétaire,
>autrement que par des scripts fournis par le package propriétaire (eg.
>apacheconf). Malheureusement, je crois que seul Apache fourni un tel
>script.
>
>Ceci est "très grave", dans le monde de Debian: cela signifie que
>jamais le package ne pourra être accepté. :( Je vais tenter m'informer
>cependant pour voir s'il n'y aurait pas une alternative.
>  
>
Non, il y a et il peut y avoir des exceptions dans le monde debian : je 
pense qu'il est même dans l'essence d'AlternC de faire exception à cette 
règle : on propose un package qui te configure plein de truc, il est 
donc normal qu'il ecrase la config de plein d'autres trucs ;) et meme 
apacheconf ne me convient pas : on peut proposer une conf très finement 
ciselée, et dans ce cas un "include" d'apache n'a aucun intéret : on va 
modifier TOUS les paramètres d'apache !!

En clair, AlternC est pour moi un Webmin à l'envers :

Webmin a pour but, en utilisant les fic de conf des logiciels tels 
quels, de permettre de modifier via le web TOUS les paramètres le plus 
finement possible de ces logiciels.

AlternC a pour but, en utilisant des fic de conf fournis par lui (pour 
optimisations diverse) de permettre de modifier non pas tous les 
paramètres des logiciels (80% des instructions de main.cf de postfix 
sont inaccessible au commun des mortels...) mais de répondre aux 
questions des utilisateurs / administrateurs de la machines de la 
manière la plus humaine possible en modifiant les fic de conf.

Et dans ce sens, on ne peut pas respecter cette règle de debian qui dit 
que l'on n'écrase pas le fic de conf d'apache ou de bind ... c'est 
précisément notre but !!

>  
>
>>- on a dans /usr/lib/alternc/install/ un script shell par module 
>>d'AlternC. Chaque script shell peut prendre le paramètre --first-install 
>>pour signaler qu'il s'agit d'une première installation du module sur 
>>cette machine (ou d'alternc lui-même pour le core). Sinon, il est chargé 
>>de mettre juste à jour la conf correspondante au module concerné.
>>Ces scripts shells utilisent la conf dans 
>>/etc/alternc/alternc-"module".conf pour substituer les variables qui 
>>vont bien dans les fichiers de /etc/ac/* qui les concernent et les 
>>recopier dans /etc/, et redémarrer les services dans le bon ordre.
>>    
>>
>
>Il devrait être possible de reconnaître les fichiers déjà configurés.
>Debconf met un "warning" en haut des fichiers qu'il reconnaît lui-même,
>rien ne nous empêche de faire de même, et donc éviter un paramètre
>first-install.
>

bein oui : dpkg prévient le shell postinst/configure qu'il s'agit d'une 
première installation ou d'un upgrade ou d'une reconfiguration (ou meme 
d'un downgrade...)

on utilisera evidemment cette information pour faire ce qu'il faut...

>>- on a 2 scripts shells dans /usr/sbin : alternc.install et alternc.update.
>>   * alternc.install lance les scripts de /usr/lib/alternc/install/ 
>>avec --first-install (après avoir confirmé que le type savait bien ce 
>>qu'il fait ;) )
>>   * alternc.update lance les scripts sans --first-install (pour mise à 
>>jour seule de la conf).
>>    
>>
>
>Comment je vois ça, ces deux scripts devraient être le même, autrement
>dit: alternc.install devrait être non-destructif. 
>
bein lors de la première install, il doit bien etre destructif ;)
mais je te comprends. Cependant, il reste qu'il peut être un peu 
compliqué de savoir si vraiment c'est une première install.
Le paramètre --first-install permettrait au moins de forcer le 
comportement destructif, à la volonté de l'administrateur

>>- (sous réserve que cela soit vraiment utile : ) les fichier de 
>>/etc/alternc/*.conf sont copiés dans /var/cache/alternc/conf/*.conf pour 
>>pouvoir trouver les variables qui ont été modifiées lors d'un update, si 
>>besoin. Cela permettrait par exemple à bind de ne pas avoir à modifier 
>>tous les fichiers de zones lors d'un update si l'ip n'a pas changée ...
>>    
>>
>
>/var/cache n'est pas le bon endroit. Il faudrait mettre ça dans
>/var/backup, je crois.
>  
>
oui /var/backup/alternc/ ca peut le faire.

>>- on ajoute à chaque fichier de configuration, lors de sa recopie de 
>>/etc/ac/* vers /etc/* des lignes de commentaire indiquant que ces 
>>fichiers ne DOIVENT PAS etre modifiés, mais qu'il faut modifier le 
>>fichier original dans /etc/ac/* ;)
>>    
>>
>
>puis rouler alternc.install pour que les modifs prennent effet?
>  
>
exact.

>>- on déplace les cas bizarre comme /etc/webalizer/* dans 
>>/var/cache/alternc/webalizer/ : en effet, ces fichiers sont une sorte de 
>>"cache" de configuration vu que la vraie autorité en matière de 
>>statistiques est la table system.stat. et avant le process quotidien de 
>>webalizer, on régénère le cache [si besoin].
>>    
>>
>
>Hmm... ce sont tout de même des fichiers de configuration. :)
>  
>
Le conf file de webalizer est en fait le template dans notre cas 
(/etc/webalizer/template.conf actuellement) par contre les autres 
(mondomaine.conf) sont plus des données temporairement nécessaire à 
webalizer, pour le build des stats. et /var/cache est là pour ca : 
données temporaires  dont l'effacement est non grâve ;)

>  
>
>>http://www.alternc.org/wiki/ConfigurationDalternc
>>
>>accessible depuis le lien "FuturdAlternc"
>>
>>Ajoutez vos questions si besoin, et amendez le machin si vous avez de 
>>meilleures idées.
>>    
>>
>
>Je commence à travailler sur les choses ...
>
>http://www.alternc.org/wiki/BloquantLaDebianisation
>
Pour le probleme de conflits de fic de conf, je pense que l'on ne le 
résoudra pas ... ;) on peut toujours demander sur les listes debian (si 
qq'un le fait, qu'il dise sur quelle liste, je suivrais le thread avec 
attention ...)

>En passant, il me semble que la version de phpWiki est très périmée, sur
>alternc.org, je me trompe? Est-ce qu'il y a une mise à jour prévue? :)
>  
>
périmée, périmée, il faut voir, ... elle marche mal ? ;)
pas prévue de mise à jour , mais si tu veux le faire, méfies-toi : j'ai 
une config bizarre, j'avais eu du mal à faire marcher le rewriterule 
avec ce wiki...

@+

Benjamin




Plus d'informations sur la liste de diffusion Dev