Subject: Re: pkg/33869: can't install meta-pkgs/{xorg,XFree86} into /usr/X11R6
To: None <tech-pkg@NetBSD.org>
From: None <joerg@britannica.bec.de>
List: tech-pkg
Date: 07/01/2006 16:38:19
On Sat, Jul 01, 2006 at 02:15:19PM +0200, Christoph Badura wrote:
> So why not install into X11BASE if the user wants that? Or LOCALBASE
> if you must.  Either way the user would end up with a system that
> worked by default.

As I wrote before, X11BASE is meant for the *native* X11_TYPE. The rule
for pkgsrc is to not touch stuff outside ${LOCALBASE} with a few basic
exception, most of being entirely optional. The number of places this
affects is great enough and easy enough to get wrong, that I simply
refuse this for xorg. If you want /usr/X11R6 for simplicity reasons,
fine, link /usr/pkg/xorg to that. I should add though that
/usr/pkg/xorg/bin is not anymore arbitrary than /usr/X11R6/bin and
modifying the default PATH is faster than writing a huge complain.
I would prefer to avoid the need for ${LOCALBASE}/xorg as well, but with
the current fragility of imake, I consider that a non-option.

> Certainly there are no technical reasons to not do that.  And the packages
> have all the machinery to support that.

Like being able to nuke ${LOCALBASE} and the database and have a clean
system agian?

> The Linux distros have been getting this right for years.

Linux distros don't allow multiple X11 systems to be used. They don't
have a physical concept of base and third-party software iether.

> Below is the list of files I would have to modify on the laptop (which
> really has a minimal environment) to use unmodifed xorg or Xfree86 packages.
> I find setting X11ROOT in /etc/mk.conf much more easier.  (Or not having
> to set it at all.)
> 
> etc/postfix/main.cf:    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

I think this is a bug.

> /etc/rc.d/xdm:command="/usr/X11R6/bin/${name}"
> /etc/rc.d/xfs:command="/usr/X11R6/bin/${name}"

Those two are RC scripts for the xsrc versions, they should exist when
xsrc is not installed?

The following are directly user visibile:
> /etc/skel/.cshrc:set path = (~/bin /bin /sbin /usr/{bin,sbin,X11R6/bin,pkg/{,s}bin,games} \
> /etc/skel/.profile:PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin
> /etc/csh.login:set path=($path /usr/pkg/bin /usr/X11R6/bin /usr/games /usr/local/bin)
> /etc/man.conf:_whatdb           /usr/X11R6/man/whatis.db
> /etc/man.conf:_default  /usr/{share,X11R6,pkg,local}/man/
> /etc/man.conf:X11R6             /usr/X11R6/man/
> /etc/profile:PATH="/bin:/usr/bin:/usr/pkg/bin:/usr/X11R6/bin:/usr/games:/usr/local/bin"

The following shouldn't exist for !xsrc either:

> /etc/X11/fs/config:catalogue = /usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/CID/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/
> /etc/X11/proxymngr/pmconfig:lbx managed /usr/X11R6/bin/lbxproxy
> /etc/X11/rstart/contexts/x:MISC POSIX PATH=/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:/usr/X11R6/bin
> /etc/X11/rstart/contexts/x11:MISC POSIX PATH=/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:/usr/X11R6/bin
> /etc/X11/rstart/contexts/x11r6:MISC POSIX PATH=/bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:/usr/X11R6/bin
> /etc/X11/xdm/Xservers::0 local /usr/X11R6/bin/X vt05 -nolisten tcp
> /etc/X11/xdm/Xresources:xlogin*logoFileName: /usr/X11R6/include/X11/pixmaps/NetBSD.xpm
> /etc/X11/xdm/Xresources:xlogin*logoFileName: /usr/X11R6/include/X11/pixmaps/NetBSDbw.xpm
> /etc/X11/xdm/Xservers.ws::0 local /usr/X11R6/bin/X vt05 -nolisten tcp
> /etc/X11/xdm/xdm-config:DisplayManager*chooser:         /usr/X11R6/libexec/chooser

This one needs to get informed about all kind of font pathes anyway,
hardly special:

> /etc/fonts/fonts.conf:  <dir>/usr/X11R6/lib/X11/fonts</dir>

Two files you forgot:
/etc/ssh/ssh_config
/etc/ssh/sshd_config
(path to xauth)

Joerg