Alan Hourihane wrote:

But, yet more thoughts. Given that Chris & Corinna want a more active
person to maintain Cygwin/X - I should stand down anyway.

Thanks for having me.

Please don't go away mad. :-) Better, please don't go away, even if you do stand down.

Even beyond the "be really active on the mailing list" thing, tho, the current status of cygwin/x needs a bit of explanation if ANYbody is going to take over the maintainership. I'd be a bad choice -- heck, I'm doing a pretty poor job with the packages I supposedly DO maintain -- so I'm not volunteering -- but I can see some issues even so. Before Alan steps down, or during his transition period, there are a few questions that need answering before the next sucker^Wvolunteer could even begin to get a handle on things.

What is the current status of cygwin/X source code, release methodology, and what are the plans for the future and the status of their implementation? I'll tick off what I think is true, and look forward to being corrected.

6.8.2.0-x
--------
(where x=1,2,3,4 depending on the specific package)

The current stable cygwin-xorg release is 6.8.2.0, which is a monolithic imake-driven build and lives in /usr/X11R6. It can be built by either downloading all the relevant -src packages, unpacking them in the same location, OR doing a cvs checkout from the CYGWIN branch cvs -d :pserver:[EMAIL PROTECTED]:/cvs/xorg co -r CYGWIN-6_8_2-MERGE xc

I'm ignoring cygwin-x-docs for right now.

Because this is a monolithic release, the instructions here or here
  http://x.cygwin.com/docs/cg/prog-build-native.html
  http://x.cygwin.com/docs/cg/prog-build-cross.html
will work.

This release was originally packaged by Alexander Gottwald in July 2005. It is a mystery how this packaging was accomplished, as
   http://x.cygwin.com/docs/cg/prog-distribution.html
was never updated (it currently reads "Wait for these instructions to be updated, sometime after 2004-04-03.")

ago is still around, monitors the list, and maintains a few (non-core) X-related packages like X-startup-scripts, X-start-menu-icons, and run. However, he is unavailable for advice or assistance with the core cygwin/x stuff:
   http://cygwin.com/ml/cygwin-xfree/2005-07/msg00118.html



6.8.99.901-1
----------
The cygwin-xorg test release is 6.8.99.901-1 which is a monolithic imake-driven build, based off of one of the final release candidates for xorg-6.9.0 (aka X11R6.9). It also lives in /usr/X11R6. It can be built by either downloading all the -src packages, unpacking them in the same location, or doing a cvs checkout from the main branch cvs -d :pserver:[EMAIL PROTECTED]:/cvs/xorg co -r XORG-6_8_99_901 xc

Again, ignoring cygwin-x-docs.

Also again, because this is a monolithic release, these instructions
  http://x.cygwin.com/docs/cg/prog-build-native.html
  http://x.cygwin.com/docs/cg/prog-build-cross.html
will work.

This release was originally packaged by Alan Hourihane in October 2005. Obviously there were changes to the source code between 27 Oct 2005 (when Alan packaged our 6.8.99.901 version) and 21 Dec 2005 (when the "real" xorg 6.9.0 was released, and the xc monolithic tree was frozen). It is unknown if any of those changes materially affect cygwin/X.

Again, the packaging is a mystery, because while Alan stated in
   http://cygwin.com/ml/cygwin-xfree/2005-10/msg00100.html
that "currently the scripts that build and package Cygwin/X are based on the monolithic tree" I, at least, can't find those scripts in the cvs repository.

BUGS:
-----
Nicholas Wourms reported in
    http://cygwin.com/ml/cygwin-xfree/2005-10/msg00127.html
that 'xcursorgen and the icon sets' were missing from this test package. (He also mentioned the DPS libraries, but that's not a bug: they are being phased out by xorg team).

This release is still in 'test' after four months.




Plans and status thereof
------------------------

(1) CYGWIN branch merge-to-HEAD

Alan originally planned to migrate any specific changes in the CYGWIN branch over to HEAD:

http://cygwin.com/ml/cygwin-xfree/2005-10/msg00122.html
"I'll be working on getting whatever changes exist on [the CYGWIN] branchover into the mainline trunk code next."

But that statement was made AFTER the 6.8.99.901 test release and there is no indication of whether that actually happened -- or if it was even necessary (it's possible that there were no differences between the CYGWIN branch and the HEAD branch as of 27-Oct-2005). Nor is it known whether any of these CYGWIN-branch-only changes, IF they even exist, were merged to the modular codebase.


(2) Migration to modular tree

Because xorg is transitioning to a modularized build architecture using the autotools instead of imake, X11R6.9 is the last monolithic release -- and the xc directory is now CLOSED for any further development as of 21 Dec 2005 (http://lists.freedesktop.org/archives/xorg/2005-December/011752.html). Thus, any development since that time (such as Colin Harrison's xming work) has taken place elsewhere: either in the modular code, or in xming's case in a separate set of patches to be applied to a "stock" X11R6.9 xc(monolithic).

It is unknown whether any of these changes (esp. Colin's work) need to be ported to the modular code for use by cygwin (maybe?), or adapted to the now-dead 6.9.0 code base as an ever-growing patch like Colin's doing with xming (not likely; modular is the future).

X.org's 7.0 release contained EXACTLY the same code as their 6.9 release, only in modularized form using autotools instead of imake. However, even tho Alan was able to build a release-candidate for the monolitic 6.9 code on cygwin, it is unknown whether that same code, over in the modularized tree, can be built on cygwin. Are cygwin's autoconf/automake/libtool up to the task? Did the folks who put together the configure.ac and Makefile.am files make any assumptions that are not true for cygwin? Unknown.


Alan's original plan was "To switch to the modular build without a doubt." and not remain on the monolithic (and now frozen/dead/buried) codebase, so the "keep a big patch" method being used by Colin for xming is not applicable. However, it is unknown how much progress Alan and others were able to make in "switching to the modular build" -- never mind adapting the monolithic-oriented release and pakaging scripts.


It is unknown how much of Colin's stuff is helpful for cygwin or already ported/merged-into to the modular codebase.


The release and packaging scripts -- which do not appear to be publicly available anyway -- need to be modified to work with the modular architecture. It is unknown what the status of that effort is.


X11R7.0 and beyond, according to the xorg folks, is supposed to live in /usr and NOT /usr/X11R6 (and not /usr/X11R7, either). It is unknown what effect this will have on other cygwin packages. generic-build-script based builders will need to change --x-libraries= statements, but beyond that? Runtime effects should be minimal, although folks will need to remove their cygwin-x shortcuts and re-run (a new, updated) X-start-menu-icons.sh.


Also, much of the documentation in the Contributor's Guide would need to change, to reflect new build procedures -- both for "how to make setup.exe-style packages from a modular xorg tree" and "I just want to build and test and have no interest in making release packages". Does anybody even have a clue as to how these instructions would need to change? Has *anybody* tried to build the modular codebase?


--
Chuck


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/

Reply via email to