Hello, Laurent COOPER <laurent.cooper@ac-grenoble.fr> (2015-01-30): > J'ai un comportement qui me semble étrange dans le postinst d'un paquet, > et vous aurez peut être une idée > > Je fais un test avant de créer un lien symbolique > > [ ! -e /mon/fichier ] && ln -s /cible /mon/fichier > > normalement, si /mon/fichier n'existe pas, la commande ln n'est pas faite. > > Le comportement attendu ne se produit pas > > * Le test avec le -e semble ne pas fonction si /mon/fichier est un lien > symbolique. J'ai cru que c'était lié au fait que sh soit en fait dash, > j'ai essayé avec bash, même problème Au hasard, ça fonctionne si le lien symbolique pointe vers quelque chose qui existe, et pas si ça pointe dans le vide. Il suffit de lire la page de manuel : Except for -h and -L, all FILE-related tests dereference symbolic links. > * Du coup la commande ln se lance, mais me pête une erreur : le fichier > existe déjà > > * et là, le postinst reste bloqué dans un état zombi, dont je ne sors > qu'en faisant un killall frontend C'est difficile de savoir ce qui peut se passer quand tu donnes aussi peu d'informations (script complet ? processus en cours ?)… > J'ai pu tester ... > > si je remplace -e par -h, il a le comportement attendu > > si je remplace ln par > ln /cible /mon/fichier || true > ça ne me plante plus le postins (mais POURQUOI ????) Parce que tu viens d'essayer avec -h juste avant ? Mraw, KiBi.
Attachment:
signature.asc
Description: Digital signature