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

Bug#704230: apt considers packages with Architecture: all as being of the native architecture



On 31.03.2013 06:45, Guillem Jover wrote:
I managed to put together a Python script which changes the
architecture of an installed Debian system from i386 to amd64.  I
didn't even need to use any --force; processing packages in correct
order by dependencies is enough, since dpkg does less dependency
checks than apt.  It's not perfect, but it left me with only about
two dozen broken packages to be fixed by hand, as opposed to the
several hundreds I encountered when trying to do this manually.

If dpkg fails on some packages, one issue might be because they are
not yet properly marked with a Multi-Arch field, as noted also in the
announcement mail.

My script does handle the Multi-Arch field and its absence. Almost all of the issues were multiarch-enabled packages that depended on a pre-multiarch package. Installing the new arch version of the dependency left the old arch version of the dependant broken. I added a section at the end of the script to clean up such broken packages.

As of now, there's only two real problems in the cross-grading process:

libclutter-gst-1.0-0 has a binNMU with different changelogs, and can't coexist with itself even though it is Multi-Arch: same.

postgresql won't restart after cross-grading since its binary data format is arch-dependant.

Would this script be of interest to the Debian community? If so, I can share it.

--
Mikko


Reply to: