I am sponsoring the following fasttrack for Stefan Teleman.
The timeout is set for next Thursday, April 8.   Additional
materials are attached to this e-mail and available in the case
directory.

The case requests a patch release binding, and describes how it
might be implemented in Solaris 10, but no commitment is made to a
Solaris 10 delivery, nor is a Solaris 10 delivery plan in place
at this time.

        -Alan Coopersmith-      [email protected]
         Oracle Solaris Platform Engineering: X Window System


Template Version: @(#)sac_nextcase 1.70 03/30/10 SMI
This information is Copyright (c) 2010, Oracle and/or its affiliates. All rights
reserved.
1. Introduction
    1.1. Project/Component Working Name:
         XCB [ The X Protocol C-Language Bindings ]
    1.2. Name of Document Author/Supplier:
         Author:  Stefan Teleman
    1.3  Date of This Document:
        01 April, 2010
4. Technical Description

Introducing XCB [ The X Protocol C-Language Bindings ] with X11 in Solaris

Stefan Teleman <[email protected]>
29 March 2010

1.      Summary and motivation

    XCB [ The X Protocol C-Language Bindings ] is intended as an
    API and ABI incompatible replacement for Xlib. It is neither
    designed, nor intended as a compatible plug for Xlib.

    Further details about the XCB ABI and its intended [ and unintended ]
    consequences on libX11 are discussed below.

    XCB provides several advantages over the existing Xlib implementation:

        [a] small footprint
        [b] protocol direct access
        [c] latency hiding
        [d] improved thread support
        [e] extensibility

    XCB is delivered as a self-contained collection of shared library
    objects, header files, XML schema definition files, Python precompiled
    object files, and pkg-config component discovery files.

    A full and complete installation of XCB must be constructed from
    three different components:

        - xcb-proto
        - libxcb
        - xcb-util

    Constructing XCB is dependent on libXau, libXdmcp and libXtrans.

    The existing libX11.so.4 [ currently libX11 Version 1.3.2 ]
    provides an optional software construction dependency on XCB:
    the libX11 library can be XCB-enabled at software construction
    time [ ./configure ].  Enabling XCB in Xlib is an ABI compatible
    change: it alters neither the programmatic facilities, nor the
    public interfaces exposed by libX11.

    Further details of XCB's design, and the implications resulting
    from enabling XCB in libX11 are discussed below.

    This Case proposes the integration of the latest version of XCB
    compatible with libX11:

        - xcb-proto version 1.5
        - libxcb version 1.4
        - xcb-util version 0.3.6

    For the purposes of this Document, ${PYTHON_VERSION} refers to
    Python 2.6. [6]

    This Case seeks Micro/Patch release binding.


2.    Technical issues

    2.1.    Key Objects

    2.1.1.    Shared Libraries:

        /usr/lib/libX11-xcb.so.1

        /usr/lib/libxcb.so.1
        /usr/lib/libxcb-composite.so.0
        /usr/lib/libxcb-damage.so.0
        /usr/lib/libxcb-dpms.so.0
        /usr/lib/libxcb-dri2.so.0
        /usr/lib/libxcb-glx.so.0
        /usr/lib/libxcb-randr.so.0
        /usr/lib/libxcb-record.so.0
        /usr/lib/libxcb-render.so.0
        /usr/lib/libxcb-res.so.0
        /usr/lib/libxcb-screensaver.so.0
        /usr/lib/libxcb-shape.so.0
        /usr/lib/libxcb-shm.so.0
        /usr/lib/libxcb-sync.so.0
        /usr/lib/libxcb-xevie.so.0
        /usr/lib/libxcb-xf86dri.so.0
        /usr/lib/libxcb-xfixes.so.0
        /usr/lib/libxcb-xinerama.so.0
        /usr/lib/libxcb-xinput.so.0
        /usr/lib/libxcb-xtest.so.0
        /usr/lib/libxcb-xv.so.0
        /usr/lib/libxcb-xvmc.so.0

        /usr/lib/libxcb-atom.so.1
        /usr/lib/libxcb-aux.so.0
        /usr/lib/libxcb-event.so.1
        /usr/lib/libxcb-icccm.so.1
        /usr/lib/libxcb-image.so.0
        /usr/lib/libxcb-keysyms.so.1
        /usr/lib/libxcb-property.so.1
        /usr/lib/libxcb-render-util.so.0
        /usr/lib/libxcb-reply.so.1

    [ plus the corresponding 64-bit objects ]

    2.1.2.    Header files:

        /usr/include/xcb/xcb.h
        /usr/include/xcb/*.h [ exclusive of xcb.h ]

    2.1.3.    Metaprogramming XML Objects:

        /usr/share/xcb/*.xml

    2.1.4.    Component Discovery [ pkg-config ] Objects:

        /usr/lib/pkgconfig/xcb.pc
        /usr/lib/pkgconfig/xcb-*.pc

    [ plus the corresponding 64-bit pkg-config objects ]

    2.1.5.    [ xcbgen ] Python utility components:

        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/*.py

    There are no 64-bit Python objects for [ xcbgen ].

    A complete listing of all the XCB shared libraries, header files,
    metaprograming XML files, pkg-config component discovery files,
    and [ xcbgen ] Python utility files is available in Appendix 1
    of the ARC Case Materials.

    2.2.    XCB Construction, [ xcbgen ] and XCB Extensibility

    XCB's shared library objects provide interface wrappers around
    existing X11 Extensions [ and their corresponding shared libraries ].
    This implementation encapsulation mechanism is consistent with
    one of XCB's stated primary goals: direct protocol access.

    XCB's software construction mechanism is based on meta-programming.
    The XML metaprogramming objects enumerated in [ 2.1.3 ] are used
    to generate translation units and associated header files for XCB's
    shared library objects via [ xcbgen ].

    [ xcbgen ] is a Python utility delivered by the xcbproto component.
    XCB follows the standardized X component delivery design, by
    providing an xcbproto component and a separate, but xcbproto
    dependent XCB Component Collection.

    [ xcbgen ] enforces a relatively liberal dependency constraint
    on Python: it requires Python >= 2.5. Python objects are delivered
    by XCB in the standard Solaris Python package collection location:

    ${PREFIX}/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/

    The [ xcbgen ] Python utiliy is of interest to XCB's construction
    mechanism, and to XCB developers writing new XCB extensions. It is
    not used outside of these two cases.

    The XCB XML Interface Definition Objects expose elements which
    define the interfaces, interface dependencies and formal
    relations between interface definitions for the XCB functions
    implemented in each translation unit. It is implied, and expected,
    that the XCB protocol meta-descriptions are formally verified
    against the existing, published specifications for the X protocol
    and protocol extensions they intend to replace.

    This reliance on meta-programmed interface definitions provides
    developers with an implicitly formalized [ and relatively easy ]
    mechanism for extending XCB: new XCB interfaces can be generated
    simply by creating XML Metadata Interface Definition Objects,
    and by generating their corresponding translation unit[s] and the
    resulting Shared Library.

    2.3.    Programmatic Facilities

    An example of constructing an XCB application is provided in [2].

    If an application relies exclusively on Xlib's Committed Interfaces,
    XCB introduces no ABI or API incompatible changes. Applications
    will continue to work as expected, unchanged.

    Applications can import from, and bind to, XCB's Interfaces directly,
    bypassing Xlib and all the other X Extensions Libraries [ examples:
    GStreamer and libxine ]. This creates a direct depenedency on XCB's
    Interfaces.

    2.4.    Interface Stability

    The Shared Library Objects delivered by XCB do not contract, or
    imply, at this time, an interface stability commitment.

    Furthermore, there appears to be little guarantee that the physical
    presence of the XCB objects will be maintained across XCB releases.
    For example, libxcb-xlib.so.0 and its corresponding xcb-xlib.pc
    pkg-config file have been physically removed in a previous release
    version of XCB [ 1.1.92 ].

    It is unspecified, at this time, if XCB will maintain its current
    physical object structure, or will undergo incompatible changes in
    the future.

    In spite of this apparent volatility, consumers of XCB should be
    allowed to test for XCB's physical object structure, and for explicit
    vesions of XCB, via standard pkg-config mechanisms. These consumers
    may also choose to bind directly to XCB's public interfaces.  The
    potential instability of XCB's Interfaces creates a direct explicit
    binding between a given XCB release and its interface consumers.

    Applications binding directly to XCB's Interfaces must recognize,
    and adjust to, the potentially incompatible ABI and API changes
    which may occur in future releases of XCB.

    The responsibility for resolving any API or ABI incompatibilities
    between different release versions of XCB is explicitly delegated
    to the application consuming XCB's Interfaces.

    Existing pkg-config mechanisms are necessary and sufficient for
    discovering and enforcing XCB's interfaces particulars.

    2.5.    API, ABI and Programming Considerations

    The canonical Xlib Interfaces rely on the availability of a well-known,
    standard libX11 data structure: the [ X11 ] Display. Passing a Display
    pointer as an argument to a libX11 function is a well-known libX11
    programming and interface design idiom.

    XCB introduces a different and incompatible data structure, similar
    in use to the X11 Display: the xcb_connection_t. There exists a striking
    similarity between the libX11 interface design idiom described above,
    and the XCB interface design idiom: many XCB functions take an
    xcb_connection_t pointer as an argument, akin to the Display pointer
    argument in libX11.

    XCB does not require the use, or availability, of a X11 Display
    structure in its API.  Also, XCB does not provide a mechanism for
    obtaining a Display structure pointer from an existing, and valid,
    xcb_connection_t. It is entirely possible to construct an XCB application
    without using a libX11 Display structure. In fact, the concept of a
    libX11 Display is entirely absent from XCB's design: XCB provides a
    connection to a X server [ xcb_connection_t ], and [ optionally ] a
    XCB Screen [ identified by an integer screen enumerator ].

    Enabling XCB in Xlib creates the possibility of mixing Xlib and XCB
    calls [ with documented restrictions ]. This feature enables a gradual
    application migration from Xlib to XCB [ and is currently required
    for applications using the GLX Extension ]. However, only one of either
    Xlib or XCB can manage the event queue at any discrete point in time.
    Programmatic facilities for switching the event queue handlers between
    Xlib and XCB exist. These facilities, and their restrictions are
    documented in the XCB API Manual. [1]

    XCB has been tested and verified to work on recent builds of
    Nevada, and on recent Update Releases of Solaris 10, going back
    to Solaris 10 Update 4.

    Interface Stability warnings outlined in 2.4 apply.

    XCB exports C and [ identical ] C++ Interfaces.

    2.6.    Known Limitations and Enhancements

    The current implementation of XCB does not provide full feature parity
    with the existing GLX Extension implementation. Usage of the GLX
    Extension with XCB still requires the usage of an X11 Display pointer.
    A future ARC Case will discuss a full XCB-based implementation of the
    GLX Extension.

    A different, future ARC Case will discuss a full XCB-based implementation
    of the Trusted Solaris Extensions for X [ XTSol ]. It is of interest
    to note that canonical XCB releases provide a XCB implementation of
    SELinux [ libxcb-selinux.so.0 ].

    The XSUNSHMEM and SUN-DGA Extensions will not be re-implemented in
    XCB.

    2.7.    Documentation

    XCB is documented in HTML format at [1]. This integration will
    deliver the complete XCB HTML Manual, as provided in [1].


3.    Interfaces

    3.1.    Interface Stability

    This Case proposes the following Interface Stability Classification
    for XCB's components:

        Component Name      Interface Stability
        --------------      -------------------

        libX11-xcb.so.1         Uncommitted

        libxcb.so.1             Uncommitted
        libxcb-composite.so.0   Uncommitted
        libxcb-damage.so.0      Uncommitted
        libxcb-dpms.so.0        Uncommitted
        libxcb-dri2.so.0        Uncommitted
        libxcb-glx.so.0         Uncommitted
        libxcb-randr.so.0       Uncommitted
        libxcb-record.so.0      Uncommitted
        libxcb-render.so.0      Uncommitted
        libxcb-res.so.0         Uncommitted
        libxcb-screensaver.so.0 Uncommitted
        libxcb-shape.so.0       Uncommitted
        libxcb-shm.so.0         Uncommitted
        libxcb-sync.so.0        Uncommitted
        libxcb-xevie.so.0       Uncommitted
        libxcb-xf86dri.so.0     Uncommitted
        libxcb-xfixes.so.0      Uncommitted
        libxcb-xinerama.so.0    Uncommitted
        libxcb-xinput.so.0      Uncommitted
        libxcb-xlib.so.0        Uncommitted
        libxcb-xtest.so.0       Uncommitted
        libxcb-xv.so.0          Uncommitted
        libxcb-xvmc.so.0        Uncommitted

        libxcb-atom.so.1        Uncommitted
        libxcb-aux.so.0         Uncommitted
        libxcb-event.so.1       Uncommitted
        libxcb-icccm.so.1       Uncommitted
        libxcb-image.so.0       Uncommitted
        libxcb-keysyms.so.1     Uncommitted
        libxcb-property.so.1    Uncommitted
        libxcb-render-util.so.0 Uncommitted
        libxcb-reply.so.1       Uncommitted

    3.2.    Interface Dependencies and Compatibility

    XCB's Interface Table is provided in the ARC Case Materials directory
    [ xcb-interface-table.txt ].

    Introducing XCB creates no additional run-time dependencies beyond
    those already present in the X Consolidation.

    libX11 with XCB imports interfaces from:

    - libxcb.so.1

    libxcb.so.1 imports interfaces from:

    - libXau.so.6
    - libXdmcp.so.6

    Existing applications binding to Xlib's Committed Public Interfaces
    [ libX11 ] are unaffected by the private implementations changes
    created by XCB, and will continue to work as expected. Applications
    consuming Xlib Project Private interfaces may break. XCB removes
    a number of Xlib Project Private Interfaces from libX11 [ specifically
    from Xtrans ]. Details are provided in the Interface Table.

    XCB creates a compile-time dependency on Python 2.6 [ SUNWPython26 ].

4.    Packaging

    This Case proposes the following packaging structure for XCB:

    4.1.    IPS Packaging:

    - The libraries, headers, and pkg-config discovery files for the main
    xcb libraries, and the xcbgen developer tool will all be delivered
    in pkg:x11/library/libxcb.

    - The libraries, headers, and pkg-config discovery files for the
    additional libraries from the xcb-util collection will be delivered
    in pkg:x11/library/xcb-util.

    In both packages, the headers, pkg-config files & xcbgen files
    will all be part of the developer facet to avoid installation when
    minimizing for non-development systems.

    4.2.    SVR4 Packaging [ Solaris 10 ]:

    - XCB shared library objects, and pkg-config discovery files will
    be delivered in the existing SUNWxwplt package. This is required
    because of libX11's acquired explicit dependency on XCB, and avoids
    creating a new package dependency for SUNWxwplt.

    - XCB header files will be deliverd in the existing SUNWxwinc
    package. This will maintain consistency with the existing SUNWxwplt
    package object delivery design.

    - [ xcbgen ] objects will be delivered in a new package named
    SUNWxcbgen.  As explained above, [ xcbgen ] is not a run-time
    dependency of XCB, and is of interest only to XCB developers.

    Application developers relying on XCB's canonical Public
    Interfaces, and who do not intend to extend the XCB API, do not
    need access to xcbgen, and may choose to omit its installation
    alltogether.


5.    References

    [0]    http://www.x.org/
    [1]    http://xcb.freedesktop.org/manual/index.html
    [2]    http://en.wikibooks.org/wiki/X_Window_Programming/XCB
    [3]    http://www.linuxshowcase.org/2001/full_papers/massey/massey.pdf
    [4]
http://www.usenix.org/events/usenix02/tech/freenix/full_papers/sharp/sharp_html/index.html
    [5]
http://www.usenix.org/events/usenix02/tech/freenix/full_papers/massey/massey_html/index.html
    [6]    PSARC/2009/043 [ Python 2.6 ]


6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                X
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open

Introducing XCB [ The X Protocol C-Language Bindings ] with X11 in Solaris

Stefan Teleman <[email protected]>
29 March 2010


========================
Interface Table for XCB
========================

1.      Exported Interfaces


        Interface                       Interface               Comments
                                        Classification
        ===============================================================

        libX11-xcb.so.1                 Uncommitted
        libxcb.so.1                     Uncommitted

        libxcb-composite.so.0           Uncommitted
        libxcb-damage.so.0              Uncommitted
        libxcb-dpms.so.0                Uncommitted
        libxcb-dri2.so.0                Uncommitted
        libxcb-glx.so.0                 Uncommitted
        libxcb-randr.so.0               Uncommitted
        libxcb-record.so.0              Uncommitted
        libxcb-render.so.0              Uncommitted
        libxcb-res.so.0                 Uncommitted
        libxcb-screensaver.so.0         Uncommitted
        libxcb-shape.so.0               Uncommitted
        libxcb-shm.so.0                 Uncommitted
        libxcb-sync.so.0                Uncommitted
        libxcb-xevie.so.0               Uncommitted
        libxcb-xf86dri.so.0             Uncommitted
        libxcb-xfixes.so.0              Uncommitted
        libxcb-xinerama.so.0            Uncommitted
        libxcb-xinput.so.0              Uncommitted
        libxcb-xtest.so.0               Uncommitted
        libxcb-xv.so.0                  Uncommitted
        libxcb-xvmc.so.0                Uncommitted

        libxcb-atom.so.1                Uncommitted
        libxcb-aux.so.0                 Uncommitted
        libxcb-event.so.1               Uncommitted
        libxcb-icccm.so.1               Uncommitted
        libxcb-image.so.0               Uncommitted
        libxcb-keysyms.so.1             Uncommitted
        libxcb-property.so.1            Uncommitted
        libxcb-render-util.so.0         Uncommitted
        libxcb-reply.so.1               Uncommitted

        xcbgen                          Uncommitted

        bigreq.xml                      Project Private
        composite.xml                   Project Private
        damage.xml                      Project Private
        dpms.xml                        Project Private
        dri2.xml                        Project Private
        glx.xml                         Project Private
        randr.xml                       Project Private
        record.xml                      Project Private
        render.xml                      Project Private
        res.xml                         Project Private
        screensaver.xml                 Project Private
        shape.xml                       Project Private
        shm.xml                         Project Private
        sync.xml                        Project Private
        xc_misc.xml                     Project Private
        xevie.xml                       Project Private
        xf86dri.xml                     Project Private
        xfixes.xml                      Project Private
        xinerama.xml                    Project Private
        xinput.xml                      Project Private
        xproto.xml                      Project Private
        xselinux.xml                    Project Private
        xtest.xml                       Project Private
        xv.xml                          Project Private
        xvmc.xml                        Project Private

2.      Imported Interfaces


        Interface                       Interface               Comments
                                        Classification
        ==================================================================

        libX11.so.4                     Committed
        libXau.so.6                     Committed
        libXdmcp.so.6                   Committed

        Python 2.6                      Uncommitted

3.      Project Private Interfaces removed from libX11 [ XTrans ]

        XESetCopyEventCookie
        XESetWireToEventCookie
        _X11TransBytesReadable
        _X11TransClose
        _X11TransCloseForCloning
        _X11TransConnect
        _X11TransConnectDisplay
        _X11TransConvertAddress
        _X11TransDisconnect
        _X11TransFreeConnInfo
        _X11TransGetConnectionNumber
        _X11TransGetHostname
        _X11TransGetMyAddr
        _X11TransGetPeerAddr
        _X11TransIsLocal
        _X11TransOpenCLTSClient
        _X11TransOpenCOTSClient
        _X11TransRead
        _X11TransReadv
        _X11TransSetOption
        _X11TransWrite
        _X11TransWritev
        _XConnectDisplay
        _XDisconnectDisplay
        _XSendClientPrefix


4.      Packaging

        Interface                       Interface               Comments
                                        Classification
        ===============================================================

        SUNWxwplt                       Committed               Modified
        SUNWxwinc                       Committed               Modified
        SUNWxcbgen                      Uncommitted             New

        pkg:x11/library/libxcb          Uncommitted             New
        pkg:x11/library/xcb-util        Uncommitted             New


5.      References

        PSARC/2003/210  X11 Library Cleanup [ libXau.so.6, libXdmcp.so.6 ]
        PSARC/2009/043  Python 2.6 and 3.0
        LSARC/2009/666  Update libX11 to 1.3 [ libX11.so.4 ]


Introducing XCB [ The X Protocol C-Language Bindings ] with X11 in Solaris

Stefan Teleman <[email protected]>
29 March 2010

APPENDIX 1: Objects Delivered By XCB


1. Header Files:

1.1.    libxcb:

        /usr/include/xcb/bigreq.h
        /usr/include/xcb/composite.h
        /usr/include/xcb/damage.h
        /usr/include/xcb/dpms.h
        /usr/include/xcb/dri2.h
        /usr/include/xcb/glx.h
        /usr/include/xcb/randr.h
        /usr/include/xcb/record.h
        /usr/include/xcb/render.h
        /usr/include/xcb/res.h
        /usr/include/xcb/screensaver.h
        /usr/include/xcb/shape.h
        /usr/include/xcb/shm.h
        /usr/include/xcb/sync.h
        /usr/include/xcb/xc_misc.h
        /usr/include/xcb/xcb.h
        /usr/include/xcb/xcbext.h
        /usr/include/xcb/xevie.h
        /usr/include/xcb/xf86dri.h
        /usr/include/xcb/xfixes.h
        /usr/include/xcb/xinerama.h
        /usr/include/xcb/xinput.h
        /usr/include/xcb/xproto.h
        /usr/include/xcb/xselinux.h
        /usr/include/xcb/xtest.h
        /usr/include/xcb/xv.h
        /usr/include/xcb/xvmc.h

1.2.    xcb-util:

        /usr/include/xcb/xcb_atom.h
        /usr/include/xcb/xcb_aux.h
        /usr/include/xcb/xcb_bitops.h
        /usr/include/xcb/xcb_event.h
        /usr/include/xcb/xcb_icccm.h
        /usr/include/xcb/xcb_image.h
        /usr/include/xcb/xcb_keysyms.h
        /usr/include/xcb/xcb_pixel.h
        /usr/include/xcb/xcb_property.h
        /usr/include/xcb/xcb_renderutil.h
        /usr/include/xcb/xcb_reply.h


2. Component Discovery [ pkg-config ] Files:

2.1.    xcbproto:

        /usr/share/pkgconfig/xcb-proto.pc

2.2.    libxcb:

        /usr/lib/pkgconfig/x11-xcb.pc
        /usr/lib/pkgconfig/xcb-composite.pc
        /usr/lib/pkgconfig/xcb-damage.pc
        /usr/lib/pkgconfig/xcb-dpms.pc
        /usr/lib/pkgconfig/xcb-dri2.pc
        /usr/lib/pkgconfig/xcb-glx.pc
        /usr/lib/pkgconfig/xcb-randr.pc
        /usr/lib/pkgconfig/xcb-record.pc
        /usr/lib/pkgconfig/xcb-render.pc
        /usr/lib/pkgconfig/xcb-res.pc
        /usr/lib/pkgconfig/xcb-screensaver.pc
        /usr/lib/pkgconfig/xcb-shape.pc
        /usr/lib/pkgconfig/xcb-shm.pc
        /usr/lib/pkgconfig/xcb-sync.pc
        /usr/lib/pkgconfig/xcb-xevie.pc
        /usr/lib/pkgconfig/xcb-xf86dri.pc
        /usr/lib/pkgconfig/xcb-xfixes.pc
        /usr/lib/pkgconfig/xcb-xinerama.pc
        /usr/lib/pkgconfig/xcb-xinput.pc
        /usr/lib/pkgconfig/xcb-xtest.pc
        /usr/lib/pkgconfig/xcb-xv.pc
        /usr/lib/pkgconfig/xcb-xvmc.pc
        /usr/lib/pkgconfig/xcb.pc

        /usr/lib/${MACH64}/pkgconfig/x11-xcb.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-composite.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-damage.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-dpms.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-dri2.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-glx.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-randr.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-record.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-render.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-res.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-screensaver.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-shape.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-shm.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-sync.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xevie.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xf86dri.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xfixes.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xinerama.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xinput.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xtest.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xv.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-xvmc.pc
        /usr/lib/${MACH64}/pkgconfig/xcb.pc

2.2.    xcb-util:

        /usr/lib/pkgconfig/xcb-atom.pc
        /usr/lib/pkgconfig/xcb-aux.pc
        /usr/lib/pkgconfig/xcb-event.pc
        /usr/lib/pkgconfig/xcb-icccm.pc
        /usr/lib/pkgconfig/xcb-image.pc
        /usr/lib/pkgconfig/xcb-keysyms.pc
        /usr/lib/pkgconfig/xcb-property.pc
        /usr/lib/pkgconfig/xcb-renderutil.pc
        /usr/lib/pkgconfig/xcb-reply.pc

        /usr/lib/${MACH64}/pkgconfig/xcb-atom.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-aux.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-event.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-icccm.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-image.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-keysyms.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-property.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-renderutil.pc
        /usr/lib/${MACH64}/pkgconfig/xcb-reply.pc


3. XML Metadata Interface Definition Objects:

3.1.    xcbproto:

        /usr/share/xcb/xcb.xsd

        /usr/share/xcb/bigreq.xml
        /usr/share/xcb/composite.xml
        /usr/share/xcb/damage.xml
        /usr/share/xcb/dpms.xml
        /usr/share/xcb/dri2.xml
        /usr/share/xcb/glx.xml
        /usr/share/xcb/randr.xml
        /usr/share/xcb/record.xml
        /usr/share/xcb/render.xml
        /usr/share/xcb/res.xml
        /usr/share/xcb/screensaver.xml
        /usr/share/xcb/shape.xml
        /usr/share/xcb/shm.xml
        /usr/share/xcb/sync.xml
        /usr/share/xcb/xc_misc.xml
        /usr/share/xcb/xevie.xml
        /usr/share/xcb/xf86dri.xml
        /usr/share/xcb/xfixes.xml
        /usr/share/xcb/xinerama.xml
        /usr/share/xcb/xinput.xml
        /usr/share/xcb/xproto.xml
        /usr/share/xcb/xselinux.xml
        /usr/share/xcb/xtest.xml
        /usr/share/xcb/xv.xml
        /usr/share/xcb/xvmc.xml


4. [ xcbgen ] Python Utility Objects:

4.1.    xcbproto:

        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/__init__.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/__init__.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/__init__.pyo
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/error.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/error.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/error.pyo
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/expr.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/expr.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/expr.pyo
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/matcher.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/matcher.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/matcher.pyo
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/state.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/state.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/state.pyo
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/xtypes.py
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/xtypes.pyc
        /usr/lib/python${PYTHON_VERSION}/vendor-packages/xcbgen/xtypes.pyo


5.      Packaging:

5.1.    Existing packages:

        SUNWxwplt
        SUNWxwinc

5.2.    New package:

        SUNWxcbgen

5.3.    IPS Packaging:

                pkg:x11/library/libxcb
                pkg:x11/library/xcb-util



_______________________________________________
opensolaris-arc mailing list
[email protected]

Reply via email to