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

Bug#536029: support to download index files for multiple architectures



2010/4/17 Goswin von Brederlow <goswin-v-b@web.de>:
> Yeah, I run into the same problem trying to modify dpkg. The problem is
> that an arch=all package being installed or not does no longer suffice
> to see if it fullfills a dependency. You need to recursively check what
> the arch=all package depends on or transitional dummy packages might
> break.

Exactly. The MultiArchKiller therefore checks for each pseudo package:
a) all dependencies are installed AND
b) an installed application depends on it
and "remove" it otherwise. b) is needed for packages with non or very few
dependencies (which are all satisfied) in version 1 but get new (not installed)
dependencies in version 2.
(It does all this possibly again and again on a package as it is readded to the
check query every time a package it depends on is killed)

After that it runs again over the packages to check that for each all package
which (was) installed we have still at least one pseudo package installed and if
not marks as installed the first architecture which would not break the system
if it would be installed. This has again the problem to be recursive,
but this time
in the other way as a later action could cause that this package is installable,
which is handled but could be done in a more clever way (currently it checks
other archs first. It is maybe better to start for all packages in the
native arch and
proceed after that with the rest in the "other" archs) - and it expose us
again to the problem "solved" by b) above as if we choose the wrong architecture
here the user will face "strange" upgradescenarios if the package gets new
dependencies… so the Killer should maybe consider also the state of the
Candidate as a hint…
comments / ideas welcomed.


Best regards / Mit freundlichen Grüßen,

David



Reply to: