summaryrefslogtreecommitdiff
path: root/news/2012-q3-q4.mdwn
blob: 7e05edadb24b86a41156d368319ac002babbdb53 (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
[[!meta copyright="Copyright © 2013 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="2013-05-14 22:22 UTC"]]

Two quarters of the Hurd, Q3 and Q4 of 2012: *libpthread conversion*,
*installation CDs*, *hardware compatibility*, *porting*.
[[!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="""

In November 2012, we finished the [libthreads (cthreads) to libpthread (POSIX
Threads)
conversion](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00088.html).
Converting the Hurd libraries to the [[pthread interfaces|libpthread]] allows
linking them together with other libraries that use this standard threading
interface themselves.  This project
[once](http://lists.gnu.org/archive/html/bug-hurd/2002-10/msg00162.html) was
begun by Vicente Hernando Ara, and later continued by Barry deFreese, Thomas
DiModica, Thomas Schwinge, Samuel Thibault, Pino Toscano, and now brought to
completion by Richard Braun, who could not be scared by having to resolve the
last remaining tricky issues before the transition could be completed.

Cyril Roelandt shared a [patch
series](http://lists.gnu.org/archive/html/bug-hurd/2012-12/threads.html#00018)
to fix double mutex unlocking problems.  He found these using a simple script
for [Coccinelle](http://coccinelle.lip6.fr/), which is a [[static code analysis
tool|service_solahart_jakarta_selatan__082122541663/code_analysis]].  We hope to see more such changes in the
future, and we're always interested in hearing people who have experience with
similar tools, for example to resolve other [[service_solahart_jakarta_selatan__082122541663/locking_issues]].

Thomas Schwinge together with Richard Braun and Samuel Thibault [debugged and
fixed](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00044.html) a
deadlock related to signal delivery, resulting from a regression due to earlier
changes.

Also Samuel Thibault
[provided](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00052.html)
new [installation
CDs](http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/current)
and a new [QEMU image](http://people.debian.org/~sthibault/hurd-i386/).
Additionally to using pthreads, these now offer keyboard layout configuration.

In [[glibc]],
Pino Toscano [implemented
syncfs](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00046.html) which
ensures that all data in the filesystem gets written to disk, as well as
support in [[hurd/translator/procfs]] for
[statfs](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00005.html).

Thomas Schwinge improved the hardware compatibility of the Hurd by [identifying
and
backporting](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00077.html)
some changes contained in Linux 2.0.40, which prevents data corruption due to a
miscalculation of the size of medium-sized disks reporting 15 heads instead of
16.
This fix was part of an effort to get Hurd running using a [solid-state
disk](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00000.html).
Samuel Thibault improved [network card
detection](http://lists.debian.org/debian-hurd/2012/07/msg00011.html)
on busses other than 0 and 2.

Several people ported and fixed packages, further increasing the number of
[[hurd/running/Debian]] packages that work on the Hurd: *Svante Signell* ported
[mlocate-0.25](http://lists.debian.org/debian-hurd/2012/07/msg00015.html),
[gnat-gps](http://lists.debian.org/debian-hurd/2012/07/msg00011.html),
[libpst](http://lists.debian.org/debian-hurd/2012/08/msg00039.html),
[libetpan](http://lists.debian.org/debian-hurd/2012/08/msg00046.html),
[spl](http://lists.debian.org/debian-hurd/2012/09/msg00004.html),
[dovecot](http://lists.debian.org/debian-hurd/2012/09/msg00007.html),
[xplc](http://lists.debian.org/debian-hurd/2012/08/msg00054.html),
[parrot](http://lists.debian.org/debian-hurd/2012/08/msg00056.html),
[x86info](http://lists.debian.org/debian-hurd/2012/09/msg00008.html),
[atlas](http://lists.debian.org/debian-hurd/2012/09/msg00009.html),
[rrdtool](http://lists.debian.org/debian-hurd/2012/09/msg00011.html),
[gdb](http://lists.debian.org/debian-hurd/2012/09/msg00018.html),
[yodl](http://lists.debian.org/debian-hurd/2012/08/msg00030.html), and fixed
[ntpdate](http://lists.debian.org/debian-hurd/2012/12/msg00002.html) to work
again and
[improved](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00062.html)
the error handling in pflocal.  *Pino Toscano* added patches for
[procfs](http://lists.gnu.org/archive/html/bug-hurd/2012-09/msg00004.html),
[ptrace](http://lists.gnu.org/archive/html/bug-hurd/2012-10/msg00035.html),
[fsync on
stdout](http://lists.gnu.org/archive/html/bug-hurd/2012-10/msg00046.html),
[muntrace](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00033.html),
[ulimit](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00034.html),
[glibc](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00029.html) which
among others improve POSIX conformance, making it easier to write programs
which work on GNU/Hurd and GNU/Linux.  And he made the test pass for [FIFO
sockets](http://lists.gnu.org/archive/html/bug-hurd/2012-09/msg00053.html) with
mknod and
[added](http://lists.gnu.org/archive/html/bug-hurd/2012-09/msg00005.html) a
size parameter to [[hurd/translator/tmpfs]] and a [version suffix
option](http://lists.gnu.org/archive/html/bug-hurd/2012-10/msg00009.html) for
GNU Mach's configure script.  *Cyril Roelandt* fixed a
[ps](http://lists.gnu.org/archive/html/bug-hurd/2012-12/msg00012.html) bug, a
documentation typo [in
ps](http://lists.gnu.org/archive/html/bug-hurd/2012-10/msg00032.html) and a
missing linker flag [in
procfs](http://lists.gnu.org/archive/html/bug-hurd/2012-10/msg00025.html).
*Matthew Leach*
[fixed](http://lists.gnu.org/archive/html/bug-hurd/2012-11/msg00037.html) a
compilation error with older GCC versions due to duplicate type definition.
*Ole Streicher* fixed a bug in the Makefile of ftools-fv which was
[exposed](http://lists.debian.org/debian-hurd/2012/10/msg00059.html) by testing
on Hurd.  *Samuel Thibault*
[removed](http://lists.debian.org/debian-hurd/2012/12/msg00005.html) the
out-of-date floppy-warnings in the debian installer.

So if you want to test if your favorite packages work on the Hurd and
contribute towards making the full GNU system usable for a wider range
of people, please [[get in contact|contact_us]] -- and maybe already
grab the [[source code|source_repositories]].

---

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]].

"""]]