[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Migration 32 bits vers 64 bits gros problème avec dpkg testing



On 05/06/2017 06:50 PM, MERLIN Philippe wrote:
> Bonsoir,
> J'avance péniblement dans cette migration et j'espérais arriver
> à la fin
> Las !!!
> J'arrive à obtenir un apt-get -f install qui semble cohérent
> sauf  que python3 a frappé et me bloque, je ne sais pas comment
> m'en sortir.

Bonsoir Philippe,

J'ai pris un peu de temps pour sauvagement torturer une VM Debian
afin de voir si j'arrivais à me retrouver dans la même situation.
Plein de problèmes se sont produits, mais celui-ci je n'ai pas
réussi à le voir passer, faute d'avoir pu réussir à atteindre la
fin de mon second crossgrade sans tout casser.  Ceci dit, ça m'a
permis d'avoir peut-être une idée pour décoincer la situation...

> Les scripts de python3 semblent ne pas avoir envisager la
> possibilité d'avoir un instant donné deux versions d'un paquet
> i386 et amd64 si bien que dpkg -L paquet sort en erreur, à la
> main un dpkg -l paquet:i386 marche très bien.
> Voici la sortie d'erreur :
>
>       Suppression de python3-pil:i386 (4.0.0-4) ...
>       dpkg-query: erreur: --listfiles requiert un nom de paquet légal. « python3-pil » ne l'est pas ; nom de paquet « python3-pil » ambigu avec plus d'une instance installée

Cette erreur se produit dans le script de pre-removal `prerm'
extrait du paquet python3-pil_4.0.0-4_amd64.deb, script
reproduit ci-dessous:

        #!/bin/sh
        set -e

        # Automatically added by dh_python3:
        if which py3clean >/dev/null 2>&1; then
                py3clean -p python3-pil
        else
                dpkg -L python3-pil | perl -ne
's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $!
foreach glob($_)'
                find /usr/lib/python3/dist-packages/ -type d -name
__pycache__ -empty -print0 | xargs --null --no-run-if-empty rmdir
        fi

        # End automatically added section

La ligne qui produit l'erreur est très probablement celle en
`dpkg -L python3-pil | ...' qui gagnerait à être rédigée sous la
forme `dpkg -L python3-pil:i386 | ...'.  La correction peut être
effectuée dans le script enregistré par `dpkg' à l'installation
de python3-pil, et qui devrait se nommer

        /var/lib/dpkg/info/python3-pil:i386.prerm

ou si l'architecture n'est pas présente (mais je crains une
confusion avec le paquet 64bits dans ce cas) :

        /var/lib/dpkg/info/python3-pil.prerm

Aux écarts de versions près, le contenu ne devrait pas différer
du code cité plus haut.  Il faudrait relancer la moulinette
`apt-get' après modification de ce script et voir comment la
situation évolue.

À plus,
-- 
Étienne Mollier <etienne.mollier@mailoo.org>



Reply to: