• [^] # Re: Mandrakelinux 10.0 Official est arrivée !

    Posté par . En réponse à la dépêche Mandrakelinux 10.0 Official est arrivée !. Évalué à 3.

    Si libtest1-2.1-1mdk.i586.rpm était utilisé, la mise à jours de la lib x86_64 serait refusée et libtest1-2.1-1mdk.i586.rpm ne serait pas viré

    Tu avoues donc que par ce biais tu perds l'indépendance des mises à jour de packages en environnement biarch. D'où l'intérêt d'avoir des packages de bibliothèques nommés différemment.

    Bref, ça marche bien.

    Voyons cela.

    [gb@galois T]$ ls
    libtest1-2.1-1mdk.amd64.rpm libtest1-2.1-2mdk.i586.rpm test-x86_64-2.1-1mdk.amd64.rpm
    libtest1-2.1-1mdk.i586.rpm test-i386-2.1-1mdk.i586.rpm test-x86_64-2.1-2mdk.amd64.rpm
    libtest1-2.1-2mdk.amd64.rpm test-i386-2.1-2mdk.i586.rpm

    [gb@galois T]$ rpm -qlp test-x86_64-2.1-1mdk.amd64.rpm
    /usr/bin/testapp.x86_64
    [gb@galois T]$ rpm -qpR test-x86_64-2.1-1mdk.amd64.rpm
    rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    rpmlib(CompressedFileNames) <= 3.0.4-1
    libc.so.6()(64bit)
    libc.so.6(GLIBC_2.2.5)(64bit)
    libtest.so.0()(64bit)

    [gb@galois T]$ sudo rpm -i *2.1-1mdk*
    [gb@galois T]$ rpm -qa --qf "%{name}-%{version}.%{arch}\n" "*test*"
    test-i386-2.1.i586
    test-x86_64-2.1.amd64
    libtest1-2.1.i586
    libtest1-2.1.amd64

    Effectivement, même si je ne suis pas d'accord avec ce comportement car les packages amd64/i586 doivent pouvoir vivre indépendament d'une architecture à l'autre:
    [gb@galois T]$ sudo rpm -Fvh test-x86_64-2.1-2mdk.amd64.rpm libtest1-2.1-2mdk.amd64.rpm
    error: Failed dependencies:
    libtest.so.0 is needed by (installed) test-i386-2.1-1mdk

    Et tu vois ensuite tout de suite que,
    [gb@galois T]$ sudo rpm -Fvh *2.1-2mdk*.rpm
    Preparing... ########################################### [100%]
    1:libtest1 ########################################### [ 25%]
    2:libtest1 ########################################### [ 50%]
    3:test-i386 ########################################### [ 75%]
    4:test-x86_64 ########################################### [100%]
    [gb@galois T]$ rpm -qa --qf "%{name}-%{version}.%{arch}\n" "*test*"
    libtest1-2.1.amd64
    libtest1-2.1.i586
    test-i386-2.1.i586
    test-x86_64-2.1.amd64

    Bref, il faut donc la même version-release du package de libs avec la méthode rpm standard, comme initialement indiqué.