Merged proto package
Yaakov (Cygwin/X)
yselkowitz at users.sourceforge.net
Thu Apr 8 00:33:22 PDT 2010
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
More information about the xorg-devel
mailing list