[Request for Comments] Add a "AFFECT" relationship between ports

Luca Pizzamiglio l.pizzamiglio at bally-wulff.de
Wed Aug 24 07:34:37 UTC 2011

Hi people,

I would like to propose a new "feature"/"ports relationship"/"variable" 
on ports management.
We could call this feature "AFFECT" and it exports a kind of dependency.

I'd explain the behavior with an example: nvidia-driver port.
During the installation process, this port moves the official Xorg
openGL installing the NVidia ones.
Removing nvidia-driver port, the old official libraries are restored.

libGL port & C. ignore this kind of stuff and if you update them with 
the nvidia-driver port installed, you overwrite the Nvidia libraries and 
the restore procedure (of the nvidia-driver) restores the not-updated 
official Xorg libraries.

This kind of relationship is not a CONFLICT or a DEPEND, it's something
different. nvidia-driver AFFECT graphics/libGL, but graphics/libGL must
ignore the presence of nvidia-driver.

The AFFECT should state: libGL is affected by nvidia-driver, then the
update procedure is:
* deinstall nvidia-driver
* update libGL
* reinstall nvidia-driver

Comments & ideas are really welcome!
If you agree, we could start implementation&test of this feature.

Best regards,


On 08/23/11 11:38, Conrad J. Sabatier wrote:
> On Tue, 23 Aug 2011 10:53:48 +0200
> Luca Pizzamiglio<l.pizzamiglio at bally-wulff.de>  wrote:
>> On 08/23/11 10:35, Conrad J. Sabatier wrote:
>>> On Tue, 23 Aug 2011 10:08:22 +0200
>>> Luca Pizzamiglio<l.pizzamiglio at bally-wulff.de>   wrote:
>>>> There is no conflict:
>>>> you need to install openGL before and then nvidia Driver.
>>>> the nvidia driver install procedure renames the original library
>>>> and install the nvidia version one (look at /usr/local/lib and
>>>> /usr/local/lib/xorg/modules/extensions, there are XXX-lib* old
>>>> library) both libraries has the same API, but the nvidia one uses
>>>> some legacy stuffs on the nvidia kernel driver.
>>> Yes, of course, it works fine *if* you make sure to install libGL
>>> first.  The thing that concerns me is if at some point, say, during
>>> a forced portupgrade, the libGL port may overwrite the nvidia
>>> library once again.
>>> It just seems that there should be something in place to prevent
>>> this from happening.
>>> Tschüß!  :-)
>> Yes, you're right. If you update openGL library later, NVidia driver
>> installation is brocken.
> Yes, I've already been bitten by this at least once.
>> The right procedure should be:
>> deinstall nvidia driver
>> upgrade openGL libraries
>> reinstall nvidia driver
>> This is a kind of "half-conflict": openGL library "conflicts" with
>> nvidia driver, but nvidia driver doesn't.
>> Or: nvidia-driver installation should block openGL library upgrade.
>> Or: nvidia-driver should be deinstalled before and reinstalled after.
>> This is a more general problem, ports infrastructure doesn't model
>> this kind of dependencies/conflicts.
>> I don't think openGL library maintainer wanna manage others ports
>> that breaks its libraries...
>> We should propose to add to the ports infrastructure this kind of
>> relationship (AFFECTS could be a name) and its management...
> That would be an interesting proposal to put forth.  Not sure how warm
> of a reception it will be met with, though.  :-)
> Do we need to map out some sort of formal proposal, including a
> possible implementation, or just toss the idea out for discussion?
> What do you think?
>> Ciao! (I live in Germany, but I'm still Italian :-)
> Ah, OK.  :-)  Well, in that case...Ciao to you, too!  :-)

More information about the freebsd-ports mailing list