Gentoo Logo
Gentoo Spaceship

Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
To: gentoo-dev@g.o
From: Enrico Weigelt <weigelt@...>
Subject: Re: What are blocks used for?
Date: Thu, 17 Apr 2008 19:58:27 +0200
* Ciaran McCreesh <ciaran.mccreesh@...> schrieb:


> b) Marking that two related implementations are mutually incompatible at
> runtime because they both provide the same binary.

Classical example: MTA's:

Traditionally they tend to provide an /usr/sbin/sendmail executable.
So you can't have multiple MTAs installed. Here the problem isn't
that portage can't give more advise, but the system only allows
one MTA. Portage itself can't help here in any ways - it's all up 
to the ebuilds. An clean solution is changing the MTAs to be not
conflicting (using separate filenames, etc) and having some frontend
for these commands, which chooses the right MTA to call on some

AFAIK, this is exactly what mailwrapper does :)

Same applies to things like java-config, etc.

> c) Marking that a file that used to be provided by one package is now
> provided by another package that is either depending upon or depended
> upon by the original package.

Do you mean something like this ?

* package foo 	-> has: /usr/bin/foo
* package bar	-> depends: foo
		-> has: /usr/bin/foo 
> For example, for class d) blocks such as the recent coreutils / mktemp mess, 

Yes, this is *really* a mess, especially because critical packages are
involved here.

IMHO the problem is clearly made by the two packages themselves.
Actually I didn't track yet who was first, but according to the ebuilds,
the conflict arises w/ 6.10 (not yet in 6.9). IMHO the external mktemp
should be preferred and the coreutils's one skipped.

> the package manager can suggest to the user to install the new package and 
> then uninstall the old package, rather than forcing the user to uninstall 
> the old package by hand (possibly leaving their system without critical 
> utilities) and then install the new package.

Yes, but this requires the ebuild author to provide enough information 
*very carefully*. In this specific case, portage could automatically 
decide to replace the separate mktemp package by newer coreutils. 
But what happens if some package depends on the mktemp package ? 
Portage has to catch these deps and map them to coreutils if they 
provide mktemp (and only for those versions which *really do*).
This all adds a lot of complexity, and I doubt it's really worth it.

Removing mktemp and properly maintaining the standalone package seems 
much easier and cleaner to me.

 Enrico Weigelt    ==   metux IT service -
 Please visit the OpenSource QM Taskforce:
 Patches / Fixes for a lot dozens of packages in dozens of versions:
gentoo-dev@g.o mailing list

Re: What are blocks used for?
-- Vlastimil Babka
Re: What are blocks used for?
-- Vlastimil Babka
What are blocks used for?
-- Ciaran McCreesh
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: What are blocks used for?
Next by thread:
Re: What are blocks used for?
Previous by date:
Re: Early stabilisation
Next by date:
Re: Early stabilisation

Updated Jun 17, 2009

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.