by dagurasu » Mon Feb 02, 2009 18:54
So far I have not done much bulk upgrading but it's clear there are some issues, nothing I can't tackle, but just hitting "equo world" isn't going to cut it.
Some problems off the top of my head, some you've already alluded to
1)If you emerge something, it brings in dependancies that maybe could have come in through entropy instead. Maybe that's ok sometimes.. doesn't bother me actually. I don't expect portage to ever become officially sabayon aware, however, a script could be made (and included in sabayon) that call emerge --pretend and looks to see which dependancies can be satisfied from entropy.
1b) There may not be a good automated way at the moment to know if emerged dependancies can be replaced by entropy packages. Doing the "equo world --ask" tells you if there is a package in Sabayon with the same name but does entropy check the system database to see if it is breaking depends of non-sabayon installed packages? Maybe, I'm not sure. I doubt it. The version entropy wants to install may break the portage package that depended on it. Then you'd need to go back to gentoo again and check dependancies. I haven't tested any of this yet.
2)And this is a big one, For top level packages installed by portage sabayon seems happy to downgrade them to a sabayon version with an "update world", regardless of the fact that the installed version does satisfy the package and is newer. Placing the package in entropy's package.mask file only causes entropy, not surprisingly, to complain that the package can't be satisfied. One could just mask everything but the portage version and it might make entropy leave it alone.. until entropy one day reached the same version number which would effectively unmask it. You might say then you don't care, but you do if the reason you were using portage was for use flags. For quick bandaid though this solkution is probably ok. It's possible in my case the downgrade was becasue the packages being downgraded was installed with different use flags than what entropy thinks it should have(I should test). I doubt that the logic is this involved though, rather I think equo update world is more interested in getting you back to the sabayon tree than in worrying about satisfying your systems present dependancies. Becasue of this I worry even more about issue 1b.
Ideally there would be some way to tell entropy that another package manager is handling a certain package. (Of course that could mean entropy won't be able to create an updated consistent system if it's not able to upgrade that package, but that's kind of ok). This could be something like portages package.provided, not exactly though, maybe more like overlays. Dependancy management gets a bit messy and it's not obvious what the best solution are, but it's clear there is room for improvement. I have to wonder if it wouldn't have been simpler to build entropy as more of an extension of portage in the first place, for several reasons, but it's not.
I won't go into "entropy remove" problems right now. IMO this is command is a mess at the moment, but that's true with or without mixing portage into the works. There are probably some other things I've noticed that I can't remember right now. I'm not sure about double keywording but obviously it is a concern. Maybe there is a mechanism to copy the keywords automatically, gentoosync for instance. This issue kind of depends on finding ways to deal with these other problems and what those ways are.
As you can tell I am still learning about this too, but entropy is very new, so I expect such ambitious uses of it to have problems that haven't been thought of yet.