Subject: Re: pkg/33869: can't install meta-pkgs/{xorg,XFree86} into /usr/X11R6
To: None <gnats-bugs@NetBSD.org>
From: Christoph Badura <bad@bsd.de>
List: tech-pkg
Date: 07/01/2006 14:15:19
On Thu, Jun 29, 2006 at 11:45:01PM +0000, joerg@britannica.bec.de wrote:
>  No, this is not supported at all and not supposed to work either.
>  pkgsrc stuff is not supposed to leave ${LOCALBASE} and X11BASE is
>  entirely for the sake of X11TYPE=native.

Uhm. The documentation on USE_X11BASE and USE_IMAKE contradict you.

Anyway, the current default of the xorg and XFree86 pkg leave you with
an X11 installation that doesn't work by default because the
binaries are silently installed into unusal directories and need
a every user to customize PATH.

This came about because my T30 died and I need to upgrade to upgrade
NetBSD on the disk from 2.x to 3.0 because 2.x didn't support the
hardware in the T43 that replaced it. Unfortunately NetBSD's xsrc
doesn't support the graphics chip in the T43. Therefore I needed
at least an newer X server.

I've looked into installing just the x-sets from NetBSD without xserver
and using xorg-server.  But that requires X11_TYPE to be set in /etc/mk.conf
at all the times that a dependency of xorg-server that installs files
below /usr/pkg/xorg is updated or re-build.  Because there is no way to
handle that automatically, it really requires X11_TYPE to be set permanently.
Otherwise you get an inconsistent system.

At this point, I can't have xorg and XFree86 installed at the same time
from pkgsrc because that would require different settings of X11_TYPE
at just the right time.  So why not acknowledge that and install into
a standard directory.

Also at this point, keeping the NetBSD x-sets installed is really pointless,
because they won't be used.

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.

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

The only things that prevent that from happening is the cited code
and stubbornly putting sticking to (actually made up) principles over
not screwing the users.

The Linux distros have been getting this right for years.

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
/etc/rc.d/xdm:command="/usr/X11R6/bin/${name}"
/etc/rc.d/xfs:command="/usr/X11R6/bin/${name}"
/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"
/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
/etc/fonts/fonts.conf:  <dir>/usr/X11R6/lib/X11/fonts</dir>

--chris