Date: Thu, 30 Aug 2012 17:10:14 -0500 From: Jeremy Messenger <mezz.freebsd@gmail.com> To: nanoman@nanoman.ca Cc: gnome@freebsd.org Subject: Re: WANT_GNOME Causes Automatic Dependencies Message-ID: <CADLFttdT8-qZeu32RmKs0gMWH_ukbEyyk2zojnyC7G4fRDc6=w@mail.gmail.com> In-Reply-To: <20120830214321.GD31703@nanocomputer.nanoman.ca> References: <20120830182257.GC31703@nanocomputer.nanoman.ca> <CADLFttdJn4LcY1xzxt6VmT4364aZoBcqakuttf4hd37RW3i4tg@mail.gmail.com> <20120830214321.GD31703@nanocomputer.nanoman.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 30, 2012 at 4:43 PM, A.J. Kehoe IV (Nanoman) <nanoman@nanoman.ca> wrote: > Jeremy Messenger wrote: >> >> On Thu, Aug 30, 2012 at 1:22 PM, A.J. Kehoe IV (Nanoman) >> <nanoman@nanoman.ca> wrote: >>> >>> WANT_GNOME causes automatic dependencies. This causes problems for port >>> and >>> package management, as described in the FreeBSD Porter's Handbook on the >>> "Dependencies" page under "Problems Caused by Automatic Dependencies": >>> >>> >>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-depend.html >> >> >> I agree, I have got rid of it in bsd.mate.mk. > > > Awesome! Automatic dependencies have been causing me grief for about a > decade, so this makes me happy. I wanted to clean up all of issues for long time and finally did it in the bsd.mate.mk (copied from bsd.gnome.mk). Here's what I did. I have removed the features: -HAVE:Mfoo, A lot of users don't know, hide and lacking OPTIONS stuff. It's not difficult to add autocheck in the Makefile without that HAVE:Mfoo anyway if configure doesn't provide option to disable. -foo_USE_GNOME_IMPL, we do not maintain it very well. Also it was not easy to track it down for the other maintainers to figure where the dependencies come from. I think it's best to put a complete dependencies in the ports rather than having IMPL doing it for you. -Remove the gnomeprefix and replace it to something like GCONFPREFIX=--gconf=...., so you can put ${GCONFPREFIX} in the Makefile's CONFIGURE_ARGS. Because not all ports have the same flags. -Remove the referencehack, yes it works great but it's ugly in the every Makefile. I think that's all. Only a feature that has been added is :build and :run. If anyone have something in mind to improvement or else, let me know and I will see what I can do. I plan to copy all of improvement from bsd.mate.mk to bsd.gnome.mk, which I already did with :build and :run and will doing more later when I have time permit. Unless someone can help me with it. >>> To solve this problem, I'm creating a new port called >>> misc/gnome-components. >>> This "meta-port" will define all the optional dependencies from >>> Mk/bsd.gnome.mk as OPTIONS. In Mk/bsd.gnome.mk, the whole automatic >>> dependencies section will be replaced with one line: >>> >>> RUN_DEPENDS+= gnome-components:${PORTSDIR}/misc/gnome-components >>> >>> I hope to have this finished by tomorrow (2012-08-31). If anyone has any >>> suggestions or alternative solutions, I'm very interested to hear what >>> you >>> have to say. >> >> >> But.. I disagree with the method you are doing there. You can't just >> do a sweep, because there is actually a few that do not provide flag >> option to disable it. You need to do it by manual and remove the >> HAVE_GNOME or convert it to OPTIONS if it allows you to. I prefer >> anyone to do a real fix/clean instead of band-aid >> (misc/gnome-components). >> >> Cheers, >> Mezz > > > I'm not fond of my misc/gnome-components method either, so any alternative > ideas are very welcome. All I've done thus far is created a Makefile with > an OPTIONS list for the 97 components from bsd.gnome.mk. > > What do you suggest for a real fix/clean? Based on your response, the ideal > fix has at least two attributes: > > 1. No automatic dependencies. > > 2. An option to disable specific components. I meant by remove the HAVE_GNOME from port Makefile then switch to either: 1) automatic dependency by using exists() or 2) OPTIONS if the port's configure provides flag to disable. It is unnecessary to make it complicates with gnome-components when the standard solution available in our ports tree. As for the #1, yes, it has to be there because a few configure files do that without option to disable (blame it on upstream). > I'm trying to get this issue resolved as quickly as possible, but I want the > fix to be done well. Again, any suggestions or alternative solutions are > welcome. I don't see why you are in such of hurry when we have that issue for years (longer than I became committer). When doing it in hurry always make messy, complicate or whatever. Hences for gnome-components. Cheers, Mezz > -- > A.J. Kehoe IV (Nanoman) | /"\ ASCII Ribbon Campaign > Nanoman's Company | \ / - No HTML/RTF in E-mail > E-mail: nanoman@nanoman.ca | X - No proprietary attachments > WWW: http://www.nanoman.ca/ | / \ - Respect for open standards -- mezz.freebsd@gmail.com - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLFttdT8-qZeu32RmKs0gMWH_ukbEyyk2zojnyC7G4fRDc6=w>