Guillaume Yziquel a écrit : > Guillaume Yziquel a écrit : > > Bon. Ben, je me suis résigné à insérer manuellement le fichier sourcé. > Et j'ai lancé bashdb: > >> [EMAIL PROTECTED]:~/Desktop$ bashdb webcalendar.prerm >> [...] >> 15:==>if [ ! "$DEBIAN_HAS_FRONTEND" ]; then >> Debugged program terminated with code 10. Use q to quit or R to restart. >> bashdb<3> > > Ben ça plante bien vite, tout ça! Et je sais pas trop où aller chercher > l'information de ce que signifie ce code d'erreur. S'agit-il de "if" ou > de "["?
Concernant le code d'erreur, il me semble, d'après le "Shell and Utilities volume (XCU)" de la "Version 3 of the Single UNIX Specification", http://www.unix.org/version3/online.html que > The if Conditional Construct > > The if command shall execute a compound-list and use its exit status to > determine whether to execute another compound-list. > > The format for the if construct is as follows: > > if compound-listthen > compound-list[elif compound-listthen > compound-list] ... > [else > compound-list] > > > fi > > The if compound-list shall be executed; if its exit status is zero, the then > compound-list shall be executed and the command shall complete. Otherwise, > each elif compound-list shall be executed, in turn, and if its exit status is > zero, the then compound-list shall be executed and the command shall > complete. Otherwise, the else compound-list shall be executed. > Exit Status > > The exit status of the if command shall be the exit status of the then or > else compound-list that was executed, or zero, if none was executed. De plus, l'option -X de bashdb permet de tracer ligne à ligne l'exécution, et on obtient un message d'erreur un peu plus parlant: > [EMAIL PROTECTED]:~/Desktop$ bashdb -X webcalendar.prerm > Bourne-Again Shell Debugger, release bash-3.1-0.06 > Copyright 2002, 2003, 2004, 2006 Rocky Bernstein > This is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > > (/usr/bin/bashdb:272): > level 1, subshell 0, depth -1: . $_source_file > (/home/yziquel/Desktop/webcalendar.prerm:3): > level 1, subshell 0, depth 0: set -e > (/home/yziquel/Desktop/webcalendar.prerm:15): > level 1, subshell 0, depth 0: if [ ! "$DEBIAN_HAS_FRONTEND" ]; then > (/home/yziquel/Desktop/webcalendar.prerm:16): > level 1, subshell 0, depth 0: PERL_DL_NONLAZY=1 > (/home/yziquel/Desktop/webcalendar.prerm:17): > level 1, subshell 0, depth 0: export PERL_DL_NONLAZY > (/home/yziquel/Desktop/webcalendar.prerm:20): > level 1, subshell 0, depth 0: if [ "$DEBCONF_USE_CDEBCONF" ]; then > (/home/yziquel/Desktop/webcalendar.prerm:23): > level 1, subshell 0, depth 0: exec /usr/share/debconf/frontend $0 "$@" > debconf: DbDriver "passwords" warning: could not open > /var/cache/debconf/passwords.dat: Permission non accordée > [EMAIL PROTECTED]:~/Desktop$ Ouais. De toute façon, ce genre de script doit s'exécuter en root, non? Le message suivant, qui apparaît avec la manipulation à la fin semble se rapprocher du problème. > sanity check failed for dbc_command. > error encountered determining package or command: > dbconfig-common can not determine the maintainer script running it. Ceci semble bien rejoindre ce que Jean-Yves Barbier disait: > mais le code d'erreur vient toujours du dernier exécuté; donc soit c'est > lui qui a un PB, soit les résultats (passage de parms, ou récup' de variables > d'environnement) qu'il a reçu sont erronées La manipulation: > [EMAIL PROTECTED]:~$ su - > Password: > seldon:~# bashdb -X /var/lib/dpkg/info/webcalendar.prerm > Bourne-Again Shell Debugger, release bash-3.1-0.06 > Copyright 2002, 2003, 2004, 2006 Rocky Bernstein > This is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > > (/usr/bin/bashdb:272): > level 1, subshell 0, depth -1: . $_source_file > (/var/lib/dpkg/info/webcalendar.prerm:3): > level 1, subshell 0, depth 0: set -e > (/var/lib/dpkg/info/webcalendar.prerm:5): > level 1, subshell 0, depth 0: . /usr/share/debconf/confmodule Puis: > seldon:~# /var/lib/dpkg/info/webcalendar.prerm > sanity check failed for dbc_command. > error encountered determining package or command: > dbconfig-common can not determine the maintainer script running it. Et enfin: > seldon:~# logout > [EMAIL PROTECTED]:~$ cd Desktop/ > [EMAIL PROTECTED]:~/Desktop$ su > Password: > seldon:/home/yziquel/Desktop# bashdb -X webcalendar.prerm > Bourne-Again Shell Debugger, release bash-3.1-0.06 > Copyright 2002, 2003, 2004, 2006 Rocky Bernstein > This is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > > (/usr/bin/bashdb:272): > level 1, subshell 0, depth -1: . $_source_file > (/home/yziquel/Desktop/webcalendar.prerm:3): > level 1, subshell 0, depth 0: set -e > (/home/yziquel/Desktop/webcalendar.prerm:15): > level 1, subshell 0, depth 0: if [ ! "$DEBIAN_HAS_FRONTEND" ]; then > (/home/yziquel/Desktop/webcalendar.prerm:16): > level 1, subshell 0, depth 0: PERL_DL_NONLAZY=1 > (/home/yziquel/Desktop/webcalendar.prerm:17): > level 1, subshell 0, depth 0: export PERL_DL_NONLAZY > (/home/yziquel/Desktop/webcalendar.prerm:20): > level 1, subshell 0, depth 0: if [ "$DEBCONF_USE_CDEBCONF" ]; then > (/home/yziquel/Desktop/webcalendar.prerm:23): > level 1, subshell 0, depth 0: exec /usr/share/debconf/frontend $0 "$@" > seldon:/home/yziquel/Desktop# Bon. À creuser. /usr/share/debconf/frontend est bien un fichier en Perl... Encore de la documentation à lire en perspective... Merci pour vos indications instructives. Guillaume Yziquel. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]