On Thu, 2009-10-01 at 19:47 +0900, Fuyuki Hasegawa - Sun Microsystems
wrote:
> Sebastien Roy wrote:
> > On Thu, 2009-09-17 at 03:54 -0700, Fuyuki Hasegawa wrote:
> >>        Integrating ibus does not mean to obsolete iiimf or scim, but we 
> >> would
> >>        put them in maintenance state.
> > 
> > What is "maintenance state"?  If you mean that they will remain
> > supported but that ibus is the preferred method, then making them
> > "Obsolete" in the ARC sense would seem like the right thing to do.  Is
> > that what you intend?  See
> > http://www.opensolaris.org/os/community/arc/policies/interface-taxonomy/.
> 
> The "maintenance state" means that we will stop feature work
> and unlikely to fix low priority bugs.
> iiimf is still default IM for OpenSolaris 2010.02.
> It seems we should change iiimf or scim interfaces to Obsolete
> when we switch default IM to ibus for Solaris Next.

I see, that works for me.

> >>      4.1.2 Switching between iBus, SCIM and IIIMF
> >>        iBus services are started by gnome-session(1). User could
> >> simply enable
> >>        or disable the service via gnome-session-properties(1). With
> >> the help of
> >>        startup scripts shipped with iiimf and scim, user could set
> >> GTK_IM_MODULE
> >>        environment variable in $HOME/.profile to select iBus, IIIMF or
> >> SCIM.
> > 
> > Is the GTK_IM_MODULE variable an interface exported by this case, or was
> > it part of a previous case?
> 
> GTK_IM_MODULE variable comes from GNOME itself.
> It's mentioned in gtk-query-immodules-2.0(1) manpage.
> I looked at GNOME 2.14 ARC materials in /shared/sac/LSARC/2006/202/,
> but couldn't find out the interface taxonomy.

Okay, that's fine.

> > 
> >>    4.5. Interfaces:
> >>
> >>        INTERFACE NAME             STABILITY    NOTE
> >>        
> >> -----------------------------------------------------------------------
> >>        /usr/bin/ibus-daemon       Uncommitted  message bus daemon
> >>        /usr/bin/ibus-setup        Uncommitted  setup launcher
> >>        /usr/libexec/ibus-x11      Uncommitted  ibus XIM fontend/agend
> >>
> >>        /usr/libexec/ibus-gconf    Uncommitted  config backend by 
> >> gconf-python
> >>        /usr/libexec/ibus-ui-gtk   Uncommitted  panel GUI by pygtk
> >>
> >>        /usr/lib/libibus.so        Uncommitted  ibus C binding SDK library
> >>        /usr/include/ibus-1.0/*    Uncommitted  ibus C binding header files
> >>
> >>        /usr/share/gtk-doc/html/   Uncommitted  ibus developor documents
> >>        ibus/*
> >>
> >>        /usr/lib/python2.6/        Uncommitted  ibus Python binding
> >>        site-packages/ibus/*
> >>
> >>        /usr/lib/gtk-2.0/2.10.0/   Uncommitted  ibus gtk-im-module
> >>        immodules/im-ibus*.so
> >>        /usr/lib/{amd64,sparcv9}/  Uncommitted  64bits version of ibus
> >>        gtk-2.0/2.10.0/immodules/               gtk-im-module
> >>        im-ibus*.so
> >>
> >>        /usr/share/ibus/setup/*    Uncommitted  ibus-setup modules
> >>        /usr/share/ibus/ui/gtk/*   Uncommitted  panel GUI by pygtk
> >>
> >>        /usr/share/ibus/           Uncommitted  ibus components registry
> >>        components/*                            like ibus-gconf, ibus-ui-gtk
> >>                                                and IMEs
> >>
> >>        /usr/libexec/              Uncommitted  IME launcher
> >>        ibus-engine-<IME_NAME>
> >>        /usr/libexec/              Uncommitted  IME setup launcher
> >>        ibus-setup-<IME_NAME>
> >>        /usr/share/ibus-<IME_NAME> Uncommitted  IME modules
> >>        *IME_NAME is among [anthy, chewing, hangul, m17n, pinyin, table]
> >>
> >>        /usr/share/ibus-table/*    Uncommitted  ibus-table engine and
> >>                                                code-tables
> > 
> > I suspect that many of the above are not actually interfaces at all, but
> > rather internal components of the implementation.  No user or
> > application should be using most of these things directly, so
> > Uncommitted seems inappropriate.  Can you clarify which interfaces you
> > expect users and applications to interact with directly and give those
> > appropriate stabilities.  Everything else should probably be some kind
> > of private or not an interface at all.
> 
> I see. It seems Project Private is more appropriate for all of them
> except the following.
> 
>  >>        /usr/bin/ibus-daemon       Uncommitted  message bus daemon
>  >>        /usr/bin/ibus-setup        Uncommitted  setup launcher
> 
> Since ibus is fairly new software and being actively developed/enhanced
> by the community. I think Volatile would be more appropriate for the
> two interfaces.

Do you expect users to call /usr/bin/ibus-daemon directly, or do you
only ever expect it to be started from private scripts indirectly by
gnome-session?  If it's the former, then what you have is fine.  If it's
the latter, then it probably belongs in /usr/lib along with the other
private executables, and it should be Project Private along with the
others.  Otherwise, I agree with your assessment of the other
interfaces.

> > 
> >>    4.12. Dependencies:
> >>        We need python2.6 to be the default in OpenSolaris.
> > 
> > What is the specific case dependency?
> 
> I don't know what python2.6 API ibus depends on.
> We heard the python default will be changed from 2.4 to 2.6
> in near future, but don't know the actual target at this point.

According to PSARC/2009/043, you must not depend on the default version
in /usr/bin, but rather on a specific version
(e.g., /usr/bin/python2.6).  That would relieve any dependency on a
particular version becoming the default, and would prevent breakage of
your feature if the default version changes and introduced
incompatibilities.

-Seb

Reply via email to