Bug 26924

Summary: sysinstall has problem parsing "dists=" for XFree servers
Product: Base System Reporter: Jimmy Olgeni <olgeni>
Component: binAssignee: jkh
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.3-STABLE   
Hardware: Any   
OS: Any   

Description Jimmy Olgeni 2001-04-28 20:00:00 UTC
When using an install.cfg script, the following lines can be used to select
a number of components to install:

  dists=bin manpages ... susbin
  distSetCustom

However, there is a problem with the XFree86 server selection. While all
the other X11 related components work fine (from man pages to fonts), the
only XFree86 server than can be installed from install.cfg is XVG16.

Fix: 

This would require some poking in sysinstall, I guess :o)

Workaround:

You can execute any number of commands from the install.cfg script, using:

  command=...
  system

You can use this kind of command to get any XFree86 server out of the
installation CD:

  tar xfz /dist/XF86336/Servers/XSVGA.tgz -C /usr/X11R6/

The problem applies to X11 servers only, so you can extract them even after
the "Fixing permissions in XFree86 tree" phase: they already have the
proper permissions in the tarballs. X11 servers will go into the bin/
directory as usual.
How-To-Repeat: 
The easiest way to test the "dists=" parsing is to run this command:

  /stand/sysinstall "dists=XSVGA Xfnts Xfcyr Xlkit Xf100 Xfscl Xfnon Xfsrv Xbin Xcfg Xdoc Xhtml Xlib Xman Xprog Xps Xset" distSetCustom distSetXF86

Then you can use sysinstall's own menu to poke around the selection. You'll
find out that every X11 item has been selected (ok), that XSVGA has not
been selected (bad), while XVG16 has been selected even if it was not
listed in the assignment (bad).

AFAIK, this problem does not affect users who install interactively.
Comment 1 Kris Kennaway freebsd_committer freebsd_triage 2001-04-30 21:19:50 UTC
Responsible Changed
From-To: freebsd-bugs->jkh

jkh is the sysinstall maintainer
Comment 2 Jimmy Olgeni 2001-08-04 21:54:23 UTC
It turns out that sysinstall has no problem parsing the "dists=" line.

The actual problem lies in the distribution definitions. The sysinstall
source code (dist.c) defines the X11 Server distributions as "Servers/FOO",
while sysinstall.8 documents them as "FOO" only, so the install.cfg script
was wrong. No error indication is given except if you run sysinstall with
the debug option enabled: it will complain about "no such release FOO".
The same holds true for "PC98-Servers/*" entries.

The following patch fixes sysinstall.8:

* Move X8514 together with other non-PC98 X11 servers.

* Add the proper Servers/ and PC98-Servers/ prefixes to X11 server entries.

* Add a number of [DESCRIPTION MISSING] entries, regarding PC98 Servers
that were not previously documented. Anybody with PC98 experience would be
welcome to fill these blanks :o)

* Add X3DL server (3D Labs).

*** sysinstall.8.orig	Sat Aug  4 21:05:41 2001
--- sysinstall.8	Sat Aug  4 21:28:03 2001
***************
*** 496,556 ****
  XFree86 3.3.6 postscript documentation.
  .It Li Xset
  XFree86 3.3.6 graphical setup tool.
! .It Li X8514
! XFree86 3.3.6 8514 server.
! .It Li X9480
  XFree86 3.3.6 PC98 8-bit (256 color) PEGC-480 server.
! .It Li X9EGC
  XFree86 3.3.6 PC98 4-bit (16 color) EGC server.
! .It Li X9GA9
  XFree86 3.3.6 PC98 GA-968V4/PCI (S3 968) server.
! .It Li X9GAN
  XFree86 3.3.6 PC98 GANB-WAP (cirrus) server.
! .It Li X9LPW
  XFree86 3.3.6 PC98 PowerWindowLB (S3) server.
! .It Li X9NKV
  XFree86 3.3.6 PC98 NKV-NEC (cirrus) server.
! .It Li X9NS3
  XFree86 3.3.6 PC98 NEC (S3) server.
! .It Li X9SPW
  XFree86 3.3.6 PC98 SKB-PowerWindow (S3) server.
! .It Li X9TGU
  XFree86 3.3.6 PC98 Cyber9320 and TGUI9680 server.
! .It Li X9WEP
  XFree86 3.3.6 PC98 WAB-EP (cirrus) server.
! .It Li X9WS
  XFree86 3.3.6 PC98 WABS (cirrus) server.
! .It Li X9WSN
  XFree86 3.3.6 PC98 WSN-A2F (cirrus) server.
! .It Li XAGX
  XFree86 3.3.6 8 bit AGX server.
! .It Li XI128
  XFree86 3.3.6 #9 Imagine I128 server.
! .It Li XMa8
  XFree86 3.3.6 ATI Mach8 server.
! .It Li XMa32
  XFree86 3.3.6 ATI Mach32 server.
! .It Li XMa64
  XFree86 3.3.6 ATI Mach64 server.
! .It Li XMono
  XFree86 3.3.6 monochrome server.
! .It Li XP9K
  XFree86 3.3.6 P9000 server.
! .It Li XS3
  XFree86 3.3.6 S3 server.
! .It Li XS3V
  XFree86 3.3.6 S3 Virge server.
! .It Li XSVGA
  XFree86 3.3.6 SVGA server.
! .It Li XVG16
  XFree86 3.3.6 VGA16 server.
! .It Li XW32
  XFree86 3.3.6 ET4000/W32, /W32i and /W32p server.
! .It Li XTGA
  Server for TGA cards (alpha architecture only).
! .It Li Xnest
  XFree86 3.3.6 nested X server.
! .It Li Xvfb
  XFree86 3.3.6 virtual frame-buffer X server.
  .It Li Xfnts
  XFree86 3.3.6 base font set.
--- 496,562 ----
  XFree86 3.3.6 postscript documentation.
  .It Li Xset
  XFree86 3.3.6 graphical setup tool.
! .It Li PC98-Servers/X9480
  XFree86 3.3.6 PC98 8-bit (256 color) PEGC-480 server.
! .It Li PC98-Servers/X9EGC
  XFree86 3.3.6 PC98 4-bit (16 color) EGC server.
! .It Li PC98-Servers/X9GA9
  XFree86 3.3.6 PC98 GA-968V4/PCI (S3 968) server.
! .It Li PC98-Servers/X9GAN
  XFree86 3.3.6 PC98 GANB-WAP (cirrus) server.
! .It Li PC98-Servers/X9LPW
  XFree86 3.3.6 PC98 PowerWindowLB (S3) server.
! .It Li PC98-Servers/X9MGA
! [DESCRIPTION MISSING]
! .It Li PC98-Servers/X9NKV
  XFree86 3.3.6 PC98 NKV-NEC (cirrus) server.
! .It Li PC98-Servers/X9NS3
  XFree86 3.3.6 PC98 NEC (S3) server.
! .It Li PC98-Servers/X9SPW
  XFree86 3.3.6 PC98 SKB-PowerWindow (S3) server.
! .It Li PC98-Servers/X9SVG
! [DESCRIPTION MISSING]
! .It Li PC98-Servers/X9TGU
  XFree86 3.3.6 PC98 Cyber9320 and TGUI9680 server.
! .It Li PC98-Servers/X9WEP
  XFree86 3.3.6 PC98 WAB-EP (cirrus) server.
! .It Li PC98-Servers/X9WS
  XFree86 3.3.6 PC98 WABS (cirrus) server.
! .It Li PC98-Servers/X9WSN
  XFree86 3.3.6 PC98 WSN-A2F (cirrus) server.
! .It Li Servers/X3DL
! XFree86 3.3.6 3D Labs server.
! .It Li Servers/X8514
! XFree86 3.3.6 8514 server.
! .It Li Servers/XAGX
  XFree86 3.3.6 8 bit AGX server.
! .It Li Servers/XI128
  XFree86 3.3.6 #9 Imagine I128 server.
! .It Li Servers/XMa8
  XFree86 3.3.6 ATI Mach8 server.
! .It Li Servers/XMa32
  XFree86 3.3.6 ATI Mach32 server.
! .It Li Servers/XMa64
  XFree86 3.3.6 ATI Mach64 server.
! .It Li Servers/XMono
  XFree86 3.3.6 monochrome server.
! .It Li Servers/XP9K
  XFree86 3.3.6 P9000 server.
! .It Li Servers/XS3
  XFree86 3.3.6 S3 server.
! .It Li Servers/XS3V
  XFree86 3.3.6 S3 Virge server.
! .It Li Servers/XSVGA
  XFree86 3.3.6 SVGA server.
! .It Li Servers/XVG16
  XFree86 3.3.6 VGA16 server.
! .It Li Servers/XW32
  XFree86 3.3.6 ET4000/W32, /W32i and /W32p server.
! .It Li Servers/XTGA
  Server for TGA cards (alpha architecture only).
! .It Li Servers/Xnest
  XFree86 3.3.6 nested X server.
! .It Li Servers/Xvfb
  XFree86 3.3.6 virtual frame-buffer X server.
  .It Li Xfnts
  XFree86 3.3.6 base font set.


Also, please note that dist.c is actually missing a couple of documented
X11 servers (Xnest, Xvfb). Looks like there are no more free bits in the
X11 servers mask to include these two, what should be done with the man
page?

This patch is against 4-STABLE, and should be committed to the STABLE
branch before 4.4-RELEASE.
Comment 3 Eric Melville freebsd_committer freebsd_triage 2001-08-15 00:19:50 UTC
State Changed
From-To: open->closed

patch committed, Xnest and Xvfb remain ouside of dist.c