On 12/08/2013 13:37, Tanstaafl wrote:
> On 2013-08-12 6:48 AM, Alan McKinnon <alan.mckin...@gmail.com> wrote:
>> On 12/08/2013 12:19, Tanstaafl wrote:
>>> Hmmm... so is it eudev that would need to be updated to 'fix' this? Or
>>> virtual/udev? Or both?
> 
>> It has to do with how virtuals work.
>>
>> If you have the virtual in @world, and none of the packages that satisfy
>> the virtual are in world, then portage is free to do whatever it deems
>> correct to satisfy the virtual. This is what it did, and it is rather
>> important you understand why this is so.
>>
>> If you have the virtual in world, and one of the packages that satisfy
>> the virtual are in world, then portage will not uninstall that package
>> and instead obey your instruction.
> 
> Ok, I'm getting there...
> 
> I just confirmed that while I do have sys-fs/udev in world, but I *do*
> have virtual/udev.
> 
> So, based on what Samuli said about sys-fs/udev being the gentoo default
> (where is this documented by the way?), seems the simplest thing to do
> is add sys-fs/eudev to @world, but is this really the most appropriate
> 'gentoo way'?
> 
> Or, maybe just remove virtual/udev from @world? Or both (add
> sys-fs/eudev, remove virtual/udev)?
> 
> Actually, since udev/eudev are more appropriately @system packages,


This is incorrect. @system is the minimal set of packages for a Gentoo
system to work at all, and consists mostly of baselayout, toolchain and
various packages used by the toolchain.

A Gentoo system does NOT have to have a device manager to function, you
can accomplish that easily with static device nodes.

What is in @system is virtual/dev-manager which has this RDEPEND:

RDEPEND="|| (
                virtual/udev
                sys-apps/busybox[mdev]
                sys-fs/devfsd
                sys-fs/static-dev
                sys-freebsd/freebsd-sbin
        )"

So you are free to install any of those methods you choose and thereby
have working device nodes.

To back up what Samuli said, if you want to GUARANTEE a certain device
manager then you need to put it in @world, just like you already do for
all the other packages you have. udev is in no way special in this regard.


> it
> would make more sense to add them there - except @system is defined not
> by a file but by the profile, and so would require a USE flag to define
> this, but if I recall, adding a USE flag for this was decided against
> (why I don't know)...
> 


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to