summaryrefslogtreecommitdiff
path: root/contributing/web_pages/news/moth_next.mdwn
blob: 6599251721f2d9f1d3b77af40f21ffb51dee903a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
[[!meta copyright="Copyright © 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]]."]]"""]]

<!-- Date when the news item is (to be) pulished (important for RSS feeds).
Will be set by tschwinge when publishing.
[[!meta date="YYYY-MM-DD HH:MM UTC"]]
-->

A quarter of the Hurd: *Nix-based builds*, and *bounty: slab allocator merged*.
[[!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="""

This quarter, Ludovic Courtès contributed a [continuously-built Nix-based QEMU
image](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00042.html),
raising the count of GNU/Hurd distributions to three: [[Debian
GNU/Hurd|hurd/running/debian]], [[hurd/running/Arch_Hurd]], and now
[[hurd/running/NixOS]].  His build is still pretty basic, but a step into the
right direction: [[!wikipedia "continuous integration"]] is a great feature for
automated testing.

Samuel Thibault followed suit with a [new Debian GNU/Hurd disk
set](http://lists.debian.org/debian-hurd/2011/12/msg00095.html) as a christmas
gift, and
[identified](http://lists.debian.org/debian-hurd/2011/11/msg00095.html) three
easy porting cases with solutions:

  * undefined reference to `dl_*`: add `-ldl` for building
  * undefined reference to `main`: missing `gnu*` case in the linking part of
    `configure.ac` or `.in`
  * undefined reference to `clock_gettime` or `crypt`: add `-lrt` or `-lcrypt`

These should help all those who want to help [[porting_packages|hurd/porting]].

Maksym Planeta and Richard Braun [finished
integration](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00046.html)
of the slab allocator.  From [[IRC]], freenode, #hurd, 2011-11-14:

    <braunr> there shouldn't be any noticeable difference [...]
    <braunr> a bit less fragmentation  
    <braunr> more memory can be reclaimed by the VM system  
    <braunr> there are debugging features  
    <braunr> it's SMP ready  
    <braunr> and overall cleaner than the zone allocator  
    <braunr> although a bit slower on the free path (because of
      what's performed to reduce fragmentation)  
    <braunr> but even "slower" here is completely negligible

This also
[concludes](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00140.html)
our first [[FOSS Factory|donate#FOSS_Factory]] project -- one [[tag/bounty]]
has been redeemed, more are waiting.

Sergio Lopez documented his work on
[[better_memory_management_and_memfs|Sergio_Lopez]], making it easier for other
hackers to join in working on that topic.

Our hackers also used the quarter for porting a good number of packages and
fixing bugs.  After fixing quirks in the Hurd's memory management system,
Sergio Lopez [reported success building
webkitgtk+](http://lists.debian.org/debian-hurd/2011/10/msg00025.html), whose
build stresses the available memory resources on a 32-bit architecture to a
large extend.  Svante Signell was busy, too:
[pax](http://lists.debian.org/debian-hurd/2011/10/msg00105.html),
[abiword](http://lists.debian.org/debian-hurd/2011/11/msg00035.html),
[syslog-ng](http://lists.debian.org/debian-hurd/2011/11/msg00060.html),
[ecl](http://lists.debian.org/debian-hurd/2011/11/msg00058.html),
[fakeroot](http://lists.debian.org/debian-hurd/2011/12/msg00022.html),
[daemon](http://lists.debian.org/debian-hurd/2011/12/msg00025.html), and
[procps](http://lists.debian.org/debian-hurd/2011/12/msg00046.html),
[e2fsprogs' quota](http://lists.debian.org/debian-hurd/2011/10/msg00015.html).
Samuel Thibault handled
[packagekit](http://lists.debian.org/debian-hurd/2011/10/msg00071.html),
[evolution](http://lists.debian.org/debian-hurd/2011/10/msg00070.html),
[emacs23](http://lists.debian.org/debian-hurd/2011/12/msg00018.html),
[gcc-4.7](http://lists.debian.org/debian-hurd/2011/12/msg00065.html), and
[iceweasel
(firefox)](http://lists.debian.org/debian-hurd/2011/12/msg00080.html).  Bouju
Alain [submitted a
patch](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00079.html) to
support `/proc/cpuinfo`.  Ludovic Courtès contributed a patch to [allow for
`/hurd/init` being
symlink](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00032.html),
made the Hurd [build with glibc
2.14+](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00025.html), and
[worked with the GNU coreutils
team](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00067.html) on a
few issues.  Pino Toscano improved [`recvfrom` with `NULL` address
ports](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00161.html).
Maksym Planeta continued working on
[tmpfs](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00118.html).
Samuel Thibault turned `/dev/random` and `/dev/urandom` into [native
translators](http://lists.debian.org/debian-hurd/2011/11/msg00092.html),
modernized [libtool's
configuration](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00073.html),
[mknod's cleanup in error
cases](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00070.html),
[fixed POSIX 2008
visibility](http://lists.gnu.org/archive/html/bug-hurd/2011-12/msg00004.html),
and fixed an [[!debbug 645285 desc="issue in `setresuid` that broke `sudo`"]].
[Pino
Toscano](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00013.html) and
[Thomas
Schwinge](http://lists.gnu.org/archive/html/bug-hurd/2011-11/msg00020.html)
improved key handling in libpthread.  Guillem Jover [fixed Mach's `int`
vs. `long`
discrepancy](http://lists.debian.org/debian-hurd/2011/10/msg00053.html), which
takes us the first step towards [[porting the system to
x86_64|open_issues/64-bit_port]].

There is now a social network site for GNU Hurd on
[Google+](https://plus.google.com/114942488385711891227), to provide an
additional contact point and a forum for discussion and staying in touch.

<!--

Now, as a final note, we want to share a story about real-life debugging with the
Hurd; IRC, freenode, #hurd, 2012-03-02:

    <youpi> yay GNU/Hurd  
    <youpi> I have added i_translator check in e2fsck, it was missing  
    <youpi> I had a volume that was keeping making ext2fs crash  
    <youpi> with a reproductible scenario  
    <youpi> could easily work out it was i_translator, then add a
      check to e2fsck, run it, which indeed fixed, them, and voilà,
      ext2fs was working again
    <youpi> all that on the same machine with *no* system reboot  
    <youpi> just ext2fs restart :)

-->

If you want to join us in our journey to realize more of the promises of the
architecture of the Hurd, please [[get in contact|contact_us]] -- and maybe
already grab the [[source code|source_repositories]] and have fun hacking on
Free Software!

---

The **GNU Hurd** is the GNU project's replacement for the Unix kernel.  It is a
collection of servers that run on the Mach microkernel to implement file
systems, network protocols, file access control, and other features that are
implemented by the Unix kernel or similar kernels (such as Linux).  [[More
detailed|hurd/documentation]].

**GNU Mach** is the microkernel upon which a GNU Hurd system is based.  It
provides an Inter Process Communication (IPC) mechanism that the Hurd uses to
define interfaces for implementing in a distributed multi-server fashion the
services a traditional operating system kernel provides.  [[More
detailed|microkernel/mach/gnumach]].

"""]]