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/