Subject: Re: /usr/pkg/XFree86 ??
To: Jeremy C. Reed <reed@reedmedia.net>
From: Louis Guillaume <lguillaume@berklee.edu>
List: tech-pkg
Date: 09/08/2004 15:28:12
Jeremy C. Reed wrote:

> On Wed, 8 Sep 2004, Louis Guillaume wrote:
> 
> 
>>For some strange reason, my XFree86 packages are being installed in
>>/usr/pkg/XFree86 instead of /usr/pkg/X11R6 as is specified in mk.conf:
>>
>>X11_BASE=/usr/pkg/X11R6
>>X11_TYPE=XFree86
>>
>>This is on Slackware Linux (9.1). There seems to be a /usr/pkg/X11R6
>>directory. But it may be left over from a prior attempt at getting
>>pkgsrc working. I deleted all packages and decided to start fresh. There
>>is also /usr/X11R6, which I assume was put there by some slackware
>>packages, although I've slimmed those down even beyond Martti's list.
> 
> 
> /usr/X11R6 used to be used for installing X related software. But now, it
> is not touch and is where the native X is installed.
> 
> mk/bsd.pkg.defaults.mk has:
> 
> # Default installation prefix for meta-pkgs/XFree86 and
> # meta-pkgs/xorg.
> .if defined(X11_TYPE) && !empty(X11_TYPE:MXFree86)
> X11ROOT_PREFIX?=        XFree86
> .elif defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)
> X11ROOT_PREFIX?=        xorg
> .else
> X11ROOT_PREFIX?=        # empty
> .endif
> 
> I assume you set your X11_TYPE to XFree86.
> 
> One idea would be to set your X11ROOT_PREFIX to "X11R6"  in your mk.conf
> and then it would install to /usr/pkg/X11R6. But then you could not easily
> install X.org and XFree86 implementations at the same time.
> 
> Another idea would be to set X11BASE to "/usr/X11R6"

you mean X11BASE=/usr/pkg/XFree86, right?

> to use it. (I think
> that may not be honored though unless you modified
> meta-pkgs/XFree86/Makefile.common).
> 

I think I've figured out what's happening: I had X11BASE=/usr/pkg/X11R6. 
This was not being considered at install-time as the target directory. I 
believe the excerpt from bsd.pkg.defaults.mk above shows that the target 
directory will be based on X11ROOT_PREFIX or, failing that, X11_TYPE.

What happened was, XFree86-libs installed ok into /usr/pkg/XFree86, but 
since X11BASE was set to /usr/pkg/X11R6, Xrandr failed to build because 
it was looking for libraries in X11BASE, not in X11ROOT_PREFIX.

Once I set X11BASE=/usr/pkgsrc/XFree86 all remaining XFree86 packages 
are building fine. And this is perfectly acceptable to me :)

Basically if X11BASE != X11ROOT_PREFIX, there will be problems, at least 
if X11_TYPE=XFree86 or if there is only pkgsrc XFree86. So why the 
difference between X11BASE and X11ROOT_PREFIX? Aren't they ultimately 
one and the same? I can't imagine a reason to build XFree86 packages 
against another X11BASE.

Does this make sense?

Thanks,

Louis