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: