On 07/17/13 08:37 PM, Alexander Pyhalov wrote:
I don't know if Solaris has ever supported binary compatibility guarantee in such way for non-core libs.
The Solaris policy is actually very much the same as most other OS'es: declare the areas you promise to keep compatible, and try hard not to break those; don't worry about breaking the areas you didn't promise not to change. In Solaris, these are mostly recorded via the Stability levels in the man pages - if it says "Committed" it shouldn't ever break, like the core libc API's. If it says "Volatile", or is undocumented, it may break in the next patch or package update. The attributes(5) man pages lists the various levels in between. For the GNOME libraries, Solaris basically followed the GNOME upstream guidance - things like GTK would preserve compatibility across minor releases (2.x to any higher 2.y version), but could be broken in a major release (going from 2.x to 3.0 or later), but other libraries that weren't part of the GNOME Desktop core could be changed incompatibility between GNOME minor releases (such as 2.28 to 2.30). Even Linux follows the same sort of policy - it's just made different choices about which interfaces to preserve compatibility with or not. For instance, since GNU libc & the Linux kernel are independently developed and released asynchronously, Linux chose to make the system call interface between them committed, and Linus will yell at anyone who tries to break compatibility there. In Solaris, since the kernel & libc are developed and released together as essentially a single unit, the system call interface is considered Volatile and subject to change without warning - applications must depend on the Committed libc function wrappers around the low level system calls in order to get binary compatibility across releases. (This is also one of the reasons Solaris always frowned on static linking of libc.a and eventually removed it so you couldn't make applications that couldn't be compatible across releases as easily.) -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - http://blogs.oracle.com/alanc _______________________________________________ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev