Date: Wed, 24 Aug 2011 09:02:12 +0200 From: Luca Pizzamiglio <l.pizzamiglio@bally-wulff.de> To: FreeBSD Ports <ports@FreeBSD.org> Cc: "Conrad J. Sabatier" <conrads@cox.net> Subject: [Request for Comments] Add a "AFFECT" relationship between ports Message-ID: <4E54A1F4.50200@bally-wulff.de> In-Reply-To: <4E53BB67.1040805@bally-wulff.de> References: <4E53BB67.1040805@bally-wulff.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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, Luca Conrad On 08/23/11 11:38, Conrad J. Sabatier wrote: > On Tue, 23 Aug 2011 10:53:48 +0200 > Luca Pizzamiglio<l.pizzamiglio@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@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! :-) >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E54A1F4.50200>