8/18/2005
Modular X
As some people might have heard, there is a new series of X coming out, the 6.9/7.0 version. Why dual version numbers? Simple. The 6.9 version will provide the same old xorg-x11 package that we’re used to today. The package that includes everything in one. However 7.0 will contain the same code but it will provide a new twist. 7.0 has been broken up into over 300 separate packages, each which is autotooled and provides only the small necessary part of X. Libraries have been separated from headers, which are now refereed to as protocols. Apps have been split out as well.
Why you ask? Because it’s much easier for developers to break into a small package then into a HUGE package like X. That has been a barrier for a lot of developers that would do work on X. Another reason, which is a very big one in my book, if there’s a bug found in the ATI driver that’s significant for example, they can just release a new version of the driver and all distros can upgrade an all is well. Previously, you would have to wait for a new version of X to be released or grab the fix from CVS and apply it and make a new X package with the fix. Which was often a HUGE process and a lot of times didn’t happen for several months.
This also eliminates the long compiles for many people. If fonts don’t change, no need to rebuild them all.
Where is Gentoo with this process? Donnie Berkholz or spyderous as most of us know him, has been busting his ass working on this for a while. He has brought all these packages to the Portage tree. However they are package.masked while they are being further developed. For the time being he has created two guides as well as two scripts for testers, and primarily Gentoo developers to update their package’s depends to the new modular requirements.
Migrating to Modular X Howto - I recommend reading this all the way down first to see if Modular X is right for you right now.
Porting your depends to Modular X - Remember this requires having set a PORT_LOGDIR in /etc/make.conf for linking_libs.sh and not removing ${WORKDIR} for included_headers.sh
Don’t be surprised if you receive pings from me on IRC or bug reports providing you with the depends I’ve run across. Don’t however, take this as the final solution to the depends. I’m not scouring everyone’s applications in depth, just using spyderous’ scripts (which are known to miss some stuff) and the results of what was necessary on my system to build. I encourage each developer to test for themselves.
Filed under: General, Linux, Modular X
Leave a Reply