Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
portage_2.0.51_rc1 and virtuals
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
zoltar
n00b
n00b


Joined: 10 Oct 2002
Posts: 66
Location: Calgary, Alberta, Canada

PostPosted: Thu Sep 23, 2004 5:35 pm    Post subject: portage_2.0.51_rc1 and virtuals Reply with quote

Man, I've been banging my head against this for hours. I know 2.0.51 is supposed to calculate virtuals on the fly but it doesn't seem to be working right. My emerge world has been wanting to install xorg-x11. I don't use xorg-x11, I use xorg-unichrome which I've placed in my /etc/portage/profile/package.provided (because I'm installing from CVS).

Anyway, the on-the-fly virtuals doesn't seem to pick this up as the virtual package for virtual/x11 so it keeps wanting to install xorg-x11. The only thing that works is to change the /etc/make.profile/virtuals file which gets reset after each sync. If I change virtual/x11 to x11-base/xorg-unichrome in this file, emerge is then happy and doesn't want to install xorg-x11.

This is not an ideal solution. Any help would be appreciated.
Back to top
View user's profile Send private message
wilburpan
l33t
l33t


Joined: 21 Jan 2003
Posts: 977

PostPosted: Thu Sep 23, 2004 7:24 pm    Post subject: Reply with quote

I haven't played around with the on-the-fly virtuals yet, but how are you installing xorg-unichrome? Do you have an ebuild in a local portage tree? I would think that the virtuals calculator would scan local portage trees as well as /usr/portage.
_________________
I'm only hanging out in OTW until I get rid of this stupid l33t ranking.....Crap. That didn't work.
Back to top
View user's profile Send private message
zoltar
n00b
n00b


Joined: 10 Oct 2002
Posts: 66
Location: Calgary, Alberta, Canada

PostPosted: Thu Sep 23, 2004 7:41 pm    Post subject: Reply with quote

No, I think that may be the problem. I'm installing xorg-unichrome manually from CVS. Since 2.0.51 does not use emerge inject anymore, I added the xorg-unichrome entry to /etc/portage/profile/package.provided (I think that's what it's called). I don't think this file is being consulted when calculating virtuals. The xorg-unichrome ebuild (which I'm not using) is installed in the /usr/local/portage overlay.
Back to top
View user's profile Send private message
wilburpan
l33t
l33t


Joined: 21 Jan 2003
Posts: 977

PostPosted: Thu Sep 23, 2004 7:55 pm    Post subject: Reply with quote

Warning: I really don't know what I'm talking about, but this is a pretty good educated guess.

I have the feeling that portage calculates virtuals by scanning what's been installed and the portage tree. If you are manually installing the cvs version of xorg-unichrome, then somehow portage has to be told that you did such a thing. Apparently your /etc/portage/profile/package.provided file isn't doing it.

One quick test: emerge the non-cvs version of xorg-unichrome you have using your ebuild in your local portage overlay, and see if /etc/make.profile/virtuals reflects that you are using xorg-unichrome. Then maybe you can manually build the cvs version over that.
_________________
I'm only hanging out in OTW until I get rid of this stupid l33t ranking.....Crap. That didn't work.
Back to top
View user's profile Send private message
hepta_sean
Apprentice
Apprentice


Joined: 27 Apr 2004
Posts: 246
Location: Berlin, Germany

PostPosted: Thu Sep 23, 2004 7:56 pm    Post subject: Re: portage_2.0.51_rc1 and virtuals Reply with quote

zoltar wrote:
The only thing that works is to change the /etc/make.profile/virtuals file which gets reset after each sync. If I change virtual/x11 to x11-base/xorg-unichrome in this file, emerge is then happy and doesn't want to install xorg-x11.


The info at the end of an emerge of portage-2.0.51 says:
Code:
*         /var/cache/edb/virtuals has been deprecated and is now calculated
 *         on demand. Strictly _USER_ modifications to virtuals may go into
 *         /etc/portage/profile/virtuals and will not be modified by portage.


So, I would think, that you should put "x11-base/xorg-unichrome-WHATEVER-VERSION" in /etc/portage/profile/package.provided (as suggested by the deprecated-message of emerge inject) and "virtual/x11 x11-base/xorg-unichrome" in /etc/portage/profile/virtuals. Nothing will be overwritten by emerge sync.

But no guarantees, I have not installed anything by hand, and hence not tested this.
Back to top
View user's profile Send private message
zoltar
n00b
n00b


Joined: 10 Oct 2002
Posts: 66
Location: Calgary, Alberta, Canada

PostPosted: Thu Sep 23, 2004 7:59 pm    Post subject: Reply with quote

hetpa_sean: Yes, I've done those things. Thanks though.

wilburpan: I think that's exactly the problem. I may try what you're suggesting but it takes a while to compile xorg. I may report this as a bug.
Back to top
View user's profile Send private message
hepta_sean
Apprentice
Apprentice


Joined: 27 Apr 2004
Posts: 246
Location: Berlin, Germany

PostPosted: Thu Sep 23, 2004 8:32 pm    Post subject: Reply with quote

wilburpan, sorry, but I think you are wrong on some issues:

wilburpan wrote:
I have the feeling that portage calculates virtuals by scanning what's been installed and the portage tree.


Yeah, the virtuals for each package are now recorded in the dependency cache. It's line 14 of the /var/cache/edb/dep/usr/portage/CATEGORY/PACKAGE-VERSION files in the cache, which are calculated from the ebuilds.

Quote:
If you are manually installing the cvs version of xorg-unichrome, then somehow portage has to be told that you did such a thing. Apparently your /etc/portage/profile/package.provided file isn't doing it.


No, /etc/portage/profile/package.provided is the way to go, since it's the replacement for emerge inject, which was the way to tell portage, that a package was installed by hand.

I think the problem was, that portage does not know, from which package in the cache it should derive the provided virtuals. Hence, I think, it should work with /etc/portage/profile/virtuals.

Quote:
One quick test: emerge the non-cvs version of xorg-unichrome you have using your ebuild in your local portage overlay, and see if /etc/make.profile/virtuals reflects that you are using xorg-unichrome.


That would really surprise me. /etc/make.profile is a symlink into the portage tree, which is not modified for specific machines by emerge, but synced against a static version on the mirrors.

IIRC, the /etc/make.profile/virtuals is not primarily consulted for calculation of installed virtual providers, but the packages in there are emerged, if no other provider could be found. So, the line "virtual/x11 x11-base/xorg-x11" means: "If you don't find a provider for virtual/x11, emerge x11-base/xorg-x11", but not "x11-base/xorg-x11 is the only provider of virtual/x11".

When zoltar modified the line, emerge was happy, so the /etc/portage/profile/package.provided stuff must have worked. Otherwise portage would have tried to emerge the tree version of x11-base/xorg-unichrome.

Quote:
Then maybe you can manually build the cvs version over that.


I wouldn't do that. Sounds like really messing up your system.

zoltar wrote:
hetpa_sean: Yes, I've done those things. Thanks though.


Just curious: What in that procedure did not work? In the first post you wrote, the problem is emerge sync overwriting the virtuals file. That positively cannot happen in /etc/portage, because emerge sync just accesses /usr/portage.

Anyway, one other thing you could try, is entering an equivalent version of xorg-x11 with full version in /etc/portage/profile/package.provided, so portage may be able to find information in the dependency cache.
Back to top
View user's profile Send private message
wilburpan
l33t
l33t


Joined: 21 Jan 2003
Posts: 977

PostPosted: Thu Sep 23, 2004 9:07 pm    Post subject: Reply with quote

hepta_sean wrote:
wilburpan, sorry, but I think you are wrong on some issues:

I'm very happy to be corrected. :D
_________________
I'm only hanging out in OTW until I get rid of this stupid l33t ranking.....Crap. That didn't work.
Back to top
View user's profile Send private message
zoltar
n00b
n00b


Joined: 10 Oct 2002
Posts: 66
Location: Calgary, Alberta, Canada

PostPosted: Thu Sep 23, 2004 10:36 pm    Post subject: Reply with quote

The problem is that even though I've put xorg-unichrome in the /etc/portage/profiles/package.provided, portage doesn't seem to take this information into account when calculating virtuals. However, it does work when I change /etc/make.profile/virtuals to be 'virtual/x11 x11-base/xorg-unichrome'. Therefore, I assume the package.provided is working except that it isn't taken into account when calculating virtuals.

Changing the /etc/make.profile/virtuals file after every sync is neither desirable nor convenient.
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9011
Location: beyond the rim

PostPosted: Thu Sep 23, 2004 11:08 pm    Post subject: Reply with quote

package.provided doesn't affect virtuals (neither did inject btw).
Back to top
View user's profile Send private message
wilburpan
l33t
l33t


Joined: 21 Jan 2003
Posts: 977

PostPosted: Fri Sep 24, 2004 12:02 am    Post subject: Reply with quote

zoltar -- perhaps you can file a bug? Overall, I've found that to be the best next step if the forums don't pan out -- after all, here you'll only get advice from people like me. :roll:
_________________
I'm only hanging out in OTW until I get rid of this stupid l33t ranking.....Crap. That didn't work.
Back to top
View user's profile Send private message
oberyno
Guru
Guru


Joined: 15 Feb 2004
Posts: 467
Location: /bin/zsh

PostPosted: Fri Sep 24, 2004 12:09 am    Post subject: Reply with quote

hepta_sean wrote:
I think the problem was, that portage does not know, from which package in the cache it should derive the provided virtuals. Hence, I think, it should work with /etc/portage/profile/virtuals.
Did you try using that file instead?
Back to top
View user's profile Send private message
zoltar
n00b
n00b


Joined: 10 Oct 2002
Posts: 66
Location: Calgary, Alberta, Canada

PostPosted: Fri Sep 24, 2004 4:49 am    Post subject: Reply with quote

Genone: that would explain my problem. Seems to me that it should. Thanks

oberyno: yes, I tried that file.
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9011
Location: beyond the rim

PostPosted: Fri Sep 24, 2004 7:58 am    Post subject: Reply with quote

Just for clarification: package.provided tells portage that a package with that name/version is installed, it doesn't even look if that package actually exists or has an ebuild. If you need anything more (like virtuals) it's better to make an ebuild yourself with that information.
Back to top
View user's profile Send private message
chaumess
n00b
n00b


Joined: 11 Sep 2003
Posts: 64

PostPosted: Fri Mar 04, 2005 9:08 pm    Post subject: Reply with quote

Hi, I too am planning to use a manually-built xorg-unichrome for my mythtv box. I was wondering if there was a final solution to this problem. I can't tell from reading the posts in this thread what the eventual solution was (or if there was one at all). Thanks for your help!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum