Encore moi :-)
Bon, je suis allé un peu plus loin en ntourant le code à proximité de
'Generating "fulldeps" file ...' de set -x / set +x
Voilà ce que ça me dit (cf pièce jointe).
J'ai regardé le log, puis fait Ctrl+D sur Ndkm (et donc Ncooker), et
ça m'a écrit des trucs en plus dans le log. Du coup j'ai fait un
Ctrl+C pour être sûr de ne pas continuer. Voilà la fin du log :
+++++ for g_sFoundPackage in '$g_sPackageList'
++++++ basename //var/lib/Npkg/files/glibc-2.7-nga1-i686
+++++ g_sFoundPackage=glibc-2.7-nga1-i686
+++++ g_sFoundPackage=glibc
++++++ deps_select_by_package glibc
++++++ local l_sPackageName=glibc
++++++ shift
++++++ local l_sGrepOptions=
++++++ '[' -n '' ']'
+++++++ _deps_get_second_line_pattern '' glibc
+++++++ local l_sFilePattern=
+++++++ '[' -z '' ']'
+++++++ l_sFilePattern='[^ :<=>()][^ :<=>()]*'
+++++++ local l_sPackageName=glibc
+++++++ '[' -z glibc ']'
+++++++ echo '^[ ]*([^ :<=>()][^ :<=>()]*:)?[ ]*([^
:<=>()][^
:<=>()]*)[ ]*([ ]*(glibc)[ ]*)[ ]*$'
++++++ local 'l_sPackageNameLinePattern=^[ ]*([^ :<=>()][^
:<=>()]*:)?[ ]*([^ :<=>()][^ :<=>()]*)[ ]*([
]*(glibc)[ ]*)[
]*$'
+++++++ _deps_get_third_line_pattern '' glibc
+++++++ local l_sFilePattern=
+++++++ '[' -z '' ']'
+++++++ l_sFilePattern='[^ :<=>()][^ :<=>()]*'
+++++++ local l_sPackageName=glibc
+++++++ '[' -z glibc ']'
+++++++ echo '^[ ]*([^ :<=>()][^ :<=>()]*:)?[ ]*([^
:<=>()][^
:<=>()]*)[ ]*([ ]*(glibc)[ ]*(<|=|>=)[ ]*([^
:<=>()][^
:<=>()]*)[ ]*)[ ]*$'
++++++ head -1
++++++ local 'l_sPackageVersionLinePattern=^[ ]*([^ :<=>()][^
:<=>()]*:)?[ ]*([^ :<=>()][^ :<=>()]*)[ ]*([
]*(glibc)[
]*(<|=|>=)[ ]*([^ :<=>()][^ :<=>()]*)[ ]*)[ ]*$'
++++++ grep -e '^[ ]*([^ :<=>()][^ :<=>()]*:)?[ ]*([^
:<=>()][^
:<=>()]*)[ ]*([ ]*(glibc)[ ]*)[ ]*$' -e '^[ ]*([^
:<=>()][^
:<=>()]*:)?[ ]*([^ :<=>()][^ :<=>()]*)[ ]*([
]*(glibc)[
]*(<|=|>=)[ ]*([^ :<=>()][^ :<=>()]*)[ ]*)[ ]*$'
à regarder de préférence avec une police à chasse fixe :-)
Même si j'ai loupé le premier blocage (qui se situe toutefois dans ces
lignes), Ncooker s'est remis en attente après la dernière ligne. Je
crois que c'est la syntaxe local 'variable=valeur' au lieu de local
variable='valeur', et du coup, le premier bloquage doit être sur
local 'l_sPackageNameLinePattern=^[ ]*([^ :<=>()][^ :<=>()]*:)?[
]*([^ :<=>()][^ :<=>()]*)[ ]*([ ]*(glibc)[ ]*)[
]*$'
Du coup ça nous ramène à la ligne 258 de modules/gendeps.sh, qui
appelle deps_select_by_package (ligne 306 de
functions.d/deps_manager.sh). Le code est :
local l_sPackageNameLinePattern="$( _deps_get_second_line_pattern \
"" "$l_sPackageName" )"
local l_sPackageVersionLinePattern="$( _deps_get_third_line_pattern \
"" "$l_sPackageName" )"
Le construction est compliquée, et je ne vois pas pourquoi bash
interprète ça comme local 'var=valeur' au lieu de local var='valeur',
et du coup bloque en attendant la fin de la donnée (Ctrl+D). Je viens
tout juste de rentrer dans le code, Julien tu y verras peut-être un
peu plus clair ?
@+
--
Richard 'riri' GILL
jabber: [EMAIL PROTECTED]
http://riri.houbathecat.info
http://nasgaia.org
« Frimousse en excessivité émousse son expressivité »
_______________________________________________
Nasgaia-dev mailing list
[email protected]
https://mail.gna.org/listinfo/nasgaia-dev