Solaris ARC and GDM 2.14
By user9149671 on Mar 13, 2006
Again I must apologize for being so bad about blogging lately. Work has just been crazy busy. Today I released GDM 2.14.0, which was a real exciting moment for me. Redesigning the configuration system ended up being a lot more work than I thought it would be, but I think GDM is cleaner and easier to maintain for the effort. I'm also happy that GDM is moving closer to being the default login program on Solaris, though there is still work to do on that front. For example, I am currently talking with SunRay team about their need to have per-display configuration setting, though I'm not yet sure how this will be implemented in GDM.
Aside from working on GDM, I have been really busy the past few weeks with Sun's ARC process. We are currently reviewing the changes between GNOME 2.6 and 2.12 and the final review should happen on the 21st of this month. We are moving towards a model where we ARC the GNOME changes for each minor release following the community release schedule. This will hopefully make the process easier to manage, and will also help ensure that any feedback is more useful to current community development. We are also working towards using the OpenSolaris ARC Process instead of Sun's internal process. Unfortunately, the OpenSolaris process was not quite ready in time for the 2.12 review, but I think this will be the approach used in the 2.14 review which will hopefully start soon after the current review is done. It will be an improvement to make this process more open, especially with working with external projects like GNOME.
Although we are using the internal process for GNOME 2.12, we have also placed the review materials on the OpenSolaris ARC website for general community review. Refer to OpenSolaris Case 2005/734. It would certainly be useful if people from the GNOME community were interested in reviewing the materials (especially the draft opinion) and let us know any feedback, misconceptions, or additional information. This would be useful to paint the most accurate picture possible of the state-of-affairs regarding GNOME interfaces.
Aside from being busy with ARC for the next few weeks, I am planning on doing more work with GDM. I'm not quite happy with the way the GDM's manage the sockets connection while getting config data - one way this problem manifests itself is in the fact that gdmsetup is slow to startup. Another bug report I got recently about gdmdynamic thinking the server is busy all the time could be caused by a distro adding config keys to a GDM greeter without realizing they need to add such code in a way that the socket is managed properly. It shouldn't be hard to reorganize the code so it works better, faster, and doesn't cause issues when distros patch the code without realizing they need to be mindful of how it affects the sockets connection.
In other words, it would probably be better if the GDM slaves told the config logic before they start reading config data in bulk and when they are done. Then the config logic can keep the sockets connection open only in between these two calls. If called at other times, it should close the socket after use. This would work better, allow gdmsetup to be coded to startup faster, and mean that if someone patched GDM to access a key value outside of the "load in bulk" section that it wouldn't leave the socket open. It isn't normally a problem if the sockets connection is left open since GDM will reuse sockets, but it is better to properly manage them. Especially when using gdmdynamic since it depends on the sockets being managed to work - it will think the daemon is busy when its not if the slaves leave the sockets open. Also modifying the code to work this way would really be a small change. So I hope to get this into 2.14.1.
Also, I recently made some changes to GDM to get it to support real GTK+ widget buttons which will get gdmgreeter one step closer to supporting full accessibility. I also hope to get this patch into GDM 2.14 after I hear back from Erwann Chenede that the changes work well. I also had a bit of a fire-drill today figuring out a bug in the GDM Solaris auditing logic that ended up being a dumb one-line bug. Glad that is fixed.
Aside from this, I recently built jamboree and gtkpod for Solaris, and the spec files for building these should be in the next release of the extra-specs. This way other Solaris users can build these useful applications. Jamboree is a great audio management program with an iTunes-like interface. Unfortunately the latest release (0.5) of Jamboree doesn't support GStreamer 0.8 so you will need to build jamboree from CVS head for GStreamer 0.10 support. I pinged the maintainers, so hopefully a new release will be forthcoming - since it is a great application.
Well, that isn't everything I've been working on lately, but the highlights. I'll try to be better about blogging more frequently since I like keeping people posted about what I am doing.