tangrop a écrit 5 commentaires

  • [^] # Re: Beuh ...

    Posté par  . En réponse au message Chargement de firmware wifi - IPW2200 sous ubuntu, absence de hotplug?. Évalué à 1.


    PS2: As tu eu la curiosité de regarder le contenu des deux dossiers dont
    te parle ta documentation ("You need to place all of these files into the hotplug firmware directory, e.g. /usr/lib/hotplug/firmware/ or /lib/firmware/.") avant de dire que tu n'avais aucune idée de l'endroit ...

    Ben oui, j'ai regardé, j'ai bien vu ces emplacements, dans lesquels j'ai mis mon firmware d'ailleurs. Mais ça pour moi, c'est au cas ou hotplug est présent, là j'ai pas de hotplug, donc si je comprends bien, c'est firmware_helper qui le lance, mais je vois nul part dans aucune aide, quel est le chemin ou firmware_helper va aller charger les firmware et c'est là d'où vient le problème je pense...

    Ensuite pour être plus précis sur ce qui ne va pas, en fait, ma carte wifi est reconnu lorsque j'installe UBUNTU dapper avec un live-cd par exemple.
    Le truc, c'est que j'ai besoin d'avoir une autre version de Ubuntu sur mon PC que je dois patcher. Je fais donc le patch, je compile la nouvelle version, je fais ce qui faut avec grub.
    Et quand je boot avec mon nouveau noyau, ça me fait ça.
    Je me suis donc dis que fallait que j'installe à la main, et voilà, je me heurte principalement au chargement du firmware...
  • [^] # Re: Solution

    Posté par  . En réponse au message Comparer deux numéros de versions. Évalué à 2.

    Oui, merci, j'avoue que mon erreur est honteuse snif...
    Pour me faire pardonner, voilà un truc qui marche pour déterminer si deux numéros de versions sont différents et de lancer un traitement le cas échéant.


    # Pour comparer les versions, il ne faut pas utiliser la comparaison lexicographique directement
    # car elle entraine des resultats faux dans certains cas
    # On sépare donc un numéro de version en trois - Le prefixe (nombre entier), le mineur (chiffre), et la release (lettre)
    # La variable COPY_SCRIPT indique si il est necessaire de copier les
    # scripts de l'application vers le client

    COPY_SCRIPT="0"
    VERSION_CLIENT=4.2
    VERSION_APPLI=4.1a
    SUFFIX_CLIENT=$(echo $VERSION_CLIENT | awk -F . '{ print $2 }')
    PREFIX_CLIENT=$(echo $VERSION_CLIENT | awk -F . '{ print $1 }')
    MINOR_CLIENT=$(echo $SUFFIX_CLIENT | sed -e 's/[a-z]//' )
    RELEASE_CLIENT=$(echo $SUFFIX_CLIENT | sed -e 's/[0-9]//' )


    SUFFIX_APPLI=$(echo $VERSION_APPLI | awk -F . '{ print $2 }')
    PREFIX_APPLI=$(echo $VERSION_APPLI | awk -F . '{ print $1 }')
    MINOR_APPLI=$(echo $SUFFIX_APPLI | sed -e 's/[a-z]//' )
    RELEASE_APPLI=$(echo $SUFFIX_APPLI | sed -e 's/[0-9]//' )



    # Si les version de l'application et du client sont différentes
    if [ $VERSION_APPLI != $VERSION_CLIENT ]
    then
    # La migration automatique a été activée
    if [ $AUTO_MIGRATION = "true" ]
    then
    #On compare d'abord le prefixe en utilisant la comparaison arithmétique
    if [ $PREFIX_APPLI -ge $PREFIX_CLIENT ]
    then
    if [ $PREFIX_APPLI -eq $PREFIX_CLIENT ]
    then
    echo "PREFIX APPLI EGAL"
    if [ $MINOR_APPLI -ge $MINOR_CLIENT ]
    then
    if [ $MINOR_APPLI -eq $MINOR_CLIENT ]
    then
    echo "MINOR APPLI EGAL"
    if [[ $RELEASE_APPLI > $RELEASE_CLIENT ]]
    then
    COPY_SCRIPT="1"
    fi
    else
    echo "MINOR APPLI PLUS GRAND"
    COPY_SCRIPT = "1"
    fi
    fi
    else
    echo "PREFIX APPLI PLUS GRAND"
    COPY_SCRIPT="1"
    fi
    fi

    if [ $COPY_SCRIPT == "1" ]
    then
    echo "LE TRAITEMENT A LANCER"
    fi
  • # Solution

    Posté par  . En réponse au message Comparer deux numéros de versions. Évalué à 1.

    Bon, je suis arrivé à une solution, et pourtant, ça daube à l'exécution, et je vois vraiment pas pourquoi. Voici mon code de test:

    VERSION_CLIENT="9.2a"
    VERSION_APPLI="8.2b"
    SUFFIX_CLIENT=$(echo $VERSION_CLIENT | awk -F . '{ print $2 }')
    PREFIX_CLIENT=$(echo $VERSION_CLIENT | awk -F . '{ print $1 }')
    MINOR_CLIENT=$(echo $SUFFIX_CLIENT | sed -e 's/[a-z]//' )
    RELEASE_CLIENT=$(echo $SUFFIX_CLIENT | sed -e 's/[0-9]//' )


    SUFFIX_APPLI=$(echo $VERSION_APPLI | awk -F . '{ print $2 }')
    PREFIX_appli=$(echo $VERSION_APPLI | awk -F . '{ print $1 }')
    MINOR_APPLI=$(echo $SUFFIX_APPLI | sed -e 's/[a-z]//' )
    RELEASE_APPLI=$(echo $SUFFIX_APPLI | sed -e 's/[0-9]//' )

    #On compare d'abord le prefixe en utilisant la comparaison arithmétique
    if [ $PREFIX_APPLI -gt $PREFIX_CLIENT ]
    then
    echo "PREFIX APPLI PLUS GRAND"
    if [ $MINOR_APPLI -gt $MINOR_CLIENT ]
    then
    echo "MINOR APPLI PLUS GRAND"
    if [[ $RELEASE_APPLI > $RELEASE_CLIENT ]]
    then
    echo "RELEASE APPLI PLUS GRAND"
    fi
    fi
    fi


    Et à l'exécution, je me prends un:

    [: -gt: unary operator expected


    J'ai vraiment aucune idée... je vois pas ce qui est mal fait, ma découpe fonctionne pourtant...
    PS: Je sais, ma variable release ferait mieux de s'appeler revision mais bon, de là ne vient pas le problème.
  • [^] # Re: re

    Posté par  . En réponse au message Comparer deux numéros de versions. Évalué à 2.

    Merci beaucoup, je vais regarder tout ça!
  • [^] # Re: Re

    Posté par  . En réponse au message Comparer deux numéros de versions. Évalué à 0.

    Ben oui mais justement, moi je dois garder la lettre... en plus, ce que tu utilises est la comparaison de chaine de bash, et non la comparaison arithmétique qui s'utilise avec -gt par exemple si je ne m'abuse.