Subject: Re: [PATCH] bsd.buildlink3.mk + xorg + Linux == breakage
To: Eric Gillespie <epg@netbsd.org>
From: Johnny C. Lam <jlam@NetBSD.org>
List: tech-pkg
Date: 05/10/2005 15:30:56
On Mon, May 09, 2005 at 09:27:28PM -0400, Eric Gillespie wrote:
> Currently, bsd.builtin.mk is included before the X11
> buildlink3.mk file, so the BUILDLINK_PACKAGES list it loops over
> is missing the packages x11/xorg-libs/buildlink3.mk adds.
> Particularly, iconv is missing, leading to the dreaded
> 
>   ===> libiconv-1.9.2nb1 is not needed for Linux; it is included in GNU libc.
> 
> message when trying to install anything with USE_X11 (emacs,
> ghostscript-gnu, ...).
> 
> This patch just moves bsd.builtin.mk inclusion after USE_X11
> processing, solving the problem.  Any objection?

No, this is not right, because it doesn't address the issue that's
noted in the comment above the block that includes the proper X11
buildlink3.mk file.  The troublesome aspect is that USE_X11 is supposed
to trigger inclusion of the correct X11 buildlink3.mk file, and that
it may be set by a builtin.mk file.

The correct fix is to move that X11 block in bsd.buildlink3.mk into
a separate file pkgsrc/mk/x11.buildlink3.mk and change every place
that sets USE_X11 to include x11.buildlink3.mk instead.  That removes
the logic to deal with the special case that is causing the breakage
that you're noting.  This is okay now that all packages are forced to
use buildlink3 and there is no off-switch for it.

If you have trouble coming up with a patch for this, I'll note this
issue on my TODO list.

On a completely separate issue, it's silly to have libiconv explicitly
prevent installation on Linux just because it in GNU glibc.  Not only
that, but it's technically not the same as libiconv, but is rather
some GNU glibc iconv.  The libiconv package should be installable,
and it should be possible to tell packages to use libiconv for all
dependencies instead of using the native iconv() library.  Ditto for
gettext-lib.  The current special-case checks simply cause more things
to break than it fixes, and it's on my TODO list to get rid of these
silly restrictions.

	Cheers,

	-- Johnny Lam <jlam@NetBSD.org>