Zac Medico posted on Thu, 12 Jul 2012 00:33:50 -0700 as excerpted:

>>> Couldn't you, on udev upgrade, move everything in /lib/udev to
>>> /usr/lib/udev, and then make the symlink? Seems fairly simple to me,
>>> but maybe I'm overlooking something?
>> 
>> You are overlooking conflicts introduced through moving files without
>> updating vardb.
>> 
>> 
> Maybe that's package manager dependent. I think it should work fine with
> Portage though.

Confirmed.  This is the way amd64 has handled the lib -> lib64 symlink 
(sometimes reversed) for years (which is why the whole FEATURES=multilib-
strict thing was needed to try and keep things straight).  As long as the 
symlink is there, portage will follow the symlink and manage the files 
just fine.

FWIW, a similar trick was used when migrating X-related stuff from 
/usr/X11R6/ to simply /usr/ .  The files were moved up a level into /usr, 
and /usr/X11R6 became a symlink -> . , thus pointing back to /usr/ .   
IIRC, existing package versions still continued to own their /usr/X11R6/
*, the DB wasn't changed.  New versions simply moved directly into /usr/, 
and the problem gradually solved itself until it was down to a manageable 
size for a final push to get the old location out of the tree.  (I just 
checked and it appears nothing owns that symlink on my system, now... 
unless I screwed up my equery|grep... )

Now if the symlink somehow gets lost before all packages have moved their 
paths...

But that trick has been used enough in gentoo, especially in gentoo/
amd64, that every PM should cope with it just fine, or said PM would be 
rather broken.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to