On 2010-04-06 17:41, Keith Packard wrote:
I've written some scripts that construct a merged proto package from the
existing proto packages. They're not fancy, but do preserve the entire
history of each sub package as they get merged in.

The goal is to make the installed files exactly match what the existing
packages install, so that no API or ABI changes would exist. This
includes installing per-extension .pc files with the current version
numbers.

Please let me know whether this seems like a good plan, and if so, I'll
move it into the /git/xorg tree and we can work on deprecating the
individual protocol packages.

Testing and comments welcome.

Some comments from the POV of both a distributor and one who deals with a system-unique DDX:

1) Keeping per-extension proto .pc files makes sense wrt to compatibility, but perhaps keeping all the old version number schemes does not. For example, in the future, if a package requires compositeproto >= 0.4.2 (after some future update), how will anybody know which version of the all-in-one "proto" package provides that version of compositeproto?

2) Not all platforms support all extensions, so they do not need all the protos. For example, Cygwin does not support DRI2, XV or XF86* (except BigFont); OTOH WindowsWM is only for Cygwin (and perhaps MinGW?) and AppleWM is similarly only for Darwin. Installing protos which are not supported may lead some to some false positive configure tests (e.g. ah, X11/extensions/Xv.h is installed, you must support Xv! Wrong.) This could be fixed with some configure options and AM_CONDITIONAL hackery.

3) Can't fontcacheproto be removed as well?

4) The *PROTO_VERSION AC_SUBSTs for removed protos should also be removed.

5) Perhaps reorganizing the headers into a structure resembling an installed tree may make more sense:

TOPLEVEL/
    Makefile.am
    README
    configure.ac
    *proto.pc
    *proto-uninstalled.pc (*)
    X11/
        Makefile.am
        X*.h
        extensions/
            Makefile.am
            *.h

Besides being more logical in setup, this would allow building against an uninstalled "proto" (OTOH I'm not sure how many other modules are prepped for building "uninstalled".)

6) Please tell me you're not planning on releasing this package with the name "proto". :-)


Yaakov
Cygwin/X
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to