On 01/14/2013 08:26 AM, Ian Stakenvicius wrote:
> On 14/01/13 10:53 AM, Zac Medico wrote:
>> On 01/14/2013 07:44 AM, Zac Medico wrote:
>>> On 01/14/2013 07:09 AM, Ian Stakenvicius wrote:
>>>> OK i'm a little confused.  Putting my earlier note aside, if
>>>> the symlink will be auto-cleaned after no packages use it,
>>>> what's the point/need for the original message from portage
>>>> then??  Is it just QA for the ebuild maintainer?
>>>
>>> Unfortunately, there are a number of different possible
>>> scenarios. It may serve as QA for the ebuild maintainer. It may
>>> be triggered by a symlink that the sysadmin has manually created.
>>> In any case, there's a performance penalty, since portage has to
>>> search for other packages that installed files underneath the
>>> symlink. The performance penalty can be avoided for a given
>>> symlink by adding it to UNINSTALL_IGNORE (which makes the message
>>> useful, regardless of where the symlink originated from).
> 
>> You can measure the performance penalty for the /var/run symlink
>> by running this command:
> 
>> time portageq owners / /var/run
> 
> 
> Based on the performance penalty, would it make sense then for
> system-managed symlinks like /var/run that it would be automatically
> added to
> UNINSTALL_IGNORE and its removal managed separately by whatever put it
> there in the first place??

There's currently no way for ebuilds to add things to UNINSTALL_IGNORE
though (aside from having them edit make.conf). And how is openrc going
to know when to remove it?

> (and additionally, that the warning wouldn't be presented to end-users
> because of it being a system-managed migration symlink instead of a
> end-user-managed one)?

Do you want to introduce a new variable for this purpose, and allow
ebuilds to modify it via /etc/env.d or something?
-- 
Thanks,
Zac

Reply via email to