[[!meta copyright="Copyright © 2010, 2011, 2012 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!meta date="2010-10-23 12:47:26 UTC"]] A month of the Hurd: *new translators* / *bug fixing*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else=" [[!paste id=full_news]]"]] [[!cut id="full_news" text=""" Yes, we're a bit late this month. Arne Babenhauserheide, the guy who has started and has been drafting the *Month of the Hurd* ever since June 2009 (yes, that one and a half years already!), moves on to other duties -- his wife has given birth to our first Hurd developer offspring (as far as I know): > Last friday my son Leandro entered our cold and too bright but friendly > world, [...] We wish them good luck for their new parental duty! The other guy, Thomas Schwinge, who has been editing and publishing the *Month of the Hurd* will take over -- at least temporarily (mind you, Arne). But, we got some Hurd news, too. Olaf Buddenhagen posted a patch that allows to [obtain number of ports in proc and libps](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00036.html) by means of adding a new [[RPC]] -- and subsequently held a discussion with Samuel Thibault who proposed that instead of adding such functionality on an [ad hoc basis](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00044.html), a more generic solution could be found, too. In the end, they agreed that this functionality was useful enough, and the patch was [committed](http://lists.gnu.org/archive/html/commit-hurd/2010-09/msg00031.html). It is important to spend time on designing proper interfaces (RPCs in this case), but on the other hand what we're doing now need not be set in stone forever, as Olaf [explains](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00045.html): > Well, we already have a mechanism for making communication protocols in > the Hurd extensible: it's called the RPC mechanism... :-) Let's not try > to invent another generic mechanism on top of RPCs. > > *If* ten year down the road we indeed end up with half a dozen > miscallaneous info queries, we can *still* replace them by a new RPC > covering all of it... Thomas Schwinge [moved some packages](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00031.html) ([[hurd/translator/gopherfs]], [[hurd/translator/netio]], [[hurd/translator/tarfs]]) from hurdextras to the Hurd's [[source_repositories/incubator]] repository; these are now available as [[Debian GNU/Hurd packages|hurd/running/debian]]. Manuel Menal also spent time on actually making tarfs and good ol' gopherfs usable. Similar treatment [has been applied](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00055.html) to Jérémie Koenig's new [[hurd/translator/procfs]] implementation; this one is now [used in Debian GNU/Hurd](http://lists.gnu.org/archive/html/commit-hurd/2010-09/msg00063.html). Jérémie found some [problems with signal delivery](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00006.html) -- signals apparently are not delivered as expected. Roland McGrath, this *hairy code*'s original author, [provided some insight](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00008.html): > It's not that it's a bug, it's that the Hurd has never had POSIX-1996 > multithreaded signal semantics. The Hurd implementation predates those > specifications. He [continued to explain](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00010.html): > The Hurd signal semantics are well-defined > today. They are not the POSIX-1996 semantics in the presence of multiple > threads per process. This explains for differences comparing to other recent Unixy systems, for example Linux. Neal Walfield, our [[libpthread]]'s main author, [states](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00017.html) that he sees *no convincing reason to not adopt POSIX/Linux signal semantics and abandon Hurd signal semantics*. Jérémie went on to [send a first patch](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00011.html). While already working in that area, Samuel Thibault applied some further fixes to our two threading libraries, and among others, he also sent a related glibc patch to [fix signal-catching functions](http://sourceware.org/ml/libc-alpha/2010-09/msg00015.html). And then, there is still the project about converting the Hurd's libraries and servers to using libpthread instead of Mach's cthreads (libthreads); likely such signalling system moderizations could be done [alongside of that](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00021.html). Manuel Menal [fixed a bug](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00061.html) that occurred when sending file descriptors with `SCM_RIGHTS` over `PF_LOCAL` sockets. He also identified this bug as the reason why the SSH daemon's privilege separation was not working on GNU/Hurd -- now [this is fixed](http://lists.gnu.org/archive/html/commit-hurd/2010-09/msg00036.html) and you can use the default of `UsePrivilegeSeparation yes`. Michael Banck has, based on user feedback, applied some changes to the [[!debpkg crosshurd]] package, and [uploaded a new version](http://lists.debian.org/debian-hurd/2010/09/msg00037.html). In other news, the [[hurd/running/Arch_Hurd]] guys rightfully concluded that now that they're having a package available for almighty GNU Emacs, [no further user-land packages need to be ported](http://blogs.archhurd.org/hayashi/2010/09/04/emacs-emacs/). If only everyone was using Emacs... Last, and least, [there are rumors](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00026.html) about our colleagues over at the Duke Nukem Forever department getting serious again. We shall see. :-) """]]