On Thu, 2009-12-03 at 13:44 +0900, Fuyuki Hasegawa - Sun Microsystems
wrote:
> Thank you for the review, Sebastien.
> 
> Sebastien Roy wrote:
> > On Wed, 2009-11-25 at 23:47 -0800, Fuyuki Hasegawa wrote:
> >>        The list of supported layout comes from xkeyaboard-config
> >>        rule data (xkeyboard-config - rules/xorg.xml). The iBus engine has
> >>        this layout list and the actual symbol data (xkeyboard-config - 
> >> symbols/*)
> >>        for each layout as iBus engine private data in its own format so 
> >> that
> >>        iBus engine does not depend on xkeyboard-condfig data at runtime.
> > 
> > You should have an imported interfaces table where you list exactly
> > which xkeyboard-config interfaces you depend on.
> 
> Build time dependencies are:
>   /usr/X11/share/X11/xkb/symbols
>   /usr/X11/share/X11/xkb/rules
> 
> I've added the following in the material.
> 
>         Imported Interfaces
> 
>         INTERFACE NAME                 STABILITY        NOTE
>         
> -----------------------------------------------------------------------
>         /usr/X11/share/X11/xkb/*       Uncommited  XKB definition files

Okay, and these are exported as Uncommitted by PSARC 2009/440.  This
looks fine.

> 
> > Are those safe to use?
> 
> OpenSolaris Xorg server depends on these data, so we assume they're safe
> to use.

Indeed.

> 
> > 
> >>    INTERFACE STABILITIES
> >>
> >>        All of components for this engine are Projectt Private.
> >>
> >>        INTERFACE NAME                 STABILITY        NOTE
> >>        
> >> -----------------------------------------------------------------------
> >>        /usr/share/ibus-xkbc              Private     iBus engine 
> >> implementation
> >>                                              in platform neutral way
> >>                                              (written with Python)
> >>        /usr/share/ibus/component      Private     engine specification file
> >>                    /xkbc.xml
> >>        /usr/lib/ibus/ibus-engine-xkbc Private     engine invocation script
> >>        /usr/lib/ibus/ibus-setup-xkbc  Private     engine specific 
> >> configuration
> >>                                              invocation script
> > 
> > There has to be some Public interface provided by this project,
> > otherwise the user would not be able to select this keyboard layout
> > engine in the GUI, and then would not be able to depend on individual
> > layouts offered by the engine.
> 
> The last three are the files for the GUI.

They're imported by the GUI, but I'm asking about interfaces that are
used by the user.  There has to be something that the user depends on as
an interface.  How are other features that are solely enabled and
controlled through a GUI handled (ask folks on LSARC who have probably
dealt with interface stabilities for such features)?

> It seems fine to dedine them as Volatile.
> However, we have defined them as Private in PSARC/2009/499 iBus integration.

Some level of Private is fine for these, as the files themselves are do
not constitute a Public interface.  On a related note, which level of
"Private" do you actually mean here?

> 
>         /usr/share/ibus/           Private      ibus components registry
>         components/*                            like ibus-gconf, ibus-ui-gtk
>                                                 and IMEs
>         /usr/lib/ibus/             Private      IME setup launcher
> 
> Should I update this case and PSARC/2009/499?

No, but please do clarify what you mean by "Private" by specifying an
existing stability level from the interface taxonomy.

-Seb


Reply via email to