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]