comparer 2 versions de qt

comparer 2 versions de qt - Linux et OS Alternatifs

Marsh Posté le 29-04-2005 à 09:49:27    

coucou,
 
Je suis nouveau et j'ai écris un petit script d'install pour BitRock. :D  
Ce que j'ai écrit marche très bien mais j'ai un petit problème en suspens.
 
Je souhaite vérifier si Qt est installé et si oui comparer la version installée à celle qui se trouve dans mon paquetage.
Ma solution n'est pas très bonne car je regarde si le rép Qt existe mais cela dépend des distrib...
 
Pour l'instant, je vérifie sous /usr/lib/Qt et sous /usr/local/lib/Qt
 
Après je ne sais comment faire pour évaluer la version et la comparer à la mienne.
Je pensais prendre le nom du rep et  prendre les chiffres de la fin (ex : /lib/Qt3.3.3 -> 3.3.3)
et comparer à la muienne 3.3.4.
Mais je n'arrive pas à les comparer... :cry:  
...et je pense que c'est super mauvais :pt1cable:
 
voici ma partie de code concernant Qt :
 
#test if qt is installed
if [ ! -d /usr/lib/qt* ] && [ ! -d /usr/local/lib/qt* ]
 then  
  cd lib-1.0/RasterChart2BSB/package
  tar -zxf qt-x11-free-3.3.4.tar.gz
  mv qt-x11-free-3.3.4 /usr/local/qt
   
  #on écrit dans .profile les varaibles d'environnement
  if [ ! exist .profile]
   then  
    touch .profile
  fi
  echo QTDIR=/usr/local/qt >> .profile
  echo PATH=$QTDIR/bin:$PATH >> .profile
  echo MANPATH=$QTDIR/doc/man:$MANPATH >> .profile
  echo LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH >> .profile
  echo export QTDIR ÄTH MANPATH LD_LIBRARY_PATH
 
  #in .login
  if [ ! exist .login]
   then  
    touch .login
  fi
  echo setenv QTDIR /usr/local/qt >> .login
  echo setenv PATH $QTDIR/bin:$PATH
  echo setenv MANPATH $QTDIR/doc/man:$MANPATH
  echo setenv LD_LIBRARY_PATH $QTDIR/lib:$LD_LIBRARY_PATH
   
  #build Qt
  ./configure
  make
  make install
   
  echo "La librairie Qt est maintenant installée"
 
 else #on vérifie la version de qt
   qmake -v > version
   if [  -d /usr/lib/qt* ]
    then  
     version='basename /usr/lib/qt*'
     echo "/usr/lib"    
    else
     version='basename /usr/local/lib/qt*'
     echo "/usr/local/lib"
   fi  
   nb='expr version .*\(.\)'
   if [  $nb -le 3 ]
    then
     echo "Votre version est trop ancienne"
     echo "installation de Qt 3.3.3"
     #on installe Qt
   else
    echo "bien"
  fi
fi
 
Il se peut qu'il y ait pas mal de faute dans le else car ça me prend la tête et je sais plus coment m'en sortir... :??:  
 
Si vous avez une idée pour me sortir de là, ou bien de la doc, je prend tout ce qui passe :ange:  
 
 
Have a nice day :sol:  
 


---------------
bibax en fait un max
Reply

Marsh Posté le 29-04-2005 à 09:49:27   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed