Modularization development notes [was Re: RFA sent to the
ArchWG]
Kevin E Martin
kem at freedesktop.org
Wed Apr 13 21:45:03 PDT 2005
On Mon, Apr 11, 2005 at 04:57:15PM -0400, Kevin E Martin wrote:
> Module creation
> ---------------
>
> Once the Architecture Working Group gives their approval, we can begin
> work, but before we jump in, we should make sure that we are all on the
> same page. As I see it, there are two parts to this project. The first
> involves dividing the tree into separate modules, which I describe next.
> The second involves autotooling those modules (see the next section).
>
> Here are the steps that I see for creating the modules:
>
> 1. Determine where each piece of code from the monolithic tree will go
> in the modular tree. I've started this process, but it's not quite
> ready yet and I didn't want that list to hold up this message. I'll
> forward it to the list a little later.
I've attached the first cut at the list of components within each module
below. I have again marked a few places with [***] where I specifically
would like to have feedback, but feel free to make suggestions on which
components should be moved to other modules.
Thanks,
Kevin
> 2. Create the top level modules (i.e., app, lib, proto, xserver, driver,
> font, doc and util) as peers to xc.
> 3. Create the directory hierarchy for the modularization within each
> module based on the breakdown determined in step #1.
> 4. Write a script that creates a symlink tree on the developer's local
> system from a checked out monolithic CVS tree.
>
> As I mentioned above, I'm working on #1. Steps #2 and #3 should fall
> directly out of #1. I've heard from another developer that they have
> starting working on #4.
-------------- next part --------------
app:
----
- xc/programs/appres
- xc/programs/bdftopcf
- xc/programs/beforelight
- xc/programs/bitmap
- xc/programs/cxpm
- xc/programs/dpsexec
- xc/programs/dpsinfo
- xc/programs/editres
- xc/programs/fc-cache
- xc/programs/fc-lang
- xc/programs/fc-list
- xc/programs/fonttosfnt
- xc/programs/fslsfonts
- xc/programs/fstobdf
- xc/programs/iceauth
- xc/programs/ico
- xc/programs/lbxproxy
- xc/programs/listres
- xc/programs/luit
- xc/programs/makepsres
- xc/programs/mkcfm
- xc/programs/mkfontdir
- xc/programs/mkfontscale
- xc/programs/oclock
- xc/programs/proxymngr
- xc/programs/rgb
- xc/programs/rstart
- xc/programs/scripts
- xc/programs/setxkbmap
- xc/programs/showfont
- xc/programs/smproxy
- xc/programs/sxpm
- xc/programs/texteroids
- xc/programs/twm
- xc/programs/pclcomp
- xc/programs/viewres
- xc/programs/x11perf
- xc/programs/xauth
- xc/programs/xbiff
- xc/programs/xcalc
- xc/programs/xclipboard
- xc/programs/xclock
- xc/programs/xcmsdb
- xc/programs/xconsole
- xc/programs/xcursorgen
- xc/programs/xditview
- xc/programs/xdm
- xc/programs/xdpyinfo
- xc/programs/xdriinfo
- xc/programs/xedit
- xc/programs/xev
- xc/programs/xeyes
- xc/programs/xf86dga
- xc/programs/xfd
- xc/programs/xfindproxy
- xc/programs/xfontsel
- xc/programs/xfs
- xc/programs/xfsinfo
- xc/programs/xfwp
- xc/programs/xgamma
- xc/programs/xgc
- xc/programs/xhost
- xc/programs/xinit
- xc/programs/xkbcomp
- xc/programs/xkbevd
- xc/programs/xkbprint
- xc/programs/xkbutils
- xc/programs/xkill
- xc/programs/xload
- xc/programs/xlogo
- xc/programs/xlsatoms
- xc/programs/xlsclients
- xc/programs/xlsfonts
- xc/programs/xmag
- xc/programs/xman
- xc/programs/xmessage
- xc/programs/xmh
- xc/programs/xmodmap
- xc/programs/xmore
- xc/programs/xphelloworld
- xc/programs/xplsprinters
- xc/programs/xprehashprinterlist
- xc/programs/xprop
- xc/programs/xrandr
- xc/programs/xrdb
- xc/programs/xrefresh
- xc/programs/xrx
- xc/programs/xset
- xc/programs/xsetmode
- xc/programs/xsetpointer
- xc/programs/xsetroot
- xc/programs/xsm
- xc/programs/xstdcmap
- xc/programs/xtrap
- xc/programs/xvidtune
- xc/programs/xvinfo
- xc/programs/xwd
- xc/programs/xwininfo
- xc/programs/xwud
- xc/programs/xdbedizzy
- xc/programs/xpr
[***] Are any of the programs above maintained outside of X?
lib:
----
- xc/doc/man
- xc/lib/FS
- xc/lib/GL
- xc/lib/GLU
- xc/lib/GLw
- xc/lib/ICE
- xc/lib/Xaw7
- xc/lib/SM
- xc/lib/X11
- xc/lib/XRes
- xc/lib/XTrap
- xc/lib/Xau
- xc/lib/Xaw
- xc/lib/Xaw6
- xc/lib/Xbsd
- xc/lib/Xcomposite
- xc/lib/Xcursor
- xc/lib/Xdamage
- xc/lib/Xdmcp
- xc/lib/Xevie
- xc/lib/Xext
- xc/lib/Xfixes
- xc/lib/Xfontcache
- xc/lib/Xft
- xc/lib/Xft1
- xc/lib/Xi
- xc/lib/Xinerama
- xc/lib/Xmu
- xc/lib/Xmuu
- xc/lib/Xp
- xc/lib/Xpm
- xc/lib/XprintAppUtil
- xc/lib/XprintUtil
- xc/lib/Xrandr
- xc/lib/Xrender
- xc/lib/Xss
- xc/lib/Xt
- xc/lib/Xtst
- xc/lib/Xv
- xc/lib/XvMC
- xc/lib/Xxf86dga
- xc/lib/Xxf86misc
- xc/lib/Xxf86rush
- xc/lib/Xxf86vm
- xc/lib/apple
- xc/lib/dmx
- xc/lib/dps
- xc/lib/dpstk
- xc/lib/expat
- xc/lib/font
- xc/lib/fontconfig
- xc/lib/fontenc
- xc/lib/freetype2
- xc/lib/lbxutil
- xc/lib/misc
- xc/lib/oldX
- xc/lib/psres
- xc/lib/regex
- xc/lib/windows
- xc/lib/xkbfile
- xc/lib/xkbui
- xc/lib/xtrans
- xc/lib/zlib
proto:
------
- xc/include
- xc/include/DPS
- xc/include/GL
- xc/include/bitmaps
- xc/include/extensions
- xc/include/fonts
Note that some of the headers will be moved to the appropriate library
component. Only the protocol headers should remain.
xserver:
--------
- xc/programs/Xserver
[***] I'm not sure about the following as they are configuration
files, utilities, example programs, etc. My current thought is that
they should remain with the rest of the X server code:
- xc/programs/Xserver/XpConfig
- xc/programs/Xserver/hw/darwin/utils
- xc/programs/Xserver/hw/dmx/config
- xc/programs/Xserver/hw/dmx/examples
- xc/programs/Xserver/hw/xfree86/etc
- xc/programs/Xserver/hw/xfree86/reconfig
- xc/programs/Xserver/hw/xfree86/xf86cfg
- xc/programs/Xserver/hw/xfree86/xf86config
driver:
-------
- xc/programs/Xserver/hw/xfree86/drivers/apm
- xc/programs/Xserver/hw/xfree86/drivers/ark
- xc/programs/Xserver/hw/xfree86/drivers/ati
- xc/programs/Xserver/hw/xfree86/drivers/chips
- xc/programs/Xserver/hw/xfree86/drivers/chips/util [*** keep here?]
- xc/programs/Xserver/hw/xfree86/drivers/cirrus
- xc/programs/Xserver/hw/xfree86/drivers/cyrix
- xc/programs/Xserver/hw/xfree86/drivers/dummy
- xc/programs/Xserver/hw/xfree86/drivers/fbdev
- xc/programs/Xserver/hw/xfree86/drivers/glide
- xc/programs/Xserver/hw/xfree86/drivers/glint
- xc/programs/Xserver/hw/xfree86/drivers/i128
- xc/programs/Xserver/hw/xfree86/drivers/i740
- xc/programs/Xserver/hw/xfree86/drivers/i810
- xc/programs/Xserver/hw/xfree86/drivers/i2c
- xc/programs/Xserver/hw/xfree86/drivers/imstt
- xc/programs/Xserver/hw/xfree86/drivers/mga
- xc/programs/Xserver/hw/xfree86/drivers/neomagic
- xc/programs/Xserver/hw/xfree86/drivers/newport
- xc/programs/Xserver/hw/xfree86/drivers/nsc
- xc/programs/Xserver/hw/xfree86/drivers/nv
- xc/programs/Xserver/hw/xfree86/drivers/rendition
- xc/programs/Xserver/hw/xfree86/drivers/s3
- xc/programs/Xserver/hw/xfree86/drivers/s3virge
- xc/programs/Xserver/hw/xfree86/drivers/savage
- xc/programs/Xserver/hw/xfree86/drivers/siliconmotion
- xc/programs/Xserver/hw/xfree86/drivers/sis
- xc/programs/Xserver/hw/xfree86/drivers/sunbw2
- xc/programs/Xserver/hw/xfree86/drivers/suncg14
- xc/programs/Xserver/hw/xfree86/drivers/suncg3
- xc/programs/Xserver/hw/xfree86/drivers/suncg6
- xc/programs/Xserver/hw/xfree86/drivers/sunffb
- xc/programs/Xserver/hw/xfree86/drivers/sunleo
- xc/programs/Xserver/hw/xfree86/drivers/suntcx
- xc/programs/Xserver/hw/xfree86/drivers/tdfx
- xc/programs/Xserver/hw/xfree86/drivers/tga
- xc/programs/Xserver/hw/xfree86/drivers/trident
- xc/programs/Xserver/hw/xfree86/drivers/tseng
- xc/programs/Xserver/hw/xfree86/drivers/v4l
- xc/programs/Xserver/hw/xfree86/drivers/vesa
- xc/programs/Xserver/hw/xfree86/drivers/vga
- xc/programs/Xserver/hw/xfree86/drivers/via
- xc/programs/Xserver/hw/xfree86/drivers/sisusb
- xc/programs/Xserver/hw/xfree86/drivers/vmware
- xc/programs/Xserver/hw/xfree86/drivers/voodoo
- xc/programs/Xserver/hw/xfree86/drivers/wsfb
- xc/programs/Xserver/hw/xfree86/input/acecad
- xc/programs/Xserver/hw/xfree86/input/aiptek
- xc/programs/Xserver/hw/xfree86/input/calcomp
- xc/programs/Xserver/hw/xfree86/input/citron
- xc/programs/Xserver/hw/xfree86/input/digitaledge
- xc/programs/Xserver/hw/xfree86/input/dmc
- xc/programs/Xserver/hw/xfree86/input/dynapro
- xc/programs/Xserver/hw/xfree86/input/elo2300
- xc/programs/Xserver/hw/xfree86/input/elographics
- xc/programs/Xserver/hw/xfree86/input/fpit
- xc/programs/Xserver/hw/xfree86/input/hyperpen
- xc/programs/Xserver/hw/xfree86/input/jamstudio
- xc/programs/Xserver/hw/xfree86/input/joystick
- xc/programs/Xserver/hw/xfree86/input/keyboard
- xc/programs/Xserver/hw/xfree86/input/magellan
- xc/programs/Xserver/hw/xfree86/input/magictouch
- xc/programs/Xserver/hw/xfree86/input/microtouch
- xc/programs/Xserver/hw/xfree86/input/mouse
- xc/programs/Xserver/hw/xfree86/input/mutouch
- xc/programs/Xserver/hw/xfree86/input/palmax
- xc/programs/Xserver/hw/xfree86/input/penmount
- xc/programs/Xserver/hw/xfree86/input/sample
- xc/programs/Xserver/hw/xfree86/input/spaceorb
- xc/programs/Xserver/hw/xfree86/input/summa
- xc/programs/Xserver/hw/xfree86/input/evdev
- xc/programs/Xserver/hw/xfree86/input/tek4957
- xc/programs/Xserver/hw/xfree86/input/ur98
- xc/programs/Xserver/hw/xfree86/input/void
- xc/programs/Xserver/hw/xfree86/input/wacom
font:
-----
- xc/fonts/bdf
- xc/fonts/bdf/100dpi
- xc/fonts/bdf/75dpi
- xc/fonts/bdf/cyrillic
- xc/fonts/bdf/misc
- xc/fonts/encodings
- xc/fonts/encodings/large
- xc/fonts/scaled
- xc/fonts/scaled/CID
- xc/fonts/scaled/TTF
- xc/fonts/scaled/Ethiopic
- xc/fonts/scaled/Meltho
- xc/fonts/scaled/Speedo
- xc/fonts/scaled/Type1
- xc/fonts/util [*** moved to app?]
doc:
----
- xc/doc/misc
- xc/doc/util
- xc/doc/hardcopy
- xc/doc/specs
[***] Can we go ahead and move the protocol specs to the proto module
or do they need to remain here in the doc module until they can be
converted to a format that will allow them to be built independently
from the rest of the docs?
util:
-----
- xc/config/cf
- xc/config/util
- xc/config/util/mkshadow
- xc/config/docbook
- xc/config/imake
- xc/config/makedepend
- xc/config/pswrap
- xc/util/memleak
- xc/util/misc
Unknown:
--------
- xc/nls [*** not sure where this goes]
Maintained outside of X:
-------------------------
- xc/programs/glxgears
- xc/programs/glxinfo
- xc/programs/xterm
Tarballs of the following will be needed:
-----------------------------------------
- xc/extras/Mesa
- xc/extras/Xpm
- xc/extras/drm
- xc/extras/expat
- xc/extras/fontconfig
- xc/extras/fonts
- xc/extras/freetype2
- xc/extras/ogl-sample
- xc/extras/regex
- xc/extras/rman
- xc/extras/ttf2pt1
- xc/extras/x86emu
- xc/extras/zlib
More information about the xorg-modular
mailing list