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

Bug#682365: Possible dpkg fix?



Hi!

Michael, thanks for pinging me off-list, as I'm not subscribed to the
deity mailing list.

On Thu, 2014-03-20 at 22:19:13 +0100, Michael Vogt wrote:
> I stumbled on this today and was wondering if something like the
> attached patch might help. It will allow packages that are normally
> not co-installable on the system if the other package(s) are in
> stat_configfiles.
> 
> The patch is a bit of a proof-of-concept for now, but I'm happy to
> clean it up and look (much) more deeply into the issue if you are ok
> with the general direction of the idea, its against the ubuntu dpkg
> verson as I ran into the problem on a ubuntu machine.

This is not a good idea, for several reasons. Firstly because this will
mess up the in-core database, but mostly because this does not make
sense conceptually, and breaks several invariants, that only packages that
can have multiple instances present are M-A:same. This affects things
like file ref-counting handling, package instance counts and listings,
it would also complicate the cross-grading logic and make it more
fragile, and might outright disallow some cross-grading operations
altogether, etc.

Consider what happens when an old non-M-A:same package gets purged from
config-files (which is not prepared to handle other instances), but
there's at the same time a newer M-A:same instance installed, files
might get removed inadvertentdly. Or consider how to cross-grade a
package foo when there's an i386 M-A:same installed and amd64
non-M-A:same in config-files, dpkg might not be able to do the
cross-grade “atomically”, or might not know which one to replace or
remove (which would need to do as a separate step).

I think I wrote about the cross-grading stuff in this bug report, but
I'm aware the implications are tricky, and have tripped other people
over in the past, so I might need to write something down, perhaps in
a doc/cross-grading.txt in the dpkg repo?

Thanks,
Guillem


Reply to: