WANT_GNOME Causes Automatic Dependencies
Jeremy Messenger
mezz.freebsd at gmail.com
Thu Aug 30 22:10:15 UTC 2012
On Thu, Aug 30, 2012 at 4:43 PM, A.J. Kehoe IV (Nanoman)
<nanoman at nanoman.ca> wrote:
> Jeremy Messenger wrote:
>>
>> On Thu, Aug 30, 2012 at 1:22 PM, A.J. Kehoe IV (Nanoman)
>> <nanoman at 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 at nanoman.ca | X - No proprietary attachments
> WWW: http://www.nanoman.ca/ | / \ - Respect for open standards
--
mezz.freebsd at gmail.com - mezz at FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/ - gnome at FreeBSD.org
More information about the freebsd-gnome
mailing list