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

Re: zlib: (non-)Conflict with udeb



(CCed to debian-boot; hope you don't mind)

On Wed, Dec 06, 2006 at 12:45:04PM +0000, Mark Brown wrote:
> I noticed while reviewing the current Ubuntu diff for zlib that you've
> added this:
> 
> +zlib (1:1.2.3-13ubuntu3) feisty; urgency=low
> +
> +  * Don't conflicts/replaces zlib1g-udeb in zlib1g; this makes d-i
> +    unnecessarily difficult to build.
> +
> + -- Colin Watson <cjwatson@ubuntu.com>  Thu, 30 Nov 2006 10:19:07 +0000
> +
> 
> Could you possibly expand on the problem this causes a bit?  Whenever I
> added udeb support it was part of the udeb policy that that conflict
> should be added - I'm guessing that that is no longer the case.

Bizarre, I really had thought I'd filed a Debian bug about this.
Evidently not, and sorry about that ... I was digging my way desperately
through a chain of dependencies that day.

Anyway, the problem is that the d-i initrd build process uses apt-get to
fetch the udebs it needs. In some ways this is a nasty kludge, because
as it's set up at the moment apt-get is resolving dependencies with
respect to the host system, so what's installed on the host system
matters more than it perhaps ought to do. zlib1g-udeb is nearly always
needed (at least in Ubuntu, which includes pciutils-udeb in all initrds;
I think Debian may only need it in the GTK initrds at the moment), so
apt-get nearly always has to "remove" zlib1g: it's set up so that it
doesn't actually remove it from the host system, but it still has to do
an enormous conflict resolution pass. I was running into situations
where this meant that apt-get got just too confused to proceed, and
bailed out on me. Once I removed that Conflicts, apt-get didn't have to
do a conflict resolution pass at all, and the whole thing immediately
became much simpler to build.

As of now, zlib1g and ppp are the only packages in unstable that
conflict with corresponding -udeb packages, so if this was part of the
udeb policy then it doesn't appear to be now. I don't think it really
buys anything much nowadays, as the package management tools will never
try to install udebs on a normal system, and even if you try you'll
generally get a file conflict anyway. The consequences of conflicting
seem to be much worse than the problems solved by doing so.

Thanks,

-- 
Colin Watson                                       [cjwatson@ubuntu.com]



Reply to: