Subject: Re: XFree86, X.org, and pkgsrc
To: Johnny C. Lam <jlam@NetBSD.org>
From: Juan RP <juan@xtrarom.org>
List: tech-pkg
Date: 05/31/2005 05:49:36
On Tue, 31 May 2005 03:36:46 +0000
"Johnny C. Lam" <jlam@NetBSD.org> wrote:

> I want to get our X11-handling cleaned up before the next branch.
> I'm in the process of doing a fairly massive cleanup of the
> buildlink/builtin code in pkgsrc and right now the X11-handling is
> getting in the way.

Cool! 

> To gain some perspective here, I want to point out that the code in
> pkgsrc to deal with X11 distributions was inherited from FreeBSD Ports
> and the tweaks we've made over the years have preserved the assumptions
> in the original code.  Basically, we assume that ${X11BASE} is some
> separate location from ${LOCALBASE} and are not nested in one another.
> Nowadays, we have two different X11 distributions that can installed
> from pkgsrc, but dependencies aren't really handled correctly because
> the pkgsrc infrastructure really expects the X11 distribution to
> already exist before packages that may use X11 are built.

My original idea was to install them into LOCALBASE, but that broke the
bulk builds in the past, so I changed them to use X11ROOT_PREFIX.

> What is the purpose of X11ROOT_PREFIX?  It seems to defeat the main
> benefits of installing an X11 distribution from pkgsrc, which would
> be that you wouldn't need xpkgwedge, and all packages automatically
> install app-defaults files in a place that the X11 distribution would
> find.  I don't see why we would want to have extra code in pkgsrc just
> to allow the X11 distro packages to uniquely install into a different
> location -- if we're going to do this, then we should generalize the
> code to work for every package, not just for the X11 distro packages.
> I don't see why you would want to be able to install both XFree86 and
> xorg from pkgsrc, which is the only reason other packages in pkgsrc
> install completely into subdirectories of ${LOCALBASE}.

This was added to support the installation of both packages, someone
told me that we might want to install both...
 
We used X11ROOT_PREFIX to not remove binaries from another packages
when building packages in bulk builds. That's not needed anymore since
we have to set X11_TYPE to install them.

> I would like very much if there were no "special" packages in pkgsrc,
> meaning that all packages are handled uniformly.  This makes pkgsrc
> infrastructure code simpler, and also makes managing packages simpler,
> which is a win for both developers and users.  Right now, the X11
> distro packages don't adhere to this philosophy, and I would like to
> know why this is needed/desirable/wanted.

Agreed, I'll try to make a bulk build with xorg again (this time without using
X11ROOT_PREFIX).