Problème script

Avell Diroll avelldiroll at gmail.com
Sam 30 Jan 18:07:52 UTC 2010


Michel Leunen wrote:
> Le 29/01/10 10:02, Avell Diroll a écrit :
> 
>> est-ce une erreur de copier/coller ou le message d'erreur pointe-t-il
>> réellement vers "/license.exe" (le fichier license.exe à la racine et
>> non dans le répertoire courant) ?
> 
> Oui, le problème est sûrement là. Le script est bizarre et ça ne 
> m'étonne pas que dans certains cas cela ne fonctionne pas. Mais 
> difficile de mettre le doigt exactement sur ce qui peut clocher.
> En tout cas, utiliser '.' pour signifier le répertoire courant dans un 
> script me semble une aberration.

J'ai testé le script, il-fonctionne-chez-moi™, il n'est pas propre mais 
il fonctionne.

A première vue, je vois 4 sources d'erreur possible:

* l'exécutable "license.exe" produit une erreur (un classique avec les 
logiciels propriétaires *nix un peu ancien : il lui manque une lib, ou 
il cherche une lib plus ancienne que celle fournie)

* le script ne fournissant pas de shebang line (ouch), c'est 
l'interpréteur par défaut du système qui poserait le problème ... j'ai 
testé avec succès avec bash, sh et dash ... '.' a une signification 
différente suivant l'interpréteur (et qu'on ne parle pas de csh ... ça 
rend violent).

* les fichiers sont bien exécutable mais la partition sur laquelle ils 
sont enregistrés n'autorise pas l'exécution ...

* l'environnement d'exécution change la pwd (cas classique d'une console 
distante sur un environnement partagé) ... mais j'en doute, ce sont des 
situations que l'on fuit lorsque l'on cherche à installer un programme.

...

Ce que je ne comprends pas, c'est que l'auteur du script s'embête à 
ajouter '.' dans le PATH (ce qui est considéré comme une très mauvaise 
pratique ... sur un logiciel serveur ou interprétant des données 
externes, c'est comme cela qu'apparaissent des trous de sécurité ...), 
et ne s'en sert pas (il lance license.exe avec sont chemin relatif 
(./license.exe  $CARAIBES_LICENSE) ce qui est inutile vu qu'il a mis la 
pwd dans le path ... le script fonctionne également si l'on retire le ./ ...

(et je ne parle même pas de cette ligne:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
ajouter la pwd dans la recherche de lib ... c'est soit une erreur soit 
la méthode choisie pour changer de lib n'est pas de leur donner des noms 
différents, mais de changer de répertoire O.o ...)

Je comprends que l'installeur est la dernière étape de production du 
logiciel, et est loin d'être la plus intéressante (been there, done 
that), mais c'est le premier bout de code avec lequel l'utilisateur 
entre en contact ...
... et si j'ai bien compris c'est un logiciel propriétaire ?
Est-ce bien celui-ci:
http://www.ifremer.fr/fleet/equipements_sc/logiciels_embarques/caraibes/
?

Dans tous les cas, vu que le logiciel est propriétaire et qu'ils annoncent:
"""
# la maintenance est incluse dans le prix de la licence; il y a environ 
deux versions par an. Une assistance est disponible par le courrier 
électronique,
"""
http://www.ifremer.fr/flotte/equipements_sc/logiciels_embarques/caraibes/acquerir.htm

Je conseille fortement de rentrer en contact avec eux.

En apparte, au sujet des extensions de fichier (exe entre autre), il ne 
faut pas oublier qu'un fichier ELF n'a pas besoin d'extension, mais 
qu'au fil des ans certaines conventions sont apparues ou ont disparu, et 
il est très fréquent de voir des logiciels propriétaires pour linux avec 
des exécutables portant une extension (.exe, mais aussi .com ...). Un 
indice: les logiciels sous linux qui arrivent avec un .exe sont souvent 
ceux qui proposent également des versions pour systèmes Unix ...

Bonne continuation

Ju
-- 
If you make something idiot-proof, the universe creates a better idiot.




Plus d'informations sur la liste de diffusion ubuntu-fr