ports/146419: [patch] devel/directfb: FREETYPE2 enabled unconditionally

b. f. bf1783 at googlemail.com
Mon May 10 05:50:05 UTC 2010


The following reply was made to PR ports/146419; it has been noted by GNATS.

From: "b. f." <bf1783 at googlemail.com>
To: Anonymous <swell.k at gmail.com>
Cc: bug-followup at freebsd.org
Subject: Re: ports/146419: [patch] devel/directfb: FREETYPE2 enabled 
	unconditionally
Date: Mon, 10 May 2010 05:41:40 +0000

 On 5/10/10, Anonymous <swell.k at gmail.com> wrote:
 > "b. f." <bf1783 at googlemail.com> writes:
 >
 >> Look, introducing more variables (and contradictory ones, too) is just
 >> complicating things unnecessarily.  This is getting to be a mess. This
 >> port currently enables freetype support by default for ordinary builds
 >> on many systems that already have freetype installed, but disables it
 >> by default for package-building clusters and tinderboxes that use a
 >> clean sandbox for builds.  That dichotomy is undesirable.  But the
 >> solution proposed in the original submission isn't a good idea,
 >> either.
 >
 > This PR is about a bug and classified as such - sw-bug. What you are
 > proposing below constitutes as change-request. And since you're already
 > changing established behaviour why not update the damn thing, too?
 
 Whether the existing behavior is a bug or not is debatable, but I
 don't really care.  My response belongs in this PR's audit chain
 because it addresses your proposed change (which I think could have
 been simply submitted as a follow-up to the update PR, ports/144765).
 I'd love to see an update.
 
 >
 >> The best solution is to _remove_ the following lines of code:
 >>
 >> .if exists(${LOCALBASE}/lib/libfreetype.so.9)
 >> WITH_FREETYPE2= yes
 >> .endif
 >>
 >> and expose this knob as a FREETYPE OPTION with a suitable default
 >> value.
 >
 > And ports/144765 does exactly that, i.e. adds OPTIONS, except it doesn't
 > remove above statement.
 
 Good.  But it should also remove these lines, or users will not be
 able to disable auto-detection and -configuration of freetype support
 when freetype is installed, as you wanted.
 
 >
 >>  That should satisfy people who want to be able to enable or
 >> disable freetype support without regard to whether freetype is already
 >> installed, and is more visible than a knob that isn't an OPTION.
 >
 > You're forgetting that
 >
 >   .if defined(WITH_BLAH) || exists(${LOCALBASE}/lib/libblah.so.1)
 >
 > is quite common. Here is an example from x11-toolkits/gtk20
 
 This is usually present because the maintainer didn't want to take the
 time and effort to disable auto-detection and -configuration of
 certain features.  But it it not necessary, and it is not desirable.
 It is also not the recommended practice in section 5.11.3 of the
 Porter's Handbook.
 
 >
 >   .if (defined(WITH_CUPS) || exists(${LOCALBASE}/lib/libcups.so)) && \
 >   	!defined(WITHOUT_CUPS)
 
 Yes, it's present in some ports because those ports were never fully
 converted to the OPTIONS framework, which was intended to replace this
 kind of garbage.  You can offer some precedents, but it is still _not_
 a good idea.
 
 >
 > And the purpose of things like HAVE_GNOME is exactly to intervene with
 > user's decision and enable things based on what's already installed.
 >
 
 I guess here you're talking my separate response to PR ports/146385.
 I'm not sure what you mean by this.  My point there was that rather
 than subverting the use of *_GNOME in one port Makefile, the question
 of of libgsf's dependence on gconf2 should be addressed centrally in
 bsd.gnome.mk and the libgsf port Makefile, so that dependencies are
 properly recorded for _all_ ports that use libgsf, and ports are not
 attempting to use some Gnome ports outside of the *_GNOME framework,
 and some inside, which could lead to confusion.  I support your
 attempt to reduce the number of dependencies for users that want to
 use part but not all of Gnome, but not the way you went about it.
 
 b.



More information about the freebsd-ports-bugs mailing list