On Tuesday 11 January 2005 21:15, Francesco Riosa wrote:
> Trying to keep all toghether, there is still one my.cnf file and one
> /etc/init.d/mysql script (plus simlink, like net.eth*)

Hrm ... SLOT'ed packages aren't allowed to overwrite files installed by other 
packages (including versions of itself in other SLOTs).  This would need 
fixing.

> The only drawback I can see is having a lot of mysql*-X.Y and symlink
> files instead of mysql* but it seem reasonable o me.

There are a number of packages which have optional support for mysql.  How 
many of them install if you only have MySQL 4.1 installed on a box using your 
ebuild?

We do already have the 'mysqli' global USE flag, so that ebuilds can 
differentiate between depending on MySQL 4.0 and 4.1.

Personally, after the experience of supporting PHP and a SLOT'ed Apache, I'm 
not sure it's such a good idea to SLOT major packages like MySQL.  SLOTing 
major packages works, but the user experience is ... kludgy I guess is the 
word.  We end up using USE flags and global calls to has_version() (which is 
a QA violation) to make the best of it.  

The improvement needed in Portage seems very straight-forward.  Heck, maybe 
Portage already works this way and I haven't realised it ;-)

Assume B depends on A, and that A is a SLOTed package.  If A is already 
installed, only attempt to install versions of B which depend atoms match 
against the version of A already installed.  When upgrading B, don't upgrade 
A if the upgrade will install A into a different SLOT.  If the user wants to 
upgrade A to a version that goes into a different SLOT, require the user to 
explicitly upgrade package A.

USE flags can be used by the user to choose which version of A he gets to 
start off with.  I don't think we could ever drop those USE flags, because 
they'll still be needed by B's DEPEND statement in some cases.  The global 
has_versions() are no longer required (they can be moved into src_compile(), 
where they'll still be needed for passing the right options to configure).  

There's probably a corner case or two that I've overlooked, but if that was 
ever added to Portage, that'd make a world of difference to the Apache and 
PHP packages.

Best regards,
Stu
-- 
Stuart Herbert                                              [EMAIL PROTECTED]
Gentoo Developer                                       http://www.gentoo.org/
                                                   http://stu.gnqs.org/diary/

GnuPG key id# F9AFC57C available from http://pgp.mit.edu
Key fingerprint = 31FB 50D4 1F88 E227 F319  C549 0C2F 80BA F9AF C57C
--

--
[email protected] mailing list

Reply via email to