By user9149671 on Sep 18, 2006
I am planning on attending the Boston GNOME Summit in a few weeks and am very much looking forward to having some time to work with people, and spend some time in Boston.
The past few weeks have been busy ones, preparing for getting GNOME 2.16 working on Solaris. There have been complications and delays with getting HAL and GNOME working together, but things seem to be moving along and approaching quickly. We were initially hoping to target this integration into Nevada build 42, but it's looking like HAL will go into build 50 with GNOME/HAL integration likely showing up in the next build. This will be a huge win for Solaris users, and eliminate one of the most annoying gaps between Solaris and Linux. Once complete, removable media (external USB/firewire drives, keys, cameras, and other external USB devices) should be automatically noticed by the desktop, rather than requiring arcane mounting commands typed at the console.
Two weeks ago we took GNOME 2.16 through Sun's Architectural Review Process, which went well. We were able to prepare the documentation in record time, just a few weeks, and received permission to ship GNOME 2.16 into Nevada without ARC requiring any changes in our delivery. This was a welcome first, and evidence that the relationships between Sun internal process and external free software are continuing to improve. This process benefited the GNOME community because our review of GNOME's ABI documentation turned up 9 documentation bugs where new interfaces were undocumented or not properly marked with Since: tags. We were able to provide feedback about these documentation issues before the 2.16 release so that the documentation was improved before release. The main criticism that ARC made about GNOME in this cycle is that many GNOME Platform libraries export private interfaces (either in as exposed library symbols or in header files). ARC believes it would improve stability to avoid exporting private interfaces as much as possible. If private interfaces must be exported, they should be clearly documented with warnings recommending that they not be used (e.g. in the header file).
Though, in hindsight, probably the main benefit that ARC has provided the Sun GNOME team over the 2.10, 2.12 and 2.14 cycles has been to the way we integrate GNOME into Solaris. Many of the issues that we have focused on have been to improve the way that GNOME (evolution) integrates with BerekelyDB, NSS/NSPR, and other external dependencies that are probably managed differently on each distro. And also making sure that we are using appropriate Solaris interfaces where appropriate.
Lately, I've been working a lot on Sun's manpages. Many of our manpages were badly out-of-date and no longer matched the current CLI, etc. After a lengthy review process, we have started updating our manpages and writing new manpages for applications which do not have them. At Sun, we maintain manpages in SGML format, which has always made it complicated sharing our manpages improvements back with the community (which uses NROFF). However, we have decided to start converting our SGML manpages to NROFF and deliver the NROFF verions with future versions of Solaris. I am hoping that this will make it easier to share our manpage improvements back with the GNOME community.
I have also been involved with removing libxklavier from our Solaris GNOME release, so no more gswitchit (xkb) panel applet. libxklavier depends on private Xserver interfaces, and really only works properly if the X server and client and running the same Xserver. Perhaps because Sun supports both the Xsun and Xorg servers, this has caused our users a great deal of problems when it does not work. In final analysis, the issues caused were causing more of a headache than the benefits.
I have also spent a bit of time working with ORBit2 lately. The Solaris "Secure By Default" program determiend that we needed to turn off IPv6 "wide-open" mode in ORBit because we were leaving sockets open and listening to the network. ORBit2 does support ORBLocalOnly mode, but this seemed to cause Java programs to be unable to connect to the at-spi-registryd via ORBit2. After some research, I was able to track the problem down to the fact that the logic in ORBit2 to determine if IPv4/IPv6 connections were local was failing on Solaris, and this fix is now upstream in ORBit2 CVS head. Not sure if other platforms were having similar problems, but this should make accessibility work better in the more secure ORBLocalOnly mode on Solaris at least.
There has been a push over the past couple of months to get our patches upstream, so I've been spending time lately working on this, and reworking patches as necessary to get them accepted by maintainers.
Just wanted to update people on what I've been working on lately.