Neil Williams <[EMAIL PROTECTED]> writes: > On Tue, 2008-07-01 at 18:44 +0200, Goswin von Brederlow wrote: >> James Vega <[EMAIL PROTECTED]> writes: >> >> > On Sat, Jun 28, 2008 at 02:03:05AM -0700, Steve Langasek wrote: >> >> So if we allow multiple packages to be installed at the same time which >> >> divert the same file, then I think we have another case for wanting to >> >> continue supporting an optional diversion target - or at least for not >> >> using >> >> ".diverted" by default, since we wouldn't want diversions from multiple >> >> packages to collide. Maybe ".diverted-$package", then? > > (My internet connection has been very flaky since this thread started > and I have only been able to post intermittently so apologies if this > appears to be late or "out-of-sync" with other posts.) > > Just a thought - why use /usr/lib/$ARCH and /usr/include/$ARCH at all > when it would (IMHO) be simpler to use /usr/$TRIPLET/ and put the entire > package under that, as we do with dpkg-cross currently: > > /usr/lib/ > /usr/arm-linux-gnu/lib/ > > /usr/include/ > /usr/arm-linux-gnu/include/ > > multiarch could even add: > /usr/share/ > /usr/arm-linux-gnu/share
Because it pollutes top level directories, namely / and /usr. Think how it will look with 12 abis coexisting. People felt that putting the dirs below /lib/, /usr/lib/ and /usr/include/ would be less invasive. But algorithmically it is all the same. None of the problems change in any way by using one or the other. > This adds only one new directory, it keeps the main contents of the > package in a single location (making it easier to manage and parse > things like dpkg -L) and it means less changes for existing packages > that use these paths already. > > It also means no need for extra diversions at all, no need for Replaces: > and no headaches when removing the multiarch vs removing the primary > package etc. I think you are mixing things up here. The problem where diversions or replaces where thought about in multiarch is for /usr/share/doc/package/copyright and changelog. Policy dictates they exist and where they have to exist and that becomes a problem. On the other hand the RFC for diversion and alternative handling had nothing to do with multiarch at all and is a totaly seperate line of thought. > BTW I think it is a mistake to want to use /usr/lib/i386/ when it is > entirely possible that multiarch users will actually need the full > triplet - think about hurd or kfreebsd as multiarch packages. Nobody wants to use /usr/lib/i386/. It was always the triplet. >> > There are two use cases to consider regarding multiple packages and >> > diversions. >> > >> > 1) Multiple packages installing a file that has been diverted. >> > Currently, there is only one "divert to" filename so you'll end up >> > losing data once the second diverted file is installed. This could be >> > alleviated by instead basing the "divert to" filename on the package >> > which contains the file being diverted (as you suggest above). >> > >> > There's still the problem of what to do when the package providing the >> > diversion is uninstalled as now you have conflicting packages. >> > Actually, you already had conflicting packages that just weren't >> > affected yet because of the diversion, which leads to 2). > > If the multiarch package can be installed alongside the primary without > any conflicts by using /usr/$triplet instead, then the need for the > diversion and consequent hacks goes away entirely. Again nothing to do with multiarch. This is about unrelated packages having conflicting files and one diverting the other(s). MfG Goswin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]