Subject: Re: Overhaul X11 handling [was Re: need advice for integrating modular
To: Dieter Baron <dillo@danbala.tuwien.ac.at>
From: Johnny Lam <jlam@pkgsrc.org>
List: tech-pkg
Date: 04/21/2006 08:48:37
Dieter Baron wrote:
> In article <20060420141938.GA1705@NetBSD.org> Johnny wrote:
> hi,
>
> : Here is my N-step plan to make this happen:
>
> : (1) Scrap pkgtools/x11-links and create a pkgtools/native-X11 package
> : that symlinks everything from /usr/X11R6 into /usr/pkg.
>
> Yeah, another buttload of symlinks. What exactly does that buy us?
> Not having to pass -L/usr/X11R6 to the linker? Is that importaint
> enough to clutter up ${LOCALBASE}/bin with all those X11 binaries?
Yes, I think it is. The pkgsrc infrastructure does a lot of work to try
to keep track of exactly where binaries and libraries are coming from,
and it would simplify things if that were not needed. I can try to
continue keeping track of this information, but I may punt on this if it
is too hard.
>
> : (3) Drop support for USE_XPKGEDGE=no. Handle the XAPPLRESDIR problem
> : by having packages that install X11 resource files include a
> : post-install action (via the INSTALL script) that symlinks or
> : copies the resource file into /usr/X11R6 in the X11_TYPE=native
> : case.
>
> I don't think pkgsrc should install into /usr/X11R6. I thought that
> was the whole point of USE_XPKGWEDGE.
Like some other parts of the INSTALL scripts that do destructive actions
outside of ${PKG_PREFIX}, this would be governed by a yes/no variable
PKG_INSTALL_XAPPLRES that defaults to "no", but that can be set to "yes"
during pkg_add. Quite frankly, I saw no other general solution to PR
pkg/28510 -- modifying xsrc, union mounts, and wrapping every X11 binary
are all pie-in-the-sky ideas compared to just putting the X11 resource
files where X expects to find them.
>
> : A package would indirectly specify dependencies on X11 component
> : packages by setting USE_X11 to the components that it needs, e.g.
>
> : USE_X11= Xft2 Mesa
>
> : and then including x11.buildlink3.mk. The x11.buildlink3.mk file
> : would take are of including either the correct modular X.org buildlink3.mk
> : files or the buildlink3.mk corresponding to one of the monolithic X11
> : packages, depending on the value of X11_TYPE.
>
> : We would get rid of all X11-related builtin.mk files as they would be
> : no longer needed.
>
> So when using native X11, one would not be able to install a package
> that needs a component not provided by that native X11?
No, when using native X11, a package will not be able to depend on a
pkgsrc version of a component that is also provided by the native X11.
This is a function of how "big" your native X11 installation.
Cheers,
-- Johnny Lam <jlam@pkgsrc.org>