Archive:Xorg/Modularization

From FedoraProject

Revision as of 18:50, 25 June 2009 by Raven (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This page is outdated and is only retained for historical reference
All the Xorg moduralization development work has already been merged into Fedora.

Contents

X.Org X11R7 Modularization Status

Note
Please consult the original document for this page for updates and status changes at http://mharris.ca/xorg/xorg-modularization-status.html (Last updated: Nov 21, 2005 @ 2:35pm EST by Mike A. Harris), Notify BobJensen if you notice that this page is out of sync with the original.

Roadmap/timeline information

Modular X.Org X11R7 was released into Fedora development (rawhide) on November 16, 2005.

Modular X rpm downloads for FC5

These packages are a work in progress, and still fairly experimental. They are provided only for the purpose of testing the rpm packaging, and rpm upgrade scripts, etc. and are not intended for general purpose use at this point in time. Nonetheless, developers in the Fedora community are encouraged to hop into #fedora-devel on irc.freenode.net, install these packages and discuss any problems they encounter on IRC.

In between daily rawhide pushes, I will be uploading new modular X packages created during the day to my personal Red Hat FTP space, which currently is not yum enabled, however will be sometime in the future when I rewrite the shell script I use to copy the files over. My download area for rawhide test packages is located at:

ftp://people.redhat.com/mharris/testing/unstable


The following text files list a 'group' of packages that must be built in-order within that group. Build and install the first group, then build and install the second group, etc. If you're using mock, pass the packages to it in the following order:

Modularization Schedule

The following components are packaged, and in reasonably complete or near-complete state - at least for initial experimental testing by anyone internally who has enough interest to guinea-pig test it on their systems. There are quite a few more packages not listed here which are works in progress, and not quite ready for wider distribution.

Status legend:

NOTYET - Not yet started

STARTED - Initial work has begun, but packages aren't avail yet.

WIP - Work In Progress: Packages exist but contain known flaws.

DONE - Considered complete and ready enough for rawhide

fc5 field indicates wether package is built in dist-fc5-test yet or not

StatusFC5 SRPMDetails
DONEYesxorg-x11-util-macrosReleased into Fedora devel. Contains autoconf macros for X.Org versioning. Everything depends on this, so this is the first package to build.
DONEYesxorg-x11-proto-develReleased into Fedora devel. Contains all of the X protocol headers. Required for building libs, server, and various other things.
DONEYesxorg-x11-xtrans-develReleased into Fedora devel. X Transport C source. Required for building anything that uses Xtrans
DONEYeslib* All X Libraries. Released into Fedora devel. libX11 has some compiler warnings to investigate (#172055 ). libXdamage - has compiler warnings needing investigation/fixing. libXfont - spews a lot of compiler warnings, which should be investigated and fixed for X11'R7. Bug #172055 libxkbfile - Worked around compiler warning with -fno-strict-aliasing, but this should get fixed correctly upstream.
DONEYesmesaReleased into Fedora devel. mesa contains 7 subpackages, including: mesa-libGL, mesa-libGL-devel, mesa-libGLU, mesa-libGLU-devel, mesa-libGLw, mesa-libGLw-devel, and mesa-source, which is used by the X server build. The DRI 3D driver modules are part of the "libGL" package, and now install into "%{_libdir}/dri". This one is considered "DONE" now so please report any problems to us.
DONEYesxorg-x11-serverReleased into Fedora devel. All of the X servers (Xorg, Xnest, Xvfb, Xdmx) are all built from this new src.rpm now. The Xorg server driver modules are now built in their own separate src.rpms. The X server packaging and configuration requires additional work, and needs to be tested in a variety of ways before being considered "ready" as a full replacement for 6.8.2.
DONEYesxorg-x11-drv-<name>Released into Fedora devel. Every driver is in its own src.rpm, which builds against the xorg-x11-server-sdk package now. By default, the driver src.rpm packages only build on the architectures we build a native X server for (x86, x86_64, ia64, ppc), and individual drivers only build on architectures they are appropriate for.
DONEYesxorg-x11-font-utilsReleased into Fedora devel. Replaces package of same name from modular tree, and includes all of the same functionality. Packages should not depend on this package, but instead use one or more of the virtual Provides that it provides for mkfontdir, mkfontscale, bdftopcf, ucs2any, bdftruncate.
DONEYesxorg-x11-fontsxorg-x11)-*fonts packages from previous OS releases. There are 18 subpackages now, which mostly correspond to previous packaging. The "base" fonts subpackage now contains only the 'fixed' and 'cursor' fonts that are required for the X server to start. The other 'misc' fonts that used to be in 'base', are now in the 'misc' subpackage. The ISO8859-1 fonts are now split out from the UCS masters into a separate subpackage for consistency. The fonts are currently installed into /usr/share/X11/fonts, as we don't want most of the ugly bitmap fonts being seen by fontconfig. This may or may not change for FC5 final release.
DONEYesxorg-x11-xfsReleased into Fedora devel. Updated to work with the modular fonts packages. Massages the xfs config on upgrades now to use the new font paths. The rpm script logic is completely rewritten to use modern "sed -i" syntax, and remove a lot of hideous scripting. There may be bugs however, but now is the time to make such changes and find out, by getting hundreds of unsuspecting victims to test it! ;o)
DONEYesxorg-x11-twmReleased into Fedora devel.
DONEYesxorg-x11-xdmReleased into Fedora devel. CAVEATS: Puts scripts called by xdm-config in /usr/lib/X11/xdm. Configs/scripts don't have Red Hat modifications applied to them yet. Need to import configs etc. from xinitrc package. *** NOTE: File a bug report upstream about xdm installing the manpages in the wrong location.
DONEYesxorg-x11-xauthReleased into Fedora devel.
DONEYesxorg-x11-xinitReleased into Fedora devel. This obsoletes the "xinitrc" package. It is also X11'R6 referenceless.
DONEYesxorg-x11-xkb-utilsReleased into Fedora devel.
DONEYesxorg-x11-xkbdataReleased into Fedora devel.
DONEYesxorg-x11-xbitmapsReleased into Fedora devel.
DONEYesxorg-x11-xsmReleased into Fedora devel.
DONEYesxorg-x11-utilsReleased into Fedora devel.
DONEYesxorg-x11-server-utilsReleased into Fedora devel.
DONEYesxorg-x11-resutilsReleased into Fedora devel.
DONEYesxorg-x11-appsReleased into Fedora devel.
DONEYesxorg-x11-xfwpReleased into Fedora devel.
DONEYesimakeReleased into Fedora devel. imake, xmkmf, makedepend, and the imake config files.
DONEYesxorg-x11-filesystemReleased into Fedora devel. NOTE: This package is required when upgrading from FC4 to rawhide or FC5 final via anaconda or yum as one atomic upgrade. It attempts to workaround a very nasty problem described in bug #173384
NOTYETNoFedora Extras StuffStuff we're making available to the Fedora community to have the opportunity to maintain in Fedora Extras. Initial rpm packages will be produced and made available to interested parties in the future.

Various other applications, utilities, etc. are works in progress, which will soon be added to the "ready for testing" list above.

Once we have implemented all of the proposed packages and got them to a reasonable state, we will be entering the next phase of modularization implementation, and scouring Fedora devel SRPMS and RPMS to detect dependency breakages and things that need to change in order to work properly with X.Org X11R7.

Impact of modularization on developers and package maintainers

Here is a short list of some of the more developer/package visible changes that are present in X11R7:

Feel free to examine the spec files and critique them or make suggestions for improvements, etc. Any automated test build results you feel like trying, by all means go ahead. Also, if anyone feels like helping out, it would be very helpful if someone would examine FC5 rpms to see what deps need to be fixed/changed in them, and get started on it. That will ease integration in a few weeks.

Mike Harris will try to update the original page as work progresses, and make it a bit more organized and useful. Again, your suggestions are appreciated.

Note
Please notify BobJensen if you notice that this page is out of sync with the original.