tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: some x11 stuff in pkgsrc is hopelessly broken for slightly older systems

"Greg A. Woods" <> writes:

> At Thu, 21 Jul 2016 00:16:38 +0200, Joerg Sonnenberger <> wrote:
>> Limited support in both cases. For NetBSD 5, we have been advising to
>> use X11_TYPE=modular for a long time for example. 
> Sorry I've never seen such a recommendation, and I can't find one in the
> main pkgsrc document, and I'm not using NetBSD-5 for this situation either.
> (My old machines are actually still stuck on a much older pkgsrc, sigh.)

See mk/platform/  On netbsd-5, the use of X11_TYPE=modular is
the default.

> The actual pkgsrc documentation, as of today, last revision on
> 2016/07/14, still says that only on DragonFlyBSD is "X11_TYPE=modular"
> the default.

Feel free to submit documentation fixes.

> If 'modular' is truly the only way to support X11 add-on packages, then
> it must be very explicitly and clearly said and done, preferably with
> very clear warnings issued automatically by "make" when X11_TYPE is not
> set exactly as would be expected for the best results.  Setting the
> default for the NetBSD platform (for all systems, not just those newer
> than NetBSD-4) would be a really good start.
> As far as I'm concerned, and so far as I can see in any documentation or
> such, the native XFree86 build is still fully supported for NetBSD
> source builds up to and including NetBSD-7.0.  However if pgksrc can't
> handle X11_TYPE=native even on NetBSD-7.x then it must be explicit about
> that fact.

I think we are blurring multiple things.  You are saying "XFree86", but
the native X11 in modern NetBSD is not XFree86, but an import of xorg,
which is hence modular.  So the two things to compare are

  native: the bits in /usr/X11R7

  modular: misnamed, but refers to building xorg from pkgsrc

You do of course need to be sure that the bits on your system correspond
to a netbsd-7 (or current build), removing obsolete headers and
installing all the X sets.

> Are there so few people using pkgsrc directly to build their own
> packages from source that everyone, somehow, learned to put
> "X11_TYPE=modular" in their /etc/mk.conf file but then promptly forgot
> about it and nobody else has tripped over breakage in very important
> packages like libXft until I did?  Are the test and binary build
> machines not actually using raw system defaults?  Someone needs to
> remove /etc/mk.conf from all of them!

I have a test build box with netbsd-7 on it, and have built many (681
installed) packages with no X11_TYPE set.

/usr/pkgsrc/mk/x11/gtk2 $ make show-vars VARNAMES=X11_TYPE

> Also, just how exactly is this supposed to be compatible with the use of
> native X11 libraries on any other non-NetBSD systems?

I know you know this, bu keep in mind that there is much software out
there and a lot of it is not entirely right.  So in general not
everything works, and it needs to be fixed.

> Sure my OSX systems with XQuartz are actually using the equivalent of
> "modular" so they have the necessary pkg-config files, but are all of
> these doing so natively in all supported releases as well?

> Is OSX Tiger still supposed to be supported by pkgsrc?

No.  See bootstrap/README.MacOSX.  Fixes to make it work that don't
cause functional or aesthetic problems are allowed.

In /usr/X11R7/lib/pkgconfig (netbsd-7), there are 121 files.  So
generally the in-tree X has pkgconfig support.

Overall, my impression is that in netbsd-7, it's a bug if packages don't
build with X11_TYPE=native.  I believe (but am fuzzy on this) tha we
have added workarounds for missing pkg-config files.

netbsd-6 is less clear.  I am using X11_TYPE=modular on netbsd-6, but
that's because I used it on netsbd-5 before upgrading, not because
native didn't work for me.

IMHO the best path forward is to identify what fails on netbsd-7 with
X11_TYPE=native, understand those failures, and then talk about how to
fix it.

Attachment: signature.asc
Description: PGP signature

Home | Main Index | Thread Index | Old Index