From 788cf51a9546dd1daddf9f550af84c6bbecc94dc Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Thu, 5 Mar 2009 19:20:56 +0100
Subject: community/gsoc/project_ideas: Split into subpages.
---
community/gsoc/project_ideas/debian_installer.mdwn | 26 ++++++
.../gsoc/project_ideas/disk_io_performance.mdwn | 35 ++++++++
community/gsoc/project_ideas/driver_glue_code.mdwn | 37 +++++++++
community/gsoc/project_ideas/dtrace.mdwn | 46 +++++++++++
community/gsoc/project_ideas/file_locking.mdwn | 30 +++++++
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 45 +++++++++++
.../gsoc/project_ideas/language_bindings.mdwn | 90 +++++++++++++++++++++
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 37 +++++++++
.../gsoc/project_ideas/libdiskfs_locking.mdwn | 31 ++++++++
community/gsoc/project_ideas/mtab.mdwn | 73 +++++++++++++++++
.../namespace-based_translator_selection.mdwn | 82 +++++++++++++++++++
community/gsoc/project_ideas/nfs.mdwn | 32 ++++++++
community/gsoc/project_ideas/package_manager.mdwn | 50 ++++++++++++
community/gsoc/project_ideas/procfs.mdwn | 45 +++++++++++
community/gsoc/project_ideas/pthreads.mdwn | 48 +++++++++++
community/gsoc/project_ideas/secure_chroot.mdwn | 39 +++++++++
.../gsoc/project_ideas/server_overriding.mdwn | 75 ++++++++++++++++++
community/gsoc/project_ideas/sound.mdwn | 40 ++++++++++
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 37 +++++++++
community/gsoc/project_ideas/tmpfs.mdwn | 44 +++++++++++
community/gsoc/project_ideas/unionfs_boot.mdwn | 48 +++++++++++
community/gsoc/project_ideas/virtualization.mdwn | 92 ++++++++++++++++++++++
community/gsoc/project_ideas/vm_tuning.mdwn | 35 ++++++++
community/gsoc/project_ideas/xmlfs.mdwn | 53 +++++++++++++
24 files changed, 1170 insertions(+)
create mode 100644 community/gsoc/project_ideas/debian_installer.mdwn
create mode 100644 community/gsoc/project_ideas/disk_io_performance.mdwn
create mode 100644 community/gsoc/project_ideas/driver_glue_code.mdwn
create mode 100644 community/gsoc/project_ideas/dtrace.mdwn
create mode 100644 community/gsoc/project_ideas/file_locking.mdwn
create mode 100644 community/gsoc/project_ideas/gnumach_cleanup.mdwn
create mode 100644 community/gsoc/project_ideas/language_bindings.mdwn
create mode 100644 community/gsoc/project_ideas/lexical_dot-dot.mdwn
create mode 100644 community/gsoc/project_ideas/libdiskfs_locking.mdwn
create mode 100644 community/gsoc/project_ideas/mtab.mdwn
create mode 100644 community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
create mode 100644 community/gsoc/project_ideas/nfs.mdwn
create mode 100644 community/gsoc/project_ideas/package_manager.mdwn
create mode 100644 community/gsoc/project_ideas/procfs.mdwn
create mode 100644 community/gsoc/project_ideas/pthreads.mdwn
create mode 100644 community/gsoc/project_ideas/secure_chroot.mdwn
create mode 100644 community/gsoc/project_ideas/server_overriding.mdwn
create mode 100644 community/gsoc/project_ideas/sound.mdwn
create mode 100644 community/gsoc/project_ideas/tcp_ip_stack.mdwn
create mode 100644 community/gsoc/project_ideas/tmpfs.mdwn
create mode 100644 community/gsoc/project_ideas/unionfs_boot.mdwn
create mode 100644 community/gsoc/project_ideas/virtualization.mdwn
create mode 100644 community/gsoc/project_ideas/vm_tuning.mdwn
create mode 100644 community/gsoc/project_ideas/xmlfs.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn
new file mode 100644
index 00000000..cac85df2
--- /dev/null
+++ b/community/gsoc/project_ideas/debian_installer.mdwn
@@ -0,0 +1,26 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Port the Debian Installer to the Hurd"]]
+
+The primary means of distributing the Hurd is through Debian GNU/Hurd.
+However, the installation CDs presently use an ancient, non-native installer.
+The situation could be much improved by making sure that the newer *Debian
+Installer* works on the Hurd.
+
+Some preliminary work has been done, see
+.
+
+The goal is to have the Debian Installer fully working on the Hurd. It
+requires relatively little Hurd-specific knowledge.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Try to get one piece of the installer running on Hurd.
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
new file mode 100644
index 00000000..02e0b675
--- /dev/null
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -0,0 +1,35 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Disk I/O Performance Tuning"]]
+
+The most obvious reason for the Hurd feeling slow compared to mainstream
+systems like GNU/Linux, is very slow harddisk access.
+
+The reason for this slowness is lack and/or bad implementation of common
+optimisation techniques, like scheduling reads and writes to minimalize head
+movement; effective block caching; effective reads/writes to partial blocks;
+reading/writing multiple blocks at once; and read-ahead. The
+[[ext2_filesystem_server|hurd/translator/ext2fs]] might also need some
+optimisations at a higher logical level.
+
+The goal of this project is to analyze the current situation, and implement/fix
+various optimisations, to achieve significantly better disk performance. It
+requires understanding the data flow through the various layers involved in
+disk acces on the Hurd ([[filesystem|hurd/virtual_file_system]],
+[[pager|hurd/libpager]], driver), and general experience with
+optimising complex systems. That said, the killing feature we are definitely
+missing is the read-ahead, and even a very simple implementation would bring
+very big performance speedups.
+
+Possible mentors: ?
+
+Exercise: Make some modification in at least one of the components involved in
+disk I/O. (More specific suggestions welcome... :-) )
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
new file mode 100644
index 00000000..2f0a0b59
--- /dev/null
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -0,0 +1,37 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="New Driver Glue Code"]]
+
+Although a driver framework in userspace would be desirable, presently the Hurd
+uses kernel drivers in the microkernel,
+[[GNU_Mach|microkernel/mach/gnumach]]. (And changing this would be far beyond a
+GSoC project...)
+
+The problem is that the drivers in GNU Mach are presently old Linux drivers
+(mostly from 2.0.x) accessed through a glue code layer. This is not an ideal
+solution, but works quite OK, except that the drivers are very old. The goal of
+this project is to redo the glue code, so we can use drivers from current Linux
+versions, or from one of the free BSD variants.
+
+Using [ddekit](http://demo.tudos.org/dsweeper_tutorial.html) instead of our
+own glue code can be explored as a possible alternative approach.
+
+This is a doable, but pretty involved project. Experience with driver
+programming under Linux (or BSD) is a must. (No Hurd-specific knowledge is
+required, though.)
+
+This is [[GNU_Savannah_task 5488]].
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Try porting one driver from Linux 2.6 to run in the old framework.
+The port needn't be elegant or complete; but it would be nice if you could get
+it to work at least partially...
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
new file mode 100644
index 00000000..f0c6f07a
--- /dev/null
+++ b/community/gsoc/project_ideas/dtrace.mdwn
@@ -0,0 +1,46 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="dtrace Support"]]
+
+One of the main problems of the current Hurd implementation is very poor
+performance. While we have a bunch of ideas what could cause the performance
+problems, these are mostly just guesses. Better understanding what really
+causes bad performance is necessary to improve the situation.
+
+For that, we need tools for performance measurements. While all kinds of more
+or less specific profiling tools could be convieved, the most promising and
+generic approach seems to be a framework for logging certain events in the
+running system (both in the microkernel and in the Hurd servers). This would
+allow checking how much time is spent in certain modules, how often certain
+situations occur, how things interact, etc. It could also prove helpful in
+debugging some issues that are otherwise hard to find because of complex
+interactions.
+
+The most popular framework for that is Sun's dtrace; but there might be others.
+The student has to evaluate the existing options, deciding which makes most
+sense for the Hurd; and implement that one. (Apple's implementation of dtrace
+in their Mach-based kernel might be helpful here...)
+
+This project requires ability to evaluate possible solutions, and experience
+with integrating existing components as well as low-level programming.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: In lack of a good exercise directly related to this taks, just pick
+one of the kernel-related or generally low-level tasks from the bug/task
+trackers on savannah, and make a go at it. You might not be able to finish the
+task in a limited amount of time, but you should at least be able to make a
+detailed analysis of the issue.
+
+*Status*: Andei Barbu was working on
+[SystemTap](http://csclub.uwaterloo.ca/~abarbu/hurd/) for GSoC 2008, but it
+turned out too Linux-specific. He implemented kernel probes, but there is no
+nice frontend yet.
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
new file mode 100644
index 00000000..ca3c28ed
--- /dev/null
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -0,0 +1,30 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Fix File Locking"]]
+
+Over the years, [[UNIX]] has aquired a host of different file locking mechanisms.
+Some of them work on the Hurd, while others are buggy or only partially
+implemented. This breaks many applications.
+
+The goal is to make all file locking mechanisms work properly. This requires
+finding all existing shortcomings (through systematic testing and/or checking
+for known issues in the bug tracker and mailing list archives), and fixing
+them.
+
+This task will require digging into parts of the code to understand how file
+locking works on the Hurd. Only general programming skills are required.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Find one of the existing issues, either by looking at the task/bug
+trackers on savannah, or by trying things out yourself; and take a go at it.
+Probably you wont' be able to fix the problem in a limited amount of time, but
+you should be able to do a detailed analysis of the issue at least.
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
new file mode 100644
index 00000000..c11defe5
--- /dev/null
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -0,0 +1,45 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="GNU Mach Code Cleanup"]]
+
+Although there are some attempts to move to a more modern microkernel
+alltogether, the current Hurd implementation is based on
+[[GNU_Mach|microkernel/mach/gnumach]], which is only a slightly modified
+variant of the original CMU [[microkernel/Mach]].
+
+Unfortunately, Mach was created about two decades ago, and is in turn based on
+even older BSD code. Parts of the BSD kernel -- file systems, [[UNIX]] [[mechanism]]s
+like processes and signals, etc. -- were ripped out (to be implemented in
+[[userspace_servers|hurd/translator]] instead); while other mechanisms were
+added to allow implementing stuff in userspace.
+([[Pager_interface|microkernel/mach/external_pager_mechanism]],
+[[microkernel/mach/IPC]], etc.)
+
+Also, Mach being a research project, many things were tried, adding lots of
+optional features not really needed.
+
+The result of all this is that the current code base is in a pretty bad shape.
+It's rather hard to make modifications -- to make better use of modern hardware
+for example, or even to fix bugs. The goal of this project is to improve the
+situation.
+
+The task starts out easy, with fixing compiler warnings. Later it moves on to
+more tricky things: removing dead or unneeded code paths; restructuring code
+for readability and maintainability.
+
+This task requires good knowledge of C, and experience with working on a large
+existing code base. Previous kernel hacking experience is an advantage, but
+not really necessary.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Create a few simple patches that fix some of the compiler warnings,
+rework a piece of ugly code etc.
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
new file mode 100644
index 00000000..a96f4569
--- /dev/null
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -0,0 +1,90 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Bindings to Other Programming Languages"]]
+
+The main idea of the Hurd design is giving users the ability to easily
+modify/extend the system's functionality ([[extensible_system|extensibility]]).
+This is done by creating [[filesystem_translators|hurd/translator]] and other
+kinds of Hurd servers.
+
+However, in practice this is not as easy as it should, because creating
+translators and other servers is quite involved -- the interfaces for doing
+that are not exactly simple, and available only for C programs. Being able to
+easily create simple translators in RAD languages is highly desirable, to
+really be able to reap the advantages of the Hurd architecture.
+
+Originally Lisp was meant to be the second system language besides C in the GNU
+system; but that doesn't mean we are bound to Lisp. Bindings for any popular
+high-level language, that helps quickly creating simple programs, are highly
+welcome.
+
+Several approaches are possible when creating such bindings. One way is simply
+to provide wrappers to all the available C libraries ([[hurd/libtrivfs]], [[hurd/libnetfs]]
+etc.). While this is easy (it requires relatively little consideration), it may
+not be the optimal solution. It is preferable to hook in at a lower level, thus
+being able te create interfaces that are specially adapted to make good use of
+the features available in the respective language.
+
+These more specialised bindings could hook in at some of the lower level
+library interfaces ([[hurd/libports]], [[hurd/glibc]], etc.); use the
+[[microkernel/mach/MIG]]-provided [[microkernel/mach/RPC]] stubs directly; or
+even create native stubs directly from the interface definitions.
+
+The task is to create easy to use Hurd bindings for a language of the student's
+choice, and some example servers to prove that it works well in practice. This
+project will require gaining a very good understanding of the various Hurd
+interfaces. Skills in designing nice programming interfaces are a must.
+
+There has already been some [earlier work on Python
+bindings](http://www.sigill.org/files/pytrivfs-20060724-ro-test1.tar.bz2), that
+perhaps can be re-used. Also some work on [Perl
+bindings](http://www.nongnu.org/hurdextras/#pith) is availabled.
+
+# Lisp
+
+Most Lisp implementations provide a Foreign Function Interface (FFI) that
+enables the Lisp code to call functions written in another language.
+Specifically, most implementations provide an FFI to the C ABI (hence giving
+access to C, Fortran and possibly C++).
+
+Common Lisp has even a portability layer for such FFI,
+[CFFI](http://common-lisp.net/project/cffi/), so that you can write bindings
+purely in Lisp and use the same binding code on any implementation supported by
+CFFI.
+
+Many Scheme implementation also provide an FFI. [Scheme48](http://www.s48.org/)
+is even the implementation used to run scsh, a Scheme shell designed to provide
+instant access to POSIX functions.
+[Guile](http://www.gnu.org/software/guile/guile.html) is the GNU project's
+Scheme implementation, meant to be embeddable and provide access to C. At least
+[Gambit](http://dynamo.iro.umontreal.ca/~gambit/),
+[Chicken](http://www.call-with-current-continuation.org/),
+[Bigloo](http://www-sop.inria.fr/mimosa/fp/Bigloo/) and
+[PLT](http://www.plt-scheme.org/) are known to provide an FFI too.
+
+With respect to the packaging and dependencies, the good news is that Debian
+comes handy: 5 Common Lisp implementations are packaged, one of which has
+already been ported to Hurd (ECL), and CFFI is also packaged. As far as Scheme
+is concerned, 14 [R5RS](http://www.schemers.org/Documents/Standards/R5RS/)
+implementations are provided and 1 [R6RS](http://www.r6rs.org/).
+
+Possible mentors: Pierre THIERRY (nowhere_man) for Common Lisp or Scheme, and perhaps Python
+
+Exercise: Write some simple program(s) using Hurd-specific interfaces in the
+language you intend to work on. For a start, you could try printing the system
+uptime. A more advanced task is writing a simple variant of the hello
+translator (you can use the existing C imlementation as reference),
+implementing only open() and read() calls. Don't only write an implementations
+using the existing C libraries (libps, libtrivfs), but also try to work with
+the MiG-generated stubs directly. If you are ambitious, you could even try to
+write your own stubs...
+
+*Status*: Flavio Cruz has completed [[Lisp_bindings|flaviocruz]] for GSoC 2008!
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
new file mode 100644
index 00000000..c4591df5
--- /dev/null
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -0,0 +1,37 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Lexical .. Resolution"]]
+
+For historical reasons, [[UNIX]] filesystems have a real (hard) `..` link from each
+directory pointing to its parent. However, this is problematic, because the
+meaning of "parent" really depends on context. If you have a symlink for
+example, you can reach a certain node in the filesystem by a different path. If
+you go to `..` from there, UNIX will traditionally take you to the hard-coded
+parent node -- but this is usually not what you want. Usually you want to go
+back to the logical parent from which you came. That is called "lexical"
+resolution.
+
+Some application already use lexical resolution internally for that reason. It
+is generally agreed that many problems could be avoided if the standard
+filesystem lookup calls used lexical resolution as well. The compatibility
+problems probably would be negligable.
+
+The goal of this project is to modify the filename lookup mechanism in the Hurd
+to use lexical resolution, and to check that the system is still fully
+functional afterwards. This task requires understanding the filename resolution
+mechanism. It's probably a relatively easy task.
+
+See also [[GNU_Savannah_bug 17133]].
+
+Possible mentors: ?
+
+Exercise: Make some modification to the name lookup mechanism. (More specific
+suggestions welcome... :-) )
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
new file mode 100644
index 00000000..c9d55bb7
--- /dev/null
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -0,0 +1,31 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Fix libdiskfs Locking Issues"]]
+
+Nowadays the most often encountered cause of Hurd crashes seems to be lockups
+in the [[hurd/translator/ext2fs]] server. One of these could be traced
+recently, and turned out to be a lock inside [[hurd/libdiskfs]] that was taken
+and not released in some cases. There is reason to believe that there are more
+faulty paths causing these lockups.
+
+The task is systematically checking the [[hurd/libdiskfs]] code for this kind of locking
+issues. To achieve this, some kind of test harness has to be implemented: For
+exmple instrumenting the code to check locking correctness constantly at
+runtime. Or implementing a unit testing framework that explicitely checks
+locking in various code paths. (The latter could serve as a template for
+implementing unit checks in other parts of the Hurd codebase...)
+
+This task requires experience with debugging locking issues in multithreaded
+applications.
+
+Possible mentors: ?
+
+Exercise: Hack libdiskfs to keep count of the number of locks currently held.
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
new file mode 100644
index 00000000..056ed042
--- /dev/null
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -0,0 +1,73 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="mtab"]]
+
+In traditional monolithic system, the kernel keeps track of all mounts; the
+information is available through `/proc/mounts` (on Linux at least), and in a
+very similar form in `/etc/mtab`.
+
+The Hurd on the other hand has a totally
+[[decentralized_file_system|hurd/virtual_file_system]]. There is no single
+entity involved in all mounts. Rather, only the parent file system to which a
+mountpoint ([[hurd/translator]]) is attached is involved. As a result, there
+is no central place keeping track of mounts.
+
+As a consequence, there is currently no easy way to obtain a listing of all
+mounted file systems. This also means that commands like `df` can only work on
+explicitely specified mountpoints, instead of displaying the usual listing.
+
+One possible solution to this would be for the translator startup mechanism to
+update the `mtab` on any `mount`/`unmount`, like in traditional systems.
+However, there are same problems with this approach. Most notably: what to do
+with passive translators, i.e., translators that are not presently running, but
+set up to be started automatically whenever the node is accessed? Probably
+these should be counted an among the mounted filesystems; but how to handle the
+`mtab` updates for a translator that is not started yet? Generally, being
+centralized and event-based, this is a pretty unelegant, non-hurdish solution.
+
+A more promising approach is to have `mtab` exported by a special translator,
+which gathers the necessary information on demand. This could work by
+traversing the tree of translators, asking each one for mount points attached
+to it. (Theoretically, it could also be done by just traversing *all* nodes,
+checking each one for attached translators. That would be very inefficient,
+though. Thus a special interface is probably required, that allows asking a
+translator to list mount points only.)
+
+There are also some other issues to keep in mind. Traversing arbitrary
+translators set by other users can be quite dangerous -- and it's probably not
+very interesting anyways what private filesystems some other user has mounted.
+But what about the global `/etc/mtab`? Should it list only root-owned
+filesystems? Or should it create different listings depending on what user
+contacts it?...
+
+That leads to a more generic question: which translators should be actually
+listed? There are different kinds of translators: ranging from traditional
+filesystems ([[disks|hurd/libdiskfs]] and other actual
+[[stores|hurd/translator/storeio]]), but also purely virtual filesystems like
+[[hurd/translator/ftpfs]] or [[hurd/translator/unionfs]], and even things that
+have very little to do with a traditional filesystem, like a
+[[gzip_translator|hurd/translator/storeio]],
+[[mbox_translator|hurd/translator/mboxfs]],
+[[xml_translator|hurd/translator/xmlfs]], or various device file translators...
+Listing all of these in `/etc/mtab` would be pretty pointless, so some kind of
+classification mechanism is necessary. By default it probably should list only
+translators that claim to be real filesystems, though alternative views with
+other filtering rules might be desirable.
+
+After taking decisions on the outstanding design questions, the student will
+implement both the actual [[mtab_translator|hurd/translator/mtabfs]], and the
+necessery interface(s) for gathering the data. It requires getting a good
+understanding of the translator mechanism and Hurd interfaces in general.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Create a simple translator using libnetfs, that only allows creating
+directories and attaching other translators.
diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
new file mode 100644
index 00000000..6bb643fa
--- /dev/null
+++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
@@ -0,0 +1,82 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Namspace-based Translator Selection"]]
+
+The main idea behind the Hurd is to make (almost) all system functionality
+user-modifiable ([[extensible_system|extensibility]]). This includes a
+user-modifiable filesystem: the whole filesystem is implemented decentrally, by
+a set of filesystem servers forming the directory tree together, a
+[[hurd/virtual_file_system]]. These filesystem servers are called
+[[translators|hurd/translator]], and are the most visible feature of the Hurd.
+
+The reason they are called translators is because when you set a translator on
+a filesystem node, the underlying node(s) are hidden by the translator, but the
+translator itself can access them, and present their contents in a different
+format -- translate them. A simple example is a
+[[gunzip_translator|hurd/translator/storeio]], which can be set on a gzipped
+file, and presents a virtual file with the uncompressed contents. Or the other
+way around. Or a translator that presents an
+[[XML_file_as_a_directory_tree|hurd/translator/xmlfs]]. Or an mbox as a set of
+individual files for each mail ([[hurd/translator/mboxfs]]); or ever further
+breaking it down into headers, body, attachements...
+
+This gets even more powerful when translators are used as building blocks for
+larger applications: A mail reader for example doesn't need backends for
+understanding various mailbox formats anymore. All formats can be parsed by
+special translators, and the mail reader gets the data as a uniform, directly
+usable filesystem structure. Translators can also be stacked: If you have a
+compressed mailbox for example, first apply a gunzip translator, and then an
+mbox translator on top of that.
+
+There are a few problems with the way translators are set, though. For one,
+once a translator is set on a node, you always see the translated content. If
+you need the untranslated contents again, to do a backup for example, you first
+need to remove the translator again. Also, having to set a translator
+explicitely before accessing the contents is pretty cumbersome, making this
+feature almost useless.
+
+A possible solution is implementing a mechanism for selecting translators
+through special filename attributes. For example you could use
+`index.html.gz,,+` and `index.html.gz,,-` to choose between translated and
+untranslated versions of a file. Or you could use `index.html.gz,,u` to get
+the contents of the file with a gunzip translator applied automatically. You
+could also use attributes on whole directory trees: `.,,0/` would give you a
+directory tree corresponding to the current directory, but with any translators
+disabled, for doing a backup. And `site,,u/*.html.gz` would present a whole
+directory tree of compressed HTML files as uncompressed files.
+
+One benefit of the Hurd's flexibility is that it should be possible to
+implement such a mechanism without touching the existing Hurd components:
+Rather, just implement a special proxy, that mirrors the normal filesystem, but
+is able to interpret the special extensions and present transformed files in
+place of the original ones.
+
+In the long run it's probably desirable to have the mechanism implemented in
+the standard name lookup mechanism, so it will be available globally, and avoid
+the overhead of a proxy; but for the beginnig the proxy solution is much more
+flexible.
+
+The goal of this project is implementing a prototype proxy; perhaps also a
+first version of the global variant as proof of concept, if time permits. It
+requires good understanding of the name lookup mechanism, and translator
+programming; but the implementation should not be too hard. Perhaps the hardest
+part is finding a convenient, flexible, elegant, hurdish method for mapping the
+special extensions to actual translators...
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Try to make some modification to the existing unionfs and/or firmlink
+translators. (More specific suggestions welcome... :-) )
+
+*Status*: Sergiu Ivanov has been working *voluntarily* on
+[[namespace-based_translator_selection|scolobb]], as an inofficial GSoC 2008
+participant! Not all the desired functionality is in place yet; work is
+ongoing.
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
new file mode 100644
index 00000000..a643fab4
--- /dev/null
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -0,0 +1,32 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Improved NFS Implementation"]]
+
+The Hurd has both NFS server and client implementations, which work, but not
+very well: File locking doesn't work properly (at least in conjuction with a
+GNU/Linux server), and performance is extremely poor. Part of the problems
+could be owed to the fact that only NFSv2 is supported so far.
+
+This project encompasses implementing NFSv3 support, fixing bugs and
+performance problems -- the goal is to have good NFS support. The work done in
+a previous unfinished GSoC project can serve as a starting point.
+
+Both client and server parts need work, though the client is probably much more
+important for now, and shall be the major focus of this project.
+
+This task, [[GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and
+an interest in file systems and network protocols.
+
+Possible mentors: ?
+
+Exercise: Make a go at one of the known issues in the NFS client. You might not
+be able to finish this in the limited amount of time, but you should at least
+be able to make a detailed analysis of the issue.
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
new file mode 100644
index 00000000..0734cea0
--- /dev/null
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -0,0 +1,50 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Hurdish Package Manager for the GNU System"]]
+
+Most GNU/Linux systems use pretty sophisticated package managers, to ease the
+management of installed software. These keep track of all installed files, and
+various kinds of other necessary information, in special databases. On package
+installation, deinstallation, and upgrade, scripts are used that make all kinds
+of modifications to other parts of the system, making sure the packages get
+properly integrated.
+
+This approach creates various problems. For one, *all* management has to be
+done with the distribution package management tools, or otherwise they would
+loose track of the system state. This is reinforced by the fact that the state
+information is stored in special databases, that only the special package
+management tools can work with.
+
+Also, as changes to various parts of the system are made on certain events
+(installation/deinstallation/update), managing the various possible state
+transitions becomes very complex and bug-prone.
+
+For the official (Hurd-based) GNU system, a different approach is intended:
+making use of Hurd [[translators|hurd/translator]] -- more specifically their
+ability to present existing data in a different form -- the whole system state
+will be created on the fly, directly from the information provided by the
+individual packages. The visible system state is always a reflection of the
+sum of packages installed at a certain moment; it doesn't matter how this state
+came about. There are no global databases of any kind. (Some things might
+require caching for better performance, but this must happen transparently.)
+
+The core of this approach is formed by [[hurd/translator/stowfs]], which
+creates a traditional unix directory structure from all the files in the
+individual package directories. But this only handles the lowest level of
+package management. Additional mechanisms are necessary to handle stuff like
+dependencies on other packages.
+
+The goal of this task is to create these mechanisms.
+
+Possible mentors: Ben Asselstine (bing)
+
+Exercise: Write a translator that observes a directory tree using
+dir_notify_changes(), and presents a file with a log of changes.
diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn
new file mode 100644
index 00000000..55556b02
--- /dev/null
+++ b/community/gsoc/project_ideas/procfs.mdwn
@@ -0,0 +1,45 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="procfs"]]
+
+Although there is no standard (POSIX or other) for the layout of the `/proc`
+pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
+systems, and many tools concerned with process management use it. (`ps`, `top`,
+`htop`, `gtop`, `killall`, `pkill`, ...)
+
+Instead of porting all these tools to use [[hurd/libps]] (Hurd's official method for
+accessing process information), they could be made to run out of the box, by
+implementing a Linux-compatible `/proc` filesystem for the Hurd.
+
+The goal is to implement all `/proc` functionality needed for the various process
+management tools to work. (On Linux, the `/proc` filesystem is used also for
+debugging purposes; but this is highly system-specific anyways, so there is
+probably no point in trying to duplicate this functionality as well...)
+
+The [[existing_partially_working_procfs_implementation|hurd/translator/procfs]]
+can serve as a starting point, but needs to be largely rewritten. (It should
+use [[hurd/libnetfs]] rather than [[hurd/libtrivfs]]; the data format needs to
+change to be more Linux-compatible; and it needs adaptation to newer system
+interfaces.)
+
+This project requires learning [[hurd/translator]] programming, and
+understanding some of the internals of process management in the Hurd. It
+should not be too hard coding-wise; and the task is very nicely defined by the
+exising Linux `/proc` interface -- no design considerations necessary.
+
+**Note**: We already have several applications for this task.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Add or fix one piece in the existing procfs translator.
+
+*Status*: Madhusudan.C.S has implemented a new, fully functional [[procfs|madhusudancs]] for
+GSoC 2008. He is still working on some outstanding issues.
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
new file mode 100644
index 00000000..4ac20b45
--- /dev/null
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -0,0 +1,48 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Convert Hurd Libraries and Servers to pthreads"]]
+
+The Hurd was originally created at a time when the [pthreads
+standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
+didn't exist yet. Thus all Hurd servers and libraries are using the old
+[[cthreads|hurd/libcthreads]] package that came with [[microkernel/Mach]],
+which is not compatible with [[pthreads|hurd/libpthread]].
+
+Not only does that mean that people hacking on Hurd internals have to deal with
+a non-standard thread package, which nobody is familiar with. Although a
+pthreads implementation for the Hurd was created in the meantime, it's not
+possible to use both cthreads and pthreads in the same program. Consequently,
+pthreads can't presently be used in any Hurd servers -- including translators.
+
+Some work already has been done once on converting the Hurd servers and
+libraries to use pthreads, but that work hasn't been finished. It is available
+as [[GNU_Savannah_task 5487]] and can of course be used to base the new work
+upon.
+
+The goal of this project is to have all the Hurd code use pthreads. Should any
+limitations in the existing pthreads implementation turn up that hinder this
+transition, they will have to be fixed as well.
+
+One possible option is creating a wrapper that implements the cthreads
+interfaces on top of pthreads, to ease the transition -- but it might very well
+turn out that it's easier to just change all the existing code to use pthreads
+directly. This is up to the student. Such a wrapper has been proposed as
+[[GNU_Savannah_task 7895]] and its implementation would be a useful
+starting-point.
+
+This project requires relatively little Hurd-specific knowledge. Experience
+with multithreaded programming in general and pthreads in particular is
+required, though.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Take some small piece of code using ctreads and convert it to
+pthreads.
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
new file mode 100644
index 00000000..a47bd5db
--- /dev/null
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -0,0 +1,39 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Secure chroot Implementation"]]
+
+As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a
+`chroot()` system call. However, the current implementation is not really
+good, as it allows easily escaping the `chroot`, for example by use of
+[[passive_translators|hurd/translator]].
+
+Many solutions have been suggested for this problem -- ranging from simple
+workaround changing the behaviour of passive translators in a `chroot`;
+changing the context in which passive translators are exectuted; changing the
+interpretation of filenames in a chroot; to reworking the whole passive
+translator mechanism. Some involving a completely different approch to
+`chroot` implementation, using a proxy instead of a special system call in the
+filesystem servers.
+
+The task is to pick and implement one approach for fixing chroot.
+
+This task is pretty heavy: it requires a very good understanding of file name
+lookup and the translator mechanism, as well as of security concerns in general
+-- the student must prove that he really understands security implications of
+the UNIX namespace approach, and how they are affected by the introduction of
+new mechanisms. (Translators.) More important than the acualy code is the
+documentation of what he did: he must be able to defend why he chose a certain
+approach, and explain why he believes this approach really secure.
+
+Possible mentors: ?
+
+Exercise: Make some modification to the chroot mechanism. (More specific
+suggestions welcome :-) )
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
new file mode 100644
index 00000000..c9aab792
--- /dev/null
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -0,0 +1,75 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Server Overriding Mechanism"]]
+
+The main idea of the Hurd is that every user can influence almost all system
+functionality ([[extensible_system|extensibility]]), by running private Hurd
+servers that replace or proxy the global default implementations.
+
+However, running such a cumstomized subenvironment presently is not easy,
+because there is no standard mechanism to easily replace an individual standard
+server, keeping everything else. (Presently there is only the [[hurd/subhurd]]
+method, which creates a completely new system instance with a completely
+independent set of servers.)
+
+The goal of this project is to provide a simple method for overriding
+individual standard servers, using environment variables, or a special
+subshell, or something like that.
+
+Various approaches for such a mechanism has been discussed before.
+Probably the easiest (1) would be to modify the Hurd-specific parts of [[hurd/glibc]],
+which are contacting various standard servers to implement certain system
+calls, so that instead of always looking for the servers in default locations,
+they first check for overrides in environment variables, and use these instead
+if present.
+
+A somewhat more generic solution (2) could use some mechanism for arbitrary
+client-side namespace overrides. The client-side part of the filename lookup
+mechanism would have to check an override table on each lookup, and apply the
+desired replacement whenever a match is found.
+
+Another approach would be server-side overrides. Again there are various
+variants. The actual servers themself could provide a mechanism to redirect to
+other servers on request. (3) Or we could use some more generic server-side
+namespace overrides: Either all filesystem servers could provide a mechanism to
+modify the namespace they export to certain clients (4), or proxies could be
+used that mirror the default namespace but override certain locations. (5)
+
+Variants (4) and (5) are the most powerful. They are intimately related to
+chroots: (4) is like the current chroot implementation works in the Hurd, and
+(5) has been proposed as an alternative. The generic overriding mechanism could
+be implemented on top of chroot, or chroot could be implemented on top of the
+generic overriding mechanism. But this is out of scope for this project...
+
+In practice, probably a mix of the different approaches would prove most useful
+for various servers and use cases. It is strongly recommended that the student
+starts with (1) as the simplest approach, perhaps augmenting it with (3) for
+certain servers that don't work with (1) because of indirect invocation.
+
+This tasks requires some understanding of the Hurd internals, especially a good
+understanding of the file name lookup mechanism. It's probably not too heavy on
+the coding side.
+
+This is [[GNU_Savannah_task 6612]]. Also there are quite a bit of emails
+discussing this topic, from a last year's GSoC application -- see
+,
+,
+,
+.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Come up with a glibc patch that allows overriding one specific
+standard server using method (1).
+
+*Status*: Overriding of socket servers through environment variables has been
+implemented by Zheng Da for GSoC 2008, as part of his
+[[network_virtualization|zhengda]] project.
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
new file mode 100644
index 00000000..e22a7e19
--- /dev/null
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -0,0 +1,40 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Sound Support"]]
+
+The Hurd presently has no sound support. Fixing this, [[GNU_Savannah_task
+5485]], requires two steps: the first is to port some other kernel's drivers to
+[[GNU_Mach|microkernel/mach/gnumach]] so we can get access to actual sound
+hardware. The second is to implement a userspace server ([[hurd/translator]]),
+that implements an interface on top of the kernel device that can be used by
+applications -- probably OSS or maybe ALSA.
+
+Completing this task requires porting at least one driver (e.g. from Linux) for
+a popular piece of sound hardware, and the basic userspace server. For the
+driver part, previous experience with programming kernel drivers is strongly
+advisable. The userspace part requires some knowledge about programming Hurd
+translators, but shouldn't be too hard.
+
+Once the basic support is working, it's up to the student to use the remaining
+time for porting more drivers, or implementing a more sophisticated userspace
+infrastructure. The latter requires good understanding of the Hurd philosophy,
+to come up with an appropriate design.
+
+Another option would be to evaluate whether a driver that is completely running
+in user-space is feasible.
+
+Possible mentors: ?
+
+Exercise: Take a newer driver for a device in one of the subsystems we already
+implement (disk or network) from a newer Linux version, or some other operating
+system, and try to port it so that it runs in the existing driver framework.
+The port needn't be elegant or complete; but it would be nice if you could get
+it to work at least partially...
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
new file mode 100644
index 00000000..b8fb76df
--- /dev/null
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -0,0 +1,37 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Hurdish TCP/IP Stack"]]
+
+The Hurd presently uses a [[TCP/IP_stack|hurd/translator/pfinet]] based on code from an old Linux version.
+This works, but lacks some rather important features (like PPP/PPPoE), and the
+design is not hurdish at all.
+
+A true hurdish network stack will use a set of stack of [[hurd/translator]] processes,
+each implementing a different protocol layer. This way not only the
+implementation gets more modular, but also the network stack can be used way
+more flexibly. Rather than just having the standard socket interface, plus some
+lower-level hooks for special needs, there are explicit (perhaps
+filesystem-based) interfaces at all the individual levels; special application
+can just directly access the desired layer. All kinds of packet filtering,
+routing, tunneling etc. can be easily achieved by stacking compononts in the
+desired constellation.
+
+While the general architecture is pretty much given by the various network
+layers, it's up to the student to design and implement the various interfaces
+at each layer. This task requires understanding the Hurd philosophy and
+translator programming, as well as good knowledge of TCP/IP.
+
+This is [[GNU_Savannah_task 5469]].
+
+Possible mentors: ?
+
+Exercise: Make some modification to the existing pfinet implementation. (More
+specific suggestions welcome... :-) )
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
new file mode 100644
index 00000000..7c9cf67b
--- /dev/null
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -0,0 +1,44 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Fix tmpfs"]]
+
+In some situations it is desirable to have a file system that is not backed by
+actual disk storage, but only by anonymous memory, i.e. lives in the RAM (and
+possibly swap space).
+
+A simplistic way to implement such a memory filesystem is literally creating a
+ramdisk, i.e. simply allocating a big chunck of RAM (called a memory store in
+Hurd terminology), and create a normal filesystem like ext2 on that. However,
+this is not very efficient, and not very convenient either (the filesystem
+needs to be recreated each time the ramdisk is invoked). A nicer solution is
+having a real [[hurd/translator/tmpfs]], which creates all filesystem
+structures directly in RAM, allocating memory on demand.
+
+The Hurd has had such a tmpfs for a long time. However, the existing
+implementation doesn't work anymore -- it got broken by changes in other parts
+of the Hurd design.
+
+There are several issues. The most serious known problem seems to be that for
+technical reasons it receives [[microkernel/mach/RPC]]s from two different
+sources on one [[microkernel/mach/port]], and gets mixed up with them. Fixing
+this is non-trivial, and requires a good understanding of the involved
+mechanisms.
+
+The goal of this project to get a fully working, full featured tmpfs
+implementation. It requires digging into some parts of the Hurd, incuding the
+[[pager_interface|hurd/libpager]] and [[hurd/translator]] programming. This
+task probably doesn't require any design work, only good debugging skills.
+
+Possible mentors: ?
+
+Exercise: Take a go at one of the existing issues in tmpfs. You may not be able
+to finish this in the limited amount of time, but you should at least be able
+to do a detailed analysis of the problem.
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
new file mode 100644
index 00000000..77fc357f
--- /dev/null
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -0,0 +1,48 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Allow Using unionfs Early at Boot"]]
+
+In [[UNIX]] systems, traditionally most software is installed in a common directory
+hierachy, where files from various packages live beside each other, grouped by
+function: user-invokable executables in `/bin`, system-wide configuration files
+in `/etc`, architecture specific static files in `/lib`, variable data in
+`/var`, and so on. To allow clean installation, deinstallation, and upgrade of
+software packages, GNU/Linux distributions usually come with a package manager,
+which keeps track of all files upon installation/removal in some kind of
+central database.
+
+An alternative approach is the one implemented by GNU Stow: each package is
+actually installed in a private directory tree. The actual standard directory
+structure is then created by collecting the individual files from all the
+packages, and presenting them in the common `/bin`, `/lib`, etc. locations.
+
+While the normal Stow package (for traditional UNIX systems) uses symlinks to
+the actual files, updated on installation/deinstallation events, the Hurd
+[[hurd/translator]] mechanism allows a much more elegant solution:
+[[hurd/translator/stowfs]] (which is actually a special mode of
+[[hurd/translator/unionfs]]) creates virtual directories on the fly, composed
+of all the files from the individual package directories.
+
+The problem with this approach is that unionfs presently can be launched only
+once the system is booted up, meaning the virtual directories are not available
+at boot time. But the boot process itself already needs access to files from
+various packages. So to make this design actually usable, it is necessary to
+come up with a way to launch unionfs very early at boot time, along with the
+root filesystem.
+
+Completing this task will require gaining a very good understanding of the Hurd
+boot process and other parts of the design. It requires some design skills
+also to come up with a working mechanism.
+
+Possible mentors: ?
+
+Exercise: Try to write a dummy server that is started instead of ext2fs on
+system boot, and starts the actual ext2fs in turn.
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
new file mode 100644
index 00000000..52b1f48d
--- /dev/null
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -0,0 +1,92 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="Virtualization Using Hurd Mechanisms"]]
+
+The main idea behind the Hurd design is to allow users to replace almost any
+system functionality ([[extensible_system|extensibility]]). Any user can easily
+create a subenvironment using some custom [[servers|hurd/translator]] instead
+of the default system servers. This can be seen as an
+[[advanced_lightweight_virtualization|hurd/virtualization]] mechanism, which
+allows implementing all kinds of standard and nonstandard virtualization
+scenarios.
+
+However, though the basic mechanisms are there, currently it's not easy to make
+use of these possibilities, because we lack tools to automatically launch the
+desired constellations.
+
+The goal is to create a set of powerful tools for managing at least one
+desirable virtualization scenario. One possible starting point could be the
+[[hurd/subhurd]]/[[hurd/neighborhurd]] mechanism, which allows a second almost totally
+independant instance of the Hurd in parallel to the main one. The current
+implementation has serious limitations though. A subhurd can only be started by
+root. There are no communication channels between the subhurd and the main one.
+There is no mechanism for safe sharing of hardware devices. Fixing this issues
+could turn subhurds into a very powerful solution for lightweight
+virtualization using so-called logical partitions. (Similar to Linux-vserver,
+OpenVZ etc.)
+
+While subhurd allow creating a complete second system instance, with an own set
+of Hurd servers and [[UNIX]] daemons and all, there are also situations where it is
+desirable to have a smaller subenvironment, living withing the main system and
+using most of its facilities -- similar to a chroot environment. A simple way
+to create such a subenvironment with a single command would be very helpful.
+
+It might be possible to implement (perhaps as a prototype) a wrapper using
+existing tools (chroot and [[hurd/translator/unionfs]]); or it might require more specific tools,
+like some kind of unionfs-like filesytem proxy that mirrors other parts of the
+filesystem, but allows overriding individual locations, in conjuction with
+either chroot or some similar mechanism to create a subenvironment with a
+different root filesystem.
+
+It's also desirable to have a mechanism allowing a user to set up such a custom
+environment in a way that it will automatically get launched on login --
+practically allowing the user to run a customized operating system in his own
+account.
+
+Yet another interesting scenario would be a subenvironment -- using some kind
+of special filesystem proxy again -- in which the user serves as root, being
+able to create local sub-users and/or sub-groups.
+
+This would allow the user to run "dangerous" applications (webbrowser, chat
+client etc.) in a confined fashion, allowing it access to only a subset of the
+user's files and other resources. (This could be done either using a lot of
+groups for individual resources, and lots of users for individual applications;
+adding a user to a group would give the corresponding application access to the
+corresponding resource -- an advanced [[ACL]] mechanism. Or leave out the groups,
+assigning the resources to users instead, and use the Hurd's ability for a
+process to have multiple user IDs, to equip individual applications with sets
+of user IDs giving them access to the necessary resources -- basically a
+[[capability]] mechanism.)
+
+The student will have to pick (at least) one of the described scenarios -- or
+come up with some other one in a similar spirit -- and implement all the tools
+(scripts, translators) necessary to make it available to users in an
+easy-to-use fashion. While the Hurd by default already offers the necessary
+mechanisms for that, these are not perfect and could be further refined for
+even better virtualization capabilities. Should need or desire for specific
+improvements in that regard come up in the course of this project, implementing
+these improvements can be considered part of the task.
+
+Completing this project will require gaining a very good understanding of the
+Hurd architecture and spirit. Previous experience with other virtualization
+solutions would be very helpful.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Make some modification to the "boot" programm used to start subhurds.
+(More specific suggestions welcome... :-) )
+
+*Status*: Zheng da has has implemented [[network_virtualization|zhengda]] (an
+important prerequisite for unprivileged subhurds) for GSoC 2008, along with
+various other interesting bits, including a mechanism to override socket
+servers; a proc proxy that allows running processes/subenvironments with a
+pseudo device master port; and a mechanism to pass arbitrary virtual devices to
+a subhurd. He is still working on running subhurds by normal users.
diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn
new file mode 100644
index 00000000..79361189
--- /dev/null
+++ b/community/gsoc/project_ideas/vm_tuning.mdwn
@@ -0,0 +1,35 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="VM Tuning"]]
+
+Hurd/[[microkernel/Mach]] presently make very bad use of the available physical memory in the
+system. Some of the problems are inherent to the system design (the kernel
+can't distinguish between important application data and discardable disk
+buffers for example), and can't be fixed without fundamental changes. Other
+problems however are an ordinary lack of optimisation, like extremely crude
+heuristics when to start paging. (See for example.)
+Many parameters are based on assumptions from
+a time when typical machines had like 16 MiB of RAM, or simply have been set to
+arbitrary values and never tuned for actual use.
+
+The goal of this project is to bring the virtual memory management in Hurd/Mach
+closer to that of modern mainstream kernels (Linux, FreeBSD), by comparing the
+implementation to other systems, implementing any worthwhile improvements, and
+general optimisation/tuning. It requires very good understanding of the Mach
+VM, and virtual memory in general.
+
+This project is related to [[GNU_Savannah_task 5489]].
+
+Possible mentors: ?
+
+Exercise: Make some modification to the existing VM code. You could try to find
+a piece of code that can be improved with simple code optimization, for
+example.
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
new file mode 100644
index 00000000..cfdfb4c7
--- /dev/null
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -0,0 +1,53 @@
+[[meta copyright="Copyright © 2008, 2009 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 title="xmlfs"]]
+
+Hurd [[translators|hurd/translator]] allow presenting underlying data in a
+different format. This is a very powerful ability: it allows using standard
+tools on all kinds of data, and combining existing components in new ways, once
+you have the necessary translators.
+
+A typical example for such a translator would be xmlfs: a translator that
+presents the contents of an underlying XML file in the form of a directory
+tree, so it can be studied and edited with standard filesystem tools, or using
+a graphical file manager, or to easily extract data from an XML file in a
+script etc.
+
+The exported directory tree should represent the DOM structure of the document,
+or implement XPath, or both, or some combination thereof (perhaps XPath could
+be implemented as a second translator working on top of the DOM one) --
+whatever works well, while sticking to XML standards as much as possible.
+
+Ideally, the translation should be reversible, so that another, complementary
+translator applied on the expanded directory tree would yield the original XML
+file again; and also the other way round, applying the complementary translator
+on top of some directory tree and xmlfs on top of that would yield the original
+directory again. However, with the different semantics of directory trees and
+XML files, it might not be possible to create such a universal mapping. Thus
+it is a desirable goal, but not a strict requirement.
+
+The goal of this project is to create a fully usable XML translator, that
+allows both reading and writing any XML file. Implementing the complementary
+translator also would be nice if time permits, but is not mandatory part of the
+task.
+
+The [[existing_partial_(read-only)_xmlfs_implementation|hurd/translator/xmlfs]]
+can serve as a starting point.
+
+This task requires pretty good designing skills. Good knowledge of XML is also
+necessary. Learning translator programming will obviously be necessary to
+complete the task.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Make some modification to the existing xmlfs translator, and write a
+shell script that uses xmlfs to extract some interesting information from an
+.odt document. (More specific suggestions welcome... :-) )
--
cgit v1.2.3
From aaac981cf2ffd2d94bd24fb581dfe447cc24361e Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Mon, 9 Mar 2009 01:44:01 +0100
Subject: put myself as possible mentor, add comment on the pthread project
---
community/gsoc/project_ideas/disk_io_performance.mdwn | 2 +-
community/gsoc/project_ideas/pthreads.mdwn | 3 +++
community/gsoc/project_ideas/vm_tuning.mdwn | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
index 02e0b675..878c9bdd 100644
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -29,7 +29,7 @@ optimising complex systems. That said, the killing feature we are definitely
missing is the read-ahead, and even a very simple implementation would bring
very big performance speedups.
-Possible mentors: ?
+Possible mentors: Samuel Thibault (youpi)
Exercise: Make some modification in at least one of the components involved in
disk I/O. (More specific suggestions welcome... :-) )
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 4ac20b45..def57313 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -46,3 +46,6 @@ Possible mentors: Samuel Thibault (youpi)
Exercise: Take some small piece of code using ctreads and convert it to
pthreads.
+
+Note: Barry Defreese already has an almost complete patch: boring parts should
+be mostly done, tricky parts are still missing.
diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn
index 79361189..d1d75e10 100644
--- a/community/gsoc/project_ideas/vm_tuning.mdwn
+++ b/community/gsoc/project_ideas/vm_tuning.mdwn
@@ -28,7 +28,7 @@ VM, and virtual memory in general.
This project is related to [[GNU_Savannah_task 5489]].
-Possible mentors: ?
+Possible mentors: Samuel Thibault (youpi)
Exercise: Make some modification to the existing VM code. You could try to find
a piece of code that can be improved with simple code optimization, for
--
cgit v1.2.3
From d20bf273b84caf99ad41d8f1dcbd2976c535f72f Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 9 Mar 2009 01:52:27 +0100
Subject: Language bindings GSoC task: Lisp implemented last year
---
.../gsoc/project_ideas/language_bindings.mdwn | 45 ++--------------------
1 file changed, 3 insertions(+), 42 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index a96f4569..3376754c 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -36,7 +36,9 @@ the features available in the respective language.
These more specialised bindings could hook in at some of the lower level
library interfaces ([[hurd/libports]], [[hurd/glibc]], etc.); use the
[[microkernel/mach/MIG]]-provided [[microkernel/mach/RPC]] stubs directly; or
-even create native stubs directly from the interface definitions.
+even create native stubs directly from the interface definitions. The
+[[lisp_bindings_created_by_Flavio_Cruz|flaviocruz]] in last year's GSoC mostly
+use the latter approach, and can serve as a good example.
The task is to create easy to use Hurd bindings for a language of the student's
choice, and some example servers to prove that it works well in practice. This
@@ -47,44 +49,3 @@ There has already been some [earlier work on Python
bindings](http://www.sigill.org/files/pytrivfs-20060724-ro-test1.tar.bz2), that
perhaps can be re-used. Also some work on [Perl
bindings](http://www.nongnu.org/hurdextras/#pith) is availabled.
-
-# Lisp
-
-Most Lisp implementations provide a Foreign Function Interface (FFI) that
-enables the Lisp code to call functions written in another language.
-Specifically, most implementations provide an FFI to the C ABI (hence giving
-access to C, Fortran and possibly C++).
-
-Common Lisp has even a portability layer for such FFI,
-[CFFI](http://common-lisp.net/project/cffi/), so that you can write bindings
-purely in Lisp and use the same binding code on any implementation supported by
-CFFI.
-
-Many Scheme implementation also provide an FFI. [Scheme48](http://www.s48.org/)
-is even the implementation used to run scsh, a Scheme shell designed to provide
-instant access to POSIX functions.
-[Guile](http://www.gnu.org/software/guile/guile.html) is the GNU project's
-Scheme implementation, meant to be embeddable and provide access to C. At least
-[Gambit](http://dynamo.iro.umontreal.ca/~gambit/),
-[Chicken](http://www.call-with-current-continuation.org/),
-[Bigloo](http://www-sop.inria.fr/mimosa/fp/Bigloo/) and
-[PLT](http://www.plt-scheme.org/) are known to provide an FFI too.
-
-With respect to the packaging and dependencies, the good news is that Debian
-comes handy: 5 Common Lisp implementations are packaged, one of which has
-already been ported to Hurd (ECL), and CFFI is also packaged. As far as Scheme
-is concerned, 14 [R5RS](http://www.schemers.org/Documents/Standards/R5RS/)
-implementations are provided and 1 [R6RS](http://www.r6rs.org/).
-
-Possible mentors: Pierre THIERRY (nowhere_man) for Common Lisp or Scheme, and perhaps Python
-
-Exercise: Write some simple program(s) using Hurd-specific interfaces in the
-language you intend to work on. For a start, you could try printing the system
-uptime. A more advanced task is writing a simple variant of the hello
-translator (you can use the existing C imlementation as reference),
-implementing only open() and read() calls. Don't only write an implementations
-using the existing C libraries (libps, libtrivfs), but also try to work with
-the MiG-generated stubs directly. If you are ambitious, you could even try to
-write your own stubs...
-
-*Status*: Flavio Cruz has completed [[Lisp_bindings|flaviocruz]] for GSoC 2008!
--
cgit v1.2.3
From 94cc3dbdf08e4aa2ba2fc9a6e2e1f7b0deec9545 Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 9 Mar 2009 02:03:37 +0100
Subject: Mention cthread vs. pthread problem in language bindings GSoC task
---
community/gsoc/project_ideas/language_bindings.mdwn | 11 +++++++++++
1 file changed, 11 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 3376754c..51defe54 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -40,6 +40,17 @@ even create native stubs directly from the interface definitions. The
[[lisp_bindings_created_by_Flavio_Cruz|flaviocruz]] in last year's GSoC mostly
use the latter approach, and can serve as a good example.
+There is another possible reason for preferring lower-level bindings:
+Presently, the Hurd server libraries use the cthreads threading library, which
+predates the pthread standard prevalent today. There is a pthread library for
+the Hurd as well, but it's not possible to use both cthreads and pthreads in
+the same executable. Thus, until
+[[porting_the_Hurd_libraries_to_pthreads|community/gsoc/project_ideas/pthreads]]
+is finished, implementing bindings for any language that uses pthreads (in the
+runtime environment or the actual programs) is only possible when not using the
+standard Hurd server libraries at all -- i.e. when binding at MIG stub level or
+interface definition level.
+
The task is to create easy to use Hurd bindings for a language of the student's
choice, and some example servers to prove that it works well in practice. This
project will require gaining a very good understanding of the various Hurd
--
cgit v1.2.3
From cb493c7d69477531e283498bfaee31b6ff59eb61 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 23:53:50 +0100
Subject: Partial revert: Too much deleted while updating Lisp status
---
community/gsoc/project_ideas/language_bindings.mdwn | 11 +++++++++++
1 file changed, 11 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 51defe54..8b86effd 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -60,3 +60,14 @@ There has already been some [earlier work on Python
bindings](http://www.sigill.org/files/pytrivfs-20060724-ro-test1.tar.bz2), that
perhaps can be re-used. Also some work on [Perl
bindings](http://www.nongnu.org/hurdextras/#pith) is availabled.
+
+Possible mentors: ?
+
+Exercise: Write some simple program(s) using Hurd-specific interfaces in the
+language you intend to work on. For a start, you could try printing the system
+uptime. A more advanced task is writing a simple variant of the hello
+translator (you can use the existing C imlementation as reference),
+implementing only open() and read() calls. Don't only write an implementations
+using the existing C libraries (libps, libtrivfs), but also try to work with
+the MiG-generated stubs directly. If you are ambitious, you could even try to
+write your own stubs...
--
cgit v1.2.3
From 0aae12cbcef006396cd518c38f2be3a3ebaacee6 Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 9 Mar 2009 13:08:36 +0100
Subject: Language bindings GSoC task: Better starting point for Python
bindings
---
community/gsoc/project_ideas/language_bindings.mdwn | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 8b86effd..3bbded45 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -56,12 +56,14 @@ choice, and some example servers to prove that it works well in practice. This
project will require gaining a very good understanding of the various Hurd
interfaces. Skills in designing nice programming interfaces are a must.
-There has already been some [earlier work on Python
-bindings](http://www.sigill.org/files/pytrivfs-20060724-ro-test1.tar.bz2), that
-perhaps can be re-used. Also some work on [Perl
+Anatoly A. Kazantsev has started working on [Python
+bindings](http://savannah.nongnu.org/projects/pyhurd/) last year -- if Python
+is your language of choice, you probably should take his work and complete it.
+
+Also some work on [Perl
bindings](http://www.nongnu.org/hurdextras/#pith) is availabled.
-Possible mentors: ?
+Possible mentors: Anatoly A. Kazantsev (jim-crow) for Python
Exercise: Write some simple program(s) using Hurd-specific interfaces in the
language you intend to work on. For a start, you could try printing the system
--
cgit v1.2.3
From 7be1677ac209d5ade197c8c53ab3556732082bb6 Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 9 Mar 2009 13:23:16 +0100
Subject: Language bindings GSoC task: Rewrote note on previous Perl work
Explicitely mention that the previous work can serve as a reference only
-- most likely we can't use it directly because of missing copyright
assignment. Probably it also uses a suboptimal technical approach.
(Haven't checked.)
---
community/gsoc/project_ideas/language_bindings.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 3bbded45..228a1046 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -60,8 +60,9 @@ Anatoly A. Kazantsev has started working on [Python
bindings](http://savannah.nongnu.org/projects/pyhurd/) last year -- if Python
is your language of choice, you probably should take his work and complete it.
-Also some work on [Perl
-bindings](http://www.nongnu.org/hurdextras/#pith) is availabled.
+There was also some previous work on [Perl
+bindings](http://www.nongnu.org/hurdextras/#pith), which might serve as a
+reference if you want to work on Perl.
Possible mentors: Anatoly A. Kazantsev (jim-crow) for Python
--
cgit v1.2.3
From ae8fa4147ebd99a0825953694010d10467e78d33 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 03:56:40 +0100
Subject: Virtualization GSoC task: Drop subhurds subtask
Zheng Da is currently working on rootless subhurds etc.
---
community/gsoc/project_ideas/virtualization.mdwn | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index 52b1f48d..4f2d260e 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -25,13 +25,7 @@ desired constellations.
The goal is to create a set of powerful tools for managing at least one
desirable virtualization scenario. One possible starting point could be the
[[hurd/subhurd]]/[[hurd/neighborhurd]] mechanism, which allows a second almost totally
-independant instance of the Hurd in parallel to the main one. The current
-implementation has serious limitations though. A subhurd can only be started by
-root. There are no communication channels between the subhurd and the main one.
-There is no mechanism for safe sharing of hardware devices. Fixing this issues
-could turn subhurds into a very powerful solution for lightweight
-virtualization using so-called logical partitions. (Similar to Linux-vserver,
-OpenVZ etc.)
+independant instance of the Hurd in parallel to the main one.
While subhurd allow creating a complete second system instance, with an own set
of Hurd servers and [[UNIX]] daemons and all, there are also situations where it is
--
cgit v1.2.3
From 1ba6e35d1b1bf2c2a1bc198a01949f1893b8ad24 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 07:23:22 +0100
Subject: File locking GSoC task: Update exercise suggestion
While the suggestion is certainly good as an exercise, it is probably
not suitable for producing an actual patch quickly. Warn about this, and
explicitely mention that finding a different task might be necessary.
---
community/gsoc/project_ideas/file_locking.mdwn | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index ca3c28ed..b20b82fd 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -26,5 +26,12 @@ Possible mentors: Samuel Thibault (youpi)
Exercise: Find one of the existing issues, either by looking at the task/bug
trackers on savannah, or by trying things out yourself; and take a go at it.
-Probably you wont' be able to fix the problem in a limited amount of time, but
-you should be able to do a detailed analysis of the issue at least.
+Note though that most of these issues are probably not trivial -- it's quite
+likely that you won't be able to actually fix any of them in the time available
+during the application process. However, you might be able to spot something
+else that could be improved while looking into this.
+
+If after trying for a while you haven't found anything easy enough to improve
+in the locking-related code, talk to us about some alternative exercise task.
+Perhaps you actually find something you could do while looking through the bug
+tracker or trying stuff yourself in search of locking issues :-)
--
cgit v1.2.3
From 5d9917be086fddec2c55f460955cbd7a63e2aadd Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 07:46:17 +0100
Subject: Glue code GSoC task: More explicitely suggest using ddekit
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 2f0a0b59..7e6d9598 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -21,8 +21,11 @@ solution, but works quite OK, except that the drivers are very old. The goal of
this project is to redo the glue code, so we can use drivers from current Linux
versions, or from one of the free BSD variants.
-Using [ddekit](http://demo.tudos.org/dsweeper_tutorial.html) instead of our
-own glue code can be explored as a possible alternative approach.
+While it would be certainly possible to create custom glue code again, a more
+sustainable and probably also easier approch is to use
+[ddekit](http://demo.tudos.org/dsweeper_tutorial.html) instead -- it already
+does the hard work of providing an environment where the foreign drivers can
+run, and has the additional advantage of being externally maintained.
This is a doable, but pretty involved project. Experience with driver
programming under Linux (or BSD) is a must. (No Hurd-specific knowledge is
--
cgit v1.2.3
From 6519870d4c29d8fa358fc24eae12975ab160a27b Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 07:47:31 +0100
Subject: Glue code GSoC task: Reword statement about previous experience
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 7e6d9598..4ed449f7 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -27,9 +27,9 @@ sustainable and probably also easier approch is to use
does the hard work of providing an environment where the foreign drivers can
run, and has the additional advantage of being externally maintained.
-This is a doable, but pretty involved project. Experience with driver
-programming under Linux (or BSD) is a must. (No Hurd-specific knowledge is
-required, though.)
+This is a doable, but pretty involved project. Previous experience with driver
+programming probably is a must. (No Hurd-specific knowledge is required,
+though.)
This is [[GNU_Savannah_task 5488]].
--
cgit v1.2.3
From 43465e29a9afc3faa5cf4a1581301aa00f798746 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 07:59:15 +0100
Subject: Glue code GSoC task: Rework exercise suggestion
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 4ed449f7..0e193a25 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -35,6 +35,8 @@ This is [[GNU_Savannah_task 5488]].
Possible mentors: Samuel Thibault (youpi)
-Exercise: Try porting one driver from Linux 2.6 to run in the old framework.
-The port needn't be elegant or complete; but it would be nice if you could get
-it to work at least partially...
+Exercise: Take a driver for some newer piece of hardware (e.g. Intel e1000
+ethernet) from a recent system, and try to port it to run in the existing
+driver framework in GNU Mach. Completing the port might be too involved for the
+exercise; but it's pretty likely that you will find something else to improve
+in the glue code while working on this...
--
cgit v1.2.3
From 1f4926e095c15d2cbf8c6e1124ff5c7f58600f60 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 08:22:24 +0100
Subject: Server overriding GSoC task: Explicitely mention relation to
virtualization task
---
community/gsoc/project_ideas/server_overriding.mdwn | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index c9aab792..f16ec218 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -22,7 +22,8 @@ independent set of servers.)
The goal of this project is to provide a simple method for overriding
individual standard servers, using environment variables, or a special
-subshell, or something like that.
+subshell, or something like that. It is closely related to the
+[[virtualization]] task.
Various approaches for such a mechanism has been discussed before.
Probably the easiest (1) would be to modify the Hurd-specific parts of [[hurd/glibc]],
--
cgit v1.2.3
From cb2531214e8685356cc5dcd74837301485152c8a Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 08:38:09 +0100
Subject: Server overriding GSoC task: Socket server overriding patch as
example
Mention Zheng Da's socket overriding patch as an example of approach
(1), intead of mentioning it in the "status" section.
---
community/gsoc/project_ideas/server_overriding.mdwn | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index f16ec218..86127a7e 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -30,7 +30,9 @@ Probably the easiest (1) would be to modify the Hurd-specific parts of [[hurd/gl
which are contacting various standard servers to implement certain system
calls, so that instead of always looking for the servers in default locations,
they first check for overrides in environment variables, and use these instead
-if present.
+if present. Take a look at the [socket server overriding
+patch](http://www.assembla.com/spaces/VNetHurd/documents/aJidqKp6ur3z-Nab7jnrAJ/download/A%20patch%20of%20glibc)
+for an example.
A somewhat more generic solution (2) could use some mechanism for arbitrary
client-side namespace overrides. The client-side part of the filename lookup
@@ -70,7 +72,3 @@ Possible mentors: Olaf Buddenhagen (antrik)
Exercise: Come up with a glibc patch that allows overriding one specific
standard server using method (1).
-
-*Status*: Overriding of socket servers through environment variables has been
-implemented by Zheng Da for GSoC 2008, as part of his
-[[network_virtualization|zhengda]] project.
--
cgit v1.2.3
From efa0d447202a9849d44e2127d81bec6f502b9c05 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 08:43:37 +0100
Subject: Server overriding GSoC task: Update "last year"...
---
community/gsoc/project_ideas/server_overriding.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index 86127a7e..2513df0b 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -62,7 +62,7 @@ understanding of the file name lookup mechanism. It's probably not too heavy on
the coding side.
This is [[GNU_Savannah_task 6612]]. Also there are quite a bit of emails
-discussing this topic, from a last year's GSoC application -- see
+discussing this topic, from a previous year's GSoC application -- see
,
,
,
--
cgit v1.2.3
From 297c7451dbf7ae312e7785f3aeb107c8d220b815 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 21:35:18 +0100
Subject: Network stack GSoC task: Fix sentence
---
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index b8fb76df..b1a2536f 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -14,7 +14,7 @@ The Hurd presently uses a [[TCP/IP_stack|hurd/translator/pfinet]] based on code
This works, but lacks some rather important features (like PPP/PPPoE), and the
design is not hurdish at all.
-A true hurdish network stack will use a set of stack of [[hurd/translator]] processes,
+A true hurdish network stack will use a set of [[hurd/translator]] processes,
each implementing a different protocol layer. This way not only the
implementation gets more modular, but also the network stack can be used way
more flexibly. Rather than just having the standard socket interface, plus some
--
cgit v1.2.3
From deef6b8304618ed79d96660aba786373016b718d Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 22:56:08 +0100
Subject: Network stack GSoC task: Monolitic implementation sufficient for the
beginnig
A modular implementation is not realistic in the GSoC timeframe; and
starting with a monolithic one probably makes sense from an engineering
standpoint anyways. Also, it's probably better than what we have now...
---
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index b1a2536f..8306f008 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -24,10 +24,13 @@ can just directly access the desired layer. All kinds of packet filtering,
routing, tunneling etc. can be easily achieved by stacking compononts in the
desired constellation.
-While the general architecture is pretty much given by the various network
-layers, it's up to the student to design and implement the various interfaces
-at each layer. This task requires understanding the Hurd philosophy and
-translator programming, as well as good knowledge of TCP/IP.
+Implementing a complete modular network stack is not feasible as a GSoC
+project, though. Instead, the task is to take some existing user space TCP/IP
+implementation, and make it run as a single Hurd server for now, so it can be
+used in place of the existing pfinet. The idea is to split it up into
+individual layers later. The initial implementation, and the choice of a TCP/IP
+stack, should be done with this in mind -- it needs to be modular enough to
+make such a split later on feasible.
This is [[GNU_Savannah_task 5469]].
--
cgit v1.2.3
From 0da1fba6d59db82b3e5dfbea394075429056a5c9 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 10 Mar 2009 23:26:30 +0100
Subject: Network stack GSoC task: Additional exercise suggestion
---
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index 8306f008..29b1d22d 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -36,5 +36,7 @@ This is [[GNU_Savannah_task 5469]].
Possible mentors: ?
-Exercise: Make some modification to the existing pfinet implementation. (More
-specific suggestions welcome... :-) )
+Exercise: You could try making some improvement to the existing pfinet
+implementation; or you could work towards running some existing userspace
+TCP/IP stack on Hurd. (As a normal program for now, not a proper Hurd server
+yet.)
--
cgit v1.2.3
From f0f5f5bed2f18e2a5a5c913fd0ea065d3f96ee1a Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 00:45:26 +0100
Subject: NFS GSoC task: Mention that locking is problematic in general
---
community/gsoc/project_ideas/nfs.mdwn | 3 +++
1 file changed, 3 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index a643fab4..3d562ac7 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -15,6 +15,9 @@ very well: File locking doesn't work properly (at least in conjuction with a
GNU/Linux server), and performance is extremely poor. Part of the problems
could be owed to the fact that only NFSv2 is supported so far.
+(Note though that locking on the Hurd is problematic in general, not only in
+conjuction with NFS -- see the [[file_locking]] task.)
+
This project encompasses implementing NFSv3 support, fixing bugs and
performance problems -- the goal is to have good NFS support. The work done in
a previous unfinished GSoC project can serve as a starting point.
--
cgit v1.2.3
From d8314e1328979e477e1846cf35eeeb8cce41f83e Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 00:54:45 +0100
Subject: NFS GSoC task: Refer to Madhusudan's discussion
---
community/gsoc/project_ideas/nfs.mdwn | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index 3d562ac7..ecbd7b3a 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -25,6 +25,12 @@ a previous unfinished GSoC project can serve as a starting point.
Both client and server parts need work, though the client is probably much more
important for now, and shall be the major focus of this project.
+Some [discussion of NFS
+improvements](http://lists.gnu.org/archive/html/bug-hurd/2008-04/msg00035.html)
+has been done for a former GSoC application -- it might give you some pointers.
+But don't take any of the statements made there for granted -- check the facts
+yourself!
+
This task, [[GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and
an interest in file systems and network protocols.
--
cgit v1.2.3
From cad09f3e512f8c93f9d355fc1586c3458d2aa205 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 06:28:48 +0100
Subject: NFS GSoC task: Update exercise suggestion
Explicitely mention that the exercise might not be suitable for producing a
patch, and it might be necessary to find an alternative task.
---
community/gsoc/project_ideas/nfs.mdwn | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index ecbd7b3a..3874d81a 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -36,6 +36,10 @@ an interest in file systems and network protocols.
Possible mentors: ?
-Exercise: Make a go at one of the known issues in the NFS client. You might not
-be able to finish this in the limited amount of time, but you should at least
-be able to make a detailed analysis of the issue.
+Exercise: Look into one of the existing issues in the NFS code. It's quite
+possible that you will not be able to fix any of the visible problems before
+the end of the application process; but you might discover something else you
+could improve in the code while working on it :-)
+
+If you can't find anything suitable, talk to us about possible other exercise
+tasks.
--
cgit v1.2.3
From cd875551b32b895f4049bc94e78067f2cd4783ec Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 21:37:37 +0100
Subject: Diskfs locking GSoC task: Add note about code review
---
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index c9d55bb7..7212ac8f 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -23,6 +23,10 @@ runtime. Or implementing a unit testing framework that explicitely checks
locking in various code paths. (The latter could serve as a template for
implementing unit checks in other parts of the Hurd codebase...)
+(A systematic code review would probably suffice to find the existing locking
+issues; but it wouldn't document the work in terms of actual code produced, and
+thus it's not suitable for a GSoC project...)
+
This task requires experience with debugging locking issues in multithreaded
applications.
--
cgit v1.2.3
From 2730e7e10d485e23185e755f82662b749d8143df Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 21:43:25 +0100
Subject: Diskfs locking GSoC task: Change exercise
The result of the previous exercise probably couldn't be considered a
useful patch -- not suitable for going into mainline at least.
---
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index 7212ac8f..03914078 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -32,4 +32,7 @@ applications.
Possible mentors: ?
-Exercise: Hack libdiskfs to keep count of the number of locks currently held.
+Exercise: If you could actually track down and fix one of the existing locking
+errors before the end of the application process, that would be excellent. This
+might be rather tough though, so probably you need to talk to us about an
+alternative exercise task...
--
cgit v1.2.3
From b6a5ec9e788e4eeed70829cc6d8b0f36eee56e22 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 22:22:00 +0100
Subject: Pthread conversion GSoC task: Mention libfuse problem
---
community/gsoc/project_ideas/pthreads.mdwn | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index def57313..93dbc815 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -22,6 +22,10 @@ pthreads implementation for the Hurd was created in the meantime, it's not
possible to use both cthreads and pthreads in the same program. Consequently,
pthreads can't presently be used in any Hurd servers -- including translators.
+(Thus it's impossible to use the [Hurd
+libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules
+depending on pthreads for example.)
+
Some work already has been done once on converting the Hurd servers and
libraries to use pthreads, but that work hasn't been finished. It is available
as [[GNU_Savannah_task 5487]] and can of course be used to base the new work
--
cgit v1.2.3
From bc00b2387b5c6c10e78331c14b4a0094c4751828 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 22:27:55 +0100
Subject: Pthreads conversion GSoC task: Drop cthreads wrapper option
As the native conversion is mostly done, such a wrapper probably
wouldn't save any work now.
---
community/gsoc/project_ideas/pthreads.mdwn | 7 -------
1 file changed, 7 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 93dbc815..a240e5a9 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -35,13 +35,6 @@ The goal of this project is to have all the Hurd code use pthreads. Should any
limitations in the existing pthreads implementation turn up that hinder this
transition, they will have to be fixed as well.
-One possible option is creating a wrapper that implements the cthreads
-interfaces on top of pthreads, to ease the transition -- but it might very well
-turn out that it's easier to just change all the existing code to use pthreads
-directly. This is up to the student. Such a wrapper has been proposed as
-[[GNU_Savannah_task 7895]] and its implementation would be a useful
-starting-point.
-
This project requires relatively little Hurd-specific knowledge. Experience
with multithreaded programming in general and pthreads in particular is
required, though.
--
cgit v1.2.3
From fd602020974b7edbcc8b43b969c98e68f3afdf39 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 22:51:43 +0100
Subject: Pthreads conversion GSoC task: Merge notes about previous work
Barry's work is available in the savannah task, so no need to mention it
explicitely.
---
community/gsoc/project_ideas/pthreads.mdwn | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index a240e5a9..0195bc25 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -26,10 +26,8 @@ pthreads can't presently be used in any Hurd servers -- including translators.
libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules
depending on pthreads for example.)
-Some work already has been done once on converting the Hurd servers and
-libraries to use pthreads, but that work hasn't been finished. It is available
-as [[GNU_Savannah_task 5487]] and can of course be used to base the new work
-upon.
+Most of the conversion has already been done in previous efforts (see
+[[GNU_Savannah_task 5487]]) -- but the tricky parts are still missing.
The goal of this project is to have all the Hurd code use pthreads. Should any
limitations in the existing pthreads implementation turn up that hinder this
@@ -43,6 +41,3 @@ Possible mentors: Samuel Thibault (youpi)
Exercise: Take some small piece of code using ctreads and convert it to
pthreads.
-
-Note: Barry Defreese already has an almost complete patch: boring parts should
-be mostly done, tricky parts are still missing.
--
cgit v1.2.3
From de482839d2d4776e4ee0a669ef453b1838e23b34 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 11 Mar 2009 23:02:08 +0100
Subject: Pthreads conversion GSoC task: Add Barry as possible mentor
---
community/gsoc/project_ideas/pthreads.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 0195bc25..0ff61cb0 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -37,7 +37,7 @@ This project requires relatively little Hurd-specific knowledge. Experience
with multithreaded programming in general and pthreads in particular is
required, though.
-Possible mentors: Samuel Thibault (youpi)
+Possible mentors: Barry deFreese (bddebian), Samuel Thibault (youpi)
Exercise: Take some small piece of code using ctreads and convert it to
pthreads.
--
cgit v1.2.3
From c9fd8600c0c3eb72d4eb709f2594eb0bf2974e50 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 03:06:30 +0100
Subject: Pthreads conversion GSoC task: Update exercise suggestion
---
community/gsoc/project_ideas/pthreads.mdwn | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 0ff61cb0..aa532a9a 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -39,5 +39,7 @@ required, though.
Possible mentors: Barry deFreese (bddebian), Samuel Thibault (youpi)
-Exercise: Take some small piece of code using ctreads and convert it to
-pthreads.
+Exercise: Try to fix one of the outstanding issues with the work done so far.
+It's not yet complete, and there hasn't been much debugging yet, so it should
+not be too hard to find something needing improvement -- but if you don't see
+anything obvious, feel free to talk to us about an alternative exercise task.
--
cgit v1.2.3
From 8528972b69b105c5e965779ec0a797162a109b57 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 03:22:41 +0100
Subject: I/O tuning GSoC task: Update exercise suggestion
---
community/gsoc/project_ideas/disk_io_performance.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
index 878c9bdd..8d9b3b7c 100644
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -31,5 +31,6 @@ very big performance speedups.
Possible mentors: Samuel Thibault (youpi)
-Exercise: Make some modification in at least one of the components involved in
-disk I/O. (More specific suggestions welcome... :-) )
+Exercise: Look through all the code involved in disk I/O, and try something
+easy to improve. It's quite likely though that you will find nothing obvious --
+in this case, please contact us about a different exercise task.
--
cgit v1.2.3
From 49fbd30e4a54c687530b9a3566d1463e5f638ddc Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 03:52:14 +0100
Subject: mtab GSoC task: fix typos
---
community/gsoc/project_ideas/mtab.mdwn | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 056ed042..99b37655 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -26,10 +26,10 @@ explicitely specified mountpoints, instead of displaying the usual listing.
One possible solution to this would be for the translator startup mechanism to
update the `mtab` on any `mount`/`unmount`, like in traditional systems.
-However, there are same problems with this approach. Most notably: what to do
+However, there are some problems with this approach. Most notably: what to do
with passive translators, i.e., translators that are not presently running, but
set up to be started automatically whenever the node is accessed? Probably
-these should be counted an among the mounted filesystems; but how to handle the
+these should be counted among the mounted filesystems; but how to handle the
`mtab` updates for a translator that is not started yet? Generally, being
centralized and event-based, this is a pretty unelegant, non-hurdish solution.
--
cgit v1.2.3
From 026310e73bb2110db09fe555d5b4d68f5180e7cd Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 04:16:37 +0100
Subject: mtab GSoC task: Changed exercise suggestion
The previous suggestion would not produce a useful patch -- and it was
probably too involved anyways...
---
community/gsoc/project_ideas/mtab.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 99b37655..8e848410 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -69,5 +69,6 @@ understanding of the translator mechanism and Hurd interfaces in general.
Possible mentors: Olaf Buddenhagen (antrik)
-Exercise: Create a simple translator using libnetfs, that only allows creating
-directories and attaching other translators.
+Exercise: Make some improvement to any of the existing Hurd translators.
+Especially those in [hurdextras](http://www.nongnu.org/hurdextras/) are often
+quite rudimentary, and it shouldn't be hard to find something to improve.
--
cgit v1.2.3
From 4202d9098226b6715f8a2f368370773964d4f5b0 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 04:41:01 +0100
Subject: Gnumach cleanup GSoC task: Reworded section on things to do
More explicitely state that the student should look at the code to find
stuff to fix -- mention possible things only as examples.
---
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index c11defe5..280371e5 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -31,9 +31,10 @@ It's rather hard to make modifications -- to make better use of modern hardware
for example, or even to fix bugs. The goal of this project is to improve the
situation.
-The task starts out easy, with fixing compiler warnings. Later it moves on to
-more tricky things: removing dead or unneeded code paths; restructuring code
-for readability and maintainability.
+There are various things you can do here: Fixing compiler warnings; removing
+dead or unneeded code paths; restructuring code for readability and
+maintainability etc. -- a glance at the source code should quickly give you
+some ideas.
This task requires good knowledge of C, and experience with working on a large
existing code base. Previous kernel hacking experience is an advantage, but
--
cgit v1.2.3
From b50522283600f34534d8b9841d41d38c976a94c9 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 04:46:35 +0100
Subject: Gnumach cleanup GSoC task: Reword exercise suggestion
---
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index 280371e5..0fd6e481 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -42,5 +42,5 @@ not really necessary.
Possible mentors: Samuel Thibault (youpi)
-Exercise: Create a few simple patches that fix some of the compiler warnings,
-rework a piece of ugly code etc.
+Exercise: You should have no trouble finding something to improve when looking
+at the gnumach code, or even just at compiler warnings.
--
cgit v1.2.3
From ab5214d5a349a0c5f3644805f87289a99b9b05c5 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 04:48:31 +0100
Subject: xmlfs GSoC task: Mention XQuery
---
community/gsoc/project_ideas/xmlfs.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
index cfdfb4c7..e6d63354 100644
--- a/community/gsoc/project_ideas/xmlfs.mdwn
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -22,7 +22,7 @@ a graphical file manager, or to easily extract data from an XML file in a
script etc.
The exported directory tree should represent the DOM structure of the document,
-or implement XPath, or both, or some combination thereof (perhaps XPath could
+or implement XPath/XQuery, or both, or some combination thereof (perhaps XPath/XQuery could
be implemented as a second translator working on top of the DOM one) --
whatever works well, while sticking to XML standards as much as possible.
--
cgit v1.2.3
From d99e5d27c454f181f7c0db520aace095e22d1b78 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 04:50:34 +0100
Subject: xmlfs GSoC task: Stress requirement for good XML knowledge
---
community/gsoc/project_ideas/xmlfs.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
index e6d63354..89e888b6 100644
--- a/community/gsoc/project_ideas/xmlfs.mdwn
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -42,7 +42,7 @@ task.
The [[existing_partial_(read-only)_xmlfs_implementation|hurd/translator/xmlfs]]
can serve as a starting point.
-This task requires pretty good designing skills. Good knowledge of XML is also
+This task requires pretty good designing skills. Very good knowledge of XML is also
necessary. Learning translator programming will obviously be necessary to
complete the task.
--
cgit v1.2.3
From 473f0f4ef34df8cf577f5c9917d08e0c51bdac3a Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 05:04:09 +0100
Subject: xmlfs GSoC task: Update exercise
Don't insist on the change being related to the existing xmlfs -- the
skills required for doing minor changes on it aren't really any
different from other translators.
---
community/gsoc/project_ideas/xmlfs.mdwn | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
index 89e888b6..e9c8a5b2 100644
--- a/community/gsoc/project_ideas/xmlfs.mdwn
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -48,6 +48,7 @@ complete the task.
Possible mentors: Olaf Buddenhagen (antrik)
-Exercise: Make some modification to the existing xmlfs translator, and write a
-shell script that uses xmlfs to extract some interesting information from an
-.odt document. (More specific suggestions welcome... :-) )
+Exercise: Make some improvement to the existing xmlfs, or some other existing
+Hurd translator. (Especially those in
+[hurdextras](http://www.nongnu.org/hurdextras/) are often quite rudimental --
+it shouldn't be hard to find something to improve...)
--
cgit v1.2.3
From 5f9694b66751b5eb9d094c547cd6665a570d5641 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 06:47:06 +0100
Subject: tmpfs GSoC task: Fix typos
---
community/gsoc/project_ideas/tmpfs.mdwn | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index 7c9cf67b..6303594c 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -32,8 +32,8 @@ sources on one [[microkernel/mach/port]], and gets mixed up with them. Fixing
this is non-trivial, and requires a good understanding of the involved
mechanisms.
-The goal of this project to get a fully working, full featured tmpfs
-implementation. It requires digging into some parts of the Hurd, incuding the
+The goal of this project is to get a fully working, full featured tmpfs
+implementation. It requires digging into some parts of the Hurd, including the
[[pager_interface|hurd/libpager]] and [[hurd/translator]] programming. This
task probably doesn't require any design work, only good debugging skills.
--
cgit v1.2.3
From 8f5fd2b4f7b46f64e9786d1c71033d58cd335028 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 07:08:27 +0100
Subject: tmpfs GSoC task: Update exercise
---
community/gsoc/project_ideas/tmpfs.mdwn | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index 6303594c..a3f474ff 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -39,6 +39,7 @@ task probably doesn't require any design work, only good debugging skills.
Possible mentors: ?
-Exercise: Take a go at one of the existing issues in tmpfs. You may not be able
-to finish this in the limited amount of time, but you should at least be able
-to do a detailed analysis of the problem.
+Exercise: Take a look at tmpfs and try to fix one of the existing issues. Some
+of them are probably not too tricky; or you might discover something else you
+could improve while working on it. If you don't find anything obvious, contact
+us about a different exercise task.
--
cgit v1.2.3
From 7ef4852a9ade5f8b3932c9942170431699fada77 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 07:19:49 +0100
Subject: Lexical .. GSoC task: Drop note on task being easy
While this task certainly doesn't require much code to be written, I
don't think it's actually easy for a newcomer...
---
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index c4591df5..860add33 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -27,7 +27,7 @@ problems probably would be negligable.
The goal of this project is to modify the filename lookup mechanism in the Hurd
to use lexical resolution, and to check that the system is still fully
functional afterwards. This task requires understanding the filename resolution
-mechanism. It's probably a relatively easy task.
+mechanism.
See also [[GNU_Savannah_bug 17133]].
--
cgit v1.2.3
From f7fbc506eaa66c6e17d12b9d2c2618c877937ddc Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 07:51:13 +0100
Subject: secure chroot GSoC task: Fix typo
---
community/gsoc/project_ideas/secure_chroot.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index a47bd5db..f091527a 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -29,7 +29,7 @@ This task is pretty heavy: it requires a very good understanding of file name
lookup and the translator mechanism, as well as of security concerns in general
-- the student must prove that he really understands security implications of
the UNIX namespace approach, and how they are affected by the introduction of
-new mechanisms. (Translators.) More important than the acualy code is the
+new mechanisms. (Translators.) More important than the actual code is the
documentation of what he did: he must be able to defend why he chose a certain
approach, and explain why he believes this approach really secure.
--
cgit v1.2.3
From 3f98ec59e0c6287c50cbe34d5df8e69ffd28d754 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 08:18:17 +0100
Subject: secure chroot GSoC task: Add links to ideas/discussions
---
community/gsoc/project_ideas/secure_chroot.mdwn | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index f091527a..f5c744e2 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -23,6 +23,11 @@ translator mechanism. Some involving a completely different approch to
`chroot` implementation, using a proxy instead of a special system call in the
filesystem servers.
+See
+for some suggestions, as well as the followup discussions on
+
+and .
+
The task is to pick and implement one approach for fixing chroot.
This task is pretty heavy: it requires a very good understanding of file name
--
cgit v1.2.3
From fe3e4c8a01a82a230d4df089eddb643f11879357 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 08:30:39 +0100
Subject: secure chroot GSoC task: Change exercise suggestion
---
community/gsoc/project_ideas/secure_chroot.mdwn | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index f5c744e2..ba47f78d 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -40,5 +40,8 @@ approach, and explain why he believes this approach really secure.
Possible mentors: ?
-Exercise: Make some modification to the chroot mechanism. (More specific
-suggestions welcome :-) )
+Exercise: It's hard to come up with a relevant exercise, as there are so many
+possible solutions... Probably best to make an improvement to one of the
+existing translators -- if possible, something touching name resolution or and
+such, e.g. implementing file_reparent() in a translator that doesn't support it
+yet.
--
cgit v1.2.3
From 1cdb874f29919a3f99ed8286499a84b2d1920789 Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 12 Mar 2009 08:49:36 +0100
Subject: Package manager GSoC task: Change exercise suggestion
The provious exercise was very nice and relevant, but probably too
involved :-(
---
community/gsoc/project_ideas/package_manager.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index 0734cea0..c7a33944 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -46,5 +46,6 @@ The goal of this task is to create these mechanisms.
Possible mentors: Ben Asselstine (bing)
-Exercise: Write a translator that observes a directory tree using
-dir_notify_changes(), and presents a file with a log of changes.
+Exercise: Make some improvement to any of the existing Hurd translators.
+Especially those in [hurdextras](http://www.nongnu.org/hurdextras/) are often
+quite rudimentary, and it shouldn't be hard to find something to improve.
--
cgit v1.2.3
From 89cd5c5f3bf5d909ae4097f0019c37e8e5cc7edf Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Fri, 13 Mar 2009 12:46:00 +0100
Subject: community/gsoc/project_ideas/apt_ftpfs: Initial version from IRC
discussion.
Add missing file.
---
community/gsoc/project_ideas/apt_ftpfs.mdwn | 64 +++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 community/gsoc/project_ideas/apt_ftpfs.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/apt_ftpfs.mdwn b/community/gsoc/project_ideas/apt_ftpfs.mdwn
new file mode 100644
index 00000000..8c862360
--- /dev/null
+++ b/community/gsoc/project_ideas/apt_ftpfs.mdwn
@@ -0,0 +1,64 @@
+[[meta copyright="Copyright © 2009 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 title="Have Debian's apt use ftpfs"]]
+
+\#hurd [[IRC]] channel, 2009-03-13.
+
+ By the way: I had another GSoC idea:
+ (a) make ftpfs / httpfs unsable enough for...
+ (b) have Debian's apt / whetever not use a direct ftp / http
+ connection, but instead use /ftp/ftp.debian.org/whatever etc.
+ (c) Make unionfs unsable enough, so that it can be used
+ together with nfs (or whatever) to sarve as a cache for /ftp/.
+ uhm... you mean all of this as a single GSoC project?
+ indeed I have the intention of turning ftpfs/httpfs into something
+ that can be used by other tools instead of a library
+ but that requires them to grow completely new interfaces, making
+ them suitable for interactive use
+ you are right though that this would be a nice GSoC project... no
+ idea why I never thought of it in this context
+ I think I proposed this idea already some months ago on some
+ mailing list.
+ I don't think it's too much work.
+ Or why do you think?
+ it is considerable work
+ it requires implementing a non-trivial, directory based FS
+ interface
+ (c), OK, but why (a) and (b)?
+ also, I'd probably reimplement them on top of libcurl... no need
+ to maintain our own wheels :-)
+ That for sure, yes. But for starterst, we can just take ftpfs
+ as it is.
+ I think I explained the issues in some past discussion, though I
+ don't remember where it was
+ And just teach apt to open /ftp/... instead of calling whatever
+ function to retrieve a ftp file.
+ you want progress tracking for one
+ you want the client to see redirects
+ (OK, that might not be necessary for apt-get... it would be
+ necessary for other use cases like a web browser, though)
+ you want proper error handlin
+ http://thread.gmane.org/gmane.os.hurd.bugs/16575/focus=16795
+ none of this can be expressed by opening a single virtual file
+ it would require adding a completely new interface, either using
+ custom RPCs, or a directory with several virtual files for various
+ aspects of the interaction
+ (I prefer the latter variant, though I guess some people would
+ argue in favour of the former :-) )
+ anyways, I'll add it to the list
+ OK, I see. Nevertheless, don't you think that a more simple
+ implementation of my idea (also leaving out (c) for now) wouldn't be a
+ suitable GSoC project?
+ apt-get is probably quite a good example use case for this, so you
+ are probably right that it would be useful to develop this together
+ (I'll leave out (c) though -- I would consider it a distinct
+ project. we can place a followup task once (a)+(b) is done :-) )
+ Yes, sure.
--
cgit v1.2.3
From a9e1a14843e8230a424d6d8093be3cccbc147fce Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 16 Mar 2009 15:43:03 +0100
Subject: NFS GSoC task: Proper exercise suggestion
---
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index 860add33..55d00337 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -33,5 +33,8 @@ See also [[GNU_Savannah_bug 17133]].
Possible mentors: ?
-Exercise: Make some modification to the name lookup mechanism. (More specific
-suggestions welcome... :-) )
+Exercise: This project requires changes to the name lookup mechanism in the
+Hurd-related glibc parts, as well as the Hurd servers. Thus, the exercise task
+should involve hacking glibc or Hurd servers, or even both. Fixing the bug in
+the client-side nfs translator (/hurd/nfs) that makes "rmdir foo/" fail while
+"rmdir foo" works, seems a good candidate.
--
cgit v1.2.3
From a0891d42f7d5ba585e787fbf2a8a0a720ee4ff15 Mon Sep 17 00:00:00 2001
From: antrik
Date: Mon, 16 Mar 2009 16:42:23 +0100
Subject: Sound support GSoC task: Rework exercise ideas
Make a generic remark on what the exercise should involve.
Only briefly mention porting drivers as a possible exercise task; add an
alternative suggestion (random device).
---
community/gsoc/project_ideas/sound.mdwn | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
index e22a7e19..39c4241a 100644
--- a/community/gsoc/project_ideas/sound.mdwn
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -33,8 +33,10 @@ in user-space is feasible.
Possible mentors: ?
-Exercise: Take a newer driver for a device in one of the subsystems we already
-implement (disk or network) from a newer Linux version, or some other operating
-system, and try to port it so that it runs in the existing driver framework.
-The port needn't be elegant or complete; but it would be nice if you could get
-it to work at least partially...
+Exercise: This project requires kernel (driver framework) hacking as well as
+some Hurd server hacking; so the exercise should involve either of these, or
+even both. You could for example port some newer driver to run in the existing
+framework (see the [[device_driver|driver_glue_code]] project descrption), or
+try to make some fix(es) to the [unfinished random device
+implementation](http://savannah.gnu.org/patch/?6088) created by Michael
+Casadevall.
--
cgit v1.2.3
From 17bf94b83943d013574855b50cbf452e52c4ef56 Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 18 Mar 2009 18:27:26 +0100
Subject: Properly write up download backends GSoC task
Replace the placeholder with a proper task description, and uncomment it
in the main list.
---
community/gsoc/project_ideas.mdwn | 2 -
community/gsoc/project_ideas/apt_ftpfs.mdwn | 87 ++++++++++++-----------------
2 files changed, 35 insertions(+), 54 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 43f966ad..503dc417 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -94,6 +94,4 @@ will assist you as well as we can.
[[inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
-
diff --git a/community/gsoc/project_ideas/apt_ftpfs.mdwn b/community/gsoc/project_ideas/apt_ftpfs.mdwn
index 8c862360..aa4823de 100644
--- a/community/gsoc/project_ideas/apt_ftpfs.mdwn
+++ b/community/gsoc/project_ideas/apt_ftpfs.mdwn
@@ -8,57 +8,40 @@ 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 title="Have Debian's apt use ftpfs"]]
+[[meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
-\#hurd [[IRC]] channel, 2009-03-13.
+The Hurd design faciliates splitting up large applications into independent,
+generic components, which can be easily combined in different contexts, by
+moving common functionality into separate Hurd servers (translators),
+accessible trough filesystem interfaces and/or specialized RPC interfaces.
- By the way: I had another GSoC idea:
- (a) make ftpfs / httpfs unsable enough for...
- (b) have Debian's apt / whetever not use a direct ftp / http
- connection, but instead use /ftp/ftp.debian.org/whatever etc.
- (c) Make unionfs unsable enough, so that it can be used
- together with nfs (or whatever) to sarve as a cache for /ftp/.
- uhm... you mean all of this as a single GSoC project?
- indeed I have the intention of turning ftpfs/httpfs into something
- that can be used by other tools instead of a library
- but that requires them to grow completely new interfaces, making
- them suitable for interactive use
- you are right though that this would be a nice GSoC project... no
- idea why I never thought of it in this context
- I think I proposed this idea already some months ago on some
- mailing list.
- I don't think it's too much work.
- Or why do you think?
- it is considerable work
- it requires implementing a non-trivial, directory based FS
- interface
- (c), OK, but why (a) and (b)?
- also, I'd probably reimplement them on top of libcurl... no need
- to maintain our own wheels :-)
- That for sure, yes. But for starterst, we can just take ftpfs
- as it is.
- I think I explained the issues in some past discussion, though I
- don't remember where it was
- And just teach apt to open /ftp/... instead of calling whatever
- function to retrieve a ftp file.
- you want progress tracking for one
- you want the client to see redirects
- (OK, that might not be necessary for apt-get... it would be
- necessary for other use cases like a web browser, though)
- you want proper error handlin
- http://thread.gmane.org/gmane.os.hurd.bugs/16575/focus=16795
- none of this can be expressed by opening a single virtual file
- it would require adding a completely new interface, either using
- custom RPCs, or a directory with several virtual files for various
- aspects of the interaction
- (I prefer the latter variant, though I guess some people would
- argue in favour of the former :-) )
- anyways, I'll add it to the list
- OK, I see. Nevertheless, don't you think that a more simple
- implementation of my idea (also leaving out (c) for now) wouldn't be a
- suitable GSoC project?
- apt-get is probably quite a good example use case for this, so you
- are probably right that it would be useful to develop this together
- (I'll leave out (c) though -- I would consider it a distinct
- project. we can place a followup task once (a)+(b) is done :-) )
- Yes, sure.
+Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for
+this kind of modularization: a program could simply use the download
+functionality by accessing FTP, HTTP etc. translators.
+
+There is already an ftpfs traslator in the Hurd tree, as well as a [httpfs
+translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however,
+these are only suitable for very simple use cases: they just provide the actual
+file contents downloaded from the URL, but no additional status information
+that are necessary for interactive use. (Progress indication, error codes, HTTP
+redirects etc.)
+
+A new interface providing all this additional information (either as an
+extension to the existing translators, or as distinct translators) is required
+to make such translators usable as backends for programs like apt-get for
+example.
+
+The goal of this project is to design a suitable interface, implement it for at
+least one download protocol, and adapt apt-get (or some other program) to use
+this as a backend.
+
+This task requires some design skills and some knowlegde of internet protocols,
+to create a suitable interface. Translator programming knowledge will have to
+be obtained while implementing it.
+
+It is not an easy task, but it shouldn't pose any really hard problems either.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Make some improvement to one of the existing download translators --
+httpfs in particular is known to be buggy.
--
cgit v1.2.3
From c4637ade8df5b54c90a83daef71e773f85f1697c Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 18 Mar 2009 19:21:46 +0100
Subject: Download backends GSoC task: More appropriate file name
---
community/gsoc/project_ideas.mdwn | 2 +-
community/gsoc/project_ideas/apt_ftpfs.mdwn | 47 ----------------------
.../gsoc/project_ideas/download_backends.mdwn | 47 ++++++++++++++++++++++
3 files changed, 48 insertions(+), 48 deletions(-)
delete mode 100644 community/gsoc/project_ideas/apt_ftpfs.mdwn
create mode 100644 community/gsoc/project_ideas/download_backends.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 503dc417..803a5a05 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -94,4 +94,4 @@ will assist you as well as we can.
[[inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/apt_ftpfs" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/apt_ftpfs.mdwn b/community/gsoc/project_ideas/apt_ftpfs.mdwn
deleted file mode 100644
index aa4823de..00000000
--- a/community/gsoc/project_ideas/apt_ftpfs.mdwn
+++ /dev/null
@@ -1,47 +0,0 @@
-[[meta copyright="Copyright © 2009 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 title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
-
-The Hurd design faciliates splitting up large applications into independent,
-generic components, which can be easily combined in different contexts, by
-moving common functionality into separate Hurd servers (translators),
-accessible trough filesystem interfaces and/or specialized RPC interfaces.
-
-Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for
-this kind of modularization: a program could simply use the download
-functionality by accessing FTP, HTTP etc. translators.
-
-There is already an ftpfs traslator in the Hurd tree, as well as a [httpfs
-translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however,
-these are only suitable for very simple use cases: they just provide the actual
-file contents downloaded from the URL, but no additional status information
-that are necessary for interactive use. (Progress indication, error codes, HTTP
-redirects etc.)
-
-A new interface providing all this additional information (either as an
-extension to the existing translators, or as distinct translators) is required
-to make such translators usable as backends for programs like apt-get for
-example.
-
-The goal of this project is to design a suitable interface, implement it for at
-least one download protocol, and adapt apt-get (or some other program) to use
-this as a backend.
-
-This task requires some design skills and some knowlegde of internet protocols,
-to create a suitable interface. Translator programming knowledge will have to
-be obtained while implementing it.
-
-It is not an easy task, but it shouldn't pose any really hard problems either.
-
-Possible mentors: Olaf Buddenhagen (antrik)
-
-Exercise: Make some improvement to one of the existing download translators --
-httpfs in particular is known to be buggy.
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn
new file mode 100644
index 00000000..aa4823de
--- /dev/null
+++ b/community/gsoc/project_ideas/download_backends.mdwn
@@ -0,0 +1,47 @@
+[[meta copyright="Copyright © 2009 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 title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
+
+The Hurd design faciliates splitting up large applications into independent,
+generic components, which can be easily combined in different contexts, by
+moving common functionality into separate Hurd servers (translators),
+accessible trough filesystem interfaces and/or specialized RPC interfaces.
+
+Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for
+this kind of modularization: a program could simply use the download
+functionality by accessing FTP, HTTP etc. translators.
+
+There is already an ftpfs traslator in the Hurd tree, as well as a [httpfs
+translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however,
+these are only suitable for very simple use cases: they just provide the actual
+file contents downloaded from the URL, but no additional status information
+that are necessary for interactive use. (Progress indication, error codes, HTTP
+redirects etc.)
+
+A new interface providing all this additional information (either as an
+extension to the existing translators, or as distinct translators) is required
+to make such translators usable as backends for programs like apt-get for
+example.
+
+The goal of this project is to design a suitable interface, implement it for at
+least one download protocol, and adapt apt-get (or some other program) to use
+this as a backend.
+
+This task requires some design skills and some knowlegde of internet protocols,
+to create a suitable interface. Translator programming knowledge will have to
+be obtained while implementing it.
+
+It is not an easy task, but it shouldn't pose any really hard problems either.
+
+Possible mentors: Olaf Buddenhagen (antrik)
+
+Exercise: Make some improvement to one of the existing download translators --
+httpfs in particular is known to be buggy.
--
cgit v1.2.3
From 28b2ecb356af397dc9d7f44db64b64ad72f5c4fa Mon Sep 17 00:00:00 2001
From: antrik
Date: Thu, 19 Mar 2009 17:13:27 +0100
Subject: New GSoC task: Porting libgtop
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/libgtop.mdwn | 34 +++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 community/gsoc/project_ideas/libgtop.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 803a5a05..7b8f9262 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -95,3 +95,4 @@ will assist you as well as we can.
[[inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
new file mode 100644
index 00000000..a8a469a2
--- /dev/null
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -0,0 +1,34 @@
+[[meta copyright="Copyright © 2009 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 title="Porting libgtop"]]
+
+libgtop is a library used by many applications (especially GNOME applications)
+to abstract the system-specific methods for obtaining information about the
+current state of the system -- processes running, system load etc.
+
+A [[Linux-compatible_procfs|madhusudancs]] implementation has been created
+during GSoC 2008, and should cover a large part of the functionality of
+libgtop. However, not all necessary information is exported via /proc (even on
+Linux); there are some bits still missing in the Hurd procfs implementation;
+and there are a couple of bugs that need to be fixed to make it fully usable.
+
+The goal of this project is a fully functional libgtop in Debian GNU/Hurd. Some
+application(s) using it also need to be ported, e.g. gnome-system-monitor.
+
+Some bits of this work are easy, others need some digging into Hurd internals.
+This task doesn't require any specific previous knowlegde (besides of general
+C/UNIX programming skills of course); but during the course of the project,
+some knowlegde about Hurd internals will have to be obtained, along with a bit
+of Debian stuff.
+
+Possible mentors:
+
+Exercise: Fix one of the shortcomings in the existing procfs implementation.
--
cgit v1.2.3
From 6a3ca0d8d25125aee703f288a23798a31847dcdc Mon Sep 17 00:00:00 2001
From: antrik
Date: Sat, 21 Mar 2009 02:00:35 +0100
Subject: New GSoC task: Fix PATH_MAX issues
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/maxpath.mdwn | 43 +++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
create mode 100644 community/gsoc/project_ideas/maxpath.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 7b8f9262..748f8855 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -96,3 +96,4 @@ will assist you as well as we can.
[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
new file mode 100644
index 00000000..73b4fa46
--- /dev/null
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -0,0 +1,43 @@
+[[meta copyright="Copyright © 2009 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 title="Fixing Programs Using PATH_MAX et al Unconditionally"]]
+
+POSIX describes some constants (or rather macros) like PATH_MAX/MAXPATHLEN and
+similar, which may be defined by the system to indicate certain limits. Many
+people overlook the *may* though: Systems only should define them if they
+actually have such fixed limits. The Hurd, following the GNU Coding Standards,
+tries to aviod this kind of arbitrary limits, and consequently doesn't define
+the macros.
+
+Many programs however just assume their presence, and use them unconditionally.
+This is simply sloppy coding: not only does it violate POSIX and fails on
+systems not defining the macros, but in fact most common use cases of these
+macros are simply wrong! (See
+ for some
+hints as to why this is so.)
+
+There are a few hundred packages in Debian GNU/Hurd failing to build because of
+this -- simply grep for the offending macros in the
+[list_of_build_failures](http://unstable.buildd.net/buildd/hurd-i386_Failed.html).
+
+Fixing these issues usually boils down to replacing `char foo[PATH_MAX]` by
+`char *foo`, and using dynamic memory allocation. Sometimes this is tricky, but
+more often not very hard. With a bit of practice, it should be easily possible
+to fix several programs per day.
+
+The goal of this project is to fix the PATH_MAX and related problems in a
+significant number of packages, and make the fixes ready for inclusion in
+Debian and (where possible) upstream. No Hurd-specific knowledge is needed, nor
+any other special knowledge aside from general C programming skills.
+
+Possible mentors:
+
+Exercise: Fix the PATH_MAX issues in some Debian package.
--
cgit v1.2.3
From 467257e37d049564f47c7f54d92c1fbf5582b1ae Mon Sep 17 00:00:00 2001
From: antrik
Date: Sat, 21 Mar 2009 23:19:19 +0100
Subject: New GSoC task: Port GNAT
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/gnat.mdwn | 24 ++++++++++++++++++++++++
2 files changed, 25 insertions(+)
create mode 100644 community/gsoc/project_ideas/gnat.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 6552719b..c11c925d 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -99,3 +99,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
new file mode 100644
index 00000000..f91a5e61
--- /dev/null
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -0,0 +1,24 @@
+[[meta copyright="Copyright © 2009 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 title="Porting GNAT"]]
+
+The GNU Ada Translator (GNAT) isn't available for the Hurd so far. There are
+also a number of other Debian packages depending on GNAT, and thus not
+buildable on the Hurd.
+
+The goal of this project is getting GNAT fully working in Debian GNU/Hurd. It
+requires implementing some explicitely system-specific stuff in GNAT, and maybe
+fixing a few other problems. Good knowledge of Ada is a must; some Hurd
+knowledge will have to be aquired while working on the project.
+
+Possible mentors:
+
+Exercise: Fix one of the problems preventing GNAT from working on the Hurd.
--
cgit v1.2.3
From c8f179173da09998cb37034ee91b09039582079b Mon Sep 17 00:00:00 2001
From: antrik
Date: Sun, 22 Mar 2009 20:40:30 +0100
Subject: New GSoC task: Dummy hardware access libraries
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/hardware_libs.mdwn | 41 +++++++++++++++++++++++++
2 files changed, 42 insertions(+)
create mode 100644 community/gsoc/project_ideas/hardware_libs.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index c11c925d..a24bbeac 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -100,3 +100,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn
new file mode 100644
index 00000000..e3680378
--- /dev/null
+++ b/community/gsoc/project_ideas/hardware_libs.mdwn
@@ -0,0 +1,41 @@
+[[meta copyright="Copyright © 2009 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 title="Stub Implementations of Hardware Specific Libraries"]]
+
+Many programs use special libraries to access certain hardware devices, like
+libusb, libbluetooth, libraw1394 etc.
+
+The Hurd presently doesn't support these devices. Nevertheless, all of these
+programs could still be built -- and most of them would indeed be useful --
+without actual support of these hardware devices. However, as the libraries are
+presently not available for Hurd, the programs can't be easily built in Debian
+GNU/Hurd due to missing dependencies.
+
+This could be avoided by providing dummy libraries, which the programs could
+link against, but which wouldn't actually do any hardware access: instead, they
+would simply return appropriate error codes, reporting that no devices were
+found.
+
+There are two possible approaches for providing such stub libraries: Either
+implement replacement libraries providing the same API as the real ones; or
+implement dummy backends for the Hurd in the proper libraries. Which approach
+to prefer probably depends on the structure of the various libraries.
+
+The goal of this project is to create working dummy libraries/backends for the
+mentioned devices, and get them into Debian GNU/Hurd. It shouldn't require any
+special previous knowledge, though some experience with build systems would be
+helpful. Finishing this task will probably require learning a bit about the
+hardware devices in question, and about Debian packaging.
+
+Possible mentors:
+
+Exercise: Get one of the libraries to compile on Debian GNU/Hurd. It doesn't
+need to report reasonable error codes yet -- just make it build at all for now.
--
cgit v1.2.3
From 8a25d71fa5416144555ad3f6fd772cdd31c4e52c Mon Sep 17 00:00:00 2001
From: antrik
Date: Sun, 22 Mar 2009 20:59:46 +0100
Subject: New GSoC task: Audio grabbing
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/cdparanoia.mdwn | 30 ++++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
create mode 100644 community/gsoc/project_ideas/cdparanoia.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index a24bbeac..efd6d8f0 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -101,3 +101,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn
new file mode 100644
index 00000000..5215d541
--- /dev/null
+++ b/community/gsoc/project_ideas/cdparanoia.mdwn
@@ -0,0 +1,30 @@
+[[meta copyright="Copyright © 2009 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 title="Implement CD Audio Grabbing"]]
+
+The Hurd presently has only support for CD-ROMs, but not for audio extraction
+("grabbing"). As a result, cdparanoia (and other extraction
+libraries/utilities) are not available; and many other packages depending on
+these can't be built in Debian GNU/Hurd either.
+
+Adding support for audio extraction shouldn't be too hard. It requires
+implementing a number of additional ioctl()s, generating the appropriate ATAPI
+commands.
+
+The goal of this task is fully working cdparanoia in Debian GNU/Hurd. It will
+require digging a bit into Hurd internals and ATAPI commands, but should be
+quite doable without any previous knowledge about either.
+
+Possible mentors:
+
+Exercise: Look at the implementation of the existing ioctl()s, and try to find
+something that could be easily added/improved. If you don't see anything
+obvious, talk to us about a different exercise task.
--
cgit v1.2.3
From fb69e964da6556a59115935c1fc9a9e20028dd38 Mon Sep 17 00:00:00 2001
From: antrik
Date: Sun, 22 Mar 2009 21:12:17 +0100
Subject: New GSoC task: Improving Perl support
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/perl.mdwn | 30 ++++++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
create mode 100644 community/gsoc/project_ideas/perl.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index efd6d8f0..b318b377 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -102,3 +102,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn
new file mode 100644
index 00000000..a22540a8
--- /dev/null
+++ b/community/gsoc/project_ideas/perl.mdwn
@@ -0,0 +1,30 @@
+[[meta copyright="Copyright © 2009 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 title="Improving Perl Support"]]
+
+Perl is available on the Hurd, but there are quite a lot of test suite
+failures. These could be caused by problems in the system-specific
+implementation bits of Perl, and/or shortcomings in the actual system
+functionality which Perl depends on.
+
+The goal of this project is to fix all of these problems if possible, or at
+least some of them. Some issues might require digging quite deep into Hurd
+internals, while others are probably easy to fix.
+
+Note that while some Perl knowledge is probably necessary to understand what
+the test suite failures are about, the actual work necessary to fix these
+issues is mostly C programming -- in the implementation of Perl and/or the
+Hurd.
+
+Possible mentors:
+
+Exercise: Make some improvement to Perl support on the Hurd, e.g. fixing one of
+the known test suite failures.
--
cgit v1.2.3
From 82e7410309f214b7b31a5d98f78c30461c9ed903 Mon Sep 17 00:00:00 2001
From: antrik
Date: Tue, 24 Mar 2009 18:57:47 +0100
Subject: New GSoC task: libcap
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/libcap.mdwn | 37 ++++++++++++++++++++++++++++++++
2 files changed, 38 insertions(+)
create mode 100644 community/gsoc/project_ideas/libcap.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index b318b377..024deca4 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -103,3 +103,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
new file mode 100644
index 00000000..b65ee13c
--- /dev/null
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -0,0 +1,37 @@
+[[meta copyright="Copyright © 2009 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 title="Implementing libcap"]]
+
+libcap is a library providing the API to access POSIX capabilities. These allow
+giving various kinds of specific privileges to individual users, without giving
+them full root permissions.
+
+Although the Hurd design should faciliate implementing such features in a quite
+natural fashion, there is no support for POSIX capabilities yet. As a
+consequence, libcap is not available on the Hurd, and thus various packages
+using it can not be easily built in Debian GNU/Hurd.
+
+The first goal of this project is implementing a dummy libcap, which doesn't
+actually do anything useful yet, but returns appropriate status messages, so
+program using the library can be built and run on Debian GNU/Hurd.
+
+Having this, actual support for at least some of the capabilities should be
+implemented, as time permits. This will require some digging into Hurd
+internals.
+
+Some knowledge of POSIX capabilities will need to be obtained, and for the
+latter part also some knowledge about the Hurd architecture. This project is
+probably doable without previous experience with either, though.
+
+Possible mentors:
+
+Exercise: Make libcap compile on Debian GNU/Hurd. It doesn't need to actually
+do anything yet -- just make it build at all for now.
--
cgit v1.2.3
From aeffa22189b1726348f1eb11013b9252fca0d22f Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 25 Mar 2009 05:24:15 +0100
Subject: New GSoC task: xattr support
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/xattr.mdwn | 47 +++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+)
create mode 100644 community/gsoc/project_ideas/xattr.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 024deca4..78cc7ad3 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -104,3 +104,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
[[inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
+[[inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
new file mode 100644
index 00000000..3499fb5f
--- /dev/null
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -0,0 +1,47 @@
+[[meta copyright="Copyright © 2009 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 title="Implement xattr Support"]]
+
+Extended attributes (xattr) are a standardized, generic method for storing
+additional metadata along with a file (inode). Most modern UNIX filesystems
+support xattrs.
+
+In general, xattrs should be used sparingly, as they are less transparent than
+data stored as explicit file contents; however, there are some cases where they
+really make sense. The Hurd's variant of ext2 presently uses some additional
+fields in the inode to store Hurd-specific metadata: most notable passive
+translator settings. As these fields are Hurd-specific, they can't be accessed
+by the standard methods from Linux for example, so it's not possible to fully
+work with a Hurd filesystem on GNU/Linux (copy, backup etc.); and also, even
+when on Hurd, only tools that explicitely support the Hurd-specific information
+can handle them.
+
+Using extended attributes instead of custom fields for the Hurd-specific
+information would be very helpful.
+
+The most important goal of this project thus is to make the Hurd ext2fs server
+able to store and read the Hurd-specific information with extended attributes
+instead of the custom fields, so it become accessible from other systems. Being
+able to access the information through the standard xattr API instead of
+Hurd-specific calls is also desirable. (And in turn requires implementing the
+generic xattr API first, which can be useful for other purposes as well.)
+
+Completing this project will require digging into some parts of the Hurd, but
+it should be quite doable without previous Hurd experience. Some experience
+with xattrs might help a bit, but shouldn't be really necessary either.
+
+Some previous work on xattr support is available in [[GNU_Savannah_patch
+5126]], and might serve as a starting point.
+
+Possible mentors:
+
+Exercise: Implement support for different inode sizes (other than 128 bytes) in
+Hurd's ext2fs.
--
cgit v1.2.3
From 4c9332756681d2db0488832b9aa75beddbd4826b Mon Sep 17 00:00:00 2001
From: antrik
Date: Fri, 27 Mar 2009 05:28:07 +0100
Subject: Drop unsuitable exercise suggestions from some GSoC ideas
These exercises wouldn't result in a useful patch, and thus are not
appropriate in view of our patch requirement...
---
community/gsoc/project_ideas/language_bindings.mdwn | 9 ---------
community/gsoc/project_ideas/unionfs_boot.mdwn | 3 ---
community/gsoc/project_ideas/virtualization.mdwn | 3 ---
3 files changed, 15 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 228a1046..6dc83463 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -65,12 +65,3 @@ bindings](http://www.nongnu.org/hurdextras/#pith), which might serve as a
reference if you want to work on Perl.
Possible mentors: Anatoly A. Kazantsev (jim-crow) for Python
-
-Exercise: Write some simple program(s) using Hurd-specific interfaces in the
-language you intend to work on. For a start, you could try printing the system
-uptime. A more advanced task is writing a simple variant of the hello
-translator (you can use the existing C imlementation as reference),
-implementing only open() and read() calls. Don't only write an implementations
-using the existing C libraries (libps, libtrivfs), but also try to work with
-the MiG-generated stubs directly. If you are ambitious, you could even try to
-write your own stubs...
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index 77fc357f..21cf168f 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -43,6 +43,3 @@ boot process and other parts of the design. It requires some design skills
also to come up with a working mechanism.
Possible mentors: ?
-
-Exercise: Try to write a dummy server that is started instead of ext2fs on
-system boot, and starts the actual ext2fs in turn.
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index 4f2d260e..bfeb72f2 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -75,9 +75,6 @@ solutions would be very helpful.
Possible mentors: Olaf Buddenhagen (antrik)
-Exercise: Make some modification to the "boot" programm used to start subhurds.
-(More specific suggestions welcome... :-) )
-
*Status*: Zheng da has has implemented [[network_virtualization|zhengda]] (an
important prerequisite for unprivileged subhurds) for GSoC 2008, along with
various other interesting bits, including a mechanism to override socket
--
cgit v1.2.3
From 13ff89f5e4f6964cadee19083509725794cf5228 Mon Sep 17 00:00:00 2001
From: antrik
Date: Fri, 27 Mar 2009 20:01:09 +0100
Subject: Virtualization GSoC task: Drop "Status" section
It is not relevant for this year's GSoC...
---
community/gsoc/project_ideas/virtualization.mdwn | 7 -------
1 file changed, 7 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index bfeb72f2..711d3b4c 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -74,10 +74,3 @@ Hurd architecture and spirit. Previous experience with other virtualization
solutions would be very helpful.
Possible mentors: Olaf Buddenhagen (antrik)
-
-*Status*: Zheng da has has implemented [[network_virtualization|zhengda]] (an
-important prerequisite for unprivileged subhurds) for GSoC 2008, along with
-various other interesting bits, including a mechanism to override socket
-servers; a proc proxy that allows running processes/subenvironments with a
-pseudo device master port; and a mechanism to pass arbitrary virtual devices to
-a subhurd. He is still working on running subhurds by normal users.
--
cgit v1.2.3
From 065f9e6711a30f93adf244fe3e4ee0f90b270395 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Fri, 27 Mar 2009 23:29:10 +0100
Subject: typos, add myself to possible mentors
---
community/gsoc/project_ideas/cdparanoia.mdwn | 2 +-
community/gsoc/project_ideas/download_backends.mdwn | 4 ++--
community/gsoc/project_ideas/gnat.mdwn | 2 +-
community/gsoc/project_ideas/hardware_libs.mdwn | 8 ++++----
community/gsoc/project_ideas/libcap.mdwn | 2 +-
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 2 +-
community/gsoc/project_ideas/libgtop.mdwn | 2 +-
community/gsoc/project_ideas/maxpath.mdwn | 4 ++--
community/gsoc/project_ideas/perl.mdwn | 2 +-
community/gsoc/project_ideas/sound.mdwn | 2 +-
community/gsoc/project_ideas/xattr.mdwn | 2 +-
community/gsoc/xorg_ideas.mdwn | 2 +-
12 files changed, 17 insertions(+), 17 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn
index 5215d541..117dc56e 100644
--- a/community/gsoc/project_ideas/cdparanoia.mdwn
+++ b/community/gsoc/project_ideas/cdparanoia.mdwn
@@ -23,7 +23,7 @@ The goal of this task is fully working cdparanoia in Debian GNU/Hurd. It will
require digging a bit into Hurd internals and ATAPI commands, but should be
quite doable without any previous knowledge about either.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Look at the implementation of the existing ioctl()s, and try to find
something that could be easily added/improved. If you don't see anything
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn
index aa4823de..a6e090eb 100644
--- a/community/gsoc/project_ideas/download_backends.mdwn
+++ b/community/gsoc/project_ideas/download_backends.mdwn
@@ -10,7 +10,7 @@ is included in the section entitled
[[meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
-The Hurd design faciliates splitting up large applications into independent,
+The Hurd design facilitates splitting up large applications into independent,
generic components, which can be easily combined in different contexts, by
moving common functionality into separate Hurd servers (translators),
accessible trough filesystem interfaces and/or specialized RPC interfaces.
@@ -19,7 +19,7 @@ Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for
this kind of modularization: a program could simply use the download
functionality by accessing FTP, HTTP etc. translators.
-There is already an ftpfs traslator in the Hurd tree, as well as a [httpfs
+There is already an ftpfs traslator in the Hurd tree, as well as an [httpfs
translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however,
these are only suitable for very simple use cases: they just provide the actual
file contents downloaded from the URL, but no additional status information
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
index f91a5e61..135c19aa 100644
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -19,6 +19,6 @@ requires implementing some explicitely system-specific stuff in GNAT, and maybe
fixing a few other problems. Good knowledge of Ada is a must; some Hurd
knowledge will have to be aquired while working on the project.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Fix one of the problems preventing GNAT from working on the Hurd.
diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn
index e3680378..91246e3b 100644
--- a/community/gsoc/project_ideas/hardware_libs.mdwn
+++ b/community/gsoc/project_ideas/hardware_libs.mdwn
@@ -15,9 +15,9 @@ libusb, libbluetooth, libraw1394 etc.
The Hurd presently doesn't support these devices. Nevertheless, all of these
programs could still be built -- and most of them would indeed be useful --
-without actual support of these hardware devices. However, as the libraries are
-presently not available for Hurd, the programs can't be easily built in Debian
-GNU/Hurd due to missing dependencies.
+without actual support of these hardware devices, kdebase for instance. However,
+as the libraries are presently not available for Hurd, the programs can't be
+easily built in Debian GNU/Hurd due to missing dependencies.
This could be avoided by providing dummy libraries, which the programs could
link against, but which wouldn't actually do any hardware access: instead, they
@@ -35,7 +35,7 @@ special previous knowledge, though some experience with build systems would be
helpful. Finishing this task will probably require learning a bit about the
hardware devices in question, and about Debian packaging.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Get one of the libraries to compile on Debian GNU/Hurd. It doesn't
need to report reasonable error codes yet -- just make it build at all for now.
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index b65ee13c..9e722815 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -31,7 +31,7 @@ Some knowledge of POSIX capabilities will need to be obtained, and for the
latter part also some knowledge about the Hurd architecture. This project is
probably doable without previous experience with either, though.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Make libcap compile on Debian GNU/Hurd. It doesn't need to actually
do anything yet -- just make it build at all for now.
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index 03914078..434e39ba 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -30,7 +30,7 @@ thus it's not suitable for a GSoC project...)
This task requires experience with debugging locking issues in multithreaded
applications.
-Possible mentors: ?
+Possible mentors: Samuel Thibault (youpi)
Exercise: If you could actually track down and fix one of the existing locking
errors before the end of the application process, that would be excellent. This
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index a8a469a2..4f848820 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -29,6 +29,6 @@ C/UNIX programming skills of course); but during the course of the project,
some knowlegde about Hurd internals will have to be obtained, along with a bit
of Debian stuff.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Fix one of the shortcomings in the existing procfs implementation.
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index 73b4fa46..797cc0dc 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -14,7 +14,7 @@ POSIX describes some constants (or rather macros) like PATH_MAX/MAXPATHLEN and
similar, which may be defined by the system to indicate certain limits. Many
people overlook the *may* though: Systems only should define them if they
actually have such fixed limits. The Hurd, following the GNU Coding Standards,
-tries to aviod this kind of arbitrary limits, and consequently doesn't define
+tries to avoid this kind of arbitrary limits, and consequently doesn't define
the macros.
Many programs however just assume their presence, and use them unconditionally.
@@ -38,6 +38,6 @@ significant number of packages, and make the fixes ready for inclusion in
Debian and (where possible) upstream. No Hurd-specific knowledge is needed, nor
any other special knowledge aside from general C programming skills.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Fix the PATH_MAX issues in some Debian package.
diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn
index a22540a8..803f710e 100644
--- a/community/gsoc/project_ideas/perl.mdwn
+++ b/community/gsoc/project_ideas/perl.mdwn
@@ -24,7 +24,7 @@ the test suite failures are about, the actual work necessary to fix these
issues is mostly C programming -- in the implementation of Perl and/or the
Hurd.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Make some improvement to Perl support on the Hurd, e.g. fixing one of
the known test suite failures.
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
index 39c4241a..26bb91cb 100644
--- a/community/gsoc/project_ideas/sound.mdwn
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -31,7 +31,7 @@ to come up with an appropriate design.
Another option would be to evaluate whether a driver that is completely running
in user-space is feasible.
-Possible mentors: ?
+Possible mentors: Samuel Thibault (youpi)
Exercise: This project requires kernel (driver framework) hacking as well as
some Hurd server hacking; so the exercise should involve either of these, or
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
index 3499fb5f..ab16dfbb 100644
--- a/community/gsoc/project_ideas/xattr.mdwn
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -41,7 +41,7 @@ with xattrs might help a bit, but shouldn't be really necessary either.
Some previous work on xattr support is available in [[GNU_Savannah_patch
5126]], and might serve as a starting point.
-Possible mentors:
+Possible mentors: Samuel Thibault (youpi)
Exercise: Implement support for different inode sizes (other than 128 bytes) in
Hurd's ext2fs.
diff --git a/community/gsoc/xorg_ideas.mdwn b/community/gsoc/xorg_ideas.mdwn
index 0899d20c..153b8bf6 100644
--- a/community/gsoc/xorg_ideas.mdwn
+++ b/community/gsoc/xorg_ideas.mdwn
@@ -52,7 +52,7 @@ anything useful, but compiles fine on the Hurd.
While XFree86 was first ported to the Hurd more than a decade ago, and there
are updates now and then to make newer versions of Xorg run as well (see also
-the libpciaccess task), the support is quite rudimentary: in particualar, there
+the libpciaccess task), the support is quite rudimentary: in particular, there
is no support for switching back to the text console while X is running.
Implementing this requires creating an interface between the X server and the
--
cgit v1.2.3
From 78f34606d2a04df4d484040611318f259ce26a03 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Sat, 28 Mar 2009 14:43:47 +0100
Subject: libiw-dev too
---
community/gsoc/project_ideas/hardware_libs.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn
index 91246e3b..88b94caa 100644
--- a/community/gsoc/project_ideas/hardware_libs.mdwn
+++ b/community/gsoc/project_ideas/hardware_libs.mdwn
@@ -10,8 +10,9 @@ is included in the section entitled
[[meta title="Stub Implementations of Hardware Specific Libraries"]]
-Many programs use special libraries to access certain hardware devices, like
-libusb, libbluetooth, libraw1394 etc.
+Many programs use special libraries to access certain hardware devices,
+like libusb, libbluetooth, libraw1394, libiw-dev (though there already is a
+wireless-tools-gnumach package), etc.
The Hurd presently doesn't support these devices. Nevertheless, all of these
programs could still be built -- and most of them would indeed be useful --
--
cgit v1.2.3
From 91e6909a9c28b4848042d31466accea9e42b9714 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Sat, 28 Mar 2009 19:53:35 +0100
Subject: a few more details
---
community/gsoc/project_ideas/maxpath.mdwn | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index 797cc0dc..73d4ee75 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -28,10 +28,13 @@ There are a few hundred packages in Debian GNU/Hurd failing to build because of
this -- simply grep for the offending macros in the
[list_of_build_failures](http://unstable.buildd.net/buildd/hurd-i386_Failed.html).
-Fixing these issues usually boils down to replacing `char foo[PATH_MAX]` by
-`char *foo`, and using dynamic memory allocation. Sometimes this is tricky, but
-more often not very hard. With a bit of practice, it should be easily possible
-to fix several programs per day.
+Fixing these issues usually boils down to replacing `char foo[PATH_MAX]`
+by `char *foo`, and using dynamic memory allocation, i.e. e.g. a loop
+that tries geometrically growing sizes. Sometimes this is tricky, but
+more often not very hard. Sometimes it is even trivial because the GNU
+system has proper replacements. See the corresponding section of the
+[[Porting_issues_page|PortingIssues]] for more details. With a bit of practice,
+it should be easily possible to fix several programs per day.
The goal of this project is to fix the PATH_MAX and related problems in a
significant number of packages, and make the fixes ready for inclusion in
--
cgit v1.2.3
From df30411cae3015b064c70c6dc98d75da33688e32 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Sat, 28 Mar 2009 20:04:02 +0100
Subject: fix link
---
community/gsoc/project_ideas/maxpath.mdwn | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index 73d4ee75..992b91ee 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -33,8 +33,8 @@ by `char *foo`, and using dynamic memory allocation, i.e. e.g. a loop
that tries geometrically growing sizes. Sometimes this is tricky, but
more often not very hard. Sometimes it is even trivial because the GNU
system has proper replacements. See the corresponding section of the
-[[Porting_issues_page|PortingIssues]] for more details. With a bit of practice,
-it should be easily possible to fix several programs per day.
+[[Porting_issues_page|unsorted/PortingIssues]] for more details. With a bit of
+practice, it should be easily possible to fix several programs per day.
The goal of this project is to fix the PATH_MAX and related problems in a
significant number of packages, and make the fixes ready for inclusion in
--
cgit v1.2.3
From cb5fffd0ae36d1d7c3ff480deacfbd5e434f233a Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 1 Apr 2009 02:19:34 +0200
Subject: Create Union Mount GSoC task, but don't include in list
---
community/gsoc/project_ideas/unionmount.mdwn | 60 ++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 community/gsoc/project_ideas/unionmount.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn
new file mode 100644
index 00000000..89b53123
--- /dev/null
+++ b/community/gsoc/project_ideas/unionmount.mdwn
@@ -0,0 +1,60 @@
+[[meta copyright="Copyright © 2009 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 title="Union Mounts"]]
+
+When setting a translator on Hurd -- similar to mounting a file system on UNIX
+-- the new node(s) exported by the translator are obscuring the original node
+where the translator is set, and any nodes below it in the directory tree. The
+translator itself can access the underlying node (which is a very nice feature,
+as it allows translators presenting the contents of the node in a different
+format); but it's no longer accessible from the "outside".
+
+Plan9 has a feature where a file system can be mounted in union mode: the new
+file system doesn't obscure the mount point in this case, but instead the
+contents are combined. (This feature has also been under discussion in Linux
+for a couple of years now, under the label "VFS-based union mounts".)
+
+This kind of union mounts is generally useful, as it's sometimes more
+convenient than unioning existing filesystem locations with unionfs -- it's not
+necessary to mount a file system that is to be unioned at some external
+location first: just union-mount it directly at the target location.
+
+But union mounts also allow creating passive translator hierarchies: If there
+is a passive translator on a parent node, and further passive translators on
+child nodes, the union mount allows the child nodes with the further translator
+settings still to be visible after the parent translator has started.
+
+This could be useful for device nodes for example: let's say we have an
+ethernet multiplexer at /dev/veth. Now the virtual subnodes could all be
+directly under /dev, i.e. /dev/veth0, /dev/veth1 etc., and explicitely refer to
+the main /dev/veth node in the translator command line. It would be more
+elegant however to store the virtual nodes direcly below the main multiplexer
+node -- /dev/veth/0, /dev/veth/1 etc.
+
+There are two possible approaches how union mounts could be implemented in the
+Hurd. The first one is to let the various translators handle union mounts
+internally, i.e. let them present the underlying nodes to the clients in
+addition to the actual nodes they export themselfs. This probably can be
+implemented as some kind of extension to the existing netfs and diskfs
+libraries.
+
+The other possible apporach is less efficient and probably more tricky, but
+probably also more generic: create a special unionmount translator, which
+serves as a kind of proxy: setting the union-mounted translator on some
+internal node; and at the actual mount location, presenting a union of the
+nodes exported by this translator, and the nodes from the underlying file
+system.
+
+The goal of this project is implementing union mounts using either of the
+approaches described above. (Though it might be useful initially to prototype
+both for comparision.) The ethernet multiplexer shall serve as an example use
+case -- any changes necessary to allow using it with the union mount
+functionality are also to be considered part of the task.
--
cgit v1.2.3
From 714738c3aa0d5625cc7dccf0e8c3f1414b8930c6 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Sun, 5 Apr 2009 18:39:14 +0200
Subject: unsorted/PortingIssues -> hurd/porting/guidelines
---
community/gsoc/project_ideas/maxpath.mdwn | 2 +-
hurd/faq/old-stuff.mdwn | 2 +-
hurd/porting/guidelines.mdwn | 281 +++++++++++++++++++++++++
hurd/running/debian/GnuDebianRelationship.mdwn | 4 +-
hurd/running/distrib.mdwn | 2 +-
unsorted/PortingIssues.mdwn | 270 ------------------------
6 files changed, 286 insertions(+), 275 deletions(-)
create mode 100644 hurd/porting/guidelines.mdwn
delete mode 100644 unsorted/PortingIssues.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index 992b91ee..d78297d5 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -33,7 +33,7 @@ by `char *foo`, and using dynamic memory allocation, i.e. e.g. a loop
that tries geometrically growing sizes. Sometimes this is tricky, but
more often not very hard. Sometimes it is even trivial because the GNU
system has proper replacements. See the corresponding section of the
-[[Porting_issues_page|unsorted/PortingIssues]] for more details. With a bit of
+[[porting_guidelines_page|hurd/porting/guidelines]] for more details. With a bit of
practice, it should be easily possible to fix several programs per day.
The goal of this project is to fix the PATH_MAX and related problems in a
diff --git a/hurd/faq/old-stuff.mdwn b/hurd/faq/old-stuff.mdwn
index 1bcc09a0..e4132d50 100644
--- a/hurd/faq/old-stuff.mdwn
+++ b/hurd/faq/old-stuff.mdwn
@@ -28,7 +28,7 @@ If you still have problems, do not hesitate to make use of the [[mailing_lists]]
* These are different versions of the Mach microkernel that supports the Hurd that runs on top of it. For more info, see [[Mach]]
* **_What software is available for GNU?_**
- * Most packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Programs which need pthreads, including [GNOME](http://www.gnome.org), [KDE](http://www.kde.org), [Mozilla](http://www.mozilla.org), [OpenOffice](http://www.openoffice.org), [SDL](http://www.libsdl.org), etc. are being worked on currently using Neal Walfields libpthreads. See the [[Distrib/PortingIssues]] document for some common build problems and their solutions.
+ * Most packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Programs which need pthreads, including [GNOME](http://www.gnome.org), [KDE](http://www.kde.org), [Mozilla](http://www.mozilla.org), [OpenOffice](http://www.openoffice.org), [SDL](http://www.libsdl.org), etc. are being worked on currently using Neal Walfields libpthreads. See the [[porting/guidelines]] document for some common build problems and their solutions.
* If you can't fetch a package with "apt-get install ", try building it from source: "apt-get source && cd <package\_dir> && debian/rules binary".
* As of January 2007, 50% of Debian packages have been ported on the Hurd. Of course, bug testing is welcome.
diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn
new file mode 100644
index 00000000..ee27c9be
--- /dev/null
+++ b/hurd/porting/guidelines.mdwn
@@ -0,0 +1,281 @@
+[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 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]]."]]"""]]
+
+## Table of Contents
+
+%TOC%
+
+## Overview
+
+This is a recompilation of common porting problems and their solutions. Information is gathered from the following sources:
+
+* [Debian GNU/Hurd port guidelines](http://www.debian.org/ports/hurd/hurd-devel-debian)
+
+* [James Morrison's GNU/Hurd pages](http://hurd.dyndns.org/)
+
+as well as other misc. sources.
+
+First of all, see [[BtsFiling]] if you need instructions on manipulating [Debian](http://www.debian.org/) source packages and submitting patches to their [Bug Tracking System](http://bugs.debian.org/).
+
+## System API limitations
+
+Sometimes building or running a program will fail due to bugs in the system API implementation (in Glibc and the Hurd). Make sure you check this list and know them before porting, otherwise you'll end up debugging something just to find out its an already known bug.
+
+We maintain a separate Wiki page for information on these bugs, see [[Distrib/SystemAPILimits]]
+
+If you think you can fix any of them and send a patch to the debian BTS, that'd be much appreciated. You may ask in for details or questions on the bug.
+
+## Undefined `bits/confname.h` macros (`PIPE_BUF`, ...)
+
+If macro `XXX` is undefined, but macro `_SC_XXX` or `_PC_XXX` is defined in `bits/confname.h`, you probably need to use `sysconf`, `pathconf` or `fpathconf` to obtain it dynamicaly.
+
+The following macros have been found in this offending situation (add more if you find them): `PIPE_BUF`
+
+An example with `sysconf`: (when you find a `sysconf` offending macro, put a better example)
+
+ #ifndef XXX
+ #define XXX sysconf(_SC_XXX)
+ #endif
+ /* offending code using XXX follows */
+
+An example with `fpathconf`:
+
+ #ifdef PIPE_BUF
+ read(fd, buff, PIPE_BUF - 1);
+ #else
+ read(fd, buff, fpathconf(fd, _PC_PIPE_BUF) - 1);
+ #endif
+ /* note we can't #define PIPE_BUF, because it depends
+ on the "fd" variable */
+
+## Bad File Descriptor
+
+If you get Bad File Descriptor error when trying to read from a file (or accessing it at all), check the `open()` invocation. The second argument is the access method. If it is a hard coded number instead of a symbol defined in the standard header files, the code is screwed and should be fixed to either use `O_RDONLY`, `O_WRONLY` or `O_RDWR`. This bug was observed in the `fortunes` and `mtools` packages for example.
+
+## `PATH_MAX` / `MAX_PATH` / `MAXPATHLEN`
+
+Every unconditionalized use of `PATH_MAX`, `MAX_PATH` or `MAXPATHLEN` is a POSIX incompatibility. If there is no upper limit on the length of a path (as its the case for GNU), this symbol is not defined in any header file. Instead, you need to either use a different implementation that does not rely on the length of a string or use `sysconf()` to query the length at runtime. If `sysconf()` returns -1, you have to use `realloc()` to allocate the needed memory dynamically. Usually it is thus simpler to just use dynamic allocation. Sometimes the amount is actually known. Else, a geometrically growing loop can be used: for instance, see [Alioth patch](http://alioth.debian.org/tracker/download.php/30628/410472/303735/1575/cpulimit-path-max-fix.patch). Note that in some cases there are GNU extensions that just work fine: when the `__GLIBC__` macro is defined, `getcwd()` calls can be just replaced by `get_current_dir_name()` calls.
+
+## `ARG_MAX`
+
+Same rationale as `PATH_MAX`. There is no limit on the number of arguments.
+
+## `IOV_MAX`
+
+Same rationale as `PATH_MAX`. There is no limit on the number of iovec items.
+
+## `MAXHOSTNAMELEN`
+
+Same as `PATH_MAX`. When you find a `gethostname()` function, which acts on a static buffer, you can replace it with Neal's [xgethostname function](http://ftp.walfield.org/pub/people/neal/xgethostname/) which returns the hostname as a dynamic buffer. For example:
+
+Buggy code:
+
+ char localhost[MAXHOSTNAMELEN];
+ ...
+ gethostname(localhost, sizeof(localhost));
+
+Fixed code:
+
+ #include "xgethostname.h"
+ ...
+ char *localhost;
+ ...
+ localhost = xgethostname();
+ if (! localhost)
+ {
+ perror ("xgethostname");
+ return ERROR;
+ }
+ ...
+ /* use LOCALHOST. */
+ free (localhost);
+
+## `NOFILE`
+
+Replace with `getrlimit(RLIMIT_NOFILE,...)`
+
+## GNU specific `#define`
+
+If you need to include specific code for GNU/Hurd using `#if` ... `#endif`, then you can use the `__GNU__` symbol to do so. But think (at least) thrice! before doing so. In most situations, this is completely unnecessary and will create more problems than it may solve. Better ask on the mailing list how to do it right if you can't think of a better solution.
+
+## `sys_errlist[]` vs. `strerror()`
+
+If a program has only support for `sys_errlist[]` you will have to do some work to make it compile on GNU, which has dropped support for it and does only provide `strerror()`. Steinar Hamre writes about `strerror()`:
+
+`strerror()` should be used because:
+
+* It is the modern, POSIX way.
+* It is localized.
+* It handles invalid signals/numbers out of range. (better errorhandling and not a buffer-overflow-candidate/security risk)
+
+`strerror()` should always be used if it is available. Unfortunaly there are still some old non-POSIX systems that do not have `strerror()`, only `sys_errlist[]`.
+
+Today, only supporting `strerror()` is far better than only supporting `sys_errlist[]`. The best (from a portability viewpoint), however is supporting both. For configure.in, you will need:
+
+ AC_CHECK_FUNCS(strerror)
+
+To `config.h.in`, you need to add:
+
+ #undef HAVE_STRERROR
+
+Then something like:
+
+ #ifndef HAVE_STRERROR
+ static char *
+ private_strerror (errnum)
+ int errnum;
+ {
+ extern char *sys_errlist[];
+ extern int sys_nerr;
+
+ if (errnum > 0 && errnum <= sys_nerr)
+ return sys_errlist[errnum];
+
+ return "Unknown system error";
+ }
+ #define strerror private_strerror
+ #endif /* HAVE_STRERROR */
+
+You can for example look in the latest coreutils (the above is a simplified version of what I found there.) Patches should of course be sent to upstream maintainers, this is very useful even for systems with a working `sys_errlist[]`.
+
+Of course, if you don't care about broken systems (like MS-DOG) not supporting `strerror()` you can just replace `sys_errlist[]` directly (upstream might not accept your patch, but debian should have no problem)
+
+## C++, `error_t` and `E*`
+
+On the Hurd, `error_t` is an enumeration of the `E*` constants. However, C++
+does not like `E*` integer macros being directly assigned to that enumeration. In short, replace
+
+ error_t err = EINTR;
+
+by
+
+ error_t err = error_t(EINTR);
+
+## Filenames ending in a slash \`/'
+
+Those are evil if they don't exist and you want to name a directory this way. For example, `mkdir foobar/` will not work on GNU. This is POSIX compatible. POSIX says that the path of a directory may have slashes appended to it. But the directory does not exist yet, so the path does not refer to a directory, and hence trailing slashes are not guaranteed to work. Just drop the slashes, and you're fine.
+
+## Missing `termio.h`
+
+Change it to use `termios.h` (check for it properly with autoconf `HAVE_TERMIOS_H` or the `__GLIBC__` macro)
+
+Also, change calls to `ioctl(fd, TCGETS, ...)` and `ioctl(fd, TCSETS, ...)` with `tcgetattr(fd, ...)` and `tcsetattr(fd, ...)`.
+
+## `AC_HEADER_TERMIO`
+
+The autoconf check for `AC_HEADER_TERMIO` tryes to check for termios, but it's only really checking for termio in `termios.h`. It is better to use `AC_CHECK_HEADERS(termio.h termios.h)`
+
+## missing `_IOT`
+
+This comes from ioctls. Fixing this is easy if the structure members can be expressed by using the _IOT() macro, else it's simply impossible... See `bits/termios.h` for an instance:
+
+`#define _IOT_termios /* Hurd ioctl type field. */ \
+ _IOT (_IOTS (tcflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)`
+
+because `struct termios` holds 4 members of type `tcflag_ts`, then `NCCS`
+members of type `cc_tsi` and finaly 2 members of type `speed_ts`.
+
+As you can see, this limits the number of kinds of members to 3, and in
+addition to that (see the bitfield described in `ioctls.h`), the third
+kind of member is limited to 3 members. However, since at the API
+compatibility layer you are generally allowed to reorder fields in
+structures, you can usually manage to fit into these limits.
+
+Note: if a field member is a pointer, then the ioctl can't be expressed
+this way, and that makes sense, since the server you're talking to
+doesn't have direct access to your memory. Ways other than ioctls must
+then be found.
+
+## `SA_SIGINFO`
+
+Not implemented, packages may be fixed for working around this: use void sighandler(int num) prototype and sa_handler field.
+
+## `SOL_IP`
+
+Not implemented yet.
+
+## `HZ`
+
+Linuxish and doesn't even make sense since the value may vary according to the running kernel. Should use `sysconf(_SC_CLK_TCK)` or `CLK_TCK` instead.
+
+## `SIOCDEVPRIVATE`
+
+Oh, we should probably provide it.
+
+## `MAP_NORESERVE`
+
+Not POSIX, but we could implement it.
+
+## `O_DIRECT`
+
+Long story to implement.
+
+## `PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP`
+
+We could easily provide it;
+
+## `PTHREAD_STACK_MIN`
+
+We should actually provide it.
+
+## `linux/types.h` or `asm/types.h`
+
+These are not POSIX, `sys/types.h` and `stdint.h` should be used instead.
+
+## `iopl`
+
+Not supported. Try to replace with `ioperm(0, 65536, 1)` (conditionned with `__GNU__` as that will not work in Linux).
+
+## `semget`, `sem_open`
+
+Not implemented, will always fail. Use `sem_init()` instead if possible.
+
+## `net/if_arp.h`, `net/ethernet.h`, etc.
+
+Not implemented, not POSIX. Try to disable the feature in the package.
+
+## broken libc6 dependency
+
+Some packages use an erroneous dependency on `libc6-dev`. This is incorrect because `libc6` is specific to GNU/Linux. The corresponding package for GNU is `libc0.3-dev` but other OSes will have different ones. You can locate the problem in the `debian/control` file of the source tree. Typical solutions include detecting the OS using `dpkg-architecture` and hardcoding the soname, or better, use a logical OR. eg: `libc6-dev | libc0.3-dev | libc-dev`. The `libc-dev` is a virtual package that works for any soname but you have to put it only as the last option.
+
+----
+
+## ChangeLog
+
+-- [[Main/TWikiGuest]] - 13 Jan 2005
+
+Fix xgethostname example. - Neal
+
+-- [[Main/RobertMillan]] - 22 Jul 2002
+
+Formatting and minor grammatical fixes.
+
+-- [[Main/JoachimNilsson]] - 09 Sep 2002
+
+Added more examples and misc semantical fixes.
+
+-- [[Main/RobertMillan]] - 05 Oct 2002
+
+Added `xgethostname` example.
+
+-- [[Main/RobertMillan]] - 15 Nov 2002
+
+Added broken libc6 dependency
+
+-- [[Main/RobertMillan]] - 21 Nov 2002
+
+Text formatting.
+
+-- Ognyan Kulev - 12 Mar 2003
+
+Added `ioctl` entry.
+
+-- [[Main/RobertMillan]] - 19 Mar 2003
diff --git a/hurd/running/debian/GnuDebianRelationship.mdwn b/hurd/running/debian/GnuDebianRelationship.mdwn
index ede808c8..94fd6265 100644
--- a/hurd/running/debian/GnuDebianRelationship.mdwn
+++ b/hurd/running/debian/GnuDebianRelationship.mdwn
@@ -2,11 +2,11 @@ I have hesitated in starting this page due to the sensitive nature of this relat
This is a work in progress. Please email me directly if you have comments or suggestions.
-* Debian Advantages of Hurd [[Distrib/PortingIssues]] Efforts
+* Debian Advantages of Hurd [[porting/guidelines]] Efforts
* One of the first ports to non-Linux system along with \*BSD and win32.
* Official GNU system distribution.
-* Debian Disadvantages of Hurd [[Distrib/PortingIssues]] Efforts
+* Debian Disadvantages of Hurd [porting/guidelines]] Efforts
* Perceived zealous GNU and FSF promotion.
* Hurd Port Advantages of Debian
diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn
index 935c0c2d..607b50af 100644
--- a/hurd/running/distrib.mdwn
+++ b/hurd/running/distrib.mdwn
@@ -68,7 +68,7 @@ about getting applications to work (if possible).
- - [[PortingIssues]] FAQ
+ - [[porting/guidelines]] FAQ
- What does it take to move a piece of Debian packaged software to the GNU/Hurd port?
diff --git a/unsorted/PortingIssues.mdwn b/unsorted/PortingIssues.mdwn
deleted file mode 100644
index 03980ef3..00000000
--- a/unsorted/PortingIssues.mdwn
+++ /dev/null
@@ -1,270 +0,0 @@
-## Table of Contents
-
-%TOC%
-
-## Overview
-
-This is a recompilation of common porting problems and their solutions. Information is gathered from the following sources:
-
-* [Debian GNU/Hurd port guidelines](http://www.debian.org/ports/hurd/hurd-devel-debian)
-
-* [James Morrison's GNU/Hurd pages](http://hurd.dyndns.org/)
-
-as well as other misc. sources.
-
-First of all, see [[BtsFiling]] if you need instructions on manipulating [Debian](http://www.debian.org/) source packages and submitting patches to their [Bug Tracking System](http://bugs.debian.org/).
-
-## System API limitations
-
-Sometimes building or running a program will fail due to bugs in the system API implementation (in Glibc and the Hurd). Make sure you check this list and know them before porting, otherwise you'll end up debugging something just to find out its an already known bug.
-
-We maintain a separate Wiki page for information on these bugs, see [[Distrib/SystemAPILimits]]
-
-If you think you can fix any of them and send a patch to the debian BTS, that'd be much appreciated. You may ask in for details or questions on the bug.
-
-## Undefined `bits/confname.h` macros (`PIPE_BUF`, ...)
-
-If macro `XXX` is undefined, but macro `_SC_XXX` or `_PC_XXX` is defined in `bits/confname.h`, you probably need to use `sysconf`, `pathconf` or `fpathconf` to obtain it dynamicaly.
-
-The following macros have been found in this offending situation (add more if you find them): `PIPE_BUF`
-
-An example with `sysconf`: (when you find a `sysconf` offending macro, put a better example)
-
- #ifndef XXX
- #define XXX sysconf(_SC_XXX)
- #endif
- /* offending code using XXX follows */
-
-An example with `fpathconf`:
-
- #ifdef PIPE_BUF
- read(fd, buff, PIPE_BUF - 1);
- #else
- read(fd, buff, fpathconf(fd, _PC_PIPE_BUF) - 1);
- #endif
- /* note we can't #define PIPE_BUF, because it depends
- on the "fd" variable */
-
-## Bad File Descriptor
-
-If you get Bad File Descriptor error when trying to read from a file (or accessing it at all), check the `open()` invocation. The second argument is the access method. If it is a hard coded number instead of a symbol defined in the standard header files, the code is screwed and should be fixed to either use `O_RDONLY`, `O_WRONLY` or `O_RDWR`. This bug was observed in the `fortunes` and `mtools` packages for example.
-
-## `PATH_MAX` / `MAX_PATH` / `MAXPATHLEN`
-
-Every unconditionalized use of `PATH_MAX`, `MAX_PATH` or `MAXPATHLEN` is a POSIX incompatibility. If there is no upper limit on the length of a path (as its the case for GNU), this symbol is not defined in any header file. Instead, you need to either use a different implementation that does not rely on the length of a string or use `sysconf()` to query the length at runtime. If `sysconf()` returns -1, you have to use `realloc()` to allocate the needed memory dynamically. Usually it is thus simpler to just use dynamic allocation. Sometimes the amount is actually known. Else, a geometrically growing loop can be used: for instance, see [Alioth patch](http://alioth.debian.org/tracker/download.php/30628/410472/303735/1575/cpulimit-path-max-fix.patch). Note that in some cases there are GNU extensions that just work fine: when the `__GLIBC__` macro is defined, `getcwd()` calls can be just replaced by `get_current_dir_name()` calls.
-
-## `ARG_MAX`
-
-Same rationale as `PATH_MAX`. There is no limit on the number of arguments.
-
-## `IOV_MAX`
-
-Same rationale as `PATH_MAX`. There is no limit on the number of iovec items.
-
-## `MAXHOSTNAMELEN`
-
-Same as `PATH_MAX`. When you find a `gethostname()` function, which acts on a static buffer, you can replace it with Neal's [xgethostname function](http://ftp.walfield.org/pub/people/neal/xgethostname/) which returns the hostname as a dynamic buffer. For example:
-
-Buggy code:
-
- char localhost[MAXHOSTNAMELEN];
- ...
- gethostname(localhost, sizeof(localhost));
-
-Fixed code:
-
- #include "xgethostname.h"
- ...
- char *localhost;
- ...
- localhost = xgethostname();
- if (! localhost)
- {
- perror ("xgethostname");
- return ERROR;
- }
- ...
- /* use LOCALHOST. */
- free (localhost);
-
-## `NOFILE`
-
-Replace with `getrlimit(RLIMIT_NOFILE,...)`
-
-## GNU specific `#define`
-
-If you need to include specific code for GNU/Hurd using `#if` ... `#endif`, then you can use the `__GNU__` symbol to do so. But think (at least) thrice! before doing so. In most situations, this is completely unnecessary and will create more problems than it may solve. Better ask on the mailing list how to do it right if you can't think of a better solution.
-
-## `sys_errlist[]` vs. `strerror()`
-
-If a program has only support for `sys_errlist[]` you will have to do some work to make it compile on GNU, which has dropped support for it and does only provide `strerror()`. Steinar Hamre writes about `strerror()`:
-
-`strerror()` should be used because:
-
-* It is the modern, POSIX way.
-* It is localized.
-* It handles invalid signals/numbers out of range. (better errorhandling and not a buffer-overflow-candidate/security risk)
-
-`strerror()` should always be used if it is available. Unfortunaly there are still some old non-POSIX systems that do not have `strerror()`, only `sys_errlist[]`.
-
-Today, only supporting `strerror()` is far better than only supporting `sys_errlist[]`. The best (from a portability viewpoint), however is supporting both. For configure.in, you will need:
-
- AC_CHECK_FUNCS(strerror)
-
-To `config.h.in`, you need to add:
-
- #undef HAVE_STRERROR
-
-Then something like:
-
- #ifndef HAVE_STRERROR
- static char *
- private_strerror (errnum)
- int errnum;
- {
- extern char *sys_errlist[];
- extern int sys_nerr;
-
- if (errnum > 0 && errnum <= sys_nerr)
- return sys_errlist[errnum];
-
- return "Unknown system error";
- }
- #define strerror private_strerror
- #endif /* HAVE_STRERROR */
-
-You can for example look in the latest coreutils (the above is a simplified version of what I found there.) Patches should of course be sent to upstream maintainers, this is very useful even for systems with a working `sys_errlist[]`.
-
-Of course, if you don't care about broken systems (like MS-DOG) not supporting `strerror()` you can just replace `sys_errlist[]` directly (upstream might not accept your patch, but debian should have no problem)
-
-## C++, `error_t` and `E*`
-
-On the Hurd, `error_t` is an enumeration of the `E*` constants. However, C++
-does not like `E*` integer macros being directly assigned to that enumeration. In short, replace
-
- error_t err = EINTR;
-
-by
-
- error_t err = error_t(EINTR);
-
-## Filenames ending in a slash \`/'
-
-Those are evil if they don't exist and you want to name a directory this way. For example, `mkdir foobar/` will not work on GNU. This is POSIX compatible. POSIX says that the path of a directory may have slashes appended to it. But the directory does not exist yet, so the path does not refer to a directory, and hence trailing slashes are not guaranteed to work. Just drop the slashes, and you're fine.
-
-## Missing `termio.h`
-
-Change it to use `termios.h` (check for it properly with autoconf `HAVE_TERMIOS_H` or the `__GLIBC__` macro)
-
-Also, change calls to `ioctl(fd, TCGETS, ...)` and `ioctl(fd, TCSETS, ...)` with `tcgetattr(fd, ...)` and `tcsetattr(fd, ...)`.
-
-## `AC_HEADER_TERMIO`
-
-The autoconf check for `AC_HEADER_TERMIO` tryes to check for termios, but it's only really checking for termio in `termios.h`. It is better to use `AC_CHECK_HEADERS(termio.h termios.h)`
-
-## missing `_IOT`
-
-This comes from ioctls. Fixing this is easy if the structure members can be expressed by using the _IOT() macro, else it's simply impossible... See `bits/termios.h` for an instance:
-
-`#define _IOT_termios /* Hurd ioctl type field. */ \
- _IOT (_IOTS (tcflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)`
-
-because `struct termios` holds 4 members of type `tcflag_ts`, then `NCCS`
-members of type `cc_tsi` and finaly 2 members of type `speed_ts`.
-
-As you can see, this limits the number of kinds of members to 3, and in
-addition to that (see the bitfield described in `ioctls.h`), the third
-kind of member is limited to 3 members. However, since at the API
-compatibility layer you are generally allowed to reorder fields in
-structures, you can usually manage to fit into these limits.
-
-Note: if a field member is a pointer, then the ioctl can't be expressed
-this way, and that makes sense, since the server you're talking to
-doesn't have direct access to your memory. Ways other than ioctls must
-then be found.
-
-## `SA_SIGINFO`
-
-Not implemented, packages may be fixed for working around this: use void sighandler(int num) prototype and sa_handler field.
-
-## `SOL_IP`
-
-Not implemented yet.
-
-## `HZ`
-
-Linuxish and doesn't even make sense since the value may vary according to the running kernel. Should use `sysconf(_SC_CLK_TCK)` or `CLK_TCK` instead.
-
-## `SIOCDEVPRIVATE`
-
-Oh, we should probably provide it.
-
-## `MAP_NORESERVE`
-
-Not POSIX, but we could implement it.
-
-## `O_DIRECT`
-
-Long story to implement.
-
-## `PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP`
-
-We could easily provide it;
-
-## `PTHREAD_STACK_MIN`
-
-We should actually provide it.
-
-## `linux/types.h` or `asm/types.h`
-
-These are not POSIX, `sys/types.h` and `stdint.h` should be used instead.
-
-## `iopl`
-
-Not supported. Try to replace with `ioperm(0, 65536, 1)` (conditionned with `__GNU__` as that will not work in Linux).
-
-## `semget`, `sem_open`
-
-Not implemented, will always fail. Use `sem_init()` instead if possible.
-
-## `net/if_arp.h`, `net/ethernet.h`, etc.
-
-Not implemented, not POSIX. Try to disable the feature in the package.
-
-## broken libc6 dependency
-
-Some packages use an erroneous dependency on `libc6-dev`. This is incorrect because `libc6` is specific to GNU/Linux. The corresponding package for GNU is `libc0.3-dev` but other OSes will have different ones. You can locate the problem in the `debian/control` file of the source tree. Typical solutions include detecting the OS using `dpkg-architecture` and hardcoding the soname, or better, use a logical OR. eg: `libc6-dev | libc0.3-dev | libc-dev`. The `libc-dev` is a virtual package that works for any soname but you have to put it only as the last option.
-
-----
-
-## ChangeLog
-
--- [[Main/TWikiGuest]] - 13 Jan 2005
-
-Fix xgethostname example. - Neal
-
--- [[Main/RobertMillan]] - 22 Jul 2002
-
-Formatting and minor grammatical fixes.
-
--- [[Main/JoachimNilsson]] - 09 Sep 2002
-
-Added more examples and misc semantical fixes.
-
--- [[Main/RobertMillan]] - 05 Oct 2002
-
-Added `xgethostname` example.
-
--- [[Main/RobertMillan]] - 15 Nov 2002
-
-Added broken libc6 dependency
-
--- [[Main/RobertMillan]] - 21 Nov 2002
-
-Text formatting.
-
--- Ognyan Kulev - 12 Mar 2003
-
-Added `ioctl` entry.
-
--- [[Main/RobertMillan]] - 19 Mar 2003
--
cgit v1.2.3
From 88ce1e5f9fddfe35c5f980ce5c6242b74a3d1527 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Mon, 18 May 2009 16:17:01 +0200
Subject: Prefix directives.
---
abac.mdwn | 4 +-
asbestos.mdwn | 4 +-
asking_questions.mdwn | 4 +-
binutils.mdwn | 4 +-
capability.mdwn | 4 +-
colophon.mdwn | 4 +-
.../about_the_twiki_to_ikiwiki_conversion.mdwn | 6 +-
community.mdwn | 4 +-
community/communication.mdwn | 4 +-
community/facebook.mdwn | 4 +-
community/gsoc.mdwn | 6 +-
community/gsoc/2008.mdwn | 4 +-
community/gsoc/2008/minutes-2008-04-25.mdwn | 4 +-
community/gsoc/2008/minutes-2008-05-02.mdwn | 4 +-
community/gsoc/2008/minutes-2008-05-16.mdwn | 4 +-
community/gsoc/organization_application.mdwn | 4 +-
community/gsoc/project_ideas.mdwn | 64 ++++++-------
community/gsoc/project_ideas/cdparanoia.mdwn | 6 +-
community/gsoc/project_ideas/debian_installer.mdwn | 6 +-
.../gsoc/project_ideas/disk_io_performance.mdwn | 6 +-
.../gsoc/project_ideas/download_backends.mdwn | 6 +-
community/gsoc/project_ideas/driver_glue_code.mdwn | 8 +-
community/gsoc/project_ideas/dtrace.mdwn | 6 +-
community/gsoc/project_ideas/file_locking.mdwn | 6 +-
community/gsoc/project_ideas/gnat.mdwn | 6 +-
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 6 +-
community/gsoc/project_ideas/hardware_libs.mdwn | 6 +-
.../gsoc/project_ideas/language_bindings.mdwn | 6 +-
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 8 +-
community/gsoc/project_ideas/libcap.mdwn | 6 +-
.../gsoc/project_ideas/libdiskfs_locking.mdwn | 6 +-
community/gsoc/project_ideas/libgtop.mdwn | 6 +-
community/gsoc/project_ideas/maxpath.mdwn | 6 +-
community/gsoc/project_ideas/mtab.mdwn | 6 +-
.../namespace-based_translator_selection.mdwn | 6 +-
community/gsoc/project_ideas/nfs.mdwn | 8 +-
community/gsoc/project_ideas/package_manager.mdwn | 6 +-
community/gsoc/project_ideas/perl.mdwn | 6 +-
community/gsoc/project_ideas/procfs.mdwn | 6 +-
community/gsoc/project_ideas/pthreads.mdwn | 8 +-
community/gsoc/project_ideas/secure_chroot.mdwn | 6 +-
.../gsoc/project_ideas/server_overriding.mdwn | 8 +-
community/gsoc/project_ideas/sound.mdwn | 8 +-
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 8 +-
community/gsoc/project_ideas/tmpfs.mdwn | 6 +-
community/gsoc/project_ideas/unionfs_boot.mdwn | 6 +-
community/gsoc/project_ideas/unionmount.mdwn | 6 +-
community/gsoc/project_ideas/virtualization.mdwn | 6 +-
community/gsoc/project_ideas/vm_tuning.mdwn | 8 +-
community/gsoc/project_ideas/xattr.mdwn | 8 +-
community/gsoc/project_ideas/xmlfs.mdwn | 6 +-
community/gsoc/student_application_form.mdwn | 4 +-
community/gsoc/xorg_ideas.mdwn | 4 +-
community/meetings.mdwn | 6 +-
community/meetings/eurosys_2009.mdwn | 8 +-
community/meetings/fosdem_2005.mdwn | 6 +-
community/meetings/fosdem_2006.mdwn | 6 +-
community/meetings/fosdem_2007.mdwn | 10 +-
community/meetings/fosdem_2008.mdwn | 12 +--
community/meetings/rmll_2006.mdwn | 6 +-
community/meetings/self-organised.mdwn | 6 +-
community/meetings/stesie_2007-10-12.mdwn | 4 +-
community/weblogs.mdwn | 6 +-
community/weblogs/ArneBab.mdwn | 6 +-
...oes-trying-to-get-a-german-keyboard-layout.mdwn | 4 +-
config_edittemplate.mdwn | 6 +-
config_edittemplate/regular_page.mdwn | 4 +-
confused_deputy.mdwn | 4 +-
contact_us.mdwn | 4 +-
contributing.mdwn | 4 +-
contributing/questionnaire.mdwn | 4 +-
contributing/web_pages.mdwn | 4 +-
designation.mdwn | 4 +-
destructive_interference.mdwn | 4 +-
documentation.mdwn | 4 +-
donate.mdwn | 4 +-
emulation.mdwn | 4 +-
extensibility.mdwn | 4 +-
fdl.texi | 10 +-
gcc.mdwn | 4 +-
gdb.mdwn | 4 +-
gdb/backtrace.mdwn | 4 +-
getting_help.mdwn | 6 +-
glibc.mdwn | 4 +-
hurd.mdwn | 6 +-
hurd/advantages.mdwn | 4 +-
hurd/authentication.mdwn | 4 +-
hurd/binutils.mdwn | 4 +-
hurd/building/cross-compiling.mdwn | 4 +-
hurd/building/cross-compiling/discussion.mdwn | 4 +-
hurd/building/example.mdwn | 4 +-
hurd/concepts.mdwn | 4 +-
hurd/critique.mdwn | 6 +-
hurd/debugging.mdwn | 4 +-
hurd/debugging/gdb.mdwn | 4 +-
hurd/debugging/gdb/noninvasive_debugging.mdwn | 4 +-
hurd/debugging/glibc.mdwn | 4 +-
hurd/debugging/rpctrace.mdwn | 4 +-
hurd/debugging/translator.mdwn | 6 +-
.../translator/capturing_stdout_and_stderr.mdwn | 4 +-
hurd/debugging/translator/gdb.mdwn | 4 +-
hurd/documentation.mdwn | 4 +-
hurd/documentation/auth.html | 6 +-
hurd/documentation/hurd-and-linux.html | 6 +-
hurd/documentation/hurd-paper.html | 8 +-
hurd/documentation/hurd-talk.html | 6 +-
hurd/documentation/translators.html | 6 +-
hurd/faq.mdwn | 8 +-
hurd/faq/old_faq.txt | 4 +-
hurd/faq/release.mdwn | 6 +-
hurd/faq/slash_usr_symlink.mdwn | 6 +-
hurd/gcc.mdwn | 4 +-
hurd/glibc.mdwn | 4 +-
hurd/glibc/hurd-specific_api.mdwn | 6 +-
hurd/history.mdwn | 4 +-
hurd/history/port_to_l4.mdwn | 6 +-
hurd/hurd_hacking_guide.mdwn | 4 +-
hurd/io_path.mdwn | 4 +-
hurd/libchannel.mdwn | 4 +-
hurd/libhello_example.mdwn | 4 +-
hurd/libnetfs.mdwn | 4 +-
hurd/libpager.mdwn | 4 +-
hurd/libstore.mdwn | 4 +-
hurd/logo.mdwn | 8 +-
hurd/neighborhurd.mdwn | 4 +-
hurd/networking.mdwn | 4 +-
hurd/ng/issues_with_mach.mdwn | 4 +-
.../limitations_of_the_original_hurd_design.mdwn | 4 +-
hurd/ng/position_paper.mdwn | 4 +-
hurd/open_issues.mdwn | 8 +-
hurd/open_issues/cvs_tasks_file.mdwn | 4 +-
hurd/open_issues/cvs_todo_file.mdwn | 4 +-
hurd/open_issues/gdb_non-stop_mode.mdwn | 4 +-
hurd/open_issues/gdb_pending_execs.mdwn | 4 +-
hurd/open_issues/gdb_thread_ids.mdwn | 4 +-
hurd/open_issues/libfshelp_in_hurdlibs.mdwn | 4 +-
hurd/open_issues/some_todo_list.mdwn | 4 +-
hurd/open_issues/wrong_reply_message_id.mdwn | 4 +-
hurd/porting.mdwn | 4 +-
hurd/porting/guidelines.mdwn | 4 +-
hurd/porting/system_api_limitations.mdwn | 4 +-
hurd/reference_manual.mdwn | 4 +-
hurd/running.mdwn | 4 +-
hurd/running/debian.mdwn | 2 +-
hurd/running/debian/DebianAptOffline.mdwn | 4 +-
hurd/running/debian/after_install.mdwn | 2 +-
hurd/running/debian/creating_image_tarball.mdwn | 4 +-
hurd/running/debian/faq.mdwn | 8 +-
hurd/running/debian/faq/2_gib_partition_limit.mdwn | 6 +-
hurd/running/debian/faq/512_mib_ram_limit.mdwn | 6 +-
hurd/running/debian/faq/apt_umount.mdwn | 6 +-
hurd/running/debian/faq/bad_hypermeta_data.mdwn | 4 +-
.../running/debian/faq/debugging_inside_glibc.mdwn | 4 +-
hurd/running/debian/faq/debugging_translators.mdwn | 4 +-
hurd/running/debian/faq/dev_random.mdwn | 6 +-
hurd/running/debian/faq/df.mdwn | 4 +-
hurd/running/debian/faq/free_memory.mdwn | 4 +-
hurd/running/debian/faq/hurd_console.mdwn | 4 +-
hurd/running/debian/faq/kernel_logs.mdwn | 4 +-
hurd/running/debian/faq/other_repositories.mdwn | 4 +-
hurd/running/debian/faq/ps_hangs.mdwn | 4 +-
hurd/running/debian/faq/reporting_bugs.mdwn | 4 +-
hurd/running/debian/faq/sata_disk_drives.mdwn | 4 +-
.../faq/sshd_only_works_for_root_logins.mdwn | 4 +-
hurd/running/debian/faq/xserver-common.mdwn | 4 +-
hurd/running/debian/patch_submission.mdwn | 4 +-
hurd/running/debian/porting.mdwn | 8 +-
hurd/running/debian/porting/adduser.mdwn | 4 +-
hurd/running/debian/porting/gcc.mdwn | 4 +-
hurd/running/debian/porting/gcc/c++.mdwn | 6 +-
hurd/running/debian/porting/gcc/libmudflap.mdwn | 4 +-
hurd/running/debian/porting/git-core-2.mdwn | 4 +-
hurd/running/debian/porting/git-core.mdwn | 4 +-
.../debian/porting/libdbd-sqlite3-perl.mdwn | 4 +-
hurd/running/debian/porting/pth.mdwn | 4 +-
hurd/running/debian/porting/runit.mdwn | 4 +-
hurd/running/debian/porting/socat.mdwn | 4 +-
hurd/running/gnu/create_an_image.mdwn | 4 +-
hurd/running/gnu/setup.mdwn | 4 +-
hurd/running/gnu/universal_package_manager.mdwn | 4 +-
hurd/running/qemu.mdwn | 2 +-
hurd/running/qemu/microsoft_windows.mdwn | 4 +-
hurd/running/qemu/networking.mdwn | 4 +-
hurd/running/qemu/networking/sharing_files.mdwn | 4 +-
hurd/running/vmware.mdwn | 4 +-
hurd/running/vmware/discussion.mdwn | 4 +-
hurd/settrans.mdwn | 4 +-
hurd/status.mdwn | 4 +-
hurd/subhurd.mdwn | 4 +-
hurd/subhurd/running_a_subhurd.mdwn | 6 +-
hurd/toolchain.mdwn | 4 +-
hurd/translator.mdwn | 4 +-
hurd/translator/auth.mdwn | 4 +-
hurd/translator/cvsfs.mdwn | 4 +-
hurd/translator/devfs.mdwn | 4 +-
hurd/translator/emailfs.mdwn | 4 +-
hurd/translator/examples.mdwn | 4 +-
hurd/translator/ext2fs.mdwn | 4 +-
hurd/translator/fatfs.mdwn | 6 +-
hurd/translator/magic.mdwn | 4 +-
hurd/translator/mboxfs.mdwn | 4 +-
hurd/translator/pfinet.mdwn | 4 +-
hurd/translator/pfinet/implementation.mdwn | 4 +-
hurd/translator/pfinet/ipv6.mdwn | 4 +-
hurd/translator/pflocal.mdwn | 4 +-
hurd/translator/procfs.mdwn | 4 +-
hurd/translator/procfs/htop.mdwn | 4 +-
hurd/translator/procfs/killall.mdwn | 4 +-
hurd/translator/procfs/procps.mdwn | 4 +-
hurd/translator/procfs/top.mdwn | 4 +-
hurd/translator/storeio.mdwn | 4 +-
hurd/translator/stowfs.mdwn | 6 +-
hurd/translator/tmpfs.mdwn | 6 +-
hurd/translator/tmpfs/notes_bing.mdwn | 4 +-
hurd/translator/tmpfs/notes_various.mdwn | 6 +-
hurd/translator/unionfs.mdwn | 4 +-
hurd/translator/wishlist_1.mdwn | 4 +-
hurd/translator/writing/example.mdwn | 4 +-
hurd/translator/xmlfs.mdwn | 4 +-
hurd/virtual_file_system.mdwn | 4 +-
hurd/virtualization.mdwn | 4 +-
hurd/what_is_the_gnu_hurd.mdwn | 6 +-
.../gramatically_speaking.mdwn | 6 +-
hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn | 6 +-
ibac.mdwn | 4 +-
idl.mdwn | 4 +-
ikiwiki.setup | 2 +-
index.mdwn | 10 +-
index/discussion.mdwn | 4 +-
ipc.mdwn | 4 +-
irc.mdwn | 8 +-
isolation.mdwn | 4 +-
license.mdwn | 2 +-
liedtke.mdwn | 4 +-
mailing_lists.mdwn | 10 +-
mailing_lists/bug-hurd.mdwn | 6 +-
mailing_lists/debian-hurd.mdwn | 4 +-
mailing_lists/gnu-system-discuss.mdwn | 6 +-
mailing_lists/help-hurd.mdwn | 6 +-
mailing_lists/hurd-devel-readers.mdwn | 6 +-
mailing_lists/hurd-devel.mdwn | 6 +-
mailing_lists/l4-hurd.mdwn | 6 +-
mailing_lists/unmoderated.mdwn | 4 +-
mailing_lists/web-hurd.mdwn | 6 +-
mechanism.mdwn | 4 +-
microkernel.mdwn | 4 +-
microkernel/faq.mdwn | 8 +-
microkernel/faq/multiserver_microkernel.mdwn | 6 +-
microkernel/for_beginners.mdwn | 4 +-
microkernel/fud.mdwn | 5 +-
microkernel/mach/documentation.mdwn | 4 +-
microkernel/mach/external_pager_mechanism.mdwn | 5 +-
microkernel/mach/gnumach.mdwn | 4 +-
microkernel/mach/gnumach/boot_trace.mdwn | 4 +-
microkernel/mach/gnumach/building/example.mdwn | 4 +-
microkernel/mach/gnumach/debugging.mdwn | 4 +-
.../mach/gnumach/hardware_compatibility_list.mdwn | 10 +-
microkernel/mach/gnumach/open_issues.mdwn | 8 +-
.../open_issues/resource_management_problems.mdwn | 4 +-
microkernel/mach/gnumach/ports.mdwn | 4 +-
microkernel/mach/gnumach/ports/xen.mdwn | 8 +-
microkernel/mach/gnumach/ports/xen/internals.mdwn | 4 +-
.../ports/xen/networking_configuration.mdwn | 8 +-
microkernel/mach/gnumach/projects.mdwn | 6 +-
.../mach/gnumach/projects/clean_up_the_code.mdwn | 48 +++++-----
microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 4 +-
microkernel/mach/gnumach/reference_manual.mdwn | 4 +-
microkernel/mach/ipc.mdwn | 4 +-
microkernel/mach/ipc/sequence_numbering.mdwn | 4 +-
microkernel/mach/mig.mdwn | 4 +-
microkernel/mach/mig/documentation.mdwn | 4 +-
microkernel/mach/mig/documentation/dealloc.mdwn | 4 +-
microkernel/mach/mig/documentation/servercopy.mdwn | 4 +-
microkernel/mach/mig/gnu_mig.mdwn | 4 +-
microkernel/mach/mig/gnu_mig/open_issues.mdwn | 8 +-
.../open_issues/duplicate_inclusion_guards.mdwn | 4 +-
microkernel/mach/port.mdwn | 4 +-
microkernel/mach/rpc.mdwn | 4 +-
microkernel/viengoos.mdwn | 4 +-
microkernel/viengoos/building.mdwn | 4 +-
microkernel/viengoos/documentation.mdwn | 4 +-
microkernel/viengoos/hardware.mdwn | 4 +-
microkernel/viengoos/projects.mdwn | 6 +-
microkernel/viengoos/serial_port.mdwn | 4 +-
naming_context.mdwn | 4 +-
news.mdwn | 6 +-
news/2002-01-13.mdwn | 4 +-
news/2002-01-19.mdwn | 4 +-
news/2002-02-18.mdwn | 4 +-
news/2002-03-03.mdwn | 4 +-
news/2002-03-08.mdwn | 4 +-
news/2002-03-23.mdwn | 4 +-
news/2002-05-05.mdwn | 4 +-
news/2002-05-18.mdwn | 4 +-
news/2002-05-24.mdwn | 4 +-
news/2002-05-28.mdwn | 4 +-
news/2002-06-22.mdwn | 4 +-
news/2002-08-16.mdwn | 4 +-
news/2002-10-03.mdwn | 4 +-
news/2002-10-03_2.mdwn | 4 +-
news/2002-10-19.mdwn | 4 +-
news/2002-11-18.mdwn | 4 +-
news/2003-01-18.mdwn | 4 +-
news/2003-02-14.mdwn | 4 +-
news/2003-07-02.mdwn | 4 +-
news/2003-07-16.mdwn | 4 +-
news/2003-08-21.mdwn | 4 +-
news/2005-01-28.mdwn | 4 +-
news/2005-09-20.mdwn | 4 +-
news/2006-04-27.mdwn | 4 +-
news/2007-01-07.mdwn | 4 +-
news/2007-01-14.mdwn | 4 +-
news/2007-03-14.mdwn | 4 +-
news/2007-10-01.mdwn | 4 +-
news/2007-10-12.mdwn | 4 +-
news/2008-02-11.mdwn | 4 +-
news/2008-03-19.mdwn | 4 +-
news/2008-09-11.mdwn | 4 +-
news/2008-11-14.mdwn | 4 +-
news/2008-12-12.mdwn | 4 +-
news/2009-03-28.mdwn | 4 +-
open_issues.mdwn | 10 +-
open_issues/blkrrpart_ioctl.mdwn | 8 +-
persistency.mdwn | 4 +-
policy.mdwn | 4 +-
principal.mdwn | 4 +-
public_hurd_boxen.mdwn | 6 +-
qemu.mdwn | 4 +-
recent_changes.mdwn | 8 +-
rpc.mdwn | 4 +-
rules.mdwn | 4 +-
rules/savannah_group.mdwn | 4 +-
rules/source_repositories.mdwn | 4 +-
security.mdwn | 4 +-
sfi.mdwn | 4 +-
shortcuts.mdwn | 104 ++++++++++-----------
sidebar.mdwn | 12 +--
tcb.mdwn | 4 +-
trackers.mdwn | 4 +-
trust.mdwn | 4 +-
unix.mdwn | 6 +-
user/flaviocruz.mdwn | 4 +-
user/madhusudancs.mdwn | 6 +-
user/scolobb.mdwn | 4 +-
user/tschwinge.mdwn | 6 +-
user/vincentvikram.mdwn | 4 +-
user/zhengda/howto.mdwn | 4 +-
virtualization.mdwn | 6 +-
348 files changed, 946 insertions(+), 942 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/abac.mdwn b/abac.mdwn
index a260a986..bdf63a32 100644
--- a/abac.mdwn
+++ b/abac.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/asbestos.mdwn b/asbestos.mdwn
index 65ab391e..fcbd8ecb 100644
--- a/asbestos.mdwn
+++ b/asbestos.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/asking_questions.mdwn b/asking_questions.mdwn
index d58dee61..bb5c8ffb 100644
--- a/asking_questions.mdwn
+++ b/asking_questions.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/binutils.mdwn b/binutils.mdwn
index 3e9e5889..85791914 100644
--- a/binutils.mdwn
+++ b/binutils.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/capability.mdwn b/capability.mdwn
index 2d4d2ce8..c5ef0d1d 100644
--- a/capability.mdwn
+++ b/capability.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/colophon.mdwn b/colophon.mdwn
index 9146bc15..1afdd51a 100644
--- a/colophon.mdwn
+++ b/colophon.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009 Free Software
+[[!meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009 Free Software
Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
index 8c556261..d9443b17 100644
--- a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
+++ b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -38,7 +38,7 @@ also made available by the authors at
.
The Debian package *libhtml-wikiconverter-perl* is too old at least until
-[[debbug 419918]] is closed.
+[[!debbug 419918]] is closed.
For converting from rcs files (as used by TWiki) to a git repository you'll
need to get `git clone git://people.freedesktop.org/~keithp/parsecvs` and build
diff --git a/community.mdwn b/community.mdwn
index 5d58ae5a..9d8af0ec 100644
--- a/community.mdwn
+++ b/community.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software
+[[!meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software
Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/communication.mdwn b/community/communication.mdwn
index d2eccceb..0e56a77e 100644
--- a/community/communication.mdwn
+++ b/community/communication.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/facebook.mdwn b/community/facebook.mdwn
index b5340224..31a27fec 100644
--- a/community/facebook.mdwn
+++ b/community/facebook.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn
index ed1f7a52..506516bb 100644
--- a/community/gsoc.mdwn
+++ b/community/gsoc.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Google Summer of Code"]]
+[[!meta title="Google Summer of Code"]]
# 2009
diff --git a/community/gsoc/2008.mdwn b/community/gsoc/2008.mdwn
index 5bb5f314..31d45d05 100644
--- a/community/gsoc/2008.mdwn
+++ b/community/gsoc/2008.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/2008/minutes-2008-04-25.mdwn b/community/gsoc/2008/minutes-2008-04-25.mdwn
index 3f2c0313..0cb624f2 100644
--- a/community/gsoc/2008/minutes-2008-04-25.mdwn
+++ b/community/gsoc/2008/minutes-2008-04-25.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/2008/minutes-2008-05-02.mdwn b/community/gsoc/2008/minutes-2008-05-02.mdwn
index 9c99a8e7..f960ab06 100644
--- a/community/gsoc/2008/minutes-2008-05-02.mdwn
+++ b/community/gsoc/2008/minutes-2008-05-02.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/2008/minutes-2008-05-16.mdwn b/community/gsoc/2008/minutes-2008-05-16.mdwn
index 8adb838c..0c848e8a 100644
--- a/community/gsoc/2008/minutes-2008-05-16.mdwn
+++ b/community/gsoc/2008/minutes-2008-05-16.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/organization_application.mdwn b/community/gsoc/organization_application.mdwn
index 53cd85ac..946c225b 100644
--- a/community/gsoc/organization_application.mdwn
+++ b/community/gsoc/organization_application.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 78cc7ad3..dede290f 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -75,33 +75,33 @@ will assist you as well as we can.
See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/Hurd_Porting).
-[[inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/xmlfs" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/unionfs_boot" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/tmpfs" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/lexical_dot-dot" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
-[[inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/xmlfs" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/unionfs_boot" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/tmpfs" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/lexical_dot-dot" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn
index 117dc56e..f13e19e6 100644
--- a/community/gsoc/project_ideas/cdparanoia.mdwn
+++ b/community/gsoc/project_ideas/cdparanoia.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Implement CD Audio Grabbing"]]
+[[!meta title="Implement CD Audio Grabbing"]]
The Hurd presently has only support for CD-ROMs, but not for audio extraction
("grabbing"). As a result, cdparanoia (and other extraction
diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn
index cac85df2..183f6708 100644
--- a/community/gsoc/project_ideas/debian_installer.mdwn
+++ b/community/gsoc/project_ideas/debian_installer.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Port the Debian Installer to the Hurd"]]
+[[!meta title="Port the Debian Installer to the Hurd"]]
The primary means of distributing the Hurd is through Debian GNU/Hurd.
However, the installation CDs presently use an ancient, non-native installer.
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
index 8d9b3b7c..9f361de9 100644
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Disk I/O Performance Tuning"]]
+[[!meta title="Disk I/O Performance Tuning"]]
The most obvious reason for the Hurd feeling slow compared to mainstream
systems like GNU/Linux, is very slow harddisk access.
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn
index a6e090eb..519d1195 100644
--- a/community/gsoc/project_ideas/download_backends.mdwn
+++ b/community/gsoc/project_ideas/download_backends.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
+[[!meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
The Hurd design facilitates splitting up large applications into independent,
generic components, which can be easily combined in different contexts, by
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 0e193a25..b3c4c129 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="New Driver Glue Code"]]
+[[!meta title="New Driver Glue Code"]]
Although a driver framework in userspace would be desirable, presently the Hurd
uses kernel drivers in the microkernel,
@@ -31,7 +31,7 @@ This is a doable, but pretty involved project. Previous experience with driver
programming probably is a must. (No Hurd-specific knowledge is required,
though.)
-This is [[GNU_Savannah_task 5488]].
+This is [[!GNU_Savannah_task 5488]].
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
index f0c6f07a..18fbe956 100644
--- a/community/gsoc/project_ideas/dtrace.mdwn
+++ b/community/gsoc/project_ideas/dtrace.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="dtrace Support"]]
+[[!meta title="dtrace Support"]]
One of the main problems of the current Hurd implementation is very poor
performance. While we have a bunch of ideas what could cause the performance
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index b20b82fd..0c057639 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Fix File Locking"]]
+[[!meta title="Fix File Locking"]]
Over the years, [[UNIX]] has aquired a host of different file locking mechanisms.
Some of them work on the Hurd, while others are buggy or only partially
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
index 135c19aa..b70ab3c6 100644
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Porting GNAT"]]
+[[!meta title="Porting GNAT"]]
The GNU Ada Translator (GNAT) isn't available for the Hurd so far. There are
also a number of other Debian packages depending on GNAT, and thus not
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index 0fd6e481..ecbbb200 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="GNU Mach Code Cleanup"]]
+[[!meta title="GNU Mach Code Cleanup"]]
Although there are some attempts to move to a more modern microkernel
alltogether, the current Hurd implementation is based on
diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn
index 88b94caa..4a1fe73c 100644
--- a/community/gsoc/project_ideas/hardware_libs.mdwn
+++ b/community/gsoc/project_ideas/hardware_libs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Stub Implementations of Hardware Specific Libraries"]]
+[[!meta title="Stub Implementations of Hardware Specific Libraries"]]
Many programs use special libraries to access certain hardware devices,
like libusb, libbluetooth, libraw1394, libiw-dev (though there already is a
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 6dc83463..c247a8f8 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Bindings to Other Programming Languages"]]
+[[!meta title="Bindings to Other Programming Languages"]]
The main idea of the Hurd design is giving users the ability to easily
modify/extend the system's functionality ([[extensible_system|extensibility]]).
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index 55d00337..e37bc71f 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Lexical .. Resolution"]]
+[[!meta title="Lexical .. Resolution"]]
For historical reasons, [[UNIX]] filesystems have a real (hard) `..` link from each
directory pointing to its parent. However, this is problematic, because the
@@ -29,7 +29,7 @@ to use lexical resolution, and to check that the system is still fully
functional afterwards. This task requires understanding the filename resolution
mechanism.
-See also [[GNU_Savannah_bug 17133]].
+See also [[!GNU_Savannah_bug 17133]].
Possible mentors: ?
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index 9e722815..2745dc7e 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Implementing libcap"]]
+[[!meta title="Implementing libcap"]]
libcap is a library providing the API to access POSIX capabilities. These allow
giving various kinds of specific privileges to individual users, without giving
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index 434e39ba..d484b40b 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Fix libdiskfs Locking Issues"]]
+[[!meta title="Fix libdiskfs Locking Issues"]]
Nowadays the most often encountered cause of Hurd crashes seems to be lockups
in the [[hurd/translator/ext2fs]] server. One of these could be traced
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index 4f848820..c0f966c5 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Porting libgtop"]]
+[[!meta title="Porting libgtop"]]
libgtop is a library used by many applications (especially GNOME applications)
to abstract the system-specific methods for obtaining information about the
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index d78297d5..6ece2dbf 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Fixing Programs Using PATH_MAX et al Unconditionally"]]
+[[!meta title="Fixing Programs Using PATH_MAX et al Unconditionally"]]
POSIX describes some constants (or rather macros) like PATH_MAX/MAXPATHLEN and
similar, which may be defined by the system to indicate certain limits. Many
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 8e848410..39cde2dd 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="mtab"]]
+[[!meta title="mtab"]]
In traditional monolithic system, the kernel keeps track of all mounts; the
information is available through `/proc/mounts` (on Linux at least), and in a
diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
index 6bb643fa..79aad7a1 100644
--- a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
+++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Namspace-based Translator Selection"]]
+[[!meta title="Namspace-based Translator Selection"]]
The main idea behind the Hurd is to make (almost) all system functionality
user-modifiable ([[extensible_system|extensibility]]). This includes a
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index 3874d81a..eeeda6f0 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Improved NFS Implementation"]]
+[[!meta title="Improved NFS Implementation"]]
The Hurd has both NFS server and client implementations, which work, but not
very well: File locking doesn't work properly (at least in conjuction with a
@@ -31,7 +31,7 @@ has been done for a former GSoC application -- it might give you some pointers.
But don't take any of the statements made there for granted -- check the facts
yourself!
-This task, [[GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and
+This task, [[!GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and
an interest in file systems and network protocols.
Possible mentors: ?
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index c7a33944..4e544ed5 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Hurdish Package Manager for the GNU System"]]
+[[!meta title="Hurdish Package Manager for the GNU System"]]
Most GNU/Linux systems use pretty sophisticated package managers, to ease the
management of installed software. These keep track of all installed files, and
diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn
index 803f710e..23420159 100644
--- a/community/gsoc/project_ideas/perl.mdwn
+++ b/community/gsoc/project_ideas/perl.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Improving Perl Support"]]
+[[!meta title="Improving Perl Support"]]
Perl is available on the Hurd, but there are quite a lot of test suite
failures. These could be caused by problems in the system-specific
diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn
index 55556b02..8acfa228 100644
--- a/community/gsoc/project_ideas/procfs.mdwn
+++ b/community/gsoc/project_ideas/procfs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="procfs"]]
+[[!meta title="procfs"]]
Although there is no standard (POSIX or other) for the layout of the `/proc`
pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index aa532a9a..0e677268 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Convert Hurd Libraries and Servers to pthreads"]]
+[[!meta title="Convert Hurd Libraries and Servers to pthreads"]]
The Hurd was originally created at a time when the [pthreads
standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
@@ -27,7 +27,7 @@ libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules
depending on pthreads for example.)
Most of the conversion has already been done in previous efforts (see
-[[GNU_Savannah_task 5487]]) -- but the tricky parts are still missing.
+[[!GNU_Savannah_task 5487]]) -- but the tricky parts are still missing.
The goal of this project is to have all the Hurd code use pthreads. Should any
limitations in the existing pthreads implementation turn up that hinder this
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index ba47f78d..e5848a0f 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Secure chroot Implementation"]]
+[[!meta title="Secure chroot Implementation"]]
As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a
`chroot()` system call. However, the current implementation is not really
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index 2513df0b..66171313 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Server Overriding Mechanism"]]
+[[!meta title="Server Overriding Mechanism"]]
The main idea of the Hurd is that every user can influence almost all system
functionality ([[extensible_system|extensibility]]), by running private Hurd
@@ -61,7 +61,7 @@ This tasks requires some understanding of the Hurd internals, especially a good
understanding of the file name lookup mechanism. It's probably not too heavy on
the coding side.
-This is [[GNU_Savannah_task 6612]]. Also there are quite a bit of emails
+This is [[!GNU_Savannah_task 6612]]. Also there are quite a bit of emails
discussing this topic, from a previous year's GSoC application -- see
,
,
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
index 26bb91cb..134c5b59 100644
--- a/community/gsoc/project_ideas/sound.mdwn
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,9 +8,9 @@ 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 title="Sound Support"]]
+[[!meta title="Sound Support"]]
-The Hurd presently has no sound support. Fixing this, [[GNU_Savannah_task
+The Hurd presently has no sound support. Fixing this, [[!GNU_Savannah_task
5485]], requires two steps: the first is to port some other kernel's drivers to
[[GNU_Mach|microkernel/mach/gnumach]] so we can get access to actual sound
hardware. The second is to implement a userspace server ([[hurd/translator]]),
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index 29b1d22d..7ca43152 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Hurdish TCP/IP Stack"]]
+[[!meta title="Hurdish TCP/IP Stack"]]
The Hurd presently uses a [[TCP/IP_stack|hurd/translator/pfinet]] based on code from an old Linux version.
This works, but lacks some rather important features (like PPP/PPPoE), and the
@@ -32,7 +32,7 @@ individual layers later. The initial implementation, and the choice of a TCP/IP
stack, should be done with this in mind -- it needs to be modular enough to
make such a split later on feasible.
-This is [[GNU_Savannah_task 5469]].
+This is [[!GNU_Savannah_task 5469]].
Possible mentors: ?
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index a3f474ff..fcf8d96b 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Fix tmpfs"]]
+[[!meta title="Fix tmpfs"]]
In some situations it is desirable to have a file system that is not backed by
actual disk storage, but only by anonymous memory, i.e. lives in the RAM (and
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index 21cf168f..3692678f 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Allow Using unionfs Early at Boot"]]
+[[!meta title="Allow Using unionfs Early at Boot"]]
In [[UNIX]] systems, traditionally most software is installed in a common directory
hierachy, where files from various packages live beside each other, grouped by
diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn
index 89b53123..f8fbc283 100644
--- a/community/gsoc/project_ideas/unionmount.mdwn
+++ b/community/gsoc/project_ideas/unionmount.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Union Mounts"]]
+[[!meta title="Union Mounts"]]
When setting a translator on Hurd -- similar to mounting a file system on UNIX
-- the new node(s) exported by the translator are obscuring the original node
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index 711d3b4c..79c3ab29 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Virtualization Using Hurd Mechanisms"]]
+[[!meta title="Virtualization Using Hurd Mechanisms"]]
The main idea behind the Hurd design is to allow users to replace almost any
system functionality ([[extensible_system|extensibility]]). Any user can easily
diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn
index d1d75e10..8d6a15c3 100644
--- a/community/gsoc/project_ideas/vm_tuning.mdwn
+++ b/community/gsoc/project_ideas/vm_tuning.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="VM Tuning"]]
+[[!meta title="VM Tuning"]]
Hurd/[[microkernel/Mach]] presently make very bad use of the available physical memory in the
system. Some of the problems are inherent to the system design (the kernel
@@ -26,7 +26,7 @@ implementation to other systems, implementing any worthwhile improvements, and
general optimisation/tuning. It requires very good understanding of the Mach
VM, and virtual memory in general.
-This project is related to [[GNU_Savannah_task 5489]].
+This project is related to [[!GNU_Savannah_task 5489]].
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
index ab16dfbb..b5466091 100644
--- a/community/gsoc/project_ideas/xattr.mdwn
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Implement xattr Support"]]
+[[!meta title="Implement xattr Support"]]
Extended attributes (xattr) are a standardized, generic method for storing
additional metadata along with a file (inode). Most modern UNIX filesystems
@@ -38,7 +38,7 @@ Completing this project will require digging into some parts of the Hurd, but
it should be quite doable without previous Hurd experience. Some experience
with xattrs might help a bit, but shouldn't be really necessary either.
-Some previous work on xattr support is available in [[GNU_Savannah_patch
+Some previous work on xattr support is available in [[!GNU_Savannah_patch
5126]], and might serve as a starting point.
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
index e9c8a5b2..5fd2cbe4 100644
--- a/community/gsoc/project_ideas/xmlfs.mdwn
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="xmlfs"]]
+[[!meta title="xmlfs"]]
Hurd [[translators|hurd/translator]] allow presenting underlying data in a
different format. This is a very powerful ability: it allows using standard
diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn
index 619843f0..e52387b6 100644
--- a/community/gsoc/student_application_form.mdwn
+++ b/community/gsoc/student_application_form.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/gsoc/xorg_ideas.mdwn b/community/gsoc/xorg_ideas.mdwn
index 153b8bf6..c125ee96 100644
--- a/community/gsoc/xorg_ideas.mdwn
+++ b/community/gsoc/xorg_ideas.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/community/meetings.mdwn b/community/meetings.mdwn
index 1b994e13..9a07e205 100644
--- a/community/meetings.mdwn
+++ b/community/meetings.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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 title="Meetings with Hurd developer attendance"]]
+[[!meta title="Meetings with Hurd developer attendance"]]
# Upcoming
diff --git a/community/meetings/eurosys_2009.mdwn b/community/meetings/eurosys_2009.mdwn
index 069f6889..cc672f5e 100644
--- a/community/meetings/eurosys_2009.mdwn
+++ b/community/meetings/eurosys_2009.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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 title="EuroSys 2009"]]
+[[!meta title="EuroSys 2009"]]
@@ -18,7 +18,7 @@ EuroSys will take place on March 30th to April 3rd in Nuremberg, Germany.
# Who and When
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
"Name","Attending","Arrival","Return"
"Neal Walfield","yes","Monday evening","Friday"
"[[Thomas_Schwinge|tschwinge]]","yes","Monday evening","Friday"
diff --git a/community/meetings/fosdem_2005.mdwn b/community/meetings/fosdem_2005.mdwn
index c34319fb..e19ff41d 100644
--- a/community/meetings/fosdem_2005.mdwn
+++ b/community/meetings/fosdem_2005.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="FOSDEM 2005"]]
+[[!meta title="FOSDEM 2005"]]
diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn
index 8bf9967f..7f3cdcce 100644
--- a/community/meetings/fosdem_2006.mdwn
+++ b/community/meetings/fosdem_2006.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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 title="FOSDEM 2006"]]
+[[!meta title="FOSDEM 2006"]]
diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn
index 55d346fd..e8c37441 100644
--- a/community/meetings/fosdem_2007.mdwn
+++ b/community/meetings/fosdem_2007.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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 title="FOSDEM 2007"]]
+[[!meta title="FOSDEM 2007"]]
@@ -18,7 +18,7 @@ Bruxelles.
# Who And When
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
"Name","Attending","Arrival","Return","Share room with us"
"[[AlfredoBeaumont]]","no","n/a","n/a","n/a"
"[[AndrewResch]]","no","n/a","n/a","n/a"
@@ -88,7 +88,7 @@ Been there in 2006. It was okay.
[[SamuelThibault]] booked rooms at ~ 18.60€ there:
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
"Night of...","Persons"
"2007-02-22","7**6**"
"2007-02-23","10"
diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn
index fb4a3ae9..5d641995 100644
--- a/community/meetings/fosdem_2008.mdwn
+++ b/community/meetings/fosdem_2008.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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 title="FOSDEM 2008"]]
+[[!meta title="FOSDEM 2008"]]
@@ -19,7 +19,7 @@ Bruxelles.
# Who And When
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
"Name","Attending","Arrival","Return","Share room with us"
"[[Bas_Wijnen|baswijnen]] and girlfriend","yes","Friday","Monday","yes (two)"
"Christian Dietrich","no","n/a","n/a","n/a"
@@ -42,7 +42,7 @@ Bruxelles.
(Large) evening counts:
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
, Bas, Gianluca, Marcus, Michael, Neal, Olaf, Samuel, Soeren, Thomas, Total
Thu 21, , 1? , *1*, , , , 1 , , *1*, *4* 2
Fri 22, 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,10
@@ -94,7 +94,7 @@ gaah, Full!
-[[toggleable id="SATA" text="""
+[[!toggleable id="SATA" text="""
This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach
couldn't connect to the hard disk, e.g., in a SATA system without IDE
compatibility mode:
diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn
index aab854c2..4323ac4b 100644
--- a/microkernel/mach/gnumach/open_issues.mdwn
+++ b/microkernel/mach/gnumach/open_issues.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,11 +8,11 @@ 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 title="Open Issues"]]
+[[!meta title="Open Issues"]]
This is a dumping ground for open issues for GNU Mach.
-[[inline
+[[!inline
pages="(microkernel/mach/gnumach/open_issues/* or tagged(open_issue_*mach))
and !*/discussion"
show=0
diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
index e949fa96..07c71568 100644
--- a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
+++ b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn
index 00cdee8c..b25fbe60 100644
--- a/microkernel/mach/gnumach/ports.mdwn
+++ b/microkernel/mach/gnumach/ports.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn
index b9e2fac7..7391ea2e 100644
--- a/microkernel/mach/gnumach/ports/xen.mdwn
+++ b/microkernel/mach/gnumach/ports/xen.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -9,7 +9,7 @@ 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]]."]]"""]]
-[[toc ]]
+[[!toc]]
## Xen dom0, hypervisor
@@ -79,4 +79,4 @@ The current `hurd-modules` was built from the debian packages `hurd 20070606-2`
[[Internals]].
-[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]].
+[[!GNU_Savannah_task 5468]], [[!GNU_Savannah_task 6584]].
diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn
index 09e707ea..8e46472d 100644
--- a/microkernel/mach/gnumach/ports/xen/internals.mdwn
+++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
index 71a72bac..f3b0d205 100644
--- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
+++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-[[toc ]]
+[[!toc]]
The Xen dom0 infrastructure provides for a bridged networking setup using shell
scripts to configure the bridging device properly and attach the domUs' virtual
@@ -38,7 +38,7 @@ Comment out everything referencing your physical devices. Add this:
[...]
This needs a version of the `bridge-utils` package more recent than the current
-Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of,
+Debian stable one ([[!debbug 405215]]). (It's trivial to rebuild the `dpkg` of,
e.g., the Debian testing one on Debian stable.)
# */etc/xen/xend-config.sxp*
diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn
index 9ace6270..8ef71e30 100644
--- a/microkernel/mach/gnumach/projects.mdwn
+++ b/microkernel/mach/gnumach/projects.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2005, 2006, 2007, 2008
-Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation,
+Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
index 875bb8cd..0038f00e 100644
--- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
+++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2005, 2006, 2007, 2008
- Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation,
+Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -39,80 +39,80 @@ So, additionally to the list given below, there may actually be a bunch of
further files (also exported ones) that serve no real value, but are being
`#include`d through one way or another.
-* [[source_gnumach-1-branch ddb/db_expr.h]]
+* [[!source_gnumach-1-branch ddb/db_expr.h]]
Currently used, but copyright violation? Rewrite?
-* [[source_gnumach-1-branch ddb/db_print.h]]
+* [[!source_gnumach-1-branch ddb/db_print.h]]
Copyright violation? Currently unused, but could be used in principle (or
be rewritten, to avoid the copyright oddity).
-* [[source_gnumach-1-branch ddb/tr.h]]
+* [[!source_gnumach-1-branch ddb/tr.h]]
Copyright violation. Unused. Remove.
-* [[source_gnumach-1-branch device/dev_master.h]]
+* [[!source_gnumach-1-branch device/dev_master.h]]
Might be usable for SMP? Remove otherwise.
-* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]]
+* [[!source_gnumach-1-branch i386/i386/kttd_machdep.h]]
-* [[source_gnumach-1-branch i386/i386/sched_param.h]]
+* [[!source_gnumach-1-branch i386/i386/sched_param.h]]
-* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]]
+* [[!source_gnumach-1-branch i386/include/mach/i386/cthreads.h]]
Was probably once exported, but is no longer.
-* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]]
+* [[!source_gnumach-1-branch i386/include/mach/i386/ioccom.h]]
Exported.
-* [[source_gnumach-1-branch include/device/audio_status.h]]
+* [[!source_gnumach-1-branch include/device/audio_status.h]]
Exported.
-* [[source_gnumach-1-branch include/device/tape_status.h]]
+* [[!source_gnumach-1-branch include/device/tape_status.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/alert.h]]
+* [[!source_gnumach-1-branch include/mach/alert.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/boot.h]]
+* [[!source_gnumach-1-branch include/mach/boot.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/macro_help.h]]
+* [[!source_gnumach-1-branch include/mach/macro_help.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/multiboot.h]]
+* [[!source_gnumach-1-branch include/mach/multiboot.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/profil.h]]
+* [[!source_gnumach-1-branch include/mach/profil.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/profilparam.h]]
+* [[!source_gnumach-1-branch include/mach/profilparam.h]]
Exported.
-* [[source_gnumach-1-branch include/mach/exec/a.out.h]]
+* [[!source_gnumach-1-branch include/mach/exec/a.out.h]]
Exported.
-* [[source_gnumach-1-branch include/mach_debug/pc_info.h]]
+* [[!source_gnumach-1-branch include/mach_debug/pc_info.h]]
Currently not exported, but was probably once meant to be.
-* [[source_gnumach-1-branch kern/act.h]]
+* [[!source_gnumach-1-branch kern/act.h]]
-* [[source_gnumach-1-branch kern/refcount.h]]
+* [[!source_gnumach-1-branch kern/refcount.h]]
-* [[source_gnumach-1-branch kern/shuttle.h]]
+* [[!source_gnumach-1-branch kern/shuttle.h]]
# Remove dead functions, variables, etc. from source files
diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
index 9a11a82b..43e65a2b 100644
--- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
+++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/gnumach/reference_manual.mdwn b/microkernel/mach/gnumach/reference_manual.mdwn
index 225ab176..dab6423d 100644
--- a/microkernel/mach/gnumach/reference_manual.mdwn
+++ b/microkernel/mach/gnumach/reference_manual.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn
index 889fac2f..010b51c9 100644
--- a/microkernel/mach/ipc.mdwn
+++ b/microkernel/mach/ipc.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn
index 7c1f68e4..ea5cf5fe 100644
--- a/microkernel/mach/ipc/sequence_numbering.mdwn
+++ b/microkernel/mach/ipc/sequence_numbering.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn
index eb1c0906..2bf81d59 100644
--- a/microkernel/mach/mig.mdwn
+++ b/microkernel/mach/mig.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2001, 2002, 2003, 2006, 2007, 2008 Free Software
+[[!meta copyright="Copyright © 2001, 2002, 2003, 2006, 2007, 2008 Free Software
Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn
index 93bc2769..be0796e8 100644
--- a/microkernel/mach/mig/documentation.mdwn
+++ b/microkernel/mach/mig/documentation.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software
+[[!meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software
Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig/documentation/dealloc.mdwn b/microkernel/mach/mig/documentation/dealloc.mdwn
index 008499f1..42f06613 100644
--- a/microkernel/mach/mig/documentation/dealloc.mdwn
+++ b/microkernel/mach/mig/documentation/dealloc.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig/documentation/servercopy.mdwn b/microkernel/mach/mig/documentation/servercopy.mdwn
index 5ede723b..00edf0f3 100644
--- a/microkernel/mach/mig/documentation/servercopy.mdwn
+++ b/microkernel/mach/mig/documentation/servercopy.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn
index 4f5fb5c8..b2a41bac 100644
--- a/microkernel/mach/mig/gnu_mig.mdwn
+++ b/microkernel/mach/mig/gnu_mig.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation,
+[[!meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
index 37d27f19..ad440b40 100644
--- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,11 +8,11 @@ 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 title="Open Issues"]]
+[[!meta title="Open Issues"]]
This is a dumping ground for open issues for GNU MIG.
-[[inline
+[[!inline
pages="(microkernel/mach/mig/gnu_mig/open_issues/* or tagged(open_issue_*mig))
and !*/discussion"
show=0
diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
index 93347759..27de1015 100644
--- a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn
index 77b1372f..b3568c29 100644
--- a/microkernel/mach/port.mdwn
+++ b/microkernel/mach/port.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn
index ecef86ee..5508ea3c 100644
--- a/microkernel/mach/rpc.mdwn
+++ b/microkernel/mach/rpc.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn
index b4158843..95009142 100644
--- a/microkernel/viengoos.mdwn
+++ b/microkernel/viengoos.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn
index d70ea47d..b34188e2 100644
--- a/microkernel/viengoos/building.mdwn
+++ b/microkernel/viengoos/building.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn
index 1fe4c937..ccce208b 100644
--- a/microkernel/viengoos/documentation.mdwn
+++ b/microkernel/viengoos/documentation.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn
index 1b4ce514..e5a2ddf5 100644
--- a/microkernel/viengoos/hardware.mdwn
+++ b/microkernel/viengoos/hardware.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn
index c61f42bd..cbe39607 100644
--- a/microkernel/viengoos/projects.mdwn
+++ b/microkernel/viengoos/projects.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-[[tag open_issue_viengoos]]
+[[!tag open_issue_viengoos]]
Some projects:
diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn
index 53b988c5..01dd4050 100644
--- a/microkernel/viengoos/serial_port.mdwn
+++ b/microkernel/viengoos/serial_port.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/naming_context.mdwn b/naming_context.mdwn
index 9c701e71..28b2fabd 100644
--- a/naming_context.mdwn
+++ b/naming_context.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news.mdwn b/news.mdwn
index 8e5d73da..c5c0a851 100644
--- a/news.mdwn
+++ b/news.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-[[inline
+[[!inline
pages="news/* and !*/discussion"
show=0
feeds=no
diff --git a/news/2002-01-13.mdwn b/news/2002-01-13.mdwn
index ed56563d..06b62334 100644
--- a/news/2002-01-13.mdwn
+++ b/news/2002-01-13.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-01-19.mdwn b/news/2002-01-19.mdwn
index d221453d..18fe6aab 100644
--- a/news/2002-01-19.mdwn
+++ b/news/2002-01-19.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-02-18.mdwn b/news/2002-02-18.mdwn
index 74c0191d..b34c654a 100644
--- a/news/2002-02-18.mdwn
+++ b/news/2002-02-18.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-03-03.mdwn b/news/2002-03-03.mdwn
index db730238..9a66a2f5 100644
--- a/news/2002-03-03.mdwn
+++ b/news/2002-03-03.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-03-08.mdwn b/news/2002-03-08.mdwn
index 64fa508a..c107dcfc 100644
--- a/news/2002-03-08.mdwn
+++ b/news/2002-03-08.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-03-23.mdwn b/news/2002-03-23.mdwn
index 9820b8c5..1936ca05 100644
--- a/news/2002-03-23.mdwn
+++ b/news/2002-03-23.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-05-05.mdwn b/news/2002-05-05.mdwn
index 81d36280..d5db172b 100644
--- a/news/2002-05-05.mdwn
+++ b/news/2002-05-05.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-05-18.mdwn b/news/2002-05-18.mdwn
index b88db508..e2cb9261 100644
--- a/news/2002-05-18.mdwn
+++ b/news/2002-05-18.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-05-24.mdwn b/news/2002-05-24.mdwn
index cabc3e0d..32469759 100644
--- a/news/2002-05-24.mdwn
+++ b/news/2002-05-24.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-05-28.mdwn b/news/2002-05-28.mdwn
index 60622205..330e8dc0 100644
--- a/news/2002-05-28.mdwn
+++ b/news/2002-05-28.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-06-22.mdwn b/news/2002-06-22.mdwn
index 6ac785a6..439d7ea6 100644
--- a/news/2002-06-22.mdwn
+++ b/news/2002-06-22.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-08-16.mdwn b/news/2002-08-16.mdwn
index 6f6dcb2e..69f42be4 100644
--- a/news/2002-08-16.mdwn
+++ b/news/2002-08-16.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-10-03.mdwn b/news/2002-10-03.mdwn
index 40f4e1b6..28ab527a 100644
--- a/news/2002-10-03.mdwn
+++ b/news/2002-10-03.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-10-03_2.mdwn b/news/2002-10-03_2.mdwn
index 58b44789..0dabd3b6 100644
--- a/news/2002-10-03_2.mdwn
+++ b/news/2002-10-03_2.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-10-19.mdwn b/news/2002-10-19.mdwn
index e856370a..fb3e75b2 100644
--- a/news/2002-10-19.mdwn
+++ b/news/2002-10-19.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2002-11-18.mdwn b/news/2002-11-18.mdwn
index 44e33200..fec60a89 100644
--- a/news/2002-11-18.mdwn
+++ b/news/2002-11-18.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2003-01-18.mdwn b/news/2003-01-18.mdwn
index 0719f435..1d89bc68 100644
--- a/news/2003-01-18.mdwn
+++ b/news/2003-01-18.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2003-02-14.mdwn b/news/2003-02-14.mdwn
index 2509a771..89473575 100644
--- a/news/2003-02-14.mdwn
+++ b/news/2003-02-14.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2003-07-02.mdwn b/news/2003-07-02.mdwn
index 6e76cc66..b5433eee 100644
--- a/news/2003-07-02.mdwn
+++ b/news/2003-07-02.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2003-07-16.mdwn b/news/2003-07-16.mdwn
index e4ec468b..af8c8b74 100644
--- a/news/2003-07-16.mdwn
+++ b/news/2003-07-16.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2003-08-21.mdwn b/news/2003-08-21.mdwn
index 8d060582..602ee2ef 100644
--- a/news/2003-08-21.mdwn
+++ b/news/2003-08-21.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2005-01-28.mdwn b/news/2005-01-28.mdwn
index 5bd2ac19..92056b38 100644
--- a/news/2005-01-28.mdwn
+++ b/news/2005-01-28.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2005-09-20.mdwn b/news/2005-09-20.mdwn
index 99a20940..16424a8c 100644
--- a/news/2005-09-20.mdwn
+++ b/news/2005-09-20.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2006-04-27.mdwn b/news/2006-04-27.mdwn
index dc52c527..d50fd272 100644
--- a/news/2006-04-27.mdwn
+++ b/news/2006-04-27.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2007-01-07.mdwn b/news/2007-01-07.mdwn
index 75eb7d01..b82ec6e0 100644
--- a/news/2007-01-07.mdwn
+++ b/news/2007-01-07.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2007-01-14.mdwn b/news/2007-01-14.mdwn
index 8dc3d9f5..16947757 100644
--- a/news/2007-01-14.mdwn
+++ b/news/2007-01-14.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2007-03-14.mdwn b/news/2007-03-14.mdwn
index 3b1b2ad3..ec3ebcda 100644
--- a/news/2007-03-14.mdwn
+++ b/news/2007-03-14.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2007-10-01.mdwn b/news/2007-10-01.mdwn
index 768cf42b..a95b2631 100644
--- a/news/2007-10-01.mdwn
+++ b/news/2007-10-01.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2007-10-12.mdwn b/news/2007-10-12.mdwn
index d262dcd8..8d46a07f 100644
--- a/news/2007-10-12.mdwn
+++ b/news/2007-10-12.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2008-02-11.mdwn b/news/2008-02-11.mdwn
index a8f00497..7b4346b8 100644
--- a/news/2008-02-11.mdwn
+++ b/news/2008-02-11.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2008-03-19.mdwn b/news/2008-03-19.mdwn
index fc0388e0..0a2c91e2 100644
--- a/news/2008-03-19.mdwn
+++ b/news/2008-03-19.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2008-09-11.mdwn b/news/2008-09-11.mdwn
index 1060761c..85f31317 100644
--- a/news/2008-09-11.mdwn
+++ b/news/2008-09-11.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2008-11-14.mdwn b/news/2008-11-14.mdwn
index 1e2c8802..9cdbdea0 100644
--- a/news/2008-11-14.mdwn
+++ b/news/2008-11-14.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2008-12-12.mdwn b/news/2008-12-12.mdwn
index 1850cb56..c55b991e 100644
--- a/news/2008-12-12.mdwn
+++ b/news/2008-12-12.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/news/2009-03-28.mdwn b/news/2009-03-28.mdwn
index 2f67b6ce..72741457 100644
--- a/news/2009-03-28.mdwn
+++ b/news/2009-03-28.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/open_issues.mdwn b/open_issues.mdwn
index 8aa07c1c..c372abfb 100644
--- a/open_issues.mdwn
+++ b/open_issues.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,17 +8,17 @@ 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 title="Open Issues"]]
+[[!meta title="Open Issues"]]
This is a dumping ground for open issues.
-[[inline
+[[!inline
pages=none
show=-1
feeds=no
actions=yes
rootpage="open_issues" postformtext="Add a new item titled:"]]
-[[map pages="(./open_issues/* or */open_issues/* or
+[[!map pages="(./open_issues/* or */open_issues/* or
hurd/running/debian/porting/* or tagged(open_issue*)) and !*/discussion"
show=title]]
diff --git a/open_issues/blkrrpart_ioctl.mdwn b/open_issues/blkrrpart_ioctl.mdwn
index 6a4c0378..81e07f3e 100644
--- a/open_issues/blkrrpart_ioctl.mdwn
+++ b/open_issues/blkrrpart_ioctl.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,9 +8,9 @@ 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 title="BLKRRPART IOCTL"]]
+[[!meta title="BLKRRPART IOCTL"]]
-[[tag open_issue_glibc open_issue_hurd open_issue_gnumach]]
+[[!tag open_issue_glibc open_issue_hurd open_issue_gnumach]]
Just like in other Unix systems one can, for example, use `fdisk` or `parted`
to manage hard disks' partition tables. After doing changes to a disk's
diff --git a/persistency.mdwn b/persistency.mdwn
index 17176708..16234c9b 100644
--- a/persistency.mdwn
+++ b/persistency.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/policy.mdwn b/policy.mdwn
index f0a414f2..7412de5f 100644
--- a/policy.mdwn
+++ b/policy.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/principal.mdwn b/principal.mdwn
index 897c0436..47ec3c7f 100644
--- a/principal.mdwn
+++ b/principal.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn
index b4ea6169..f504225b 100644
--- a/public_hurd_boxen.mdwn
+++ b/public_hurd_boxen.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -11,7 +11,7 @@ is included in the section entitled
Here are some Hurd boxes that users have made available to the public:
-[[table class="table_style_1" data="""
+[[!table class="table_style_1" data="""
"Host Name","Operator","Access","Distro","Machine Specs","Comments"
"flubber.bddebian.com","[[Barry_de_Freese|bddebian]]","ssh; port 2250","Debian","Celeron; 2.2 GHz; 333 MiB","domU on zenhost"
"clubber.bddebian.com","[[Barry_de_Freese|bddebian]]","ssh; port 2251","Debian","PIII 1 GHz; 384 MiB"
diff --git a/qemu.mdwn b/qemu.mdwn
index 97ce5693..c0ed12f0 100644
--- a/qemu.mdwn
+++ b/qemu.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/recent_changes.mdwn b/recent_changes.mdwn
index 708e4588..e9bd13c4 100644
--- a/recent_changes.mdwn
+++ b/recent_changes.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Recent Changes"]]
+[[!meta title="Recent Changes"]]
-[[inline pages="internal(recent_changes/change_*)" template=recentchanges
+[[!inline pages="internal(recent_changes/change_*)" template=recentchanges
show=0]]
diff --git a/rpc.mdwn b/rpc.mdwn
index e60254d1..451dd4d4 100644
--- a/rpc.mdwn
+++ b/rpc.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/rules.mdwn b/rules.mdwn
index d1a544e0..ccc7363e 100644
--- a/rules.mdwn
+++ b/rules.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn
index ab84e75d..7de688be 100644
--- a/rules/savannah_group.mdwn
+++ b/rules/savannah_group.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/rules/source_repositories.mdwn b/rules/source_repositories.mdwn
index 2c54e7cf..f15d0f3a 100644
--- a/rules/source_repositories.mdwn
+++ b/rules/source_repositories.mdwn
@@ -1,7 +1,7 @@
-[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/security.mdwn b/security.mdwn
index ae925f74..4c037982 100644
--- a/security.mdwn
+++ b/security.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/sfi.mdwn b/sfi.mdwn
index 1a987290..67d26105 100644
--- a/sfi.mdwn
+++ b/sfi.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/shortcuts.mdwn b/shortcuts.mdwn
index 19368aab..47698bb2 100644
--- a/shortcuts.mdwn
+++ b/shortcuts.mdwn
@@ -1,58 +1,58 @@
-[[if test="enabled(shortcut)"
+[[!if test="enabled(shortcut)"
then="This wiki has shortcuts **enabled**."
else="This wiki has shortcuts **disabled**."]]
Some examples of using shortcuts include:
- \[[google foo]]
- \[[wikipedia War_of_1812]]
- \[[debbug 12345]]
+ \[[!google foo]]
+ \[[!wikipedia War_of_1812]]
+ \[[!debbug 12345]]
This page controls what shortcut links the wiki supports.
-* [[shortcut name=google url="http://www.google.com/search?q=%s"]]
-* [[shortcut name=archive url="http://web.archive.org/*/%S"]]
-* [[shortcut name=gmap url="http://maps.google.com/maps?q=%s"]]
-* [[shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]]
-* [[shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%s"]]
-* [[shortcut name=wikitravel url="http://wikitravel.org/en/%s"]]
-* [[shortcut name=debbug url="http://bugs.debian.org/%s" desc="bug #%s"]]
-* [[shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]]
-* [[shortcut name=debpkg url="http://packages.debian.org/%s"]]
-* [[shortcut name=debpts url="http://packages.qa.debian.org/%s"]]
-* [[shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]]
-* [[shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]]
-* [[shortcut name=debss url="http://snapshot.debian.net/package/%s"]]
- * Usage: `\[[debss package]]`, `\[[debss package#version]]`, or `\[[debss package/version]]`. See http://snapshot.debian.net for details.
-* [[shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]]
-* [[shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]]
-* [[shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]]
-* [[shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]]
-* [[shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]]
-* [[shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]]
-* [[shortcut name=marcmsg url="http://marc.info/?i=%s"]]
-* [[shortcut name=marclist url="http://marc.info/?l=%s"]]
-* [[shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]]
-* [[shortcut name=gmanemsg url="http://mid.gmane.org/%s"]]
-* [[shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]]
-* [[shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]]
-* [[shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]]
-* [[shortcut name=iki url="http://ikiwiki.info/%S/"]]
-* [[shortcut name=ljuser url="http://%s.livejournal.com/"]]
-* [[shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]]
-* [[shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]]
-* [[shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]]
-* [[shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]]
-* [[shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]]
-* [[shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]]
-* [[shortcut name=imdb url="http://imdb.com/find?q=%s"]]
-* [[shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]]
-* [[shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]]
-* [[shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]]
-* [[shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]]
-* [[shortcut name=cia url="http://cia.vc/stats/project/%s"]]
-* [[shortcut name=ciauser url="http://cia.vc/stats/user/%s"]]
-* [[shortcut name=flickr url="http://www.flickr.com/photos/%s"]]
+* [[!shortcut name=google url="http://www.google.com/search?q=%s"]]
+* [[!shortcut name=archive url="http://web.archive.org/*/%S"]]
+* [[!shortcut name=gmap url="http://maps.google.com/maps?q=%s"]]
+* [[!shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]]
+* [[!shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%s"]]
+* [[!shortcut name=wikitravel url="http://wikitravel.org/en/%s"]]
+* [[!shortcut name=debbug url="http://bugs.debian.org/%s" desc="bug #%s"]]
+* [[!shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]]
+* [[!shortcut name=debpkg url="http://packages.debian.org/%s"]]
+* [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]]
+* [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]]
+* [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]]
+* [[!shortcut name=debss url="http://snapshot.debian.net/package/%s"]]
+ * Usage: `\[[!debss package]]`, `\[[!debss package#version]]`, or `\[[!debss package/version]]`. See http://snapshot.debian.net for details.
+* [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]]
+* [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]]
+* [[!shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]]
+* [[!shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]]
+* [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]]
+* [[!shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]]
+* [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]]
+* [[!shortcut name=marclist url="http://marc.info/?l=%s"]]
+* [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]]
+* [[!shortcut name=gmanemsg url="http://mid.gmane.org/%s"]]
+* [[!shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]]
+* [[!shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]]
+* [[!shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]]
+* [[!shortcut name=iki url="http://ikiwiki.info/%S/"]]
+* [[!shortcut name=ljuser url="http://%s.livejournal.com/"]]
+* [[!shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]]
+* [[!shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]]
+* [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]]
+* [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]]
+* [[!shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]]
+* [[!shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]]
+* [[!shortcut name=imdb url="http://imdb.com/find?q=%s"]]
+* [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]]
+* [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]]
+* [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]]
+* [[!shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]]
+* [[!shortcut name=cia url="http://cia.vc/stats/project/%s"]]
+* [[!shortcut name=ciauser url="http://cia.vc/stats/user/%s"]]
+* [[!shortcut name=flickr url="http://www.flickr.com/photos/%s"]]
To add a new shortcut, use the `shortcut`
[[ikiwiki/PreprocessorDirective]]. In the url, "%s" is replaced with the
@@ -65,14 +65,14 @@ Remember that the `name` you give the shortcut will become a new
with an existing directive.
If you come up with a shortcut that you think others might find useful,
-consider contributing it to the [[iki shortcuts]] page on the ikiwiki
+consider contributing it to the [[!iki shortcuts]] page on the ikiwiki
ikiwiki, so that future versions of ikiwiki will include your shortcut
in the standard underlay.
# Local stuff
-* [[shortcut name=source_gnumach-1-branch url="http://cvs.savannah.gnu.org/viewvc/gnumach/%S?view=log&root=hurd&pathrev=gnumach-1-branch"]]
-* [[shortcut name=GNU_Savannah_bug url="http://savannah.gnu.org/bugs/?%s" desc="GNU Savannah bug #%s"]]
-* [[shortcut name=GNU_Savannah_patch url="http://savannah.gnu.org/patch/?%s" desc="GNU Savannah patch #%s"]]
-* [[shortcut name=GNU_Savannah_task url="http://savannah.gnu.org/task/?%s" desc="GNU Savannah task #%s"]]
+* [[!shortcut name=source_gnumach-1-branch url="http://cvs.savannah.gnu.org/viewvc/gnumach/%S?view=log&root=hurd&pathrev=gnumach-1-branch"]]
+* [[!shortcut name=GNU_Savannah_bug url="http://savannah.gnu.org/bugs/?%s" desc="GNU Savannah bug #%s"]]
+* [[!shortcut name=GNU_Savannah_patch url="http://savannah.gnu.org/patch/?%s" desc="GNU Savannah patch #%s"]]
+* [[!shortcut name=GNU_Savannah_task url="http://savannah.gnu.org/task/?%s" desc="GNU Savannah task #%s"]]
diff --git a/sidebar.mdwn b/sidebar.mdwn
index 85596be8..89df4b54 100644
--- a/sidebar.mdwn
+++ b/sidebar.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-Welcome to... [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU
+Welcome to... [[!img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU
Hurd!
* **[[Home|/index]]**
@@ -18,13 +18,13 @@ Hurd!
---
- * **[[Hurd]]**[[if test="destpage(hurd*)" then="
+ * **[[Hurd]]**[[!if test="destpage(hurd*)" then="
* *[[Hurd/Documentation]]*
* *[[hurd/Running]]*"]]
- * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then="
+ * **[[microkernel/Mach]]**[[!if test="destpage(microkernel/mach*)" then="
* *[[microkernel/mach/Documentation]]*
* *[[GNU_Mach|microkernel/mach/gnumach]]*"]]
- * *[[microkernel/mach/MIG]]*[[if test="destpage(microkernel/mach/mig*)" then="
+ * *[[microkernel/mach/MIG]]*[[!if test="destpage(microkernel/mach/mig*)" then="
* [[microkernel/mach/mig/GNU_MIG]]"]]
---
diff --git a/tcb.mdwn b/tcb.mdwn
index d321a954..9b117fae 100644
--- a/tcb.mdwn
+++ b/tcb.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/trackers.mdwn b/trackers.mdwn
index c47daf9a..028117ef 100644
--- a/trackers.mdwn
+++ b/trackers.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/trust.mdwn b/trust.mdwn
index f0d29a9c..f0fe0cb7 100644
--- a/trust.mdwn
+++ b/trust.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/unix.mdwn b/unix.mdwn
index b313010a..96c46caf 100644
--- a/unix.mdwn
+++ b/unix.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -10,7 +10,7 @@ is included in the section entitled
# External
- * Wikipedia page about [[wikipedia UNIX]].
+ * Wikipedia page about [[!wikipedia UNIX]].
* [*Standardizing
UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an
diff --git a/user/flaviocruz.mdwn b/user/flaviocruz.mdwn
index 9c9af71d..450c2754 100644
--- a/user/flaviocruz.mdwn
+++ b/user/flaviocruz.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/user/madhusudancs.mdwn b/user/madhusudancs.mdwn
index 1139c718..382f988a 100644
--- a/user/madhusudancs.mdwn
+++ b/user/madhusudancs.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -10,7 +10,7 @@ is included in the section entitled
[[!meta title="GNU/Linux compatible procfs"]]
-[[!toc ]]
+[[!toc]]
----
Project Name
diff --git a/user/scolobb.mdwn b/user/scolobb.mdwn
index 2de8eb4f..8cf47568 100644
--- a/user/scolobb.mdwn
+++ b/user/scolobb.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/user/tschwinge.mdwn b/user/tschwinge.mdwn
index b72f26f5..5ffa6fd8 100644
--- a/user/tschwinge.mdwn
+++ b/user/tschwinge.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -8,7 +8,7 @@ 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 title="Thomas Schwinge"]]
+[[!meta title="Thomas Schwinge"]]
diff --git a/user/vincentvikram.mdwn b/user/vincentvikram.mdwn
index 847325e2..8927bd4e 100644
--- a/user/vincentvikram.mdwn
+++ b/user/vincentvikram.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/user/zhengda/howto.mdwn b/user/zhengda/howto.mdwn
index ed13acc2..cea3cf0b 100644
--- a/user/zhengda/howto.mdwn
+++ b/user/zhengda/howto.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
diff --git a/virtualization.mdwn b/virtualization.mdwn
index 88f95328..325340b0 100644
--- a/virtualization.mdwn
+++ b/virtualization.mdwn
@@ -1,6 +1,6 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+[[!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
@@ -10,7 +10,7 @@ is included in the section entitled
# External
- * Wikipedia page about [[wikipedia Virtualization]].
+ * Wikipedia page about [[!wikipedia Virtualization]].
# See Also
--
cgit v1.2.3
From 1fbfe2b1102476b0c5a91bfd940ac8ad89a6f81b Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Mon, 18 May 2009 16:44:06 +0200
Subject: Simplify some links.
---
abac.mdwn | 2 +-
asbestos.mdwn | 2 +-
asking_questions.mdwn | 2 +-
binutils.mdwn | 2 +-
capability.mdwn | 2 +-
colophon.mdwn | 2 +-
colophon/about_the_twiki_to_ikiwiki_conversion.mdwn | 2 +-
community.mdwn | 2 +-
community/communication.mdwn | 8 ++++----
community/facebook.mdwn | 2 +-
community/gsoc.mdwn | 2 +-
community/gsoc/2008.mdwn | 2 +-
community/gsoc/2008/minutes-2008-04-25.mdwn | 2 +-
community/gsoc/2008/minutes-2008-05-02.mdwn | 2 +-
community/gsoc/2008/minutes-2008-05-16.mdwn | 2 +-
community/gsoc/organization_application.mdwn | 2 +-
community/gsoc/project_ideas.mdwn | 4 ++--
community/gsoc/project_ideas/cdparanoia.mdwn | 2 +-
community/gsoc/project_ideas/debian_installer.mdwn | 2 +-
community/gsoc/project_ideas/disk_io_performance.mdwn | 2 +-
community/gsoc/project_ideas/download_backends.mdwn | 2 +-
community/gsoc/project_ideas/driver_glue_code.mdwn | 2 +-
community/gsoc/project_ideas/dtrace.mdwn | 2 +-
community/gsoc/project_ideas/file_locking.mdwn | 2 +-
community/gsoc/project_ideas/gnat.mdwn | 2 +-
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 2 +-
community/gsoc/project_ideas/hardware_libs.mdwn | 2 +-
community/gsoc/project_ideas/language_bindings.mdwn | 2 +-
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 2 +-
community/gsoc/project_ideas/libcap.mdwn | 2 +-
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 2 +-
community/gsoc/project_ideas/libgtop.mdwn | 2 +-
community/gsoc/project_ideas/maxpath.mdwn | 2 +-
community/gsoc/project_ideas/mtab.mdwn | 2 +-
.../gsoc/project_ideas/namespace-based_translator_selection.mdwn | 2 +-
community/gsoc/project_ideas/nfs.mdwn | 2 +-
community/gsoc/project_ideas/package_manager.mdwn | 2 +-
community/gsoc/project_ideas/perl.mdwn | 2 +-
community/gsoc/project_ideas/procfs.mdwn | 2 +-
community/gsoc/project_ideas/pthreads.mdwn | 2 +-
community/gsoc/project_ideas/secure_chroot.mdwn | 2 +-
community/gsoc/project_ideas/server_overriding.mdwn | 2 +-
community/gsoc/project_ideas/sound.mdwn | 2 +-
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 2 +-
community/gsoc/project_ideas/tmpfs.mdwn | 2 +-
community/gsoc/project_ideas/unionfs_boot.mdwn | 2 +-
community/gsoc/project_ideas/unionmount.mdwn | 2 +-
community/gsoc/project_ideas/virtualization.mdwn | 2 +-
community/gsoc/project_ideas/vm_tuning.mdwn | 2 +-
community/gsoc/project_ideas/xattr.mdwn | 2 +-
community/gsoc/project_ideas/xmlfs.mdwn | 2 +-
community/gsoc/student_application_form.mdwn | 4 ++--
community/gsoc/xorg_ideas.mdwn | 2 +-
community/meetings.mdwn | 2 +-
community/meetings/eurosys_2009.mdwn | 2 +-
community/meetings/fosdem_2005.mdwn | 2 +-
community/meetings/fosdem_2006.mdwn | 2 +-
community/meetings/fosdem_2007.mdwn | 2 +-
community/meetings/fosdem_2008.mdwn | 2 +-
community/meetings/rmll_2006.mdwn | 2 +-
community/meetings/self-organised.mdwn | 2 +-
community/meetings/stesie_2007-10-12.mdwn | 2 +-
community/weblogs.mdwn | 2 +-
community/weblogs/ArneBab.mdwn | 2 +-
.../ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn | 2 +-
config_edittemplate.mdwn | 2 +-
config_edittemplate/regular_page.mdwn | 2 +-
confused_deputy.mdwn | 2 +-
contact_us.mdwn | 4 ++--
contributing.mdwn | 4 ++--
contributing/questionnaire.mdwn | 4 ++--
contributing/web_pages.mdwn | 2 +-
designation.mdwn | 2 +-
destructive_interference.mdwn | 2 +-
documentation.mdwn | 2 +-
donate.mdwn | 2 +-
emulation.mdwn | 2 +-
extensibility.mdwn | 2 +-
gcc.mdwn | 2 +-
gdb.mdwn | 2 +-
gdb/backtrace.mdwn | 2 +-
getting_help.mdwn | 2 +-
glibc.mdwn | 2 +-
hurd.mdwn | 2 +-
hurd/advantages.mdwn | 2 +-
hurd/authentication.mdwn | 2 +-
hurd/binutils.mdwn | 2 +-
hurd/building/cross-compiling.mdwn | 2 +-
hurd/building/cross-compiling/discussion.mdwn | 2 +-
hurd/building/example.mdwn | 2 +-
hurd/concepts.mdwn | 2 +-
hurd/critique.mdwn | 2 +-
hurd/debugging.mdwn | 2 +-
hurd/debugging/gdb.mdwn | 2 +-
hurd/debugging/gdb/noninvasive_debugging.mdwn | 2 +-
hurd/debugging/glibc.mdwn | 2 +-
hurd/debugging/rpctrace.mdwn | 2 +-
hurd/debugging/translator.mdwn | 2 +-
hurd/debugging/translator/capturing_stdout_and_stderr.mdwn | 2 +-
hurd/debugging/translator/gdb.mdwn | 2 +-
hurd/documentation.mdwn | 2 +-
hurd/faq.mdwn | 2 +-
hurd/faq/old-stuff.mdwn | 2 +-
hurd/faq/old_faq.txt | 2 +-
hurd/faq/release.mdwn | 2 +-
hurd/faq/slash_usr_symlink.mdwn | 2 +-
hurd/gcc.mdwn | 2 +-
hurd/glibc.mdwn | 2 +-
hurd/glibc/hurd-specific_api.mdwn | 2 +-
hurd/history.mdwn | 2 +-
hurd/history/port_to_l4.mdwn | 8 ++++----
hurd/hurd_hacking_guide.mdwn | 2 +-
hurd/io_path.mdwn | 2 +-
hurd/libchannel.mdwn | 2 +-
hurd/libhello_example.mdwn | 2 +-
hurd/libnetfs.mdwn | 2 +-
hurd/libpager.mdwn | 2 +-
hurd/libstore.mdwn | 2 +-
hurd/logo.mdwn | 2 +-
hurd/neighborhurd.mdwn | 2 +-
hurd/networking.mdwn | 2 +-
hurd/ng/issues_with_mach.mdwn | 2 +-
hurd/ng/limitations_of_the_original_hurd_design.mdwn | 2 +-
hurd/ng/position_paper.mdwn | 2 +-
hurd/open_issues.mdwn | 2 +-
hurd/open_issues/cvs_tasks_file.mdwn | 2 +-
hurd/open_issues/cvs_todo_file.mdwn | 2 +-
hurd/open_issues/gdb_non-stop_mode.mdwn | 2 +-
hurd/open_issues/gdb_pending_execs.mdwn | 2 +-
hurd/open_issues/gdb_thread_ids.mdwn | 2 +-
hurd/open_issues/libfshelp_in_hurdlibs.mdwn | 2 +-
hurd/open_issues/some_todo_list.mdwn | 2 +-
hurd/open_issues/wrong_reply_message_id.mdwn | 2 +-
hurd/porting.mdwn | 2 +-
hurd/porting/guidelines.mdwn | 4 ++--
hurd/porting/system_api_limitations.mdwn | 2 +-
hurd/reference_manual.mdwn | 2 +-
hurd/running.mdwn | 2 +-
hurd/running/debian/DebianAptOffline.mdwn | 2 +-
hurd/running/debian/creating_image_tarball.mdwn | 2 +-
hurd/running/debian/faq.mdwn | 2 +-
hurd/running/debian/faq/2_gib_partition_limit.mdwn | 2 +-
hurd/running/debian/faq/512_mib_ram_limit.mdwn | 2 +-
hurd/running/debian/faq/apt_umount.mdwn | 2 +-
hurd/running/debian/faq/bad_hypermeta_data.mdwn | 2 +-
hurd/running/debian/faq/debugging_inside_glibc.mdwn | 2 +-
hurd/running/debian/faq/debugging_translators.mdwn | 2 +-
hurd/running/debian/faq/dev_random.mdwn | 2 +-
hurd/running/debian/faq/df.mdwn | 2 +-
hurd/running/debian/faq/free_memory.mdwn | 2 +-
hurd/running/debian/faq/hurd_console.mdwn | 2 +-
hurd/running/debian/faq/kernel_logs.mdwn | 2 +-
hurd/running/debian/faq/other_repositories.mdwn | 2 +-
hurd/running/debian/faq/ps_hangs.mdwn | 2 +-
hurd/running/debian/faq/reporting_bugs.mdwn | 2 +-
hurd/running/debian/faq/sata_disk_drives.mdwn | 2 +-
hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn | 2 +-
hurd/running/debian/faq/xserver-common.mdwn | 2 +-
hurd/running/debian/patch_submission.mdwn | 2 +-
hurd/running/debian/porting.mdwn | 2 +-
hurd/running/debian/porting/adduser.mdwn | 2 +-
hurd/running/debian/porting/gcc.mdwn | 2 +-
hurd/running/debian/porting/gcc/c++.mdwn | 2 +-
hurd/running/debian/porting/gcc/libmudflap.mdwn | 2 +-
hurd/running/debian/porting/git-core-2.mdwn | 2 +-
hurd/running/debian/porting/git-core.mdwn | 2 +-
hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn | 2 +-
hurd/running/debian/porting/pth.mdwn | 2 +-
hurd/running/debian/porting/runit.mdwn | 2 +-
hurd/running/debian/porting/socat.mdwn | 2 +-
hurd/running/gnu/create_an_image.mdwn | 2 +-
hurd/running/gnu/setup.mdwn | 2 +-
hurd/running/gnu/universal_package_manager.mdwn | 2 +-
hurd/running/qemu/microsoft_windows.mdwn | 2 +-
hurd/running/qemu/networking.mdwn | 2 +-
hurd/running/qemu/networking/sharing_files.mdwn | 2 +-
hurd/running/vmware.mdwn | 2 +-
hurd/running/vmware/discussion.mdwn | 2 +-
hurd/settrans.mdwn | 2 +-
hurd/status.mdwn | 2 +-
hurd/subhurd.mdwn | 2 +-
hurd/subhurd/running_a_subhurd.mdwn | 2 +-
hurd/toolchain.mdwn | 2 +-
hurd/translator.mdwn | 2 +-
hurd/translator/auth.mdwn | 2 +-
hurd/translator/cvsfs.mdwn | 2 +-
hurd/translator/devfs.mdwn | 2 +-
hurd/translator/emailfs.mdwn | 2 +-
hurd/translator/examples.mdwn | 2 +-
hurd/translator/ext2fs.mdwn | 2 +-
hurd/translator/fatfs.mdwn | 2 +-
hurd/translator/magic.mdwn | 2 +-
hurd/translator/mboxfs.mdwn | 2 +-
hurd/translator/pfinet.mdwn | 2 +-
hurd/translator/pfinet/implementation.mdwn | 2 +-
hurd/translator/pfinet/ipv6.mdwn | 2 +-
hurd/translator/pflocal.mdwn | 2 +-
hurd/translator/procfs.mdwn | 2 +-
hurd/translator/procfs/htop.mdwn | 2 +-
hurd/translator/procfs/killall.mdwn | 2 +-
hurd/translator/procfs/procps.mdwn | 2 +-
hurd/translator/procfs/top.mdwn | 2 +-
hurd/translator/storeio.mdwn | 2 +-
hurd/translator/stowfs.mdwn | 2 +-
hurd/translator/tmpfs.mdwn | 2 +-
hurd/translator/tmpfs/notes_bing.mdwn | 2 +-
hurd/translator/tmpfs/notes_various.mdwn | 2 +-
hurd/translator/unionfs.mdwn | 2 +-
hurd/translator/wishlist_1.mdwn | 2 +-
hurd/translator/writing/example.mdwn | 2 +-
hurd/translator/xmlfs.mdwn | 2 +-
hurd/virtual_file_system.mdwn | 2 +-
hurd/virtualization.mdwn | 2 +-
hurd/what_is_the_gnu_hurd.mdwn | 2 +-
hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn | 2 +-
hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn | 2 +-
ibac.mdwn | 2 +-
idl.mdwn | 2 +-
index.mdwn | 6 +++---
index/discussion.mdwn | 2 +-
ipc.mdwn | 2 +-
irc.mdwn | 2 +-
isolation.mdwn | 2 +-
license.mdwn | 2 +-
liedtke.mdwn | 2 +-
mailing_lists.mdwn | 2 +-
mailing_lists/bug-hurd.mdwn | 2 +-
mailing_lists/debian-hurd.mdwn | 2 +-
mailing_lists/gnu-system-discuss.mdwn | 2 +-
mailing_lists/help-hurd.mdwn | 2 +-
mailing_lists/hurd-devel-readers.mdwn | 2 +-
mailing_lists/hurd-devel.mdwn | 2 +-
mailing_lists/l4-hurd.mdwn | 2 +-
mailing_lists/unmoderated.mdwn | 2 +-
mailing_lists/web-hurd.mdwn | 2 +-
mechanism.mdwn | 2 +-
microkernel.mdwn | 2 +-
microkernel/faq.mdwn | 2 +-
microkernel/faq/multiserver_microkernel.mdwn | 2 +-
microkernel/for_beginners.mdwn | 2 +-
microkernel/mach/documentation.mdwn | 2 +-
microkernel/mach/external_pager_mechanism.mdwn | 2 +-
microkernel/mach/gnumach.mdwn | 2 +-
microkernel/mach/gnumach/boot_trace.mdwn | 2 +-
microkernel/mach/gnumach/building/example.mdwn | 2 +-
microkernel/mach/gnumach/debugging.mdwn | 2 +-
microkernel/mach/gnumach/hardware_compatibility_list.mdwn | 2 +-
microkernel/mach/gnumach/open_issues.mdwn | 2 +-
.../mach/gnumach/open_issues/resource_management_problems.mdwn | 2 +-
microkernel/mach/gnumach/ports.mdwn | 2 +-
microkernel/mach/gnumach/ports/xen.mdwn | 2 +-
microkernel/mach/gnumach/ports/xen/internals.mdwn | 2 +-
microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn | 2 +-
microkernel/mach/gnumach/projects.mdwn | 4 ++--
microkernel/mach/gnumach/projects/clean_up_the_code.mdwn | 2 +-
microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 2 +-
microkernel/mach/gnumach/reference_manual.mdwn | 2 +-
microkernel/mach/ipc.mdwn | 2 +-
microkernel/mach/ipc/sequence_numbering.mdwn | 2 +-
microkernel/mach/mig.mdwn | 2 +-
microkernel/mach/mig/documentation.mdwn | 2 +-
microkernel/mach/mig/documentation/dealloc.mdwn | 2 +-
microkernel/mach/mig/documentation/servercopy.mdwn | 2 +-
microkernel/mach/mig/gnu_mig.mdwn | 2 +-
microkernel/mach/mig/gnu_mig/open_issues.mdwn | 2 +-
.../mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn | 2 +-
microkernel/mach/port.mdwn | 2 +-
microkernel/mach/rpc.mdwn | 2 +-
microkernel/viengoos.mdwn | 2 +-
microkernel/viengoos/building.mdwn | 2 +-
microkernel/viengoos/documentation.mdwn | 2 +-
microkernel/viengoos/hardware.mdwn | 2 +-
microkernel/viengoos/projects.mdwn | 2 +-
microkernel/viengoos/serial_port.mdwn | 2 +-
naming_context.mdwn | 2 +-
news.mdwn | 2 +-
news/2002-01-13.mdwn | 2 +-
news/2002-01-19.mdwn | 2 +-
news/2002-02-18.mdwn | 2 +-
news/2002-03-03.mdwn | 2 +-
news/2002-03-08.mdwn | 2 +-
news/2002-03-23.mdwn | 2 +-
news/2002-05-05.mdwn | 2 +-
news/2002-05-18.mdwn | 2 +-
news/2002-05-24.mdwn | 2 +-
news/2002-05-28.mdwn | 2 +-
news/2002-06-22.mdwn | 2 +-
news/2002-08-16.mdwn | 2 +-
news/2002-10-03.mdwn | 2 +-
news/2002-10-03_2.mdwn | 2 +-
news/2002-10-19.mdwn | 2 +-
news/2002-11-18.mdwn | 2 +-
news/2003-01-18.mdwn | 2 +-
news/2003-02-14.mdwn | 2 +-
news/2003-07-02.mdwn | 2 +-
news/2003-07-16.mdwn | 2 +-
news/2003-08-21.mdwn | 2 +-
news/2005-01-28.mdwn | 2 +-
news/2005-09-20.mdwn | 2 +-
news/2006-04-27.mdwn | 4 ++--
news/2007-01-07.mdwn | 2 +-
news/2007-01-14.mdwn | 2 +-
news/2007-03-14.mdwn | 4 ++--
news/2007-10-01.mdwn | 2 +-
news/2007-10-12.mdwn | 2 +-
news/2008-02-11.mdwn | 2 +-
news/2008-03-19.mdwn | 2 +-
news/2008-09-11.mdwn | 2 +-
news/2008-11-14.mdwn | 2 +-
news/2008-12-12.mdwn | 2 +-
news/2009-03-28.mdwn | 2 +-
open_issues.mdwn | 2 +-
open_issues/blkrrpart_ioctl.mdwn | 2 +-
persistency.mdwn | 2 +-
policy.mdwn | 2 +-
principal.mdwn | 2 +-
public_hurd_boxen.mdwn | 2 +-
qemu.mdwn | 2 +-
recent_changes.mdwn | 2 +-
rpc.mdwn | 2 +-
rules.mdwn | 2 +-
rules/savannah_group.mdwn | 4 ++--
rules/source_repositories.mdwn | 2 +-
security.mdwn | 2 +-
sfi.mdwn | 2 +-
sidebar.mdwn | 2 +-
tcb.mdwn | 2 +-
trackers.mdwn | 2 +-
trust.mdwn | 2 +-
unix.mdwn | 2 +-
unsorted/OskitMach.mdwn | 2 +-
unsorted/changelogs.html | 2 +-
user/flaviocruz.mdwn | 2 +-
user/madhusudancs.mdwn | 2 +-
user/scolobb.mdwn | 2 +-
user/tschwinge.mdwn | 2 +-
user/vincentvikram.mdwn | 2 +-
user/zhengda/howto.mdwn | 2 +-
virtualization.mdwn | 2 +-
339 files changed, 357 insertions(+), 357 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/abac.mdwn b/abac.mdwn
index bdf63a32..41de2062 100644
--- a/abac.mdwn
+++ b/abac.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
ABAC stands for authorization-based access control.
In this model, access is not granted based on the
diff --git a/asbestos.mdwn b/asbestos.mdwn
index fcbd8ecb..3990eec1 100644
--- a/asbestos.mdwn
+++ b/asbestos.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Asbestos is an operating system developed at MIT, Stanford
and UCLA to explore information flow control policies. The motivation
diff --git a/asking_questions.mdwn b/asking_questions.mdwn
index bb5c8ffb..2d43cbbe 100644
--- a/asking_questions.mdwn
+++ b/asking_questions.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Before asking a question, first make an effort to find the answer to your
question. A lot of questions have been asked and answered before, so please
diff --git a/binutils.mdwn b/binutils.mdwn
index 85791914..3ce28bb1 100644
--- a/binutils.mdwn
+++ b/binutils.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [GNU Binutils](http://www.gnu.org/software/binutils/).
diff --git a/capability.mdwn b/capability.mdwn
index c5ef0d1d..367ea163 100644
--- a/capability.mdwn
+++ b/capability.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A capability is a protected reference. It is a reference in that
it designates an object; it is protected in that in cannot be
diff --git a/colophon.mdwn b/colophon.mdwn
index 1afdd51a..a9a2952e 100644
--- a/colophon.mdwn
+++ b/colophon.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Just like a book, this topic is designed to help describe the tools used to
create this website and what methods were used to give it its look and feel.
diff --git a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
index d9443b17..0a1a5a00 100644
--- a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
+++ b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Some Quick Notes About the *TWiki to ikiwiki* Conversion
diff --git a/community.mdwn b/community.mdwn
index 9d8af0ec..17377890 100644
--- a/community.mdwn
+++ b/community.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
There is an expanding community of people developing and running test Debian
GNU/Hurd machines.
diff --git a/community/communication.mdwn b/community/communication.mdwn
index 0e56a77e..33941000 100644
--- a/community/communication.mdwn
+++ b/community/communication.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU Hurd community comprises of a crowd of people living in different areas
of the whole world. For that, having regular working-[[meetings]] -- usually
@@ -14,7 +14,7 @@ one of the more productive ways of coordination works -- is not easily
possible.
The two key resources most often used for communication are the Debian and GNU
-[[mailing_lists]], as well as [[IRC]].
+[[mailing lists]], as well as [[IRC]].
These are measures of communication that work (compared to, e.g., a one-to-one
telephone call) one-to-many. It is important to not send email only to a
@@ -31,10 +31,10 @@ discussing with single developers. And always use *reply to all* instead of
*reply* when answering to email.
If you're interested in keeping up with current events and taking part in
-discussions, you'll want to join the [[mailing_lists/bug-hurd]] mailing list or
+discussions, you'll want to join the [[mailing lists/bug-hurd]] mailing list or
have a look at its [archives](http://lists.gnu.org/archive/html/bug-hurd/).
Even if you're a beginner (we've also been, and some of us even still
remember), don't hesitate to make the first move and make active use of these
resources. But -- of course -- please try to adhere to the conventions as
-described on the [[mailing_lists]] and [[IRC]] pages.
+described on the [[mailing lists]] and [[IRC]] pages.
diff --git a/community/facebook.mdwn b/community/facebook.mdwn
index 31a27fec..27893cf9 100644
--- a/community/facebook.mdwn
+++ b/community/facebook.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
There is [a Facebook group for the Hurd](http://www.facebook.com/group.php?gid=5141429597). If you're on Facebook, join it and say hello.
diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn
index 506516bb..2719d2ab 100644
--- a/community/gsoc.mdwn
+++ b/community/gsoc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Google Summer of Code"]]
diff --git a/community/gsoc/2008.mdwn b/community/gsoc/2008.mdwn
index 31d45d05..d7b467bb 100644
--- a/community/gsoc/2008.mdwn
+++ b/community/gsoc/2008.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU Hurd project has successfully participated in the
[Google Summer of Code 2008](http://code.google.com/soc/2008/hurd/about.html)!
diff --git a/community/gsoc/2008/minutes-2008-04-25.mdwn b/community/gsoc/2008/minutes-2008-04-25.mdwn
index 0cb624f2..4c2039d4 100644
--- a/community/gsoc/2008/minutes-2008-04-25.mdwn
+++ b/community/gsoc/2008/minutes-2008-04-25.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
- People agreed that some small projects should be done to during the bonding
period: ideas that floated around were fixing some of the build failures or
diff --git a/community/gsoc/2008/minutes-2008-05-02.mdwn b/community/gsoc/2008/minutes-2008-05-02.mdwn
index f960ab06..1dc99abe 100644
--- a/community/gsoc/2008/minutes-2008-05-02.mdwn
+++ b/community/gsoc/2008/minutes-2008-05-02.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
- madrazr wanted a wiki to keep track of progress. antrik suggested:
http://www.bddebian.com/~wiki/community/gsoc/ and that everyone use
diff --git a/community/gsoc/2008/minutes-2008-05-16.mdwn b/community/gsoc/2008/minutes-2008-05-16.mdwn
index 0c848e8a..7e7da845 100644
--- a/community/gsoc/2008/minutes-2008-05-16.mdwn
+++ b/community/gsoc/2008/minutes-2008-05-16.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* **madrazr** said that web commits for the wiki stall forever (more than half an hour); the reason is unknown. **antrik** said that it is not much of a problem if the problems with git access are solved.
diff --git a/community/gsoc/organization_application.mdwn b/community/gsoc/organization_application.mdwn
index 946c225b..9fe3a420 100644
--- a/community/gsoc/organization_application.mdwn
+++ b/community/gsoc/organization_application.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* Link ID:
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index dede290f..32c8aed8 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -6,13 +6,13 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
We offer a wide range of possible projects to choose from. If you have an idea
not listed here, we'd love to hear about it!
In either case, we encourage you to contact us (on [[IRC]] and/or our developer
-[[mailing_lists]]), so we can discuss your idea, or help you pick a suitable
+[[mailing lists]]), so we can discuss your idea, or help you pick a suitable
task -- we will gladly explain the tasks in more detail, if the descriptions
are not clear enough.
diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn
index f13e19e6..a92329fe 100644
--- a/community/gsoc/project_ideas/cdparanoia.mdwn
+++ b/community/gsoc/project_ideas/cdparanoia.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Implement CD Audio Grabbing"]]
diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn
index 183f6708..ca10a61e 100644
--- a/community/gsoc/project_ideas/debian_installer.mdwn
+++ b/community/gsoc/project_ideas/debian_installer.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Port the Debian Installer to the Hurd"]]
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
index 9f361de9..bb047308 100644
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Disk I/O Performance Tuning"]]
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn
index 519d1195..749597a6 100644
--- a/community/gsoc/project_ideas/download_backends.mdwn
+++ b/community/gsoc/project_ideas/download_backends.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]]
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index b3c4c129..04efe202 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="New Driver Glue Code"]]
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
index 18fbe956..93c2a5f3 100644
--- a/community/gsoc/project_ideas/dtrace.mdwn
+++ b/community/gsoc/project_ideas/dtrace.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="dtrace Support"]]
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index 0c057639..b6b393f9 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Fix File Locking"]]
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
index b70ab3c6..b7f2ea62 100644
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Porting GNAT"]]
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index ecbbb200..e75c9d3e 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="GNU Mach Code Cleanup"]]
diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn
index 4a1fe73c..c30505cb 100644
--- a/community/gsoc/project_ideas/hardware_libs.mdwn
+++ b/community/gsoc/project_ideas/hardware_libs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Stub Implementations of Hardware Specific Libraries"]]
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index c247a8f8..bf75c805 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Bindings to Other Programming Languages"]]
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index e37bc71f..f0b8db7c 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Lexical .. Resolution"]]
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index 2745dc7e..10ca508e 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Implementing libcap"]]
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index d484b40b..2a08b387 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Fix libdiskfs Locking Issues"]]
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index c0f966c5..ef1b2bcb 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Porting libgtop"]]
diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn
index 6ece2dbf..5be8917f 100644
--- a/community/gsoc/project_ideas/maxpath.mdwn
+++ b/community/gsoc/project_ideas/maxpath.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Fixing Programs Using PATH_MAX et al Unconditionally"]]
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 39cde2dd..045533e6 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="mtab"]]
diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
index 79aad7a1..d40d73ac 100644
--- a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
+++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Namspace-based Translator Selection"]]
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index eeeda6f0..683287f7 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Improved NFS Implementation"]]
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index 4e544ed5..43e53f7c 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Hurdish Package Manager for the GNU System"]]
diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn
index 23420159..bfe1968e 100644
--- a/community/gsoc/project_ideas/perl.mdwn
+++ b/community/gsoc/project_ideas/perl.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Improving Perl Support"]]
diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn
index 8acfa228..85eec43c 100644
--- a/community/gsoc/project_ideas/procfs.mdwn
+++ b/community/gsoc/project_ideas/procfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="procfs"]]
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 0e677268..9c703d36 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Convert Hurd Libraries and Servers to pthreads"]]
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index e5848a0f..a433e8d1 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Secure chroot Implementation"]]
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index 66171313..42edf287 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Server Overriding Mechanism"]]
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
index 134c5b59..b92f76da 100644
--- a/community/gsoc/project_ideas/sound.mdwn
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Sound Support"]]
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index 7ca43152..b56bff51 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Hurdish TCP/IP Stack"]]
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index fcf8d96b..69adef0f 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Fix tmpfs"]]
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index 3692678f..a801290f 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Allow Using unionfs Early at Boot"]]
diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn
index f8fbc283..47a3d85d 100644
--- a/community/gsoc/project_ideas/unionmount.mdwn
+++ b/community/gsoc/project_ideas/unionmount.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Union Mounts"]]
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index 79c3ab29..c7403f70 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Virtualization Using Hurd Mechanisms"]]
diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn
index 8d6a15c3..9e802188 100644
--- a/community/gsoc/project_ideas/vm_tuning.mdwn
+++ b/community/gsoc/project_ideas/vm_tuning.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="VM Tuning"]]
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
index b5466091..55961547 100644
--- a/community/gsoc/project_ideas/xattr.mdwn
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Implement xattr Support"]]
diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn
index 5fd2cbe4..5e5eaa13 100644
--- a/community/gsoc/project_ideas/xmlfs.mdwn
+++ b/community/gsoc/project_ideas/xmlfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="xmlfs"]]
diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn
index e52387b6..84070cbf 100644
--- a/community/gsoc/student_application_form.mdwn
+++ b/community/gsoc/student_application_form.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Before we get to the actual application form, some important remarks about the
application process -- please read them carefully.
@@ -26,7 +26,7 @@ won't consider it.
One of the things we expect is that you contact us directly as soon as possible
(preferably even before you send the application form), on our developer
-[[mailing_lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC
+[[mailing lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC
in particular allows for very informal conversations.
(Note though that we are not all in the same time zone, and people generally
diff --git a/community/gsoc/xorg_ideas.mdwn b/community/gsoc/xorg_ideas.mdwn
index c125ee96..406d370d 100644
--- a/community/gsoc/xorg_ideas.mdwn
+++ b/community/gsoc/xorg_ideas.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## libpciaccess Support for GNU Hurd
diff --git a/community/meetings.mdwn b/community/meetings.mdwn
index 9a07e205..9c88418e 100644
--- a/community/meetings.mdwn
+++ b/community/meetings.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Meetings with Hurd developer attendance"]]
diff --git a/community/meetings/eurosys_2009.mdwn b/community/meetings/eurosys_2009.mdwn
index cc672f5e..24c2b112 100644
--- a/community/meetings/eurosys_2009.mdwn
+++ b/community/meetings/eurosys_2009.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="EuroSys 2009"]]
diff --git a/community/meetings/fosdem_2005.mdwn b/community/meetings/fosdem_2005.mdwn
index e19ff41d..8d7f459d 100644
--- a/community/meetings/fosdem_2005.mdwn
+++ b/community/meetings/fosdem_2005.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="FOSDEM 2005"]]
diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn
index 7f3cdcce..a869f262 100644
--- a/community/meetings/fosdem_2006.mdwn
+++ b/community/meetings/fosdem_2006.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="FOSDEM 2006"]]
diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn
index e8c37441..ab9fa413 100644
--- a/community/meetings/fosdem_2007.mdwn
+++ b/community/meetings/fosdem_2007.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="FOSDEM 2007"]]
diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn
index 5d641995..e9625fdf 100644
--- a/community/meetings/fosdem_2008.mdwn
+++ b/community/meetings/fosdem_2008.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="FOSDEM 2008"]]
diff --git a/community/meetings/rmll_2006.mdwn b/community/meetings/rmll_2006.mdwn
index ba0d8abf..0d82a2b1 100644
--- a/community/meetings/rmll_2006.mdwn
+++ b/community/meetings/rmll_2006.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="RMLL 2006"]]
diff --git a/community/meetings/self-organised.mdwn b/community/meetings/self-organised.mdwn
index 0c6f6c9f..1403c115 100644
--- a/community/meetings/self-organised.mdwn
+++ b/community/meetings/self-organised.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Self-organised meeting"]]
diff --git a/community/meetings/stesie_2007-10-12.mdwn b/community/meetings/stesie_2007-10-12.mdwn
index 737951ca..d59ceded 100644
--- a/community/meetings/stesie_2007-10-12.mdwn
+++ b/community/meetings/stesie_2007-10-12.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
On the weekend 2007-10-12 to 14 [[Stefan_Siegl|stesie]] invited Hurd people.
Colin Leitner and [[Thomas_Schwinge|tschwinge]] came, as well as novice
diff --git a/community/weblogs.mdwn b/community/weblogs.mdwn
index b3c38d00..50791549 100644
--- a/community/weblogs.mdwn
+++ b/community/weblogs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Weblogs from Hurd programmers and enthusiasts.
diff --git a/community/weblogs/ArneBab.mdwn b/community/weblogs/ArneBab.mdwn
index 350d97b0..4ef8a329 100644
--- a/community/weblogs/ArneBab.mdwn
+++ b/community/weblogs/ArneBab.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
I'm just a Hurd dabbler who likes the ideas behind the Hurd:
diff --git a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
index 89dfb22e..693168a4 100644
--- a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
+++ b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Yesterday I spent a few hours trying to get my german keyboard to let me use my umlauts (and to let me type without having to hunt down the right keys), but without much luck.
diff --git a/config_edittemplate.mdwn b/config_edittemplate.mdwn
index d8b17602..b3ff1431 100644
--- a/config_edittemplate.mdwn
+++ b/config_edittemplate.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This page exists purely for configuring the [[iki plugins/edittemplate]]
plugin.
diff --git a/config_edittemplate/regular_page.mdwn b/config_edittemplate/regular_page.mdwn
index a43067b3..dcce6438 100644
--- a/config_edittemplate/regular_page.mdwn
+++ b/config_edittemplate/regular_page.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this
line.
diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn
index d7767d17..92be6415 100644
--- a/confused_deputy.mdwn
+++ b/confused_deputy.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html)
problem was articulated by Norm Hardy. It is a possible consequence
diff --git a/contact_us.mdwn b/contact_us.mdwn
index 4c5f9c5d..2f483780 100644
--- a/contact_us.mdwn
+++ b/contact_us.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Community]] -- the community around GNU Hurd.
@@ -23,4 +23,4 @@ is included in the section entitled
If you have a concern you want to send to the Hurd maintainers without
writing to a public mailing list, then please send email to
. Please don't send general support requests or
- questions there, but instead use the [[mailing_lists]].
+ questions there, but instead use the [[mailing lists]].
diff --git a/contributing.mdwn b/contributing.mdwn
index 8c02a0fe..9e2396cf 100644
--- a/contributing.mdwn
+++ b/contributing.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
So, you are interested in contributing to the GNU Hurd project?
@@ -105,5 +105,5 @@ system nevertheless is a prerequisite. At least have a deep look at the
documentation pointers given in the previous section. Also read through the
[[HurdNG|hurd/ng]] section.
-Please send email to the [[mailing_lists/l4-hurd]] mailing list for discussing
+Please send email to the [[mailing lists/l4-hurd]] mailing list for discussing
this post-Mach system design.
diff --git a/contributing/questionnaire.mdwn b/contributing/questionnaire.mdwn
index 229e5c5e..bc548b64 100644
--- a/contributing/questionnaire.mdwn
+++ b/contributing/questionnaire.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
People often come to us and state that they'd like to help with the GNU/Hurd.
This is very good and very much encouraged: we're always looking for volunteers
@@ -42,4 +42,4 @@ items and spend some time thinking about those.
Every new contributor is very much encouraged to take some notes about these
-items and post them to *[[mailing_lists/bug-hurd]]*.
+items and post them to *[[mailing lists/bug-hurd]]*.
diff --git a/contributing/web_pages.mdwn b/contributing/web_pages.mdwn
index 9d5f0705..9a9cc54c 100644
--- a/contributing/web_pages.mdwn
+++ b/contributing/web_pages.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
(!) Some general hints first; they may sound very familiar from other software
projects:
diff --git a/designation.mdwn b/designation.mdwn
index e6074322..771d8e66 100644
--- a/designation.mdwn
+++ b/designation.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
To designate is to name.
diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn
index f6a2596b..1f468034 100644
--- a/destructive_interference.mdwn
+++ b/destructive_interference.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Interference can be destructive or non-destructive. When a [[principal]]
invokes an object (thereby requesting a service) and the implementation
diff --git a/documentation.mdwn b/documentation.mdwn
index 2c13792c..8559eff1 100644
--- a/documentation.mdwn
+++ b/documentation.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Documentation for...
diff --git a/donate.mdwn b/donate.mdwn
index f936007c..22b218c1 100644
--- a/donate.mdwn
+++ b/donate.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
If you feel like donating goods or money for the work the developers are doing,
then we're happy to confirm that this is indeed possible. Of course we'd
diff --git a/emulation.mdwn b/emulation.mdwn
index 93ce5e37..9e6a5e55 100644
--- a/emulation.mdwn
+++ b/emulation.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# External
diff --git a/extensibility.mdwn b/extensibility.mdwn
index 7fddd8b3..01b1f3b1 100644
--- a/extensibility.mdwn
+++ b/extensibility.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
An extensible system is one that enables extensibility. Enabling extensibility
means providing non-privileged mechanisms to extend existing objects and to
diff --git a/gcc.mdwn b/gcc.mdwn
index 32892968..c9dae96e 100644
--- a/gcc.mdwn
+++ b/gcc.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [GNU Compiler Collection](http://gcc.gnu.org/).
diff --git a/gdb.mdwn b/gdb.mdwn
index 94f156b3..5409a05d 100644
--- a/gdb.mdwn
+++ b/gdb.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/).
diff --git a/gdb/backtrace.mdwn b/gdb/backtrace.mdwn
index 07a66178..7411ad05 100644
--- a/gdb/backtrace.mdwn
+++ b/gdb/backtrace.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
When someone asks you to supply a backtrace (from a [[segmentation_fault]], for
example), here is roughly what you have to do.
diff --git a/getting_help.mdwn b/getting_help.mdwn
index 918877fe..92efabbe 100644
--- a/getting_help.mdwn
+++ b/getting_help.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Essential Documentation
diff --git a/glibc.mdwn b/glibc.mdwn
index f3b9460b..c7e5eeb7 100644
--- a/glibc.mdwn
+++ b/glibc.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [GNU C Library](http://www.gnu.org/software/libc/).
diff --git a/hurd.mdwn b/hurd.mdwn
index 91c64495..4b434a65 100644
--- a/hurd.mdwn
+++ b/hurd.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU Hurd is under active development. Because of that, there is no
*stable* version. We distribute the Hurd sources only through CVS at present.
diff --git a/hurd/advantages.mdwn b/hurd/advantages.mdwn
index b3742530..a181a942 100644
--- a/hurd/advantages.mdwn
+++ b/hurd/advantages.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Hurd is not the most advanced kernel known to the planet (yet),
but it does have a number of enticing features:
diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn
index 0780e54d..2d6084bf 100644
--- a/hurd/authentication.mdwn
+++ b/hurd/authentication.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
UIDs on the Hurd are separate from processes. A process has
[[capabilities|capability]] designating so-called UID vectors that
diff --git a/hurd/binutils.mdwn b/hurd/binutils.mdwn
index a46eef6b..76b0ae60 100644
--- a/hurd/binutils.mdwn
+++ b/hurd/binutils.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[General_information|/binutils]] about the binutils.
diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn
index c2861c3b..51b3abfc 100644
--- a/hurd/building/cross-compiling.mdwn
+++ b/hurd/building/cross-compiling.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# `cross-gnu`
diff --git a/hurd/building/cross-compiling/discussion.mdwn b/hurd/building/cross-compiling/discussion.mdwn
index 2c326d21..dbe317ad 100644
--- a/hurd/building/cross-compiling/discussion.mdwn
+++ b/hurd/building/cross-compiling/discussion.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
What happens if the external link goes down? Is there any way to store files
within the wiki itself? --[[vincentvikram]]
diff --git a/hurd/building/example.mdwn b/hurd/building/example.mdwn
index 57ddb313..bf31bf7e 100644
--- a/hurd/building/example.mdwn
+++ b/hurd/building/example.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
I checked out the source code on my Ubuntu GNU/Linux system connected to the
Internet using:
diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn
index 10739b80..e8183d79 100644
--- a/hurd/concepts.mdwn
+++ b/hurd/concepts.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Translator]]
* [[Virtual_File_System]]
diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn
index f4bff270..c432cc17 100644
--- a/hurd/critique.mdwn
+++ b/hurd/critique.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="A Critique of the GNU Hurd Multi-server Operating System"]]
diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn
index f71ff69a..36ab769a 100644
--- a/hurd/debugging.mdwn
+++ b/hurd/debugging.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Strategies
diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn
index f6fb9af5..1fede74f 100644
--- a/hurd/debugging/gdb.mdwn
+++ b/hurd/debugging/gdb.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [[GNU_debugger_*GDB*|/gdb]] works on GNU/Hurd
systems as it does on other system, but has some additional [hurd-specific
diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn
index bd732ca1..fa7a3c5b 100644
--- a/hurd/debugging/gdb/noninvasive_debugging.mdwn
+++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Sometimes using [[GDB]] on a [[system_server|translator]] can result in a [[deadlock]]. You
can however still use GDB by using the [`set
diff --git a/hurd/debugging/glibc.mdwn b/hurd/debugging/glibc.mdwn
index 064b7ab8..905dd0da 100644
--- a/hurd/debugging/glibc.mdwn
+++ b/hurd/debugging/glibc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Here are some hints about how to approach testing after nontrivial changes to
glibc have been done.
diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn
index 664e8601..63b72ee0 100644
--- a/hurd/debugging/rpctrace.mdwn
+++ b/hurd/debugging/rpctrace.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
*rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or
BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is
diff --git a/hurd/debugging/translator.mdwn b/hurd/debugging/translator.mdwn
index b3b9e95a..d439e17b 100644
--- a/hurd/debugging/translator.mdwn
+++ b/hurd/debugging/translator.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!inline
pages="hurd/debugging/translator/* and !*/discussion"
diff --git a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn
index 14c46d29..646738b1 100644
--- a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn
+++ b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Sometimes it may already be helpful to capture a translator's `stdout` and
`stderr`, for example like this:
diff --git a/hurd/debugging/translator/gdb.mdwn b/hurd/debugging/translator/gdb.mdwn
index ad9d87b0..82a50736 100644
--- a/hurd/debugging/translator/gdb.mdwn
+++ b/hurd/debugging/translator/gdb.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Say you want to try running file system server ([[`ext2fs`|translator/ext2fs]],
[[`jfs`|translator/jfs]], ...) against a modified version of
diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn
index ce8ae2e7..0d311758 100644
--- a/hurd/documentation.mdwn
+++ b/hurd/documentation.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Introductory Material
diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn
index 7b2023cc..be30e1b4 100644
--- a/hurd/faq.mdwn
+++ b/hurd/faq.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="GNU Hurd FAQ"]]
diff --git a/hurd/faq/old-stuff.mdwn b/hurd/faq/old-stuff.mdwn
index e4132d50..6968a894 100644
--- a/hurd/faq/old-stuff.mdwn
+++ b/hurd/faq/old-stuff.mdwn
@@ -1,6 +1,6 @@
In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.)
-If you still have problems, do not hesitate to make use of the [[mailing_lists]] or the [[IRC]].
+If you still have problems, do not hesitate to make use of the [[mailing lists]] or the [[IRC]].
* **_You say GNU, don't you mean GNU/Hurd?_**
* Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. Also see [[GNU/GnuNames]]
diff --git a/hurd/faq/old_faq.txt b/hurd/faq/old_faq.txt
index 4c7bb8e3..617d7661 100644
--- a/hurd/faq/old_faq.txt
+++ b/hurd/faq/old_faq.txt
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Frequently Asked Questions about the GNU Hurd
diff --git a/hurd/faq/release.mdwn b/hurd/faq/release.mdwn
index a1a4c10a..d80c6825 100644
--- a/hurd/faq/release.mdwn
+++ b/hurd/faq/release.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="When will the Hurd be released?"]]
diff --git a/hurd/faq/slash_usr_symlink.mdwn b/hurd/faq/slash_usr_symlink.mdwn
index f769b0b9..5c47f4e1 100644
--- a/hurd/faq/slash_usr_symlink.mdwn
+++ b/hurd/faq/slash_usr_symlink.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Why is `/usr' a symbolic link to `.'?"]]
diff --git a/hurd/gcc.mdwn b/hurd/gcc.mdwn
index 2aba090f..53b5e071 100644
--- a/hurd/gcc.mdwn
+++ b/hurd/gcc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[General_information|/gcc]] about the GCC.
diff --git a/hurd/glibc.mdwn b/hurd/glibc.mdwn
index 4a9fd0af..e975a239 100644
--- a/hurd/glibc.mdwn
+++ b/hurd/glibc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[General_information|/glibc]] about the glibc.
diff --git a/hurd/glibc/hurd-specific_api.mdwn b/hurd/glibc/hurd-specific_api.mdwn
index 740eb260..aeb63d91 100644
--- a/hurd/glibc/hurd-specific_api.mdwn
+++ b/hurd/glibc/hurd-specific_api.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Hurd-specific glibc API"]]
diff --git a/hurd/history.mdwn b/hurd/history.mdwn
index fbdb1bf5..18a1506f 100644
--- a/hurd/history.mdwn
+++ b/hurd/history.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Richard Stallman (RMS) started GNU in 1983, as a project to create a
complete free operating system. In the text of the GNU Manifesto, he
diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn
index e7524503..fdaeeffb 100644
--- a/hurd/history/port_to_l4.mdwn
+++ b/hurd/history/port_to_l4.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Porting the Hurd to L4: Hurd/L4"]]
@@ -16,7 +16,7 @@ There was an effort to port the Hurd from [[microkernel/Mach]] to the
The idea of using L4 as a [[microkernel]] for a [[Hurd_system|hurd]] was
initially voiced in the [[Hurd_community|community]] by Okuji Yoshinori, who,
-for discussing this purpose, created the [[mailing_lists/l4-hurd]] mailing list
+for discussing this purpose, created the [[mailing lists/l4-hurd]] mailing list
in November 2000.
The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield.
@@ -33,7 +33,7 @@ By now, the development of Hurd/L4 has stopped. However, Neal Walfield moved
on to working on a newly designed kernel called [[microkernel/viengoos]].
Over the years, a lot of discussion have been held on the
-[[mailing_lists/l4-hurd]] mailing list, which today is still the right place
+[[mailing lists/l4-hurd]] mailing list, which today is still the right place
for [[next-generation_Hurd|ng]] discussions.
Development of Hurd/L4 was done in the `hurd-l4` module of the Hurd CVS
@@ -94,7 +94,7 @@ explains:
> a number of security issues.
A lange number of discussion threads can be found in the archives of the
-[[mailing_lists/l4-hurd]] mailing list.
+[[mailing lists/l4-hurd]] mailing list.
> Hurd-NG, as we originally called it, was an attempt to articulate the system
> that we had come to envision in terms of interfaces and description of the
diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn
index b5dae04e..ea9aa259 100644
--- a/hurd/hurd_hacking_guide.mdwn
+++ b/hurd/hurd_hacking_guide.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Originally written by Wolfgang Jährling, the *Hurd Hacking Guide* contains an
introduction to GNU Hurd and GNU Mach programming, an overview of some of the
diff --git a/hurd/io_path.mdwn b/hurd/io_path.mdwn
index c4e104df..78e13efd 100644
--- a/hurd/io_path.mdwn
+++ b/hurd/io_path.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# read
diff --git a/hurd/libchannel.mdwn b/hurd/libchannel.mdwn
index ab126cf6..91c7810f 100644
--- a/hurd/libchannel.mdwn
+++ b/hurd/libchannel.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# libchannel
diff --git a/hurd/libhello_example.mdwn b/hurd/libhello_example.mdwn
index 6c10ec08..2c5490e2 100644
--- a/hurd/libhello_example.mdwn
+++ b/hurd/libhello_example.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Howto write a Hurd library
diff --git a/hurd/libnetfs.mdwn b/hurd/libnetfs.mdwn
index 589b4abd..fef6a8ef 100644
--- a/hurd/libnetfs.mdwn
+++ b/hurd/libnetfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
#libnetfs
diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn
index d3803d89..c9a1c0b6 100644
--- a/hurd/libpager.mdwn
+++ b/hurd/libpager.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Mach's [[microkernel/mach/external_pager_mechanism]].
diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn
index 577f9d0c..3d54a839 100644
--- a/hurd/libstore.mdwn
+++ b/hurd/libstore.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`libstore` is more than just a thin layer between
[[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the
diff --git a/hurd/logo.mdwn b/hurd/logo.mdwn
index 7b66ed9b..aae80561 100644
--- a/hurd/logo.mdwn
+++ b/hurd/logo.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The famous *Hurd Boxes* logo is available at
.
diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn
index a055ab70..5a66f992 100644
--- a/hurd/neighborhurd.mdwn
+++ b/hurd/neighborhurd.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
It is possible to run multiple instances of the Hurd
in parallel, on a single instance of Mach. Other than
diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn
index 9e1fbfa9..ff16eb25 100644
--- a/hurd/networking.mdwn
+++ b/hurd/networking.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
For each supported `PF_*` protocol family, there is a file `/servers/socket/N`
where `N` is the numberic value fo the `PF_*` symbol. Right now
diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn
index 59c49002..9785b08a 100644
--- a/hurd/ng/issues_with_mach.mdwn
+++ b/hurd/ng/issues_with_mach.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[microkernel/mach/gnumach/open_issues/Resource_management_problems]]
* [[Critique]]
diff --git a/hurd/ng/limitations_of_the_original_hurd_design.mdwn b/hurd/ng/limitations_of_the_original_hurd_design.mdwn
index a7133ce9..96d8912b 100644
--- a/hurd/ng/limitations_of_the_original_hurd_design.mdwn
+++ b/hurd/ng/limitations_of_the_original_hurd_design.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Critique]]
diff --git a/hurd/ng/position_paper.mdwn b/hurd/ng/position_paper.mdwn
index 16c99115..abc781da 100644
--- a/hurd/ng/position_paper.mdwn
+++ b/hurd/ng/position_paper.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Neal Walfield and Marcus Brinkmann wrote a paper titled [*Improving Usability
via Access Decomposition and Policy
diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn
index cc70fa83..3513c378 100644
--- a/hurd/open_issues.mdwn
+++ b/hurd/open_issues.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Open Issues"]]
diff --git a/hurd/open_issues/cvs_tasks_file.mdwn b/hurd/open_issues/cvs_tasks_file.mdwn
index d85b87fc..a2fbf619 100644
--- a/hurd/open_issues/cvs_tasks_file.mdwn
+++ b/hurd/open_issues/cvs_tasks_file.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The canonical [tasks
file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/tasks?rev=HEAD&content-type=text/plain)
diff --git a/hurd/open_issues/cvs_todo_file.mdwn b/hurd/open_issues/cvs_todo_file.mdwn
index 453f846b..c5e48979 100644
--- a/hurd/open_issues/cvs_todo_file.mdwn
+++ b/hurd/open_issues/cvs_todo_file.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The canonical [TODO
file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/TODO?rev=HEAD&content-type=text/plain)
diff --git a/hurd/open_issues/gdb_non-stop_mode.mdwn b/hurd/open_issues/gdb_non-stop_mode.mdwn
index 424afe17..199cb7ae 100644
--- a/hurd/open_issues/gdb_non-stop_mode.mdwn
+++ b/hurd/open_issues/gdb_non-stop_mode.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU GDB's `gnu-nat.c` doesn't support *non-stop* mode.
diff --git a/hurd/open_issues/gdb_pending_execs.mdwn b/hurd/open_issues/gdb_pending_execs.mdwn
index b31f183d..cf5cc705 100644
--- a/hurd/open_issues/gdb_pending_execs.mdwn
+++ b/hurd/open_issues/gdb_pending_execs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
:
diff --git a/hurd/open_issues/gdb_thread_ids.mdwn b/hurd/open_issues/gdb_thread_ids.mdwn
index 006399d4..8752e9d8 100644
--- a/hurd/open_issues/gdb_thread_ids.mdwn
+++ b/hurd/open_issues/gdb_thread_ids.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU GDB's Pedro Alves:
diff --git a/hurd/open_issues/libfshelp_in_hurdlibs.mdwn b/hurd/open_issues/libfshelp_in_hurdlibs.mdwn
index 78b641ca..d5b455a0 100644
--- a/hurd/open_issues/libfshelp_in_hurdlibs.mdwn
+++ b/hurd/open_issues/libfshelp_in_hurdlibs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[libtrivfs]] seems to use [[libfshelp]], but doesn't have it listed in
`HURDLIBS`. Should change that? Same for [[libnetfs]] and [[libdiskfs]]?
diff --git a/hurd/open_issues/some_todo_list.mdwn b/hurd/open_issues/some_todo_list.mdwn
index 77823128..88cbbe75 100644
--- a/hurd/open_issues/some_todo_list.mdwn
+++ b/hurd/open_issues/some_todo_list.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This todo is primarily targetted at the Hurd proper
and applications that rely on the Hurd interfaces.
diff --git a/hurd/open_issues/wrong_reply_message_id.mdwn b/hurd/open_issues/wrong_reply_message_id.mdwn
index 18161a97..552a5681 100644
--- a/hurd/open_issues/wrong_reply_message_id.mdwn
+++ b/hurd/open_issues/wrong_reply_message_id.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# settrans -P -a /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.10.61 -g 192.168.10.1 -m 255.255.255.0
Translator pid: 2289
diff --git a/hurd/porting.mdwn b/hurd/porting.mdwn
index fa0c55c8..c94572a4 100644
--- a/hurd/porting.mdwn
+++ b/hurd/porting.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Guidelines]]
* [[System_API_Limitations]]
diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn
index 59abb091..7dea771d 100644
--- a/hurd/porting/guidelines.mdwn
+++ b/hurd/porting/guidelines.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This is a compilation of common porting problems and their solutions.
@@ -19,7 +19,7 @@ information.
There is a separate page about [[System_API_Limitations]].
-You may ask on the [[mailing_lists/bug-hurd]] mailing list for details or
+You may ask on the [[mailing lists/bug-hurd]] mailing list for details or
questions about fixing bugs.
diff --git a/hurd/porting/system_api_limitations.mdwn b/hurd/porting/system_api_limitations.mdwn
index 6e70f1f8..06a6b382 100644
--- a/hurd/porting/system_api_limitations.mdwn
+++ b/hurd/porting/system_api_limitations.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Sometimes building or running a program will fail due to bugs in the system API
implementation (in [[glibc]] and the [[Hurd]]). Make sure you check this list
diff --git a/hurd/reference_manual.mdwn b/hurd/reference_manual.mdwn
index 4229e7fd..9337b784 100644
--- a/hurd/reference_manual.mdwn
+++ b/hurd/reference_manual.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
*The GNU Hurd Reference Manual* documents the architecture, the usage and the
programming of the GNU Hurd. At the moment, the manual is quite incomplete.
diff --git a/hurd/running.mdwn b/hurd/running.mdwn
index 9293bd9c..95dc024a 100644
--- a/hurd/running.mdwn
+++ b/hurd/running.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Distrib]] - Distributions based on the Hurd
* [[microkernel/mach/gnumach/ports/Xen]] - In Xen
diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn
index 249bfd86..9596040d 100644
--- a/hurd/running/debian/DebianAptOffline.mdwn
+++ b/hurd/running/debian/DebianAptOffline.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# How to Installing Packages without a Network Connection from your Hurd Installation
diff --git a/hurd/running/debian/creating_image_tarball.mdwn b/hurd/running/debian/creating_image_tarball.mdwn
index d7ad3ee6..ac91dab4 100644
--- a/hurd/running/debian/creating_image_tarball.mdwn
+++ b/hurd/running/debian/creating_image_tarball.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The following [[anonftpsync-ports]] is used to create a local Debian GNU/Hurd
repo. You will need atleast 12G of disk space. Change the
diff --git a/hurd/running/debian/faq.mdwn b/hurd/running/debian/faq.mdwn
index 4e61e353..4966456a 100644
--- a/hurd/running/debian/faq.mdwn
+++ b/hurd/running/debian/faq.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Debian GNU/Hurd FAQ"]]
diff --git a/hurd/running/debian/faq/2_gib_partition_limit.mdwn b/hurd/running/debian/faq/2_gib_partition_limit.mdwn
index e803fefb..195191cb 100644
--- a/hurd/running/debian/faq/2_gib_partition_limit.mdwn
+++ b/hurd/running/debian/faq/2_gib_partition_limit.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="2 GiB Partition Limit"]]
diff --git a/hurd/running/debian/faq/512_mib_ram_limit.mdwn b/hurd/running/debian/faq/512_mib_ram_limit.mdwn
index 1c023941..90c16a69 100644
--- a/hurd/running/debian/faq/512_mib_ram_limit.mdwn
+++ b/hurd/running/debian/faq/512_mib_ram_limit.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="512 MiB RAM Limit"]]
diff --git a/hurd/running/debian/faq/apt_umount.mdwn b/hurd/running/debian/faq/apt_umount.mdwn
index b48452b9..f2889f3e 100644
--- a/hurd/running/debian/faq/apt_umount.mdwn
+++ b/hurd/running/debian/faq/apt_umount.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="apt: unmount cdroms"]]
diff --git a/hurd/running/debian/faq/bad_hypermeta_data.mdwn b/hurd/running/debian/faq/bad_hypermeta_data.mdwn
index 4d79bad5..bc960e30 100644
--- a/hurd/running/debian/faq/bad_hypermeta_data.mdwn
+++ b/hurd/running/debian/faq/bad_hypermeta_data.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
If you get the error `bad hypermeta data` when trying to mount an ext3
partition from GNU/Linux, that is usually because the file system has not been
diff --git a/hurd/running/debian/faq/debugging_inside_glibc.mdwn b/hurd/running/debian/faq/debugging_inside_glibc.mdwn
index 30348844..91b71d64 100644
--- a/hurd/running/debian/faq/debugging_inside_glibc.mdwn
+++ b/hurd/running/debian/faq/debugging_inside_glibc.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
To get [[debugging]] information for glibc, you need to install the
`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging
diff --git a/hurd/running/debian/faq/debugging_translators.mdwn b/hurd/running/debian/faq/debugging_translators.mdwn
index e72ead91..d3aadec8 100644
--- a/hurd/running/debian/faq/debugging_translators.mdwn
+++ b/hurd/running/debian/faq/debugging_translators.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
In order to [[debug|debugging]] translators and being able to step into glibc
during it, you need the `hurd-dbg` and `libc0.3-dbg` packages installed. Then
diff --git a/hurd/running/debian/faq/dev_random.mdwn b/hurd/running/debian/faq/dev_random.mdwn
index d39a815d..3b5fdffe 100644
--- a/hurd/running/debian/faq/dev_random.mdwn
+++ b/hurd/running/debian/faq/dev_random.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="/dev/random"]]
diff --git a/hurd/running/debian/faq/df.mdwn b/hurd/running/debian/faq/df.mdwn
index 5b2256f4..4de232da 100644
--- a/hurd/running/debian/faq/df.mdwn
+++ b/hurd/running/debian/faq/df.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
There is no `/etc/mtab`, so just running `df` will yield an error. Pass `df` a
path like `df /` or `df ./` to see the disk usage of that particular file
diff --git a/hurd/running/debian/faq/free_memory.mdwn b/hurd/running/debian/faq/free_memory.mdwn
index 155a48c8..c1c0a83c 100644
--- a/hurd/running/debian/faq/free_memory.mdwn
+++ b/hurd/running/debian/faq/free_memory.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Run `vmstat` to see memory and swap usage.
diff --git a/hurd/running/debian/faq/hurd_console.mdwn b/hurd/running/debian/faq/hurd_console.mdwn
index ba7918b5..c4a619a1 100644
--- a/hurd/running/debian/faq/hurd_console.mdwn
+++ b/hurd/running/debian/faq/hurd_console.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on
bootup. See [[console]] for further information about the Hurd console.
diff --git a/hurd/running/debian/faq/kernel_logs.mdwn b/hurd/running/debian/faq/kernel_logs.mdwn
index e3a68be2..ff14ce5f 100644
--- a/hurd/running/debian/faq/kernel_logs.mdwn
+++ b/hurd/running/debian/faq/kernel_logs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root
and hit `ctrl+c` after a few seconds to catch the logs. You can do this only
diff --git a/hurd/running/debian/faq/other_repositories.mdwn b/hurd/running/debian/faq/other_repositories.mdwn
index 38407d07..88781d46 100644
--- a/hurd/running/debian/faq/other_repositories.mdwn
+++ b/hurd/running/debian/faq/other_repositories.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
If you want to use the `apt-get source` facility, make sure that
`/etc/apt/sources.list` contains a line like
diff --git a/hurd/running/debian/faq/ps_hangs.mdwn b/hurd/running/debian/faq/ps_hangs.mdwn
index 46c970b9..b5e35420 100644
--- a/hurd/running/debian/faq/ps_hangs.mdwn
+++ b/hurd/running/debian/faq/ps_hangs.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
If `ps` hangs, try `ps -M` which might still work.
diff --git a/hurd/running/debian/faq/reporting_bugs.mdwn b/hurd/running/debian/faq/reporting_bugs.mdwn
index 631f170c..40781ab0 100644
--- a/hurd/running/debian/faq/reporting_bugs.mdwn
+++ b/hurd/running/debian/faq/reporting_bugs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Please try to reproduce bugs which are not obviously Hurd-specific on Debian
GNU/Linux and then file them there.
diff --git a/hurd/running/debian/faq/sata_disk_drives.mdwn b/hurd/running/debian/faq/sata_disk_drives.mdwn
index 139ddd7f..dad10cb9 100644
--- a/hurd/running/debian/faq/sata_disk_drives.mdwn
+++ b/hurd/running/debian/faq/sata_disk_drives.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU Mach does not support SATA disk drives (/dev/sda etc. in GNU/Linux) natively, so using device:sd0s1 will not work, sd* devices are for SCSI drives only. The only way to get those drives to work is to put them into compatibility mode in the BIOS, if such an option exists. GNU Mach will then recognize them as hda etc.
diff --git a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn
index 8305cd79..517d59dc 100644
--- a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn
+++ b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Privilege seperation does not work with Hurd currently. You need to explicitely
set `PrivilegeSeparation` to `no` in `/etc/ssh/sshd_options`, just commenting out
diff --git a/hurd/running/debian/faq/xserver-common.mdwn b/hurd/running/debian/faq/xserver-common.mdwn
index bb80a815..09fbc902 100644
--- a/hurd/running/debian/faq/xserver-common.mdwn
+++ b/hurd/running/debian/faq/xserver-common.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
You need to run `dpkg-reconfigure xserver-common` and select `Anybody` for
starting X as there is no way to detect console users currently.
diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn
index b2c938f0..66348dd9 100644
--- a/hurd/running/debian/patch_submission.mdwn
+++ b/hurd/running/debian/patch_submission.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
If you fixed a Debian package which *FTBFS* (fails to build from source), you
should submit the patch so that all users can profit from your work.
diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn
index 546f325f..debe206b 100644
--- a/hurd/running/debian/porting.mdwn
+++ b/hurd/running/debian/porting.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Debian packages that need porting"]]
diff --git a/hurd/running/debian/porting/adduser.mdwn b/hurd/running/debian/porting/adduser.mdwn
index b4413526..72ed6dbf 100644
--- a/hurd/running/debian/porting/adduser.mdwn
+++ b/hurd/running/debian/porting/adduser.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`adduser` does work as expected, but what are these error messages?
diff --git a/hurd/running/debian/porting/gcc.mdwn b/hurd/running/debian/porting/gcc.mdwn
index 9f20193f..24fb6ec4 100644
--- a/hurd/running/debian/porting/gcc.mdwn
+++ b/hurd/running/debian/porting/gcc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
For GCC trunk:
diff --git a/hurd/running/debian/porting/gcc/c++.mdwn b/hurd/running/debian/porting/gcc/c++.mdwn
index 41566aa8..c8d67b29 100644
--- a/hurd/running/debian/porting/gcc/c++.mdwn
+++ b/hurd/running/debian/porting/gcc/c++.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!tag fixed_in_debian]]
diff --git a/hurd/running/debian/porting/gcc/libmudflap.mdwn b/hurd/running/debian/porting/gcc/libmudflap.mdwn
index 87d2061f..994b7782 100644
--- a/hurd/running/debian/porting/gcc/libmudflap.mdwn
+++ b/hurd/running/debian/porting/gcc/libmudflap.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Single-threaded use appears to work:
diff --git a/hurd/running/debian/porting/git-core-2.mdwn b/hurd/running/debian/porting/git-core-2.mdwn
index f5929548..837608f5 100644
--- a/hurd/running/debian/porting/git-core-2.mdwn
+++ b/hurd/running/debian/porting/git-core-2.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
On the otherwise-idle flubber:
diff --git a/hurd/running/debian/porting/git-core.mdwn b/hurd/running/debian/porting/git-core.mdwn
index f7dc450b..9e26d273 100644
--- a/hurd/running/debian/porting/git-core.mdwn
+++ b/hurd/running/debian/porting/git-core.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Depends on [[libdbd-sqlite3-perl]].
diff --git a/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn b/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn
index b2d3af69..2e6e7134 100644
--- a/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn
+++ b/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Does build, but has test-suite problems:
diff --git a/hurd/running/debian/porting/pth.mdwn b/hurd/running/debian/porting/pth.mdwn
index 66564c25..8ddabb24 100644
--- a/hurd/running/debian/porting/pth.mdwn
+++ b/hurd/running/debian/porting/pth.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
seems pth still doesn't work
Doesn't build or doesn't work?
diff --git a/hurd/running/debian/porting/runit.mdwn b/hurd/running/debian/porting/runit.mdwn
index 0605f48e..865c3b17 100644
--- a/hurd/running/debian/porting/runit.mdwn
+++ b/hurd/running/debian/porting/runit.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The `runit` package doesn't work, even its test suite doesn't finish.
diff --git a/hurd/running/debian/porting/socat.mdwn b/hurd/running/debian/porting/socat.mdwn
index 6d3b572a..280e75e1 100644
--- a/hurd/running/debian/porting/socat.mdwn
+++ b/hurd/running/debian/porting/socat.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`socat` needs porting. Some work has already been done in 2007, see
or contact
diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn
index f133ea1d..2cdb8e27 100644
--- a/hurd/running/gnu/create_an_image.mdwn
+++ b/hurd/running/gnu/create_an_image.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Creating a bootable qemu image from a root filesystem and bootloader
diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn
index 180b5320..57a19054 100644
--- a/hurd/running/gnu/setup.mdwn
+++ b/hurd/running/gnu/setup.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ...
diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn
index 89fe0e52..bb8ff693 100644
--- a/hurd/running/gnu/universal_package_manager.mdwn
+++ b/hurd/running/gnu/universal_package_manager.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Mission
diff --git a/hurd/running/qemu/microsoft_windows.mdwn b/hurd/running/qemu/microsoft_windows.mdwn
index 605d43e8..832b4bef 100644
--- a/hurd/running/qemu/microsoft_windows.mdwn
+++ b/hurd/running/qemu/microsoft_windows.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Welcome, This document is for getting you started in a few minutes.
diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn
index f896aa2e..71daa576 100644
--- a/hurd/running/qemu/networking.mdwn
+++ b/hurd/running/qemu/networking.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## User mode network
diff --git a/hurd/running/qemu/networking/sharing_files.mdwn b/hurd/running/qemu/networking/sharing_files.mdwn
index 77485569..5bdec5f1 100644
--- a/hurd/running/qemu/networking/sharing_files.mdwn
+++ b/hurd/running/qemu/networking/sharing_files.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# SCP
diff --git a/hurd/running/vmware.mdwn b/hurd/running/vmware.mdwn
index d0930bf0..1f99e247 100644
--- a/hurd/running/vmware.mdwn
+++ b/hurd/running/vmware.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Installation
diff --git a/hurd/running/vmware/discussion.mdwn b/hurd/running/vmware/discussion.mdwn
index b61efc84..2db08654 100644
--- a/hurd/running/vmware/discussion.mdwn
+++ b/hurd/running/vmware/discussion.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
I find that this is all quite quick to try and that I can run through the
./native-install and reboot cycle twice OK. However, at that point the
diff --git a/hurd/settrans.mdwn b/hurd/settrans.mdwn
index 008c73c5..5b381090 100644
--- a/hurd/settrans.mdwn
+++ b/hurd/settrans.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The `settrans` command is used to attach a [[translator]] (server) to a given
[[file_system_node|virtual_file_system]].
diff --git a/hurd/status.mdwn b/hurd/status.mdwn
index 84d16d3b..1122b703 100644
--- a/hurd/status.mdwn
+++ b/hurd/status.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Hurd, together with the GNU Mach microkernel, the GNU C Library
and the other GNU and non-GNU programs in the GNU system, provide a
diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn
index 6cb260d9..5b132604 100644
--- a/hurd/subhurd.mdwn
+++ b/hurd/subhurd.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some
resources provided by another Hurd. For instance, backing store and the
diff --git a/hurd/subhurd/running_a_subhurd.mdwn b/hurd/subhurd/running_a_subhurd.mdwn
index 4b98f8a2..f337108e 100644
--- a/hurd/subhurd/running_a_subhurd.mdwn
+++ b/hurd/subhurd/running_a_subhurd.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Running a Subhurd"]]
diff --git a/hurd/toolchain.mdwn b/hurd/toolchain.mdwn
index bc7048be..8b852089 100644
--- a/hurd/toolchain.mdwn
+++ b/hurd/toolchain.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[binutils]]
* [[GCC]]
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index e1597483..8f2f07b4 100644
--- a/hurd/translator.mdwn
+++ b/hurd/translator.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A translator is simply a normal program acting as
an object server and participating in the Hurd's
diff --git a/hurd/translator/auth.mdwn b/hurd/translator/auth.mdwn
index de47016e..d9e70ec2 100644
--- a/hurd/translator/auth.mdwn
+++ b/hurd/translator/auth.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[*The_Authentication_Server*|documentation/auth]], the transcript of a talk
about the details of the authentication mechanisms in the Hurd by Wolfgang
diff --git a/hurd/translator/cvsfs.mdwn b/hurd/translator/cvsfs.mdwn
index f4223b93..f5f1a9e0 100644
--- a/hurd/translator/cvsfs.mdwn
+++ b/hurd/translator/cvsfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Setting up cvsfs on GNU/Hurd - A step by step process
diff --git a/hurd/translator/devfs.mdwn b/hurd/translator/devfs.mdwn
index 1f8fcf53..27df23aa 100644
--- a/hurd/translator/devfs.mdwn
+++ b/hurd/translator/devfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`devfs` is a translator sitting on `/dev` and providing what is to be provided
in there in a dynamic fashion -- as compared to static passive translator
diff --git a/hurd/translator/emailfs.mdwn b/hurd/translator/emailfs.mdwn
index a54ff634..80e2b150 100644
--- a/hurd/translator/emailfs.mdwn
+++ b/hurd/translator/emailfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# How cool it would be if the email becomes similar to snail mail?
diff --git a/hurd/translator/examples.mdwn b/hurd/translator/examples.mdwn
index 5fccfd37..6319df77 100644
--- a/hurd/translator/examples.mdwn
+++ b/hurd/translator/examples.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Setting up translators - HowTo
diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn
index e226cea2..441fb00f 100644
--- a/hurd/translator/ext2fs.mdwn
+++ b/hurd/translator/ext2fs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The `ext2fs` translator from the upstream Hurd code base can only handle file
systems with sizes of less than roughly 2 GiB.
diff --git a/hurd/translator/fatfs.mdwn b/hurd/translator/fatfs.mdwn
index 733778b2..006fac0b 100644
--- a/hurd/translator/fatfs.mdwn
+++ b/hurd/translator/fatfs.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The current `fatfs` translator is read-only, and it has a severe bug:
[[!GNU_Savannah_bug 25961]].
diff --git a/hurd/translator/magic.mdwn b/hurd/translator/magic.mdwn
index 4d4b02b1..06ee798b 100644
--- a/hurd/translator/magic.mdwn
+++ b/hurd/translator/magic.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The magic translator provides `/dev/fd`.
diff --git a/hurd/translator/mboxfs.mdwn b/hurd/translator/mboxfs.mdwn
index e1c27bf0..e357294f 100644
--- a/hurd/translator/mboxfs.mdwn
+++ b/hurd/translator/mboxfs.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
diff --git a/hurd/translator/pfinet.mdwn b/hurd/translator/pfinet.mdwn
index 9cafcf69..cbe50b48 100644
--- a/hurd/translator/pfinet.mdwn
+++ b/hurd/translator/pfinet.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
To configure Internet connectivity, the `pfinet` (*Protocol Family Internet*)
[[translator]] must be configured. This is done using the
diff --git a/hurd/translator/pfinet/implementation.mdwn b/hurd/translator/pfinet/implementation.mdwn
index ce5e6b94..50b5dfc2 100644
--- a/hurd/translator/pfinet/implementation.mdwn
+++ b/hurd/translator/pfinet/implementation.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The `pfinet` server is a hacked Linux internet implementation with a glue layer
translating between the Hurd [[RPC]]s and the middle layer of the Linux
diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn
index b2601135..996ffd6d 100644
--- a/hurd/translator/pfinet/ipv6.mdwn
+++ b/hurd/translator/pfinet/ipv6.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]].
This was [Savannah task #5470](http://savannah.gnu.org/task/?5470).
diff --git a/hurd/translator/pflocal.mdwn b/hurd/translator/pflocal.mdwn
index 84074050..dc2434dc 100644
--- a/hurd/translator/pflocal.mdwn
+++ b/hurd/translator/pflocal.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The implementation of the `pflocal` server is in the `pflocal` directory, and
uses [[`libpipe`|libpipe]] (shared code with the [[named_pipe|fifo]]
diff --git a/hurd/translator/procfs.mdwn b/hurd/translator/procfs.mdwn
index 2284d8f9..404a6764 100644
--- a/hurd/translator/procfs.mdwn
+++ b/hurd/translator/procfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
diff --git a/hurd/translator/procfs/htop.mdwn b/hurd/translator/procfs/htop.mdwn
index bed9045c..ce38b92c 100644
--- a/hurd/translator/procfs/htop.mdwn
+++ b/hurd/translator/procfs/htop.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
open("/proc/stat", O_RDONLY) = 3
open("/proc/meminfo", O_RDONLY) = 3
diff --git a/hurd/translator/procfs/killall.mdwn b/hurd/translator/procfs/killall.mdwn
index 1f1a3dcc..3d31b51a 100644
--- a/hurd/translator/procfs/killall.mdwn
+++ b/hurd/translator/procfs/killall.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
open("/proc/stat", O_RDONLY) = 3
open("/proc/self/stat", O_RDONLY) = 3
diff --git a/hurd/translator/procfs/procps.mdwn b/hurd/translator/procfs/procps.mdwn
index 1f1a3dcc..3d31b51a 100644
--- a/hurd/translator/procfs/procps.mdwn
+++ b/hurd/translator/procfs/procps.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
open("/proc/stat", O_RDONLY) = 3
open("/proc/self/stat", O_RDONLY) = 3
diff --git a/hurd/translator/procfs/top.mdwn b/hurd/translator/procfs/top.mdwn
index a0d6a513..2cba78ad 100644
--- a/hurd/translator/procfs/top.mdwn
+++ b/hurd/translator/procfs/top.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
open("/proc/stat", O_RDONLY) = 3
open("/proc/sys/kernel/pid_max", O_RDONLY) = 3
diff --git a/hurd/translator/storeio.mdwn b/hurd/translator/storeio.mdwn
index d3ad7c4c..e4482e65 100644
--- a/hurd/translator/storeio.mdwn
+++ b/hurd/translator/storeio.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`storeio` is a *translator for devices and other stores*.
diff --git a/hurd/translator/stowfs.mdwn b/hurd/translator/stowfs.mdwn
index 31a73b13..9c88f1a3 100644
--- a/hurd/translator/stowfs.mdwn
+++ b/hurd/translator/stowfs.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=unionfs#stowfs]]
diff --git a/hurd/translator/tmpfs.mdwn b/hurd/translator/tmpfs.mdwn
index 49f02ae8..abd47c96 100644
--- a/hurd/translator/tmpfs.mdwn
+++ b/hurd/translator/tmpfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`tmpfs` is a file system server for temporary data storage without using a real
(permanent) [[backing_store]].
diff --git a/hurd/translator/tmpfs/notes_bing.mdwn b/hurd/translator/tmpfs/notes_bing.mdwn
index 81d2f362..b36fc1aa 100644
--- a/hurd/translator/tmpfs/notes_bing.mdwn
+++ b/hurd/translator/tmpfs/notes_bing.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
1. to run tmpfs as a regular user, /servers/default-pager must be executable by
that user. by default it seems to be set to read/write.
diff --git a/hurd/translator/tmpfs/notes_various.mdwn b/hurd/translator/tmpfs/notes_various.mdwn
index 72fa0765..3ec649e5 100644
--- a/hurd/translator/tmpfs/notes_various.mdwn
+++ b/hurd/translator/tmpfs/notes_various.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
hde: what's the status on tmpfs?
Broke
diff --git a/hurd/translator/unionfs.mdwn b/hurd/translator/unionfs.mdwn
index 28c9ff22..8a29d0f7 100644
--- a/hurd/translator/unionfs.mdwn
+++ b/hurd/translator/unionfs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
diff --git a/hurd/translator/wishlist_1.mdwn b/hurd/translator/wishlist_1.mdwn
index fa0f47cd..36290883 100644
--- a/hurd/translator/wishlist_1.mdwn
+++ b/hurd/translator/wishlist_1.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[devfs]]
diff --git a/hurd/translator/writing/example.mdwn b/hurd/translator/writing/example.mdwn
index 2b75d63a..0a3be4df 100644
--- a/hurd/translator/writing/example.mdwn
+++ b/hurd/translator/writing/example.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Data User-Server Translator Example
diff --git a/hurd/translator/xmlfs.mdwn b/hurd/translator/xmlfs.mdwn
index aa709839..769c43ce 100644
--- a/hurd/translator/xmlfs.mdwn
+++ b/hurd/translator/xmlfs.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn
index 738010cc..1e2f68fb 100644
--- a/hurd/virtual_file_system.mdwn
+++ b/hurd/virtual_file_system.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Path names are resolved using a distributed protocol.
No single entity is responsible for the resolution of
diff --git a/hurd/virtualization.mdwn b/hurd/virtualization.mdwn
index 3c6f19ea..42f83f77 100644
--- a/hurd/virtualization.mdwn
+++ b/hurd/virtualization.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Olaf Buddenhagen has written a text about how [[/virtualization]] is applicable
within Hurd systems:
diff --git a/hurd/what_is_the_gnu_hurd.mdwn b/hurd/what_is_the_gnu_hurd.mdwn
index 8a64d093..0b8f7ef6 100644
--- a/hurd/what_is_the_gnu_hurd.mdwn
+++ b/hurd/what_is_the_gnu_hurd.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="What Is the GNU Hurd?"]]
diff --git a/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn b/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn
index cb9beaa9..5905a19b 100644
--- a/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn
+++ b/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Grammatically speaking..."]]
diff --git a/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn b/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn
index 5e175592..51857e21 100644
--- a/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn
+++ b/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Origin of the Name"]]
diff --git a/ibac.mdwn b/ibac.mdwn
index b8d2606c..c1d46ba8 100644
--- a/ibac.mdwn
+++ b/ibac.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
IBAC stands for identity-based access control.
In this access control scheme, access to a resource
diff --git a/idl.mdwn b/idl.mdwn
index 2fa6f081..db58f789 100644
--- a/idl.mdwn
+++ b/idl.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
An IDL is an interface definition language. The most well-known is
CORBA. An IDL compiler takes a specification and generates stubs
diff --git a/index.mdwn b/index.mdwn
index 5481effe..960300c8 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
**What Is the GNU Hurd?**
The GNU Hurd is the GNU project's replacement for the Unix kernel.
@@ -59,7 +59,7 @@ Read about ways to contribute [[in_more_detail|contributing]].
There are a couple of different [[Hurd_FAQs|hurd/FAQ]].
There are a number of [[IRC_channels|IRC]] and several
-different [[mailing_lists]] with searchable archives.
+different [[mailing lists]] with searchable archives.
Before asking a question on a mailing list or on IRC, first, please try to
answer your own question using a search engine and reading the introductory
@@ -90,7 +90,7 @@ systems are currently mostly based on the [[Debian_GNU/Hurd|hurd/running/debian]
sponsored by the [Debian project](http://www.debian.org/).
Community resources for related projects focus around these pages,
-, the [[mailing_lists]] and the [[IRC_channels|IRC]].
+, the [[mailing lists]] and the [[IRC_channels|IRC]].
If you want to see the current discussions in the Hurd project, please have a look at
the [bug-hurd mailinglist archives](http://lists.gnu.org/pipermail/bug-hurd/).
diff --git a/index/discussion.mdwn b/index/discussion.mdwn
index 2dc542c5..f369ed35 100644
--- a/index/discussion.mdwn
+++ b/index/discussion.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# TODO
diff --git a/ipc.mdwn b/ipc.mdwn
index 108bb395..2f9cef2e 100644
--- a/ipc.mdwn
+++ b/ipc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
IPC stands for interprocess communication.
diff --git a/irc.mdwn b/irc.mdwn
index a53113f7..9d73311d 100644
--- a/irc.mdwn
+++ b/irc.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="IRC"]]
diff --git a/isolation.mdwn b/isolation.mdwn
index de3df43e..638085e6 100644
--- a/isolation.mdwn
+++ b/isolation.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
When two [[principal]]s cannot affect each other, they are said to
be isolated from one another. Strictly speaking, if two principals
diff --git a/license.mdwn b/license.mdwn
index 8fa57c98..0f7bf9bd 100644
--- a/license.mdwn
+++ b/license.mdwn
@@ -3,4 +3,4 @@ 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]]."]]
+included in the section entitled [[GNU Free Documentation License|/fdl]]."]]
diff --git a/liedtke.mdwn b/liedtke.mdwn
index bf8c5dc0..8a204a32 100644
--- a/liedtke.mdwn
+++ b/liedtke.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Liedtke is the father of [[microkernel/L4]].
diff --git a/mailing_lists.mdwn b/mailing_lists.mdwn
index 58f0017e..d64582b8 100644
--- a/mailing_lists.mdwn
+++ b/mailing_lists.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# On Posting
diff --git a/mailing_lists/bug-hurd.mdwn b/mailing_lists/bug-hurd.mdwn
index 66f49925..ee803d7d 100644
--- a/mailing_lists/bug-hurd.mdwn
+++ b/mailing_lists/bug-hurd.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#bug-hurd]]
diff --git a/mailing_lists/debian-hurd.mdwn b/mailing_lists/debian-hurd.mdwn
index 1cef9017..735e321b 100644
--- a/mailing_lists/debian-hurd.mdwn
+++ b/mailing_lists/debian-hurd.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#debian-hurd]]
diff --git a/mailing_lists/gnu-system-discuss.mdwn b/mailing_lists/gnu-system-discuss.mdwn
index 4d4ed429..d966e172 100644
--- a/mailing_lists/gnu-system-discuss.mdwn
+++ b/mailing_lists/gnu-system-discuss.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#gnu-system-discuss]]
diff --git a/mailing_lists/help-hurd.mdwn b/mailing_lists/help-hurd.mdwn
index 65eb8191..7e283561 100644
--- a/mailing_lists/help-hurd.mdwn
+++ b/mailing_lists/help-hurd.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#help-hurd]]
diff --git a/mailing_lists/hurd-devel-readers.mdwn b/mailing_lists/hurd-devel-readers.mdwn
index 4c8135fa..0476c501 100644
--- a/mailing_lists/hurd-devel-readers.mdwn
+++ b/mailing_lists/hurd-devel-readers.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#hurd-devel-readers]]
diff --git a/mailing_lists/hurd-devel.mdwn b/mailing_lists/hurd-devel.mdwn
index c0805b53..26ca1c33 100644
--- a/mailing_lists/hurd-devel.mdwn
+++ b/mailing_lists/hurd-devel.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#hurd-devel]]
diff --git a/mailing_lists/l4-hurd.mdwn b/mailing_lists/l4-hurd.mdwn
index 8c2527f0..493c38b6 100644
--- a/mailing_lists/l4-hurd.mdwn
+++ b/mailing_lists/l4-hurd.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#l4-hurd]]
diff --git a/mailing_lists/unmoderated.mdwn b/mailing_lists/unmoderated.mdwn
index afd2fe21..4bef130e 100644
--- a/mailing_lists/unmoderated.mdwn
+++ b/mailing_lists/unmoderated.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
In fact the lists *are* moderated for users that post from not-subscribed email
addresses. However, this moderation should be transparent to the poster, you
diff --git a/mailing_lists/web-hurd.mdwn b/mailing_lists/web-hurd.mdwn
index 2e09244f..f449205f 100644
--- a/mailing_lists/web-hurd.mdwn
+++ b/mailing_lists/web-hurd.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta redir=mailing_lists#web-hurd]]
diff --git a/mechanism.mdwn b/mechanism.mdwn
index 222fcd14..dddb234b 100644
--- a/mechanism.mdwn
+++ b/mechanism.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Collaborative International Dictionary of English v.0.48
defines a mechanism as:
diff --git a/microkernel.mdwn b/microkernel.mdwn
index 4a067ba1..e2d70c01 100644
--- a/microkernel.mdwn
+++ b/microkernel.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642)
that a microkernel attempts to minimize the mandatory part of the operating
diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn
index 4fb75103..a6c4f1f8 100644
--- a/microkernel/faq.mdwn
+++ b/microkernel/faq.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Microkernel FAQ"]]
diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn
index e42c4887..b16faa92 100644
--- a/microkernel/faq/multiserver_microkernel.mdwn
+++ b/microkernel/faq/multiserver_microkernel.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="What is a Multiserver Microkernel?"]]
diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn
index a901e827..ad50425e 100644
--- a/microkernel/for_beginners.mdwn
+++ b/microkernel/for_beginners.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Concepts
diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn
index f2a39f1c..3b12bfac 100644
--- a/microkernel/mach/documentation.mdwn
+++ b/microkernel/mach/documentation.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
- [Meet Mach](http://www.stepwise.com/Articles/Technical/MeetMach.html), a
summary of Mach's history and main concepts.
diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn
index 40bd3d4a..b175d1cc 100644
--- a/microkernel/mach/external_pager_mechanism.mdwn
+++ b/microkernel/mach/external_pager_mechanism.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Mach provides a so-called external pager [[mechanism]]. This
mechanism serves to separate *managing memory* from *managing
diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn
index abd53116..8c42d1e8 100644
--- a/microkernel/mach/gnumach.mdwn
+++ b/microkernel/mach/gnumach.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU Mach is the microkernel that the [[GNU_Hurd|hurd]] system is based on.
diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn
index bd3eb115..d33ef25a 100644
--- a/microkernel/mach/gnumach/boot_trace.mdwn
+++ b/microkernel/mach/gnumach/boot_trace.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
`if NCPUS > 1` stuff is not being considered so far.
diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn
index 25c8e1cc..7db98547 100644
--- a/microkernel/mach/gnumach/building/example.mdwn
+++ b/microkernel/mach/gnumach/building/example.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
## Compiling GNU Mach microkernel
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn
index 0867cbce..38cc7911 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnumach/debugging.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Mach has a built-in kernel debugger.
[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html).
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
index ae3d0ee1..2152c079 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
+++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# CPU Architecture
diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn
index 4323ac4b..2f601199 100644
--- a/microkernel/mach/gnumach/open_issues.mdwn
+++ b/microkernel/mach/gnumach/open_issues.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Open Issues"]]
diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
index 07c71568..96028896 100644
--- a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
+++ b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[Mach]] interfaces do not allow for proper resource accounting, when a server
allocates resources on behalf of a client.
diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn
index b25fbe60..a29b8651 100644
--- a/microkernel/mach/gnumach/ports.mdwn
+++ b/microkernel/mach/gnumach/ports.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* x86. This is the main port.
* [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state.
diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn
index 7391ea2e..a4c27c6a 100644
--- a/microkernel/mach/gnumach/ports/xen.mdwn
+++ b/microkernel/mach/gnumach/ports/xen.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!toc]]
diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn
index 8e46472d..eae9d9a8 100644
--- a/microkernel/mach/gnumach/ports/xen/internals.mdwn
+++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The port does use Xen's para-virtualized interface for device (ide, network,
etc.) access.
diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
index f3b0d205..52e6db87 100644
--- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
+++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!toc]]
diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn
index 8ef71e30..bd13802c 100644
--- a/microkernel/mach/gnumach/projects.mdwn
+++ b/microkernel/mach/gnumach/projects.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This page is a place to keep track of ideas about things that may be improved
in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both
@@ -15,7 +15,7 @@ in terms of stability and performance. If you find anything missing here,
please feel free to add a entry with a short description.
If you want to help with any of the task (thanks!), please send a mail to
-*[[mailing_lists/bug-hurd]]* stating what task you wish to work on,
+*[[mailing lists/bug-hurd]]* stating what task you wish to work on,
so that no duplicate efforts end up.
# Active Branches
diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
index 0038f00e..e865e61a 100644
--- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
+++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# Restructure the tree in a sane way
diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
index 43e65a2b..ef1b4909 100644
--- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
+++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
*
diff --git a/microkernel/mach/gnumach/reference_manual.mdwn b/microkernel/mach/gnumach/reference_manual.mdwn
index dab6423d..95d11517 100644
--- a/microkernel/mach/gnumach/reference_manual.mdwn
+++ b/microkernel/mach/gnumach/reference_manual.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
*The GNU Mach Reference Manual* documents the architecture, the usage and the
programming of the GNU Mach microkernel. At the moment, the manual documents
diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn
index 010b51c9..aaf3ba23 100644
--- a/microkernel/mach/ipc.mdwn
+++ b/microkernel/mach/ipc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[General_information|/ipc]] about IPC.
diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn
index ea5cf5fe..eb94d662 100644
--- a/microkernel/mach/ipc/sequence_numbering.mdwn
+++ b/microkernel/mach/ipc/sequence_numbering.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Mach's [[IPC]] mechanism allows for getting access to a message's sequence
number.
diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn
index 2bf81d59..4275a4b4 100644
--- a/microkernel/mach/mig.mdwn
+++ b/microkernel/mach/mig.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Mach Interface Generator (MIG) is an [[IDL]] compiler. Based on an
interface definition, it creates stubs to [[invoke]] object methods
diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn
index be0796e8..82d51a72 100644
--- a/microkernel/mach/mig/documentation.mdwn
+++ b/microkernel/mach/mig/documentation.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This is a small collection of links to external documents describing the *Mach
Interface Generator* used by GNU Mach.
diff --git a/microkernel/mach/mig/documentation/dealloc.mdwn b/microkernel/mach/mig/documentation/dealloc.mdwn
index 42f06613..b627b532 100644
--- a/microkernel/mach/mig/documentation/dealloc.mdwn
+++ b/microkernel/mach/mig/documentation/dealloc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The [[GNU_Mach_Reference_Manual|gnumach/reference_manual]] describes the
`dealloc` flag in [Chapter 4.2.4,
diff --git a/microkernel/mach/mig/documentation/servercopy.mdwn b/microkernel/mach/mig/documentation/servercopy.mdwn
index 00edf0f3..8abf9b07 100644
--- a/microkernel/mach/mig/documentation/servercopy.mdwn
+++ b/microkernel/mach/mig/documentation/servercopy.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
For IN args. If set it...
diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn
index b2a41bac..03ef0967 100644
--- a/microkernel/mach/mig/gnu_mig.mdwn
+++ b/microkernel/mach/mig/gnu_mig.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU MIG is the GNU distribution of the
[[Mach_3.0_interface_generator_*MIG*|mig]], as maintained by the GNU Hurd
diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
index ad440b40..33e6429a 100644
--- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Open Issues"]]
diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
index 27de1015..daace92e 100644
--- a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
E.g., both `/usr/include/hurd/process.h` and
`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion
diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn
index b3568c29..af4a0c8d 100644
--- a/microkernel/mach/port.mdwn
+++ b/microkernel/mach/port.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Mach ports are [[capabilities|capability]].
diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn
index 5508ea3c..72acfaa0 100644
--- a/microkernel/mach/rpc.mdwn
+++ b/microkernel/mach/rpc.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[General_information|/rpc]] about RPC.
diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn
index 95009142..d4edc929 100644
--- a/microkernel/viengoos.mdwn
+++ b/microkernel/viengoos.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
*viengoos* is a new kernel currently being designed and written by Neal
Walfield.
diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn
index b34188e2..536c21fa 100644
--- a/microkernel/viengoos/building.mdwn
+++ b/microkernel/viengoos/building.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Check out Viengoos and switch to the viengoos-on-bare-metal branch
(all development is currently done on this branch and it will
diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn
index ccce208b..52ff7a48 100644
--- a/microkernel/viengoos/documentation.mdwn
+++ b/microkernel/viengoos/documentation.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The most up-to-date documentation is in the source code itself, see in
particular the header files in the hurd directory.
diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn
index e5a2ddf5..aff70604 100644
--- a/microkernel/viengoos/hardware.mdwn
+++ b/microkernel/viengoos/hardware.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
I boot over the network using PXE.
diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn
index cbe39607..27dcc3e2 100644
--- a/microkernel/viengoos/projects.mdwn
+++ b/microkernel/viengoos/projects.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!tag open_issue_viengoos]]
diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn
index 01dd4050..14efcb9f 100644
--- a/microkernel/viengoos/serial_port.mdwn
+++ b/microkernel/viengoos/serial_port.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Viengoos can be configured to send output to the serial port (in fact,
this is the only configuration that I use). To talk to the serial
diff --git a/naming_context.mdwn b/naming_context.mdwn
index 28b2fabd..3a0751c0 100644
--- a/naming_context.mdwn
+++ b/naming_context.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Names are bindings to objects, however, to find an object
given a name, the relation must be looked up in a
diff --git a/news.mdwn b/news.mdwn
index c5c0a851..4511047c 100644
--- a/news.mdwn
+++ b/news.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!inline
pages="news/* and !*/discussion"
diff --git a/news/2002-01-13.mdwn b/news/2002-01-13.mdwn
index 06b62334..920c2593 100644
--- a/news/2002-01-13.mdwn
+++ b/news/2002-01-13.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
An
interview
diff --git a/news/2002-01-19.mdwn b/news/2002-01-19.mdwn
index 18fe6aab..c6923220 100644
--- a/news/2002-01-19.mdwn
+++ b/news/2002-01-19.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Toronto Hurd User Group meets: The University of Waterloo
Computer Science Club will be hosting a talk on the Hurd and the
diff --git a/news/2002-02-18.mdwn b/news/2002-02-18.mdwn
index b34c654a..e550a8f6 100644
--- a/news/2002-02-18.mdwn
+++ b/news/2002-02-18.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Pro-Linux has published a GNU/Hurd
diff --git a/news/2002-03-03.mdwn b/news/2002-03-03.mdwn
index 9a66a2f5..8b60ed9b 100644
--- a/news/2002-03-03.mdwn
+++ b/news/2002-03-03.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
There is a new mailing list called
diff --git a/news/2002-03-08.mdwn b/news/2002-03-08.mdwn
index c107dcfc..f64f04f1 100644
--- a/news/2002-03-08.mdwn
+++ b/news/2002-03-08.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
We are pleased to announce version 1.3 of the GNU distribution of the
Mach 3.0 interface generator `MIG'. It may be found in the file
diff --git a/news/2002-03-23.mdwn b/news/2002-03-23.mdwn
index 1936ca05..f3c12633 100644
--- a/news/2002-03-23.mdwn
+++ b/news/2002-03-23.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Added the [[hurd/Hurd_Hacking_Guide]] to the documentation section. Thanks to
Wolfgang Jährling for providing this introduction into GNU/Hurd and Mach
diff --git a/news/2002-05-05.mdwn b/news/2002-05-05.mdwn
index d5db172b..2b38863e 100644
--- a/news/2002-05-05.mdwn
+++ b/news/2002-05-05.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
We are currently finishing the transition from a stdio-based GNU C
Library (glibc) to a libio-based one. This is the result of about
diff --git a/news/2002-05-18.mdwn b/news/2002-05-18.mdwn
index e2cb9261..7017e410 100644
--- a/news/2002-05-18.mdwn
+++ b/news/2002-05-18.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The "Linux and Unix User Group Heilbronn" (in Germany) is organizing
a Debian GNU/Hurd Libre Software Meeting in
diff --git a/news/2002-08-16.mdwn b/news/2002-08-16.mdwn
index 69f42be4..9e70d686 100644
--- a/news/2002-08-16.mdwn
+++ b/news/2002-08-16.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The Hurd sources have stabilized again after a short period in
which some of the interfaces were changed to prepare support of long
diff --git a/news/2002-10-03.mdwn b/news/2002-10-03.mdwn
index 28ab527a..90f4da9f 100644
--- a/news/2002-10-03.mdwn
+++ b/news/2002-10-03.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A new article about [[the_authentication_server|hurd/documentation/auth]]
has been added to the web pages. It resembles the talk
diff --git a/news/2002-10-03_2.mdwn b/news/2002-10-03_2.mdwn
index 0dabd3b6..e08e2b3c 100644
--- a/news/2002-10-03_2.mdwn
+++ b/news/2002-10-03_2.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Marcus Brinkmann speaks about the GNU Hurd at "Reflections |
Projections 2002", the University of Waterloo
diff --git a/news/2003-02-14.mdwn b/news/2003-02-14.mdwn
index 89473575..2754d737 100644
--- a/news/2003-02-14.mdwn
+++ b/news/2003-02-14.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU/Hurd User's Guide
is now accessible through the Documentation
diff --git a/news/2003-07-02.mdwn b/news/2003-07-02.mdwn
index b5433eee..7e9634b7 100644
--- a/news/2003-07-02.mdwn
+++ b/news/2003-07-02.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The tarball for Debian GNU/Hurd that Marcus Brinkmann made over the
years has been discontinued in favour of Jeff Bailey's
diff --git a/news/2003-07-16.mdwn b/news/2003-07-16.mdwn
index af8c8b74..da1fc12a 100644
--- a/news/2003-07-16.mdwn
+++ b/news/2003-07-16.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
GNU/LinuxTag 2003 is now over and since there was a talk given about
the Hurd, a demo GNU/Hurd machine running and the sale of Hurd
diff --git a/news/2003-08-21.mdwn b/news/2003-08-21.mdwn
index 602ee2ef..fcd2adb8 100644
--- a/news/2003-08-21.mdwn
+++ b/news/2003-08-21.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Added a link to Patrick Strasser's the Hurd Source
diff --git a/news/2005-01-28.mdwn b/news/2005-01-28.mdwn
index 92056b38..3360fd3e 100644
--- a/news/2005-01-28.mdwn
+++ b/news/2005-01-28.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Marcus Brinkmann added
a small web page describing
diff --git a/news/2005-09-20.mdwn b/news/2005-09-20.mdwn
index 16424a8c..09e156eb 100644
--- a/news/2005-09-20.mdwn
+++ b/news/2005-09-20.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Material from the Operating System topic during
the Libre Software
diff --git a/news/2006-04-27.mdwn b/news/2006-04-27.mdwn
index d50fd272..9f99488a 100644
--- a/news/2006-04-27.mdwn
+++ b/news/2006-04-27.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU Hurd project will participate in this year's Google
Summer of Code, under the aegis of the GNU project.
@@ -14,7 +14,7 @@ Summer of Code, under the aegis of the GNU project.
The following is a list of items you might want to work on. If you want to
modify or extend these tasks or have your own ideas what to work on, please
feel invited to contact us on the
-[[bug-hurd_mailing_list|mailing_lists/bug-hurd]] or
+[[bug-hurd_mailing_list|mailing lists/bug-hurd]] or
the [[#hurd_IRC_channel|irc]].
diff --git a/news/2007-01-07.mdwn b/news/2007-01-07.mdwn
index b82ec6e0..530491f2 100644
--- a/news/2007-01-07.mdwn
+++ b/news/2007-01-07.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A number of GNU Hurd developers will again (as already in the previous years)
meet at the time of the FOSDEM 2007, which will take place from 2007-02-24 to
diff --git a/news/2007-01-14.mdwn b/news/2007-01-14.mdwn
index 16947757..f99eda87 100644
--- a/news/2007-01-14.mdwn
+++ b/news/2007-01-14.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Neal Walfield and Marcus Brinkmann have written and submitted for
publication The GNU Hurd project will participate in this year's Google
Summer of Code, under the aegis of the GNU project.
@@ -14,7 +14,7 @@ Summer of Code, under the aegis of the GNU project.
The following is a list of items you might want to work on. If you want to
modify these task proposals or have your own ideas on what to work, then please
don't hesitate to contact us on the
-[[bug-hurd_mailing_list|mailing_lists/bug-hurd]] or
+[[bug-hurd_mailing_list|mailing lists/bug-hurd]] or
the [[#hurd_IRC_channel|irc]].
diff --git a/news/2007-10-01.mdwn b/news/2007-10-01.mdwn
index a95b2631..b35bc337 100644
--- a/news/2007-10-01.mdwn
+++ b/news/2007-10-01.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This year the GNU Hurd had again been assigned one slot within the **Google
Summer of Code** program, which was assigned to the task **design and implement
diff --git a/news/2007-10-12.mdwn b/news/2007-10-12.mdwn
index 8d46a07f..ae125149 100644
--- a/news/2007-10-12.mdwn
+++ b/news/2007-10-12.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Stefan Siegl added [[support_for_IPv6_networking|hurd/translator/pfinet/ipv6]]
to the *pfinet* translator.
diff --git a/news/2008-02-11.mdwn b/news/2008-02-11.mdwn
index 7b4346b8..0805287c 100644
--- a/news/2008-02-11.mdwn
+++ b/news/2008-02-11.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A number of GNU Hurd developers will again (as already in the previous
years) meet at the time of the FOSDEM 2008, which will take place from
diff --git a/news/2008-03-19.mdwn b/news/2008-03-19.mdwn
index 0a2c91e2..02ea4c5f 100644
--- a/news/2008-03-19.mdwn
+++ b/news/2008-03-19.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The GNU Hurd project has been accepted as a mentoring organisation for the
**Google Summer of Code 2008**! If you are a student and looking for a job
diff --git a/news/2008-09-11.mdwn b/news/2008-09-11.mdwn
index 85f31317..8dc39924 100644
--- a/news/2008-09-11.mdwn
+++ b/news/2008-09-11.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Please see [[the_community/gsoc_page|community/gsoc]] for information about how
our **Google Summer of Code 2008 participation** worked out. **Congratulations
diff --git a/news/2008-11-14.mdwn b/news/2008-11-14.mdwn
index 9cdbdea0..58e035c3 100644
--- a/news/2008-11-14.mdwn
+++ b/news/2008-11-14.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[Samuel_Thibault|samuelthibault]] has implemented support for the PAE feature
offered by modern x86 processors. This largely faciliates the deployment of
diff --git a/news/2008-12-12.mdwn b/news/2008-12-12.mdwn
index c55b991e..b2e92ef0 100644
--- a/news/2008-12-12.mdwn
+++ b/news/2008-12-12.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Neal Walfield has submitted a paper to
[[community/meetings/EuroSys_2009]] describing how resource management
diff --git a/news/2009-03-28.mdwn b/news/2009-03-28.mdwn
index 72741457..00aebb09 100644
--- a/news/2009-03-28.mdwn
+++ b/news/2009-03-28.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The application phase for the **Google Summer of Code 2009** has already
started. Please see our [[page_about_the_GSoC|community/gsoc]] for
diff --git a/open_issues.mdwn b/open_issues.mdwn
index c372abfb..b6771287 100644
--- a/open_issues.mdwn
+++ b/open_issues.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Open Issues"]]
diff --git a/open_issues/blkrrpart_ioctl.mdwn b/open_issues/blkrrpart_ioctl.mdwn
index 81e07f3e..6f6d7cbd 100644
--- a/open_issues/blkrrpart_ioctl.mdwn
+++ b/open_issues/blkrrpart_ioctl.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="BLKRRPART IOCTL"]]
diff --git a/persistency.mdwn b/persistency.mdwn
index 16234c9b..f5347a4e 100644
--- a/persistency.mdwn
+++ b/persistency.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A persistent object is an object that survives reboot.
On [[Unix]], files and directories are persistent but
diff --git a/policy.mdwn b/policy.mdwn
index 7412de5f..1bc3c527 100644
--- a/policy.mdwn
+++ b/policy.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A policy is a rule that define what may or may not happens, not
how it happens. The latter is referred to as [[mechanism]].
diff --git a/principal.mdwn b/principal.mdwn
index 47ec3c7f..c9b952ec 100644
--- a/principal.mdwn
+++ b/principal.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A principal is an accountable entity. A principal may be
a user. On some computer systems, users are represented by their
diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn
index f504225b..f7b264fb 100644
--- a/public_hurd_boxen.mdwn
+++ b/public_hurd_boxen.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Here are some Hurd boxes that users have made available to the public:
diff --git a/qemu.mdwn b/qemu.mdwn
index c0ed12f0..bfd2f1cb 100644
--- a/qemu.mdwn
+++ b/qemu.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
QEMU is free software written by Fabrice Bellard that implements a fast
processor [[emulator|emulation]], allowing a user to run one operating system
diff --git a/recent_changes.mdwn b/recent_changes.mdwn
index e9bd13c4..594a0390 100644
--- a/recent_changes.mdwn
+++ b/recent_changes.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Recent Changes"]]
diff --git a/rpc.mdwn b/rpc.mdwn
index 451dd4d4..9703268f 100644
--- a/rpc.mdwn
+++ b/rpc.mdwn
@@ -6,6 +6,6 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
RPC stands for remote procedure call.
diff --git a/rules.mdwn b/rules.mdwn
index ccc7363e..6f6f9e2f 100644
--- a/rules.mdwn
+++ b/rules.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* [[Source_repositories]]
* [[Savannah_group]]
diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn
index 7de688be..4e2cf357 100644
--- a/rules/savannah_group.mdwn
+++ b/rules/savannah_group.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
@@ -17,7 +17,7 @@ There is no need to be a formal member of the GNU Hurd Savannah group in order
to be able to contribute to the system. In fact, if we added every single soul
that was interested in the Hurd to the Savannah group it'd probably have
exploded by now. We have the policy of adding people as soon as they are
-beginning to make substantial contributions. Simply use the [[mailing_lists]]
+beginning to make substantial contributions. Simply use the [[mailing lists]]
for sending your contributions, for asking questions, and so on.
Have a look at the page for [[contributing]]. Also be sure to have a look at
diff --git a/rules/source_repositories.mdwn b/rules/source_repositories.mdwn
index f15d0f3a..2c2092f8 100644
--- a/rules/source_repositories.mdwn
+++ b/rules/source_repositories.mdwn
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Git repositories on Savannah, see (search
for *hurd*).
diff --git a/security.mdwn b/security.mdwn
index 4c037982..0e22df00 100644
--- a/security.mdwn
+++ b/security.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Alan Karp [identifies][1] 11 security questions:
diff --git a/sfi.mdwn b/sfi.mdwn
index 67d26105..4b57d7c6 100644
--- a/sfi.mdwn
+++ b/sfi.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]]
technique described by Wahbe et al. in their 1993 paper [Effcient
diff --git a/sidebar.mdwn b/sidebar.mdwn
index 89df4b54..446eecf2 100644
--- a/sidebar.mdwn
+++ b/sidebar.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Welcome to... [[!img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU
Hurd!
diff --git a/tcb.mdwn b/tcb.mdwn
index 9b117fae..f6018dae 100644
--- a/tcb.mdwn
+++ b/tcb.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
TCB stands for trusted computed base. Unqualified, the trusted
computing base referrers to the set of components programs
diff --git a/trackers.mdwn b/trackers.mdwn
index 028117ef..c8fe913e 100644
--- a/trackers.mdwn
+++ b/trackers.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
A number of different trackers are available at the [GNU Savannah Hurd
Group](http://savannah.gnu.org/projects/hurd).
diff --git a/trust.mdwn b/trust.mdwn
index f0fe0cb7..2bf0a9ae 100644
--- a/trust.mdwn
+++ b/trust.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
The word trust is used in a number of contexts with different technical meanings.
Sometimes it is used to confuse, for instance trusted computing is rarely about
diff --git a/unix.mdwn b/unix.mdwn
index 96c46caf..a927eb64 100644
--- a/unix.mdwn
+++ b/unix.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# External
diff --git a/unsorted/OskitMach.mdwn b/unsorted/OskitMach.mdwn
index b5b92d68..0f7dfa54 100644
--- a/unsorted/OskitMach.mdwn
+++ b/unsorted/OskitMach.mdwn
@@ -22,7 +22,7 @@ concentrate on completely different microkernels (Coyotos being the current
favourite), as well as on improving the original GNU Mach 1.x codebase. (See
also [[microkernel/mach/gnumach/projects]].)
-The [[mailing_lists]], or the [[IRC]] is, like always, the best source of more
+The [[mailing lists]], or the [[IRC]] is, like always, the best source of more
current information.
There also exist other efforts:
diff --git a/unsorted/changelogs.html b/unsorted/changelogs.html
index 7689484e..299ef281 100644
--- a/unsorted/changelogs.html
+++ b/unsorted/changelogs.html
@@ -7,7 +7,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
ChangeLogs
diff --git a/user/flaviocruz.mdwn b/user/flaviocruz.mdwn
index 450c2754..f3a67afd 100644
--- a/user/flaviocruz.mdwn
+++ b/user/flaviocruz.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
Name: Flávio Cruz
diff --git a/user/madhusudancs.mdwn b/user/madhusudancs.mdwn
index 382f988a..903b0964 100644
--- a/user/madhusudancs.mdwn
+++ b/user/madhusudancs.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="GNU/Linux compatible procfs"]]
diff --git a/user/scolobb.mdwn b/user/scolobb.mdwn
index 8cf47568..09016edb 100644
--- a/user/scolobb.mdwn
+++ b/user/scolobb.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# scolobb
diff --git a/user/tschwinge.mdwn b/user/tschwinge.mdwn
index 5ffa6fd8..2c75292b 100644
--- a/user/tschwinge.mdwn
+++ b/user/tschwinge.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
[[!meta title="Thomas Schwinge"]]
diff --git a/user/vincentvikram.mdwn b/user/vincentvikram.mdwn
index 8927bd4e..875b6311 100644
--- a/user/vincentvikram.mdwn
+++ b/user/vincentvikram.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
* Name: Vikram Vincent
* Email: vincentvikram@swatantra.org OR vincentvikram@gmail.com
diff --git a/user/zhengda/howto.mdwn b/user/zhengda/howto.mdwn
index cea3cf0b..a2664a18 100644
--- a/user/zhengda/howto.mdwn
+++ b/user/zhengda/howto.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
This document briefly introduces how to set up the virtual network and connect the subhurd with the main hurd.
diff --git a/virtualization.mdwn b/virtualization.mdwn
index 325340b0..52131c12 100644
--- a/virtualization.mdwn
+++ b/virtualization.mdwn
@@ -6,7 +6,7 @@ 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]]."]]"""]]
+[[GNU Free Documentation License|/fdl]]."]]"""]]
# External
--
cgit v1.2.3
From b9344bc9677df69de86607f8444abb0602726257 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Fri, 29 May 2009 17:18:55 +0200
Subject: community/gsoc/project_ideas/unionmount -> hurd/translator/unionmount
---
community/gsoc/project_ideas/unionmount.mdwn | 60 ----------------------------
hurd/translator.mdwn | 1 +
hurd/translator/unionfs.mdwn | 3 ++
hurd/translator/unionmount.mdwn | 60 ++++++++++++++++++++++++++++
4 files changed, 64 insertions(+), 60 deletions(-)
delete mode 100644 community/gsoc/project_ideas/unionmount.mdwn
create mode 100644 hurd/translator/unionmount.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn
deleted file mode 100644
index 47a3d85d..00000000
--- a/community/gsoc/project_ideas/unionmount.mdwn
+++ /dev/null
@@ -1,60 +0,0 @@
-[[!meta copyright="Copyright © 2009 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 title="Union Mounts"]]
-
-When setting a translator on Hurd -- similar to mounting a file system on UNIX
--- the new node(s) exported by the translator are obscuring the original node
-where the translator is set, and any nodes below it in the directory tree. The
-translator itself can access the underlying node (which is a very nice feature,
-as it allows translators presenting the contents of the node in a different
-format); but it's no longer accessible from the "outside".
-
-Plan9 has a feature where a file system can be mounted in union mode: the new
-file system doesn't obscure the mount point in this case, but instead the
-contents are combined. (This feature has also been under discussion in Linux
-for a couple of years now, under the label "VFS-based union mounts".)
-
-This kind of union mounts is generally useful, as it's sometimes more
-convenient than unioning existing filesystem locations with unionfs -- it's not
-necessary to mount a file system that is to be unioned at some external
-location first: just union-mount it directly at the target location.
-
-But union mounts also allow creating passive translator hierarchies: If there
-is a passive translator on a parent node, and further passive translators on
-child nodes, the union mount allows the child nodes with the further translator
-settings still to be visible after the parent translator has started.
-
-This could be useful for device nodes for example: let's say we have an
-ethernet multiplexer at /dev/veth. Now the virtual subnodes could all be
-directly under /dev, i.e. /dev/veth0, /dev/veth1 etc., and explicitely refer to
-the main /dev/veth node in the translator command line. It would be more
-elegant however to store the virtual nodes direcly below the main multiplexer
-node -- /dev/veth/0, /dev/veth/1 etc.
-
-There are two possible approaches how union mounts could be implemented in the
-Hurd. The first one is to let the various translators handle union mounts
-internally, i.e. let them present the underlying nodes to the clients in
-addition to the actual nodes they export themselfs. This probably can be
-implemented as some kind of extension to the existing netfs and diskfs
-libraries.
-
-The other possible apporach is less efficient and probably more tricky, but
-probably also more generic: create a special unionmount translator, which
-serves as a kind of proxy: setting the union-mounted translator on some
-internal node; and at the actual mount location, presenting a union of the
-nodes exported by this translator, and the nodes from the underlying file
-system.
-
-The goal of this project is implementing union mounts using either of the
-approaches described above. (Though it might be useful initially to prototype
-both for comparision.) The ethernet multiplexer shall serve as an example use
-case -- any changes necessary to allow using it with the union mount
-functionality are also to be considered part of the task.
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index 8f2f07b4..5c14cfa9 100644
--- a/hurd/translator.mdwn
+++ b/hurd/translator.mdwn
@@ -70,6 +70,7 @@ available.
* [[cvsfs]]
* [[tmpfs]]
* [[procfs]]
+* [[unionmount]]
* ...
diff --git a/hurd/translator/unionfs.mdwn b/hurd/translator/unionfs.mdwn
index b73d9d8e..6f845102 100644
--- a/hurd/translator/unionfs.mdwn
+++ b/hurd/translator/unionfs.mdwn
@@ -16,6 +16,9 @@ is included in the section entitled
... is a special mode of `unionfs`.
+# See Also
+
+ * [[unionmount]]
# External Links
diff --git a/hurd/translator/unionmount.mdwn b/hurd/translator/unionmount.mdwn
new file mode 100644
index 00000000..47a3d85d
--- /dev/null
+++ b/hurd/translator/unionmount.mdwn
@@ -0,0 +1,60 @@
+[[!meta copyright="Copyright © 2009 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 title="Union Mounts"]]
+
+When setting a translator on Hurd -- similar to mounting a file system on UNIX
+-- the new node(s) exported by the translator are obscuring the original node
+where the translator is set, and any nodes below it in the directory tree. The
+translator itself can access the underlying node (which is a very nice feature,
+as it allows translators presenting the contents of the node in a different
+format); but it's no longer accessible from the "outside".
+
+Plan9 has a feature where a file system can be mounted in union mode: the new
+file system doesn't obscure the mount point in this case, but instead the
+contents are combined. (This feature has also been under discussion in Linux
+for a couple of years now, under the label "VFS-based union mounts".)
+
+This kind of union mounts is generally useful, as it's sometimes more
+convenient than unioning existing filesystem locations with unionfs -- it's not
+necessary to mount a file system that is to be unioned at some external
+location first: just union-mount it directly at the target location.
+
+But union mounts also allow creating passive translator hierarchies: If there
+is a passive translator on a parent node, and further passive translators on
+child nodes, the union mount allows the child nodes with the further translator
+settings still to be visible after the parent translator has started.
+
+This could be useful for device nodes for example: let's say we have an
+ethernet multiplexer at /dev/veth. Now the virtual subnodes could all be
+directly under /dev, i.e. /dev/veth0, /dev/veth1 etc., and explicitely refer to
+the main /dev/veth node in the translator command line. It would be more
+elegant however to store the virtual nodes direcly below the main multiplexer
+node -- /dev/veth/0, /dev/veth/1 etc.
+
+There are two possible approaches how union mounts could be implemented in the
+Hurd. The first one is to let the various translators handle union mounts
+internally, i.e. let them present the underlying nodes to the clients in
+addition to the actual nodes they export themselfs. This probably can be
+implemented as some kind of extension to the existing netfs and diskfs
+libraries.
+
+The other possible apporach is less efficient and probably more tricky, but
+probably also more generic: create a special unionmount translator, which
+serves as a kind of proxy: setting the union-mounted translator on some
+internal node; and at the actual mount location, presenting a union of the
+nodes exported by this translator, and the nodes from the underlying file
+system.
+
+The goal of this project is implementing union mounts using either of the
+approaches described above. (Though it might be useful initially to prototype
+both for comparision.) The ethernet multiplexer shall serve as an example use
+case -- any changes necessary to allow using it with the union mount
+functionality are also to be considered part of the task.
--
cgit v1.2.3
From c9784a9ed95751a45cca69e1e2e927a39e09c467 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Fri, 29 May 2009 17:56:51 +0200
Subject: Add a redirection page as we currently published this URL.
---
community/gsoc/project_ideas/unionmount.mdwn | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 community/gsoc/project_ideas/unionmount.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn
new file mode 100644
index 00000000..86ef96c7
--- /dev/null
+++ b/community/gsoc/project_ideas/unionmount.mdwn
@@ -0,0 +1,11 @@
+[[!meta copyright="Copyright © 2009 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 redir=hurd/translator/unionmount]]
--
cgit v1.2.3
From 2360a458779c1e79aefb4dbe8d7797a708f2ffe0 Mon Sep 17 00:00:00 2001
From: "http://anatolykazantsev.myopenid.com/"
Date: Thu, 5 Nov 2009 12:49:21 +0000
Subject: Change my nick on irc channel
---
community/gsoc/project_ideas/language_bindings.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index bf75c805..8b493e19 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -64,4 +64,4 @@ There was also some previous work on [Perl
bindings](http://www.nongnu.org/hurdextras/#pith), which might serve as a
reference if you want to work on Perl.
-Possible mentors: Anatoly A. Kazantsev (jim-crow) for Python
+Possible mentors: Anatoly A. Kazantsev (anatoly) for Python
--
cgit v1.2.3
From 40f3bb2c34391443b0191a76e9f42170cc90ebb9 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Thu, 17 Dec 2009 22:47:56 +0100
Subject: Add valgrind gsoc idea
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/valgrind.mdwn | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
create mode 100644 community/gsoc/project_ideas/valgrind.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 32c8aed8..aaaa68c3 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -105,3 +105,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/valgrind.mdwn b/community/gsoc/project_ideas/valgrind.mdwn
new file mode 100644
index 00000000..319d33a7
--- /dev/null
+++ b/community/gsoc/project_ideas/valgrind.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2009 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 title="Porting valgrind to the Hurd"]]
+
+Valgrind is a very powerful tool to debunk bugs. However, in order to do so, it needs deep knowledge of the behavior of kernel traps. In the case of GNU/Hurd, there is a bunch of system calls that GNU Mach handles directly, but also all the MIG RPCs (Remote Procedure Calls) which return their result either inline or through memory allocated by the kernel.
+
+The goal is thus to teach valgrind the exact semantics of all MIG RPCs, most probably in an automatic way from the .defs files.
+
+As a starter, students can try to teach valgrind a couple of Linux ioctls, as this will make them learn how to use the read/write primitives of valgrind.
+
+Possible mentors: Samuel Thibault (youpi)
--
cgit v1.2.3
From b7f99a665b100d1e33fd14ad9463cada34acf543 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Tue, 22 Dec 2009 22:49:25 +0100
Subject: Link related projects.
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 3 +++
open_issues/device_drivers_and_io_systems.mdwn | 1 +
open_issues/user-space_device_drivers.mdwn | 1 +
3 files changed, 5 insertions(+)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 04efe202..7da34d10 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -32,6 +32,9 @@ programming probably is a must. (No Hurd-specific knowledge is required,
though.)
This is [[!GNU_Savannah_task 5488]].
+[[open issues/user-space device drivers]].
+[[open issues/device drivers and io systems]].
+
Possible mentors: Samuel Thibault (youpi)
diff --git a/open_issues/device_drivers_and_io_systems.mdwn b/open_issues/device_drivers_and_io_systems.mdwn
index f84ddce8..53a8287b 100644
--- a/open_issues/device_drivers_and_io_systems.mdwn
+++ b/open_issues/device_drivers_and_io_systems.mdwn
@@ -14,6 +14,7 @@ This is a collection of resources concerning *device drivers* and *I/O systems*
in general.
Also see [[user-space device drivers]].
+[[community/gsoc/project ideas/driver glue code]].
[[!toc levels=2]]
diff --git a/open_issues/user-space_device_drivers.mdwn b/open_issues/user-space_device_drivers.mdwn
index 33e75942..7154392e 100644
--- a/open_issues/user-space_device_drivers.mdwn
+++ b/open_issues/user-space_device_drivers.mdwn
@@ -13,6 +13,7 @@ License|/fdl]]."]]"""]]
This is a collection of resources concerning *user-space device drivers*.
Also see [[device drivers and IO systems]].
+[[community/gsoc/project ideas/driver glue code]].
[[!toc levels=2]]
--
cgit v1.2.3
From 062d85935a451a87e4dc71dba5c3f4468e8ce6bc Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Tue, 22 Dec 2009 23:16:51 +0100
Subject: open_issues/dde: New page.
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 2 +-
open_issues/dde.mdwn | 28 ++++++++++++++++++++++
open_issues/device_drivers_and_io_systems.mdwn | 2 ++
open_issues/user-space_device_drivers.mdwn | 4 ++++
4 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 open_issues/dde.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 7da34d10..19a1cab4 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -23,7 +23,7 @@ versions, or from one of the free BSD variants.
While it would be certainly possible to create custom glue code again, a more
sustainable and probably also easier approch is to use
-[ddekit](http://demo.tudos.org/dsweeper_tutorial.html) instead -- it already
+[[open issues/DDE]] instead -- it already
does the hard work of providing an environment where the foreign drivers can
run, and has the additional advantage of being externally maintained.
diff --git a/open_issues/dde.mdwn b/open_issues/dde.mdwn
new file mode 100644
index 00000000..3d1de09a
--- /dev/null
+++ b/open_issues/dde.mdwn
@@ -0,0 +1,28 @@
+[[!meta copyright="Copyright © 2009 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]]."]]"""]]
+
+ * [[community/gsoc/project ideas/driver glue code]]
+
+ * [[open issues/user-space device drivers]]
+
+ * [[open issues/device drivers and io systems]]
+
+---
+
+# Documentation
+
+ *
+
+ *
+
+
+# Sources
+
+ *
diff --git a/open_issues/device_drivers_and_io_systems.mdwn b/open_issues/device_drivers_and_io_systems.mdwn
index 53a8287b..ce50d93e 100644
--- a/open_issues/device_drivers_and_io_systems.mdwn
+++ b/open_issues/device_drivers_and_io_systems.mdwn
@@ -68,6 +68,8 @@ Also see [[user-space device drivers]].
# External Projects
+ * [[DDE]]
+
* [Building Linux Device Drivers on
FreeBSD](http://info.iet.unipi.it/~luigi/FreeBSD/linux_bsd_kld.html)
diff --git a/open_issues/user-space_device_drivers.mdwn b/open_issues/user-space_device_drivers.mdwn
index 7154392e..98f48013 100644
--- a/open_issues/user-space_device_drivers.mdwn
+++ b/open_issues/user-space_device_drivers.mdwn
@@ -61,6 +61,8 @@ Also see [[device drivers and IO systems]].
* Hurd on L4: deva, fabrica
+ * [[DDE]]
+
* Minix 3
* Start with a simple driver and implement the needed infrastructure (see
@@ -151,6 +153,8 @@ Also see [[device drivers and IO systems]].
# External Projects
+ * [[DDE]]
+
*
*
--
cgit v1.2.3
From 6f4b674e251d04a998f3419308f8e6e3df2f0b07 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Sun, 3 Jan 2010 00:52:34 +0100
Subject: open_issues/dde -> dde
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 5 +--
dde.mdwn | 42 ++++++++++++++++++++++
news/2009-12-31.mdwn | 4 +--
open_issues/dde.mdwn | 35 ++----------------
4 files changed, 49 insertions(+), 37 deletions(-)
create mode 100644 dde.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 19a1cab4..e1b8d22e 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -23,7 +24,7 @@ versions, or from one of the free BSD variants.
While it would be certainly possible to create custom glue code again, a more
sustainable and probably also easier approch is to use
-[[open issues/DDE]] instead -- it already
+[[DDE]] instead -- it already
does the hard work of providing an environment where the foreign drivers can
run, and has the additional advantage of being externally maintained.
diff --git a/dde.mdwn b/dde.mdwn
new file mode 100644
index 00000000..7d341da5
--- /dev/null
+++ b/dde.mdwn
@@ -0,0 +1,42 @@
+[[!meta copyright="Copyright © 2009, 2010 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]]."]]"""]]
+
+ * [[community/gsoc/project ideas/driver glue code]]
+
+ * [[open issues/user-space device drivers]]
+
+ * [[open issues/device drivers and io systems]]
+
+---
+
+# Documentation
+
+ *
+
+ Why device drivers in user space; different possibilities for getting
+ device drivers; DDE's origins and rationale.
+
+ * ,
+
+
+ Structural overview of the components.
+
+
+# Discussion
+
+DDE essentially is a glue layer to embed Linux device drivers into another
+environement. In the DDE case, this *other environment* is a user-space task
+-- compared to the GNU Mach kernel having a *in-kernel* Linux 2.0 device
+drivers glue code (cf. paper by Goel et al.).
+
+
+# Source Code
+
+ *
diff --git a/news/2009-12-31.mdwn b/news/2009-12-31.mdwn
index 16ef9698..286350d1 100644
--- a/news/2009-12-31.mdwn
+++ b/news/2009-12-31.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010 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
@@ -43,7 +43,7 @@ else="[[!paste id=full_news]]"]]
> and started fixing these, as well as he fulfilled his usual share of
> miscellaneous bug fixing.
-> The [[open issues/DDE]] port of Zheng Da now [passes the first
+> The [[DDE]] port of Zheng Da now [passes the first
> tests](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00060.html),
> bringing us the first steps towards updated device drivers -- and much lower
> overhead for maintaining them.
diff --git a/open_issues/dde.mdwn b/open_issues/dde.mdwn
index 99322dbc..ef319a5c 100644
--- a/open_issues/dde.mdwn
+++ b/open_issues/dde.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010 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
@@ -8,35 +8,4 @@ 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]]."]]"""]]
- * [[community/gsoc/project ideas/driver glue code]]
-
- * [[open issues/user-space device drivers]]
-
- * [[open issues/device drivers and io systems]]
-
----
-
-# Documentation
-
- *
-
- Why device drivers in user space; different possibilities for getting
- device drivers; DDE's origins and rationale.
-
- * ,
-
-
- Structural overview of the components.
-
-
-# Discussion
-
-DDE essentially is a glue layer to embed Linux device drivers into another
-environement. In the DDE case, this *other environment* is a user-space task
--- compared to the GNU Mach kernel having a *in-kernel* Linux 2.0 device
-drivers glue code (cf. paper by Goel et al.).
-
-
-# Source Code
-
- *
+[[!meta redir=/dde]]
--
cgit v1.2.3
From e7ef1afe4e1c3ae278910921e5c473228fb4db00 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Sun, 24 Jan 2010 18:09:15 +0100
Subject: tag/open_issue_pthread: New page.
---
community/gsoc/project_ideas/pthreads.mdwn | 2 ++
tag/open_issue_pthread.mdwn | 19 +++++++++++++++++++
2 files changed, 21 insertions(+)
create mode 100644 tag/open_issue_pthread.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 9c703d36..61c8c079 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -10,6 +10,8 @@ is included in the section entitled
[[!meta title="Convert Hurd Libraries and Servers to pthreads"]]
+[[!tag open_issue_pthread]]
+
The Hurd was originally created at a time when the [pthreads
standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
didn't exist yet. Thus all Hurd servers and libraries are using the old
diff --git a/tag/open_issue_pthread.mdwn b/tag/open_issue_pthread.mdwn
new file mode 100644
index 00000000..c42ca453
--- /dev/null
+++ b/tag/open_issue_pthread.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2010 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 title=open_issue_pthread]]
+
+[[!map pages="tagged(open_issue_pthread) and !open_issues and !*/discussion"
+show=title]]
+
+[[!inline
+pages="tagged(open_issue_pthread) and !open_issues and !*/discussion"
+show=0
+feeds=no]]
--
cgit v1.2.3
From 247be609c29065716f845bfe6d0fc98f371ffb14 Mon Sep 17 00:00:00 2001
From: Carl Fredrik Hammar
Date: Fri, 26 Feb 2010 21:08:18 +0100
Subject: Add Carl Fredrik Hammar as possible GSoC mentor
---
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 2 +-
community/gsoc/project_ideas/mtab.mdwn | 2 +-
community/gsoc/project_ideas/secure_chroot.mdwn | 2 +-
community/gsoc/project_ideas/server_overriding.mdwn | 2 +-
community/gsoc/project_ideas/tmpfs.mdwn | 2 +-
community/gsoc/project_ideas/unionfs_boot.mdwn | 2 +-
community/gsoc/project_ideas/virtualization.mdwn | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index f0b8db7c..764cd37f 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -31,7 +31,7 @@ mechanism.
See also [[!GNU_Savannah_bug 17133]].
-Possible mentors: ?
+Possible mentors: Carl Fredrik Hammar (cfhammar)
Exercise: This project requires changes to the name lookup mechanism in the
Hurd-related glibc parts, as well as the Hurd servers. Thus, the exercise task
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 045533e6..60dde525 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -67,7 +67,7 @@ implement both the actual [[mtab_translator|hurd/translator/mtabfs]], and the
necessery interface(s) for gathering the data. It requires getting a good
understanding of the translator mechanism and Hurd interfaces in general.
-Possible mentors: Olaf Buddenhagen (antrik)
+Possible mentors: Olaf Buddenhagen (antrik), Carl Fredrik Hammar (cfhammar)
Exercise: Make some improvement to any of the existing Hurd translators.
Especially those in [hurdextras](http://www.nongnu.org/hurdextras/) are often
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index a433e8d1..0a08bbf5 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -38,7 +38,7 @@ new mechanisms. (Translators.) More important than the actual code is the
documentation of what he did: he must be able to defend why he chose a certain
approach, and explain why he believes this approach really secure.
-Possible mentors: ?
+Possible mentors: Carl Fredrik Hammar (cfhammar)
Exercise: It's hard to come up with a relevant exercise, as there are so many
possible solutions... Probably best to make an improvement to one of the
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index 42edf287..80beab4c 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -68,7 +68,7 @@ discussing this topic, from a previous year's GSoC application -- see
,
.
-Possible mentors: Olaf Buddenhagen (antrik)
+Possible mentors: Olaf Buddenhagen (antrik), Carl Fredrik Hammar (cfhammar)
Exercise: Come up with a glibc patch that allows overriding one specific
standard server using method (1).
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index 69adef0f..93215d07 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -37,7 +37,7 @@ implementation. It requires digging into some parts of the Hurd, including the
[[pager_interface|hurd/libpager]] and [[hurd/translator]] programming. This
task probably doesn't require any design work, only good debugging skills.
-Possible mentors: ?
+Possible mentors: Carl Fredrik Hammar (cfhammar)
Exercise: Take a look at tmpfs and try to fix one of the existing issues. Some
of them are probably not too tricky; or you might discover something else you
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index a801290f..6c83092b 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -42,4 +42,4 @@ Completing this task will require gaining a very good understanding of the Hurd
boot process and other parts of the design. It requires some design skills
also to come up with a working mechanism.
-Possible mentors: ?
+Possible mentors: Carl Fredrik Hammar (cfhammar)
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index c7403f70..3a677306 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -73,4 +73,4 @@ Completing this project will require gaining a very good understanding of the
Hurd architecture and spirit. Previous experience with other virtualization
solutions would be very helpful.
-Possible mentors: Olaf Buddenhagen (antrik)
+Possible mentors: Olaf Buddenhagen (antrik), Carl Fredrik Hammar (cfhammar)
--
cgit v1.2.3
From acae65d8ec98e1bea1d8d903e8748e8c911b3baf Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Mon, 8 Mar 2010 03:48:37 +0100
Subject: lockf is (almost) not implement at all
---
community/gsoc/project_ideas/file_locking.mdwn | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index b6b393f9..af010c98 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -8,7 +8,7 @@ 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 title="Fix File Locking"]]
+[[!meta title="Fix and Complete File Locking Support"]]
Over the years, [[UNIX]] has aquired a host of different file locking mechanisms.
Some of them work on the Hurd, while others are buggy or only partially
@@ -17,7 +17,8 @@ implemented. This breaks many applications.
The goal is to make all file locking mechanisms work properly. This requires
finding all existing shortcomings (through systematic testing and/or checking
for known issues in the bug tracker and mailing list archives), and fixing
-them.
+them. The biggest missing feature is record locking, i.e. the lockf variant,
+which needs a complete implementation.
This task will require digging into parts of the code to understand how file
locking works on the Hurd. Only general programming skills are required.
--
cgit v1.2.3
From deebcc9437efa170c6d3b2e6e1bbd03b0cbbe73b Mon Sep 17 00:00:00 2001
From: antrik
Date: Wed, 10 Mar 2010 03:42:08 +0100
Subject: gsoc/project_ideas: add note on DDE being mostly done, and drop from
list
---
community/gsoc/project_ideas.mdwn | 1 -
community/gsoc/project_ideas/driver_glue_code.mdwn | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index aaaa68c3..96d93869 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -78,7 +78,6 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index e1b8d22e..a4462133 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -44,3 +44,5 @@ ethernet) from a recent system, and try to port it to run in the existing
driver framework in GNU Mach. Completing the port might be too involved for the
exercise; but it's pretty likely that you will find something else to improve
in the glue code while working on this...
+
+*Status*: Zheng Da is working on DDE, and has mostly completed the initial port.
--
cgit v1.2.3
From 5a615978181a1b8d85326d8cf3137ed4b0b46bf7 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Wed, 10 Mar 2010 08:56:44 +0100
Subject: community/gsoc/project_ideas/driver_glue_code: Add a link to Zheng
Da's status page.
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index a4462133..4e1dab90 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -45,4 +45,5 @@ driver framework in GNU Mach. Completing the port might be too involved for the
exercise; but it's pretty likely that you will find something else to improve
in the glue code while working on this...
-*Status*: Zheng Da is working on DDE, and has mostly completed the initial port.
+*Status*: [[Zheng Da|zhengda]] is working on DDE, and has mostly completed the
+initial port.
--
cgit v1.2.3
From 6eb6d5314e303379debbef82921a215ef2b00d98 Mon Sep 17 00:00:00 2001
From: Carl Fredrik Hammar
Date: Wed, 10 Mar 2010 16:19:06 +0100
Subject: Fix typos and spelling on GSoC pages
---
community/gsoc/project_ideas.mdwn | 2 +-
community/gsoc/project_ideas/disk_io_performance.mdwn | 12 ++++++------
community/gsoc/project_ideas/download_backends.mdwn | 4 ++--
community/gsoc/project_ideas/driver_glue_code.mdwn | 6 +++---
community/gsoc/project_ideas/dtrace.mdwn | 6 +++---
community/gsoc/project_ideas/file_locking.mdwn | 2 +-
community/gsoc/project_ideas/gnat.mdwn | 4 ++--
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 6 +++---
community/gsoc/project_ideas/language_bindings.mdwn | 4 ++--
community/gsoc/project_ideas/lexical_dot-dot.mdwn | 2 +-
community/gsoc/project_ideas/libcap.mdwn | 2 +-
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 4 ++--
community/gsoc/project_ideas/libgtop.mdwn | 4 ++--
community/gsoc/project_ideas/mtab.mdwn | 6 +++---
.../project_ideas/namespace-based_translator_selection.mdwn | 8 ++++----
community/gsoc/project_ideas/nfs.mdwn | 4 ++--
community/gsoc/project_ideas/package_manager.mdwn | 2 +-
community/gsoc/project_ideas/procfs.mdwn | 2 +-
community/gsoc/project_ideas/secure_chroot.mdwn | 6 +++---
community/gsoc/project_ideas/server_overriding.mdwn | 4 ++--
community/gsoc/project_ideas/sound.mdwn | 2 +-
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 2 +-
community/gsoc/project_ideas/tmpfs.mdwn | 2 +-
community/gsoc/project_ideas/unionfs_boot.mdwn | 2 +-
community/gsoc/project_ideas/virtualization.mdwn | 6 +++---
community/gsoc/project_ideas/vm_tuning.mdwn | 4 ++--
community/gsoc/project_ideas/xattr.mdwn | 2 +-
community/gsoc/student_application_form.mdwn | 12 ++++++------
28 files changed, 61 insertions(+), 61 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 96d93869..2046db9e 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -39,7 +39,7 @@ Try to find something to improve in the relevant code, by looking at known
issues in the [Savannah bug tracker](http://savannah.gnu.org/bugs/?group=hurd);
by running the code and testing stuff; and by looking through the code. If you
don't find anything, try with some related code -- if you task involves
-translator programming, make some improvement to an existing translor; if it
+translator programming, make some improvement to an existing translator; if it
involves glibc hacking, make an improvement to glibc; if it involves driver
hacking, make an improvement to the driver framework; and so on... Makes sense,
doesn't it? :-)
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
index bb047308..b6c857b0 100644
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ b/community/gsoc/project_ideas/disk_io_performance.mdwn
@@ -11,21 +11,21 @@ is included in the section entitled
[[!meta title="Disk I/O Performance Tuning"]]
The most obvious reason for the Hurd feeling slow compared to mainstream
-systems like GNU/Linux, is very slow harddisk access.
+systems like GNU/Linux, is very slow hard disk access.
The reason for this slowness is lack and/or bad implementation of common
-optimisation techniques, like scheduling reads and writes to minimalize head
+optimization techniques, like scheduling reads and writes to minimize head
movement; effective block caching; effective reads/writes to partial blocks;
reading/writing multiple blocks at once; and read-ahead. The
[[ext2_filesystem_server|hurd/translator/ext2fs]] might also need some
-optimisations at a higher logical level.
+optimizations at a higher logical level.
The goal of this project is to analyze the current situation, and implement/fix
-various optimisations, to achieve significantly better disk performance. It
+various optimizations, to achieve significantly better disk performance. It
requires understanding the data flow through the various layers involved in
-disk acces on the Hurd ([[filesystem|hurd/virtual_file_system]],
+disk access on the Hurd ([[filesystem|hurd/virtual_file_system]],
[[pager|hurd/libpager]], driver), and general experience with
-optimising complex systems. That said, the killing feature we are definitely
+optimizing complex systems. That said, the killing feature we are definitely
missing is the read-ahead, and even a very simple implementation would bring
very big performance speedups.
diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn
index 749597a6..f794e814 100644
--- a/community/gsoc/project_ideas/download_backends.mdwn
+++ b/community/gsoc/project_ideas/download_backends.mdwn
@@ -19,7 +19,7 @@ Download protocols like FTP, HTTP, BitTorrent etc. are very good candidates for
this kind of modularization: a program could simply use the download
functionality by accessing FTP, HTTP etc. translators.
-There is already an ftpfs traslator in the Hurd tree, as well as an [httpfs
+There is already an ftpfs translator in the Hurd tree, as well as an [httpfs
translator on hurdextras](http://www.nongnu.org/hurdextras/#httpfs); however,
these are only suitable for very simple use cases: they just provide the actual
file contents downloaded from the URL, but no additional status information
@@ -35,7 +35,7 @@ The goal of this project is to design a suitable interface, implement it for at
least one download protocol, and adapt apt-get (or some other program) to use
this as a backend.
-This task requires some design skills and some knowlegde of internet protocols,
+This task requires some design skills and some knowledge of internet protocols,
to create a suitable interface. Translator programming knowledge will have to
be obtained while implementing it.
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 4e1dab90..4e1e338c 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -11,8 +11,8 @@ is included in the section entitled
[[!meta title="New Driver Glue Code"]]
-Although a driver framework in userspace would be desirable, presently the Hurd
-uses kernel drivers in the microkernel,
+Although a driver framework in user space would be desirable, presently the Hurd
+uses kernel drivers in the micro kernel,
[[GNU_Mach|microkernel/mach/gnumach]]. (And changing this would be far beyond a
GSoC project...)
@@ -23,7 +23,7 @@ this project is to redo the glue code, so we can use drivers from current Linux
versions, or from one of the free BSD variants.
While it would be certainly possible to create custom glue code again, a more
-sustainable and probably also easier approch is to use
+sustainable and probably also easier approach is to use
[[DDE]] instead -- it already
does the hard work of providing an environment where the foreign drivers can
run, and has the additional advantage of being externally maintained.
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
index 93c2a5f3..25e6db29 100644
--- a/community/gsoc/project_ideas/dtrace.mdwn
+++ b/community/gsoc/project_ideas/dtrace.mdwn
@@ -16,9 +16,9 @@ problems, these are mostly just guesses. Better understanding what really
causes bad performance is necessary to improve the situation.
For that, we need tools for performance measurements. While all kinds of more
-or less specific profiling tools could be convieved, the most promising and
+or less specific profiling tools could be conceived, the most promising and
generic approach seems to be a framework for logging certain events in the
-running system (both in the microkernel and in the Hurd servers). This would
+running system (both in the micro kernel and in the Hurd servers). This would
allow checking how much time is spent in certain modules, how often certain
situations occur, how things interact, etc. It could also prove helpful in
debugging some issues that are otherwise hard to find because of complex
@@ -34,7 +34,7 @@ with integrating existing components as well as low-level programming.
Possible mentors: Samuel Thibault (youpi)
-Exercise: In lack of a good exercise directly related to this taks, just pick
+Exercise: In lack of a good exercise directly related to this task, just pick
one of the kernel-related or generally low-level tasks from the bug/task
trackers on savannah, and make a go at it. You might not be able to finish the
task in a limited amount of time, but you should at least be able to make a
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index af010c98..0159b091 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -10,7 +10,7 @@ is included in the section entitled
[[!meta title="Fix and Complete File Locking Support"]]
-Over the years, [[UNIX]] has aquired a host of different file locking mechanisms.
+Over the years, [[UNIX]] has acquired a host of different file locking mechanisms.
Some of them work on the Hurd, while others are buggy or only partially
implemented. This breaks many applications.
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
index b7f2ea62..97a4a552 100644
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ b/community/gsoc/project_ideas/gnat.mdwn
@@ -15,9 +15,9 @@ also a number of other Debian packages depending on GNAT, and thus not
buildable on the Hurd.
The goal of this project is getting GNAT fully working in Debian GNU/Hurd. It
-requires implementing some explicitely system-specific stuff in GNAT, and maybe
+requires implementing some explicitly system-specific stuff in GNAT, and maybe
fixing a few other problems. Good knowledge of Ada is a must; some Hurd
-knowledge will have to be aquired while working on the project.
+knowledge will have to be acquired while working on the project.
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index e75c9d3e..954e1242 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -10,8 +10,8 @@ is included in the section entitled
[[!meta title="GNU Mach Code Cleanup"]]
-Although there are some attempts to move to a more modern microkernel
-alltogether, the current Hurd implementation is based on
+Although there are some attempts to move to a more modern micro kernel
+altogether, the current Hurd implementation is based on
[[GNU_Mach|microkernel/mach/gnumach]], which is only a slightly modified
variant of the original CMU [[microkernel/Mach]].
@@ -19,7 +19,7 @@ Unfortunately, Mach was created about two decades ago, and is in turn based on
even older BSD code. Parts of the BSD kernel -- file systems, [[UNIX]] [[mechanism]]s
like processes and signals, etc. -- were ripped out (to be implemented in
[[userspace_servers|hurd/translator]] instead); while other mechanisms were
-added to allow implementing stuff in userspace.
+added to allow implementing stuff in user space.
([[Pager_interface|microkernel/mach/external_pager_mechanism]],
[[microkernel/mach/IPC]], etc.)
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 8b493e19..a27b0d30 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -30,10 +30,10 @@ Several approaches are possible when creating such bindings. One way is simply
to provide wrappers to all the available C libraries ([[hurd/libtrivfs]], [[hurd/libnetfs]]
etc.). While this is easy (it requires relatively little consideration), it may
not be the optimal solution. It is preferable to hook in at a lower level, thus
-being able te create interfaces that are specially adapted to make good use of
+being able to create interfaces that are specially adapted to make good use of
the features available in the respective language.
-These more specialised bindings could hook in at some of the lower level
+These more specialized bindings could hook in at some of the lower level
library interfaces ([[hurd/libports]], [[hurd/glibc]], etc.); use the
[[microkernel/mach/MIG]]-provided [[microkernel/mach/RPC]] stubs directly; or
even create native stubs directly from the interface definitions. The
diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
index 764cd37f..e0dabc01 100644
--- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn
+++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn
@@ -22,7 +22,7 @@ resolution.
Some application already use lexical resolution internally for that reason. It
is generally agreed that many problems could be avoided if the standard
filesystem lookup calls used lexical resolution as well. The compatibility
-problems probably would be negligable.
+problems probably would be negligible.
The goal of this project is to modify the filename lookup mechanism in the Hurd
to use lexical resolution, and to check that the system is still fully
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index 10ca508e..875b462f 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -14,7 +14,7 @@ libcap is a library providing the API to access POSIX capabilities. These allow
giving various kinds of specific privileges to individual users, without giving
them full root permissions.
-Although the Hurd design should faciliate implementing such features in a quite
+Although the Hurd design should facilitate implementing such features in a quite
natural fashion, there is no support for POSIX capabilities yet. As a
consequence, libcap is not available on the Hurd, and thus various packages
using it can not be easily built in Debian GNU/Hurd.
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index 2a08b387..570a9581 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -18,8 +18,8 @@ faulty paths causing these lockups.
The task is systematically checking the [[hurd/libdiskfs]] code for this kind of locking
issues. To achieve this, some kind of test harness has to be implemented: For
-exmple instrumenting the code to check locking correctness constantly at
-runtime. Or implementing a unit testing framework that explicitely checks
+example instrumenting the code to check locking correctness constantly at
+runtime. Or implementing a unit testing framework that explicitly checks
locking in various code paths. (The latter could serve as a template for
implementing unit checks in other parts of the Hurd codebase...)
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index ef1b2bcb..14304de2 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -24,9 +24,9 @@ The goal of this project is a fully functional libgtop in Debian GNU/Hurd. Some
application(s) using it also need to be ported, e.g. gnome-system-monitor.
Some bits of this work are easy, others need some digging into Hurd internals.
-This task doesn't require any specific previous knowlegde (besides of general
+This task doesn't require any specific previous knowledge (besides of general
C/UNIX programming skills of course); but during the course of the project,
-some knowlegde about Hurd internals will have to be obtained, along with a bit
+some knowledge about Hurd internals will have to be obtained, along with a bit
of Debian stuff.
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn
index 60dde525..a60a8038 100644
--- a/community/gsoc/project_ideas/mtab.mdwn
+++ b/community/gsoc/project_ideas/mtab.mdwn
@@ -22,7 +22,7 @@ is no central place keeping track of mounts.
As a consequence, there is currently no easy way to obtain a listing of all
mounted file systems. This also means that commands like `df` can only work on
-explicitely specified mountpoints, instead of displaying the usual listing.
+explicitly specified mountpoints, instead of displaying the usual listing.
One possible solution to this would be for the translator startup mechanism to
update the `mtab` on any `mount`/`unmount`, like in traditional systems.
@@ -31,7 +31,7 @@ with passive translators, i.e., translators that are not presently running, but
set up to be started automatically whenever the node is accessed? Probably
these should be counted among the mounted filesystems; but how to handle the
`mtab` updates for a translator that is not started yet? Generally, being
-centralized and event-based, this is a pretty unelegant, non-hurdish solution.
+centralized and event-based, this is a pretty inelegant, non-hurdish solution.
A more promising approach is to have `mtab` exported by a special translator,
which gathers the necessary information on demand. This could work by
@@ -64,7 +64,7 @@ other filtering rules might be desirable.
After taking decisions on the outstanding design questions, the student will
implement both the actual [[mtab_translator|hurd/translator/mtabfs]], and the
-necessery interface(s) for gathering the data. It requires getting a good
+necessary interface(s) for gathering the data. It requires getting a good
understanding of the translator mechanism and Hurd interfaces in general.
Possible mentors: Olaf Buddenhagen (antrik), Carl Fredrik Hammar (cfhammar)
diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
index d40d73ac..67e3fc28 100644
--- a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
+++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn
@@ -8,7 +8,7 @@ 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 title="Namspace-based Translator Selection"]]
+[[!meta title="Namespace-based Translator Selection"]]
The main idea behind the Hurd is to make (almost) all system functionality
user-modifiable ([[extensible_system|extensibility]]). This includes a
@@ -26,7 +26,7 @@ file, and presents a virtual file with the uncompressed contents. Or the other
way around. Or a translator that presents an
[[XML_file_as_a_directory_tree|hurd/translator/xmlfs]]. Or an mbox as a set of
individual files for each mail ([[hurd/translator/mboxfs]]); or ever further
-breaking it down into headers, body, attachements...
+breaking it down into headers, body, attachments...
This gets even more powerful when translators are used as building blocks for
larger applications: A mail reader for example doesn't need backends for
@@ -40,7 +40,7 @@ There are a few problems with the way translators are set, though. For one,
once a translator is set on a node, you always see the translated content. If
you need the untranslated contents again, to do a backup for example, you first
need to remove the translator again. Also, having to set a translator
-explicitely before accessing the contents is pretty cumbersome, making this
+explicitly before accessing the contents is pretty cumbersome, making this
feature almost useless.
A possible solution is implementing a mechanism for selecting translators
@@ -61,7 +61,7 @@ place of the original ones.
In the long run it's probably desirable to have the mechanism implemented in
the standard name lookup mechanism, so it will be available globally, and avoid
-the overhead of a proxy; but for the beginnig the proxy solution is much more
+the overhead of a proxy; but for the beginning the proxy solution is much more
flexible.
The goal of this project is implementing a prototype proxy; perhaps also a
diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn
index 683287f7..e7c18324 100644
--- a/community/gsoc/project_ideas/nfs.mdwn
+++ b/community/gsoc/project_ideas/nfs.mdwn
@@ -11,12 +11,12 @@ is included in the section entitled
[[!meta title="Improved NFS Implementation"]]
The Hurd has both NFS server and client implementations, which work, but not
-very well: File locking doesn't work properly (at least in conjuction with a
+very well: File locking doesn't work properly (at least in conjunction with a
GNU/Linux server), and performance is extremely poor. Part of the problems
could be owed to the fact that only NFSv2 is supported so far.
(Note though that locking on the Hurd is problematic in general, not only in
-conjuction with NFS -- see the [[file_locking]] task.)
+conjunction with NFS -- see the [[file_locking]] task.)
This project encompasses implementing NFSv3 support, fixing bugs and
performance problems -- the goal is to have good NFS support. The work done in
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index 43e53f7c..23304f6b 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -37,7 +37,7 @@ came about. There are no global databases of any kind. (Some things might
require caching for better performance, but this must happen transparently.)
The core of this approach is formed by [[hurd/translator/stowfs]], which
-creates a traditional unix directory structure from all the files in the
+creates a traditional Unix directory structure from all the files in the
individual package directories. But this only handles the lowest level of
package management. Additional mechanisms are necessary to handle stuff like
dependencies on other packages.
diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn
index 85eec43c..d4760aae 100644
--- a/community/gsoc/project_ideas/procfs.mdwn
+++ b/community/gsoc/project_ideas/procfs.mdwn
@@ -33,7 +33,7 @@ interfaces.)
This project requires learning [[hurd/translator]] programming, and
understanding some of the internals of process management in the Hurd. It
should not be too hard coding-wise; and the task is very nicely defined by the
-exising Linux `/proc` interface -- no design considerations necessary.
+existing Linux `/proc` interface -- no design considerations necessary.
**Note**: We already have several applications for this task.
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index 0a08bbf5..feb30a7c 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -16,10 +16,10 @@ good, as it allows easily escaping the `chroot`, for example by use of
[[passive_translators|hurd/translator]].
Many solutions have been suggested for this problem -- ranging from simple
-workaround changing the behaviour of passive translators in a `chroot`;
-changing the context in which passive translators are exectuted; changing the
+workaround changing the behavior of passive translators in a `chroot`;
+changing the context in which passive translators are executed; changing the
interpretation of filenames in a chroot; to reworking the whole passive
-translator mechanism. Some involving a completely different approch to
+translator mechanism. Some involving a completely different approach to
`chroot` implementation, using a proxy instead of a special system call in the
filesystem servers.
diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn
index 80beab4c..c35d88de 100644
--- a/community/gsoc/project_ideas/server_overriding.mdwn
+++ b/community/gsoc/project_ideas/server_overriding.mdwn
@@ -14,7 +14,7 @@ The main idea of the Hurd is that every user can influence almost all system
functionality ([[extensible_system|extensibility]]), by running private Hurd
servers that replace or proxy the global default implementations.
-However, running such a cumstomized subenvironment presently is not easy,
+However, running such a customized subenvironment presently is not easy,
because there is no standard mechanism to easily replace an individual standard
server, keeping everything else. (Presently there is only the [[hurd/subhurd]]
method, which creates a completely new system instance with a completely
@@ -40,7 +40,7 @@ mechanism would have to check an override table on each lookup, and apply the
desired replacement whenever a match is found.
Another approach would be server-side overrides. Again there are various
-variants. The actual servers themself could provide a mechanism to redirect to
+variants. The actual servers themselves could provide a mechanism to redirect to
other servers on request. (3) Or we could use some more generic server-side
namespace overrides: Either all filesystem servers could provide a mechanism to
modify the namespace they export to certain clients (4), or proxies could be
diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn
index b92f76da..8411831b 100644
--- a/community/gsoc/project_ideas/sound.mdwn
+++ b/community/gsoc/project_ideas/sound.mdwn
@@ -36,7 +36,7 @@ Possible mentors: Samuel Thibault (youpi)
Exercise: This project requires kernel (driver framework) hacking as well as
some Hurd server hacking; so the exercise should involve either of these, or
even both. You could for example port some newer driver to run in the existing
-framework (see the [[device_driver|driver_glue_code]] project descrption), or
+framework (see the [[device_driver|driver_glue_code]] project description), or
try to make some fix(es) to the [unfinished random device
implementation](http://savannah.gnu.org/patch/?6088) created by Michael
Casadevall.
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index b56bff51..735c8bbb 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -21,7 +21,7 @@ more flexibly. Rather than just having the standard socket interface, plus some
lower-level hooks for special needs, there are explicit (perhaps
filesystem-based) interfaces at all the individual levels; special application
can just directly access the desired layer. All kinds of packet filtering,
-routing, tunneling etc. can be easily achieved by stacking compononts in the
+routing, tunneling etc. can be easily achieved by stacking components in the
desired constellation.
Implementing a complete modular network stack is not feasible as a GSoC
diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn
index 93215d07..63b4effe 100644
--- a/community/gsoc/project_ideas/tmpfs.mdwn
+++ b/community/gsoc/project_ideas/tmpfs.mdwn
@@ -15,7 +15,7 @@ actual disk storage, but only by anonymous memory, i.e. lives in the RAM (and
possibly swap space).
A simplistic way to implement such a memory filesystem is literally creating a
-ramdisk, i.e. simply allocating a big chunck of RAM (called a memory store in
+ramdisk, i.e. simply allocating a big chunk of RAM (called a memory store in
Hurd terminology), and create a normal filesystem like ext2 on that. However,
this is not very efficient, and not very convenient either (the filesystem
needs to be recreated each time the ramdisk is invoked). A nicer solution is
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index 6c83092b..d9f1a9e1 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -11,7 +11,7 @@ is included in the section entitled
[[!meta title="Allow Using unionfs Early at Boot"]]
In [[UNIX]] systems, traditionally most software is installed in a common directory
-hierachy, where files from various packages live beside each other, grouped by
+hierarchy, where files from various packages live beside each other, grouped by
function: user-invokable executables in `/bin`, system-wide configuration files
in `/etc`, architecture specific static files in `/lib`, variable data in
`/var`, and so on. To allow clean installation, deinstallation, and upgrade of
diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn
index 3a677306..822b8d99 100644
--- a/community/gsoc/project_ideas/virtualization.mdwn
+++ b/community/gsoc/project_ideas/virtualization.mdwn
@@ -25,7 +25,7 @@ desired constellations.
The goal is to create a set of powerful tools for managing at least one
desirable virtualization scenario. One possible starting point could be the
[[hurd/subhurd]]/[[hurd/neighborhurd]] mechanism, which allows a second almost totally
-independant instance of the Hurd in parallel to the main one.
+independent instance of the Hurd in parallel to the main one.
While subhurd allow creating a complete second system instance, with an own set
of Hurd servers and [[UNIX]] daemons and all, there are also situations where it is
@@ -35,8 +35,8 @@ to create such a subenvironment with a single command would be very helpful.
It might be possible to implement (perhaps as a prototype) a wrapper using
existing tools (chroot and [[hurd/translator/unionfs]]); or it might require more specific tools,
-like some kind of unionfs-like filesytem proxy that mirrors other parts of the
-filesystem, but allows overriding individual locations, in conjuction with
+like some kind of unionfs-like filesystem proxy that mirrors other parts of the
+filesystem, but allows overriding individual locations, in conjunction with
either chroot or some similar mechanism to create a subenvironment with a
different root filesystem.
diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn
index 9e802188..ecc5f9f4 100644
--- a/community/gsoc/project_ideas/vm_tuning.mdwn
+++ b/community/gsoc/project_ideas/vm_tuning.mdwn
@@ -14,7 +14,7 @@ Hurd/[[microkernel/Mach]] presently make very bad use of the available physical
system. Some of the problems are inherent to the system design (the kernel
can't distinguish between important application data and discardable disk
buffers for example), and can't be fixed without fundamental changes. Other
-problems however are an ordinary lack of optimisation, like extremely crude
+problems however are an ordinary lack of optimization, like extremely crude
heuristics when to start paging. (See for example.)
Many parameters are based on assumptions from
a time when typical machines had like 16 MiB of RAM, or simply have been set to
@@ -23,7 +23,7 @@ arbitrary values and never tuned for actual use.
The goal of this project is to bring the virtual memory management in Hurd/Mach
closer to that of modern mainstream kernels (Linux, FreeBSD), by comparing the
implementation to other systems, implementing any worthwhile improvements, and
-general optimisation/tuning. It requires very good understanding of the Mach
+general optimization/tuning. It requires very good understanding of the Mach
VM, and virtual memory in general.
This project is related to [[!GNU_Savannah_task 5489]].
diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn
index 55961547..7178d826 100644
--- a/community/gsoc/project_ideas/xattr.mdwn
+++ b/community/gsoc/project_ideas/xattr.mdwn
@@ -21,7 +21,7 @@ fields in the inode to store Hurd-specific metadata: most notable passive
translator settings. As these fields are Hurd-specific, they can't be accessed
by the standard methods from Linux for example, so it's not possible to fully
work with a Hurd filesystem on GNU/Linux (copy, backup etc.); and also, even
-when on Hurd, only tools that explicitely support the Hurd-specific information
+when on Hurd, only tools that explicitly support the Hurd-specific information
can handle them.
Using extended attributes instead of custom fields for the Hurd-specific
diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn
index dcf9909c..ba339dc9 100644
--- a/community/gsoc/student_application_form.mdwn
+++ b/community/gsoc/student_application_form.mdwn
@@ -37,14 +37,14 @@ be patient and hang on, or try again later.)
Contacting us as soon as possible is crucial, as regular communication is the
single most important factor for a successful GSoC project. We need to see that
-you are able and willing to talk to us regularily. Also, we get to
+you are able and willing to talk to us regularly. Also, we get to
know you much better this way than what the application form alone would allow us to.
You shouldn't be at a loss for reasons to contact us. You ought to discuss your
-project and application with us for exmple -- you will gain a much better idea
+project and application with us for example -- you will gain a much better idea
about the project, our expectations etc. In short, you will be able to
-submit a better application right from the beginnig, saving both yourself and
-us some tedious roundtrips :-)
+submit a better application right from the beginning, saving both yourself and
+us some tedious round trips :-)
Also, if you really want to get involved with the Hurd project, there are
surely many things you will want to know -- after all, it's a fascinating
@@ -174,12 +174,12 @@ the application process.
* Do you have a permanent internet connection, especially during the time of
the summer session? Are you able and willing to hang out on the Hurd IRC
-channel regularily? (As in: Running the IRC client more or less permanently and
+channel regularly? (As in: Running the IRC client more or less permanently and
checking for activity now and then.) If it turns out that your mentor lives in
a different time zone, could you shift your day/night rhythm to better match
that of your mentor and other Hurd developers?
-Hint: Hanging out on the channel regularily during the application process
+Hint: Hanging out on the channel regularly during the application process
would be a good start :-)
* When does your university term end, when are your exams, and when does the
--
cgit v1.2.3
From 7f786419b9c8026a8ab9e36b04fd4cadaf1fb527 Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Thu, 11 Mar 2010 00:55:16 +0100
Subject: Add more information
---
community/gsoc/project_ideas/debian_installer.mdwn | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn
index ca10a61e..d182c4ee 100644
--- a/community/gsoc/project_ideas/debian_installer.mdwn
+++ b/community/gsoc/project_ideas/debian_installer.mdwn
@@ -21,6 +21,15 @@ Some preliminary work has been done, see
The goal is to have the Debian Installer fully working on the Hurd. It
requires relatively little Hurd-specific knowledge.
+A lot of the "non-Linux support" part of the project has already been done thanks to a previous GSoC, so at least no ground reason should bar the project. A lot of the required udebs are already in Debian or are pending upload, so that building an image and booting it does already work. A preliminary list of what remains is
+
+* Add initrd support to GNU Mach, unless youpi does it before :) This should not be very complicated by re-using the iopl driver code.
+* hurdify genext2fs to handle 4096 block size by default (see bug #562999) and support translator entries.
+* Port busybox. This needs to be synchronized with kfreebsd people, who have probably already done some work, but that seemingly still hasn't been merged. In the meanwhile, youpi has a version with most of it disabled so a d-i image can actually be built.
+* Port keyboard-setup to configure the xkb driver of the Hurd console
+
+As a starting point, students might wish to look at the current Debian installer source and build process.
+
Possible mentors: Samuel Thibault (youpi)
-Exercise: Try to get one piece of the installer running on Hurd.
+Exercise: Fix a couple of Hurd issues in busybox.
--
cgit v1.2.3
From 1b076ae5402eae01a4630b4a617b806806f899ce Mon Sep 17 00:00:00 2001
From: Carl Fredrik Hammar
Date: Thu, 11 Mar 2010 13:23:12 +0100
Subject: Spell it `microkernel'
---
community/gsoc/project_ideas/driver_glue_code.mdwn | 2 +-
community/gsoc/project_ideas/dtrace.mdwn | 2 +-
community/gsoc/project_ideas/gnumach_cleanup.mdwn | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn
index 4e1e338c..9c063e9f 100644
--- a/community/gsoc/project_ideas/driver_glue_code.mdwn
+++ b/community/gsoc/project_ideas/driver_glue_code.mdwn
@@ -12,7 +12,7 @@ is included in the section entitled
[[!meta title="New Driver Glue Code"]]
Although a driver framework in user space would be desirable, presently the Hurd
-uses kernel drivers in the micro kernel,
+uses kernel drivers in the microkernel,
[[GNU_Mach|microkernel/mach/gnumach]]. (And changing this would be far beyond a
GSoC project...)
diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn
index 25e6db29..4a46cf38 100644
--- a/community/gsoc/project_ideas/dtrace.mdwn
+++ b/community/gsoc/project_ideas/dtrace.mdwn
@@ -18,7 +18,7 @@ causes bad performance is necessary to improve the situation.
For that, we need tools for performance measurements. While all kinds of more
or less specific profiling tools could be conceived, the most promising and
generic approach seems to be a framework for logging certain events in the
-running system (both in the micro kernel and in the Hurd servers). This would
+running system (both in the microkernel and in the Hurd servers). This would
allow checking how much time is spent in certain modules, how often certain
situations occur, how things interact, etc. It could also prove helpful in
debugging some issues that are otherwise hard to find because of complex
diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
index 954e1242..4aef0d1b 100644
--- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn
+++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn
@@ -10,7 +10,7 @@ is included in the section entitled
[[!meta title="GNU Mach Code Cleanup"]]
-Although there are some attempts to move to a more modern micro kernel
+Although there are some attempts to move to a more modern microkernel
altogether, the current Hurd implementation is based on
[[GNU_Mach|microkernel/mach/gnumach]], which is only a slightly modified
variant of the original CMU [[microkernel/Mach]].
--
cgit v1.2.3
From e91198942e583256fe2221014de05a0d528e422c Mon Sep 17 00:00:00 2001
From: Samuel Thibault
Date: Sun, 14 Mar 2010 23:35:15 +0100
Subject: Add information on what already works
---
community/gsoc/project_ideas/debian_installer.mdwn | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn
index d182c4ee..43682e8b 100644
--- a/community/gsoc/project_ideas/debian_installer.mdwn
+++ b/community/gsoc/project_ideas/debian_installer.mdwn
@@ -23,12 +23,18 @@ requires relatively little Hurd-specific knowledge.
A lot of the "non-Linux support" part of the project has already been done thanks to a previous GSoC, so at least no ground reason should bar the project. A lot of the required udebs are already in Debian or are pending upload, so that building an image and booting it does already work. A preliminary list of what remains is
-* Add initrd support to GNU Mach, unless youpi does it before :) This should not be very complicated by re-using the iopl driver code.
-* hurdify genext2fs to handle 4096 block size by default (see bug #562999) and support translator entries.
-* Port busybox. This needs to be synchronized with kfreebsd people, who have probably already done some work, but that seemingly still hasn't been merged. In the meanwhile, youpi has a version with most of it disabled so a d-i image can actually be built.
-* Port keyboard-setup to configure the xkb driver of the Hurd console
+ * Add initrd support to GNU Mach, unless youpi does it before :) This should not be very complicated by re-using the iopl driver code.
+ * hurdify genext2fs to handle 4096 block size by default (see bug #562999) and support translator entries.
+ * Port busybox. This needs to be synchronized with kfreebsd people, who have probably already done some work, but that seemingly still hasn't been merged. In the meanwhile, youpi has a version with most of it disabled so a d-i image can actually be built.
+ * Port keyboard-setup to configure the xkb driver of the Hurd console
-As a starting point, students might wish to look at the current Debian installer source and build process.
+As a starting point to get a grasp at how the debian installer is built, students might wish to look at the current Debian installer source and build process on Linux:
+
+ * svn co svn://svn.debian.org/d-i/trunk/installer/
+ * cd installer/build
+ * make build_monolithic
+
+The same can be done on hurd-i386 but a few non-uploaded packages are needed, see http://people.debian.org/~sthibault/hurd-i386/README-d-i
Possible mentors: Samuel Thibault (youpi)
--
cgit v1.2.3
From ea9e81001100ebd3f7c00a7854e5d03f554fa919 Mon Sep 17 00:00:00 2001
From: antrik
Date: Fri, 26 Mar 2010 20:29:01 +0100
Subject: gsoc/ideas/valgrind: Rewrite according to recent IRC discussion
Note: I have doubts about the exercise task too... Probably needs
revisiting.
---
community/gsoc/project_ideas/valgrind.mdwn | 71 +++++++++++++++++++++++++++---
1 file changed, 66 insertions(+), 5 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/valgrind.mdwn b/community/gsoc/project_ideas/valgrind.mdwn
index 319d33a7..c6fc7459 100644
--- a/community/gsoc/project_ideas/valgrind.mdwn
+++ b/community/gsoc/project_ideas/valgrind.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010 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
@@ -8,12 +8,73 @@ 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 title="Porting valgrind to the Hurd"]]
+[[!meta title="Porting Valgrind to the Hurd"]]
-Valgrind is a very powerful tool to debunk bugs. However, in order to do so, it needs deep knowledge of the behavior of kernel traps. In the case of GNU/Hurd, there is a bunch of system calls that GNU Mach handles directly, but also all the MIG RPCs (Remote Procedure Calls) which return their result either inline or through memory allocated by the kernel.
+[Valgrind](http://valgrind.org/) is an extremely useful debugging tool for memory errors.
+(And some other kinds of hard-to-find errors too.)
+Aside from being useful for program development in general,
+a Hurd port will help finding out why certain programs segfault on the Hurd,
+although they work on Linux.
+Even more importantly, it will help finding bugs in the Hurd servers themselfs.
-The goal is thus to teach valgrind the exact semantics of all MIG RPCs, most probably in an automatic way from the .defs files.
+To keep track of memory use,
+Valgrind however needs to know how each system call affects the validity of memory regions.
+This knowledge is highly kernel-specific,
+and thus Valgrind needs to be explicitely ported for every system.
-As a starter, students can try to teach valgrind a couple of Linux ioctls, as this will make them learn how to use the read/write primitives of valgrind.
+Such a port involves two major steps:
+making Valgrind understand how kernel traps work in general on the system in question;
+and how all the individual kernel calls affect memory.
+The latter step is where most of the work is,
+as the behaviour of each single system call needs to be described.
+
+Compared to Linux,
+Mach (the microkernel used by the Hurd) has very few kernel traps.
+Almost all system calls are implemented as RPCs instead --
+either handled by Mach itself, or by the various Hurd servers.
+All RPCs use a pair of mach\_msg() invocations:
+one to send a request message, and one to receive a reply.
+However, while all RPCs use the same mach\_msg() trap,
+the actual effect of the call varies greatly depending on which RPC is invoked --
+similar to the ioctl() call on Linux.
+Each request thus must be handled individually.
+
+Unlike ioctl(),
+the RPC invocations have explicit type information for the parameters though,
+which can be retrieved from the message header.
+By analyzing the parameters of the RPC reply message,
+Valgrind can know exactly which memory regions are affected by that call,
+even without specific knowledge of the RPC in question.
+Thus implementing a general parser for the reply messages
+will already give Valgrind a fairly good approximation of memory validity --
+without having to specify the exact semantic of each RPC by hand.
+
+While this should make Valgrind quite usable on the Hurd already, it's not perfect:
+some RPCs might return a buffer that is only partially filled with valid data;
+or some reply parameters might be optional,
+and only contain valid data under certain conditions.
+Such specific semantics can't be deduced from the message headers alone.
+Thus for a complete port,
+it will still be necessary to go through the list of all known RPCs,
+and implement special handling in Valgrind for those RPCs that need it.
+
+The goal of this task is at minimum to make Valgrind grok Mach traps,
+and to implement the generic RPC handler.
+Ideally, specific handling for RPCs needing it should also be implemented.
+
+Completing this project will require digging into Valgrind's handling of system calls,
+and into Hurd RPCs.
+It is not an easy task, but a fairly predictable one --
+there shouldn't be any unexpected difficulties,
+and no major design work is necessary.
+It doesn't require any specific previous knowledge:
+only good programming skills in general.
+On the other hand,
+the student will obtain a good understanding of Hurd RPCs while working on this task,
+and thus perfect qualifications for Hurd development in general :-)
Possible mentors: Samuel Thibault (youpi)
+
+Exercise: As a starter,
+students can try to teach valgrind a couple of Linux ioctls,
+as this will make them learn how to use the read/write primitives of valgrind.
--
cgit v1.2.3
From f36cdb3cafb743de763ed217ef3260c12b15ab2d Mon Sep 17 00:00:00 2001
From: antrik
Date: Sat, 27 Mar 2010 13:14:28 +0100
Subject: gsoc/ideas: grow a Python option to the former Perl task
---
community/gsoc/project_ideas.mdwn | 2 +-
community/gsoc/project_ideas/perl.mdwn | 30 -----------------------
community/gsoc/project_ideas/perl_python.mdwn | 34 +++++++++++++++++++++++++++
3 files changed, 35 insertions(+), 31 deletions(-)
delete mode 100644 community/gsoc/project_ideas/perl.mdwn
create mode 100644 community/gsoc/project_ideas/perl_python.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 2046db9e..c07e5def 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -101,7 +101,7 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/perl_python" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn
deleted file mode 100644
index bfe1968e..00000000
--- a/community/gsoc/project_ideas/perl.mdwn
+++ /dev/null
@@ -1,30 +0,0 @@
-[[!meta copyright="Copyright © 2009 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 title="Improving Perl Support"]]
-
-Perl is available on the Hurd, but there are quite a lot of test suite
-failures. These could be caused by problems in the system-specific
-implementation bits of Perl, and/or shortcomings in the actual system
-functionality which Perl depends on.
-
-The goal of this project is to fix all of these problems if possible, or at
-least some of them. Some issues might require digging quite deep into Hurd
-internals, while others are probably easy to fix.
-
-Note that while some Perl knowledge is probably necessary to understand what
-the test suite failures are about, the actual work necessary to fix these
-issues is mostly C programming -- in the implementation of Perl and/or the
-Hurd.
-
-Possible mentors: Samuel Thibault (youpi)
-
-Exercise: Make some improvement to Perl support on the Hurd, e.g. fixing one of
-the known test suite failures.
diff --git a/community/gsoc/project_ideas/perl_python.mdwn b/community/gsoc/project_ideas/perl_python.mdwn
new file mode 100644
index 00000000..2ecfe106
--- /dev/null
+++ b/community/gsoc/project_ideas/perl_python.mdwn
@@ -0,0 +1,34 @@
+[[!meta copyright="Copyright © 2009, 2010 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 title="Improving Perl or Python Support"]]
+
+Perl and Python are available on the Hurd, but there are quite a lot of test suite
+failures. These could be caused by problems in the system-specific
+implementation bits of Perl/Python, and/or shortcomings in the actual system
+functionality which Perl/Python depends on.
+
+The student applying for this project can pick either Perl or Python,
+whichever he is more comfortable with.
+(Perl is higher priority though; and there are more failures too.)
+
+The goal then is to fix all of the problems with the chosen language if possible, or at
+least some of them. Some issues might require digging quite deep into Hurd
+internals, while others are probably easy to fix.
+
+Note that while some Perl/Python knowledge is probably necessary to understand what
+the test suite failures are about, the actual work necessary to fix these
+issues is mostly C programming -- in the implementation of Perl/Python and/or the
+Hurd.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Make some improvement to Perl/Python support on the Hurd, e.g. fixing one of
+the known test suite failures.
--
cgit v1.2.3
From c676d817508dde90a301788f95799e1159d9978b Mon Sep 17 00:00:00 2001
From: antrik
Date: Sat, 27 Mar 2010 17:31:56 +0100
Subject: gsoc: new idea: fixing testsuite failures
---
community/gsoc/project_ideas.mdwn | 1 +
community/gsoc/project_ideas/testsuites.mdwn | 52 ++++++++++++++++++++++++++++
2 files changed, 53 insertions(+)
create mode 100644 community/gsoc/project_ideas/testsuites.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index c07e5def..ca10c8a2 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -102,6 +102,7 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/perl_python" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/testsuites" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/testsuites.mdwn b/community/gsoc/project_ideas/testsuites.mdwn
new file mode 100644
index 00000000..4f8d43fc
--- /dev/null
+++ b/community/gsoc/project_ideas/testsuites.mdwn
@@ -0,0 +1,52 @@
+[[!meta copyright="Copyright © 2010 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 title="Fix Compatibility Problems Exposed by Testsuites"]]
+
+A number of software packages come with extensive testsuites.
+Some notable ones are Perl, Python, GNU Coreutils, and glib.
+While these testsuites were written mostly to track regressions in the respective packages,
+some of the tests fail on the Hurd in general.
+
+While in some cases these might point to wrong usage of system interfaces,
+most of the time such failures are actually caused by shortcomings in Hurd's implementation of these interfaces.
+These shortcomings are often not obvious in normal use,
+but can be directly or indirectly responsible for all kinds of failures.
+The testsuites help in isolating such problems,
+so they can be tracked down and fixed.
+
+This task thus consists in running some of the mentioned testsuites
+(and/or any other ones that come to mind),
+and looking into the causes of failures.
+The goal is to analyze all failures in one or more of the listed testsuites,
+to find out what shortcomings in the Hurd implementation cause them (if any),
+and to fix at least some of these shortcomings.
+
+Note that this task somewhat overlaps with the [[Perl/Python task|perl_python]] listed above.
+Here the focus however is not on improving the support for any particular program,
+but on fixing general problems in the Hurd.
+
+This is a very flexible task:
+while less experienced students should be able to tackle at least a few of the easier problems,
+other issues will be challenging even for experienced hackers.
+No specific previous knowledge is required for this task;
+only fairly decent C programming skills.
+While tracking down the various issues,
+the student will be digging into the inner workings of the Hurd,
+and thus gradually gaining the knowledge required for Hurd development in general.
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Take a stab at one of the testsuite failures,
+and write a minimal testcase exposing the underlying problem.
+Actually fixing it would be a bonus of course --
+but as it's hard to predict which issues will be easy and which will be tricky,
+we will already be satisfied if the student makes a good effort.
+(We hope to see some discussion of the problems in this case though :-) )
--
cgit v1.2.3
From 061ccb4858a2ac58af5663d0ff24bf6033427f19 Mon Sep 17 00:00:00 2001
From: antrik
Date: Sat, 27 Mar 2010 17:46:10 +0100
Subject: gsoc/ideas/perl_python: borrow better exercise suggestion from
testsuites idea
---
community/gsoc/project_ideas/perl_python.mdwn | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/perl_python.mdwn b/community/gsoc/project_ideas/perl_python.mdwn
index 2ecfe106..34e877ab 100644
--- a/community/gsoc/project_ideas/perl_python.mdwn
+++ b/community/gsoc/project_ideas/perl_python.mdwn
@@ -30,5 +30,9 @@ Hurd.
Possible mentors: Samuel Thibault (youpi)
-Exercise: Make some improvement to Perl/Python support on the Hurd, e.g. fixing one of
-the known test suite failures.
+Exercise: Take a stab at one of the testsuite failures,
+and write a minimal testcase exposing the underlying problem.
+Actually fixing it would be a bonus of course --
+but as it's hard to predict which issues will be easy and which will be tricky,
+we will already be satisfied if the student makes a good effort.
+(We hope to see some discussion of the problems in this case though :-) )
--
cgit v1.2.3
From 8483398a4bbe0a93f2b7759243159b599d03a2b8 Mon Sep 17 00:00:00 2001
From: zhengda
Date: Wed, 7 Apr 2010 11:10:17 +0000
Subject:
---
community/gsoc/project_ideas/tcp_ip_stack.mdwn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
index 735c8bbb..331336ac 100644
--- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn
+++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn
@@ -34,7 +34,7 @@ make such a split later on feasible.
This is [[!GNU_Savannah_task 5469]].
-Possible mentors: ?
+Possible mentors: zhengda
Exercise: You could try making some improvement to the existing pfinet
implementation; or you could work towards running some existing userspace
--
cgit v1.2.3
From 3896ffc39d0b1fa22762af4513047daaab558722 Mon Sep 17 00:00:00 2001
From: Carl Fredrik Hammar
Date: Tue, 20 Apr 2010 19:01:04 +0200
Subject: Integrated David Hedberg's GSoC proposal
Needs more work but the formatting is reasonable.
He gave his permission on IRC.
---
community/gsoc/project_ideas/libcap.mdwn | 4 +
community/gsoc/project_ideas/libcap/details.mdwn | 766 +++++++++++++++++++++++
2 files changed, 770 insertions(+)
create mode 100644 community/gsoc/project_ideas/libcap/details.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index 875b462f..1346203d 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -31,6 +31,10 @@ Some knowledge of POSIX capabilities will need to be obtained, and for the
latter part also some knowledge about the Hurd architecture. This project is
probably doable without previous experience with either, though.
+David Hedberg applied for this project in 2010,
+and though he didn't go through with it,
+he fleshed out many [[libcap/details]].
+
Possible mentors: Samuel Thibault (youpi)
Exercise: Make libcap compile on Debian GNU/Hurd. It doesn't need to actually
diff --git a/community/gsoc/project_ideas/libcap/details.mdwn b/community/gsoc/project_ideas/libcap/details.mdwn
new file mode 100644
index 00000000..aa27a84e
--- /dev/null
+++ b/community/gsoc/project_ideas/libcap/details.mdwn
@@ -0,0 +1,766 @@
+[[!meta copyright="Copyright © 2010 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 title="Details on implementing libcap"]]
+
+
+This is the proposal submitted by David Hedberg for GSoC 2010 (who opted
+to go with another mentoring organization), adapted from an initial
+proposal and several amendments into a single document, but the idea
+is to further adapt it to a more neutral design document over time.
+
+
+# The proposal
+
+### Quick description of POSIX capabilities
+
+The original suggestion can be found [[here|libcap]].
+POSIX capabilities never actually entered the POSIX standard but was
+left as a draft. Linux has nevertheless implemented this draft, and
+there are reasons for doing the same in the Hurd - a more fine grained
+control of rights leading to increased security being one of them.
+
+POSIX capabilities are give on a per-process basis, and basically allows
+splitting up those rights usually granted to root into smaller and more
+specific rights. Examples of capabilities are CAP_CHOWN and CAP_KILL,
+overriding certain restrictions on chown and allowing the process to
+kill processes with different UID's, respectively.
+
+Each process is given three sets with capabilities: the Permitted set
+(P), the Effective set (E) and the Inheritable set (I). The effective
+set contains the capabilities that are currently active. The permitted
+set contains the capabilities that the process has the right to use.
+The inheritable set contains the capabilities that can be inherited
+by children to the process. A process can drop capabilities from its
+permitted set, but not set them. The effective set and the inheritable
+set can be changed freely as long as they stay subsets of the permitted
+set.
+
+Capabilities can also be set on executables. When executed, the resulting
+process is given the capabilities both as defined by the parent process
+and by the capabilities set on the file (formula below), resulting in
+what might be explained as a fine-grained setuid. Implementing this
+requires support for *xattr* or similar.
+
+Some applications that are currently using capabilities are samba, ntp,
+vsftp, pure-ftpd, proftpd, squid, asterisk and dovecot.
+
+
+### A quick description of capabilities in Linux
+
+Each process has a three bit fields representing each of the three
+sets (P, E and I). Each bit field is currently built up of two (32
+bit) integers to be able to hold the 33 currently defined capabilities
+(see linux/capability.h). Each process further has a bounding set which
+bounds the permitted set. Two syscalls handles the setting and getting
+of capabilities; *capset* and *capget*. Some related functionality
+can also be controlled by calling *prctl*: the right to read/drop the
+bounding capabilities (PR_CAPBSET_READ/PR_CAPBSET_DROP) and whether
+or not the process should keep its capabilities when a change is made
+to the threads UID's (PR_SET_KEEPCAPS/PR_GET_KEEPCAPS). User space
+applications are expected(recommended?) to use libcap to take advantage
+of the functionality provided. Some applications also use libcap-ng
+which is "intended to make programming with POSIX capabilities much
+easier than the traditional libcap library". Most applications seem
+to be using the original libcap, however.
+
+
+## Implementing libcap
+
+The exercise for this assignment was to get the libcap used in
+Linux to compile under the Hurd. This was accomplished using the
+latest git version of libcap from (..), corresponding to libcap
+2.19. The changes were simple and amounted to simply removing the
+dependency on some Linux-specific headers and creating stubs for
+capset, capget and prctl described above. This suggests that porting
+this library to the Hurd once the proper functionality is in place
+could be relatively simple. The patch is available
+[here](https://alioth.debian.org/tracker/index.php?func=detail&aid=312442&group_id=30628&atid=410472 "Alioth").
+One could also consider implementing the three missing functions in the
+Hurd (or Hurd glibc) which would allow the usage of the Linux libcap
+without modifications. As the Linux libcap maintainer might or might
+not be interested in making libcap multi platform, this approach might
+be preferable.
+
+
+## Implementing POSIX capabilities in the Hurd
+
+As I am still reading up on how things fit together in the Hurd this is
+very likely to contain some misunderstandings and be at least partly off
+the mark. I intend to have grasped this by the time I start working on
+it however, if I were to be given the chance. Below are two possible
+approaches as I have understood them after some reading and discussions
+on #hurd@freenode.
+
+
+### The basics, Approach 1: Special UID's
+
+Let each capability be represented by a specific UID. One could imagine
+reserving a range of the possible uid_t's for this purpose. The euids
+vector in the authhandle struct could perhaps hold the effective set while
+the auids vector could hold the permitted set as these seem to roughly
+correspond to eachother in intent. This leaves the Inheritable set.
+One solution could be to store the inheritable set in the agids vector,
+but that does not seem to be a very natural nor nice solution. One could
+extend the authhandle struct with an additional vector, but one would then
+need to also extend the auth interface with RPC's to be able to modify
+and access it. Another possibility is to store all the capabilities
+in the same idvec and use separate defines for the the different sets
+(CAP_P_CHMOD, CAP_E_CHMOD, CAP_I_CHMOD). This does not seem like a
+good solution.
+
+Storing each capability in its own uid_t might also arguably be somewhat
+wasteful, although this is probably of secondary concern (if at all).
+One could also imagine that legacy applications might be confused,
+although I am not sure I can see any obvious problems. What happens
+when a process have only capability id's?
+
+
+### The basics, Approach 2: Extend the auth interface
+
+This approach would expand the auth interface and extend
+the auth server with another set of RPC's for capabilities
+(*auth_getcaps*, *auth_makecaps*, *auth_user_authenticate* and
+*auth_server_authenticate*), mirroring those currently declared for id's.
+This would obviously require changes to more parts of the Hurd for
+processes to be able to take advantage of capabilities, but as the logic
+behind handling capabilities and that behind handling user id's might
+not be completely comparable, this might make for a cleaner solution.
+It would also remove the problem of having to sensibly map all the
+three capability sets onto semantically differing sets of user/group
+ids, something that might be even more important if we were to also
+implement something like the bounding sets used in Linux or perhaps
+other related functionality. We are also not limited to having to store
+the capabilities as id vectors, although doing so would perhaps still
+make sense.
+
+
+### The individual capabilities
+
+Implementing the individual capabilities will probably have to be thought
+of on a case-by-case basis. Taking chown (in *libdiskfs*) as an example,
+the exact approach would differ slightly depending on how the approach
+taken to implement capabilities. If the first approach were to be taken,
+the UID's (and thus the capabilities) of the caller would already be
+available to the function through the *iouser* struct contained in the
+*protid* struct given as the first argument. Implementing capabilities
+would then simply be a matter of checking for the special UID's. If the
+second approach were to be taken, one would need to perhaps expand the
+iouser struct to contain information about the capabilities.
+
+Just like Linux has defined many Linux-specific capabilities - some of
+which could certainly be useful also applied to the Hurd - one could
+also imagine extending the POSIX capability system also for Hurd specific
+purposes.
+
+
+## Some applications using capabilities
+
+#### Samba 3
+
+Uses CAP_MKNOD and CAP_LEASE in smbd to only keep the necessary abilities.
+Documentation mentions CAP_LINUX_IMMUTABLE as a way to protect files
+from being deleted. Can also use a couple of IRIX specific capabilities
+(CAP_NETWORK_MGT and CAP_DEVICE_MGT) as alternatives to the Linux-specific
+ones if running on IRIX.
+
+
+#### ntpd
+
+Checks if capabilities are supported, more precisely if CAP_SYS_TIME,
+CAP_SETUID, CAP_SETGID, CAP_SYS_CHROOT and CAP_NET_BIND_SERVICE are
+supported. If they are supported, it uses prctl with PR_SET_KEEPCAPS
+to keep privileges across setuid() and then drops root. After done with
+CAP_SETUID, CAP_SETGID, CAP_SYS_CHROOT it drops every capability except
+CAP_SYS_TIME and, if needed, CAP_NET_BIND_SERVICE.
+
+
+#### vsftpd
+
+Uses CAP_CHOWN, CAP_NET_BIND_SERVICE when using the "one process"
+security model (typically disabled by default).
+
+
+#### proftpd-basic
+
+Provides support for capabilities from mod_cap. Uses CAP_USE_CHOWN,
+CAP_USE_DAC_OVERRIDE, CAP_USE_DAC_READ_SEARCH and CAP_USE_AUDIT_WRITE.
+Distribution contains README.capabilities with some explanations.
+Also ships with their own libcap for some reason, based on libcap 1.10.
+
+
+#### dovecot
+
+Keeps CAP_CHOWN, CAP_SYS_CHROOT, CAP_SETUID, CAP_SETGID,
+CAP_NET_BIND_SERVICE, CAP_DAC_OVERRIDE for proper operations, drops
+the rest.
+
+
+#### bind9
+
+Reasons for each capability are clearly noted in comments in update.c
+in linux_initialprivs() and linux_minprivs(). initialprivs drops all
+capabilities and proceeds to set CAP_NET_BIND_SERVICE, CAP_SYS_CHROOT,
+CAP_SETUID, CAP_SETGID, CAP_DAC_READ_SEARCH and CAP_CHOWN. minprivs only
+sets CAP_NET_BIND_SERVICE and CAP_SYS_RESOURCE.
+
+
+#### pulseaudio
+
+Mentions CAP_NICE (CAP_SYS_NICE), but does not appear to be using it
+(anymore?). Seems to use libcap to drop caps, however.
+
+
+#### pinentry
+
+Checks if CAP_IPC_LOCK is available and "uses it" to gain only the
+ability to lock memory when needed.
+
+
+#### zsh
+
+Comes with a module "caps" which contains "[b]uiltins for manipulating
+POSIX.1e (POSIX.6) capability (privilege) sets." Most useful here is the
+"cap" builtin, which makes it possible to change the shell's process
+capability sets. This might be useful for testing.
+
+
+#### inetutils (ping,traceroute)
+
+Does not use capabilities explicitly, but is nevertheless a useful
+example of how file capabilities could be used. ping and traceroute
+are currently installed suid root since they need to be able to open
+raw sockets. With file capabilities, this could be accomplished by
+instead setting the capability CAP_NET_RAW on the two executables,
+thus giving the utilities almost only the specific rights they need.
+
+
+## The capabilities
+
+The above might give some hint as to what capabilities should be
+prioritized. One assumption I have made is that the goal of this project
+is to implement, as far as possible, the same functionality as what is
+present in Linux. No effort has (so far) been made to look into possible
+applications specific to the Hurd.
+
+A few of the above mentioned applications also explicitly uses
+PR_SET_KEEPCAPS (through prctl()) to specify that capabilities should
+be passed on to children. This means that the implementation in the
+Hurd should take this into account.
+
+I have below done a preliminary classification of the capabilities
+as defined in Linux capability.h into four "classes": Network, File
+management, "glibc -> mach" and Other. There are also some capabilities
+that either depend on functionality not implemented or are too Linux
+specific. I have not described each capability in detail as looking
+at the comments in capability.h and reading in capabilities(7) are
+better sources.
+
+
+### The Networking Class
+
+These would mostly affect pfinet. The general picture seem to be that
+pfinet currently uses a boolean (int) isroot in struct sock_user to keep
+track of the credentials of the caller. This would need to be expanded
+somehow to keep track of the separate capabilities.
+
+CAP_NET_BIND_SERVICE: Allow binding to TCP/UDP sockets below 1024
+CAP_NET_RAW: Allow use of RAW and PACKET sockets.
+CAP_NET_BROADCAST: "Allow broadcasting, listen to multicast"
+CAP_NET_ADMIN: This seem to be a bit of a "catch-all" for network-related
+administration.
+
+
+### The Files Management Class
+
+The description of CAP_CHOWN in the original proposal should apply to
+(most of?) these. That is, modify the iouser struct. At least libdiskfs
+should be modified, but the same or similar modifications might need to
+be made to several servers (libnetfs..? The actual servers implementing
+the filesystem?)
+
+CAP_CHOWN: "Make arbitrary changes to file UIDs and GIDs"
+CAP_FOWNER: allow chmod, utime, .. for files not owned.
+CAP_FSETID: Don't clear setuid/setgid when a file is modified.
+CAP_DAC_OVERRIDE and
+CAP_DAC_READ_SEARCH: Bypasses file/directory read/write/execute permission
+checks. ( hurdexec.c, file-access.c, .. ? )
+CAP_MKNOD: allows usage of "the privileged aspects of mknod()". Does this
+one make sense in the Hurd?
+
+
+### The (glibc -> gnumach) Class
+
+These seem to be implemented in glibc by direct calls to gnumach.
+If they should be implemented, maybe a proxy in the Hurd is needed?
+
+CAP_SYS_TIME: manipulate the system clock, set real-time clock.
+CAP_IPC_LOCK: mlock, mlockall, mmap, shmctl
+CAP_KILL: No permission checks for killing processes
+CAP_SYS_NICE: setpriority/getpriority for arbitrary processes.
+
+
+### The Rest Class
+
+CAP_SYS_CHROOT: Allows usage of chroot().
+It's either really simple (not needed in the case of the Hurd) or really
+difficult. Needs some figuring out. One of the calls that should be
+high-priority.
+CAP_SYS_ADMIN: General administration rights. Seemingly sprinkled out
+into just about everything. Quick grep through the Linux sources gives
+440 hits in .c-files.
+CAP_SYS_BOOT: Allow use of reboot().
+glibc calls init:startup_reboot..
+CAP_SETGID: Allows usage of setgid,setgroups and "forged gids on socket
+credentials passing"
+CAP_SETUID: Allows usage of set*uid and "forged pids on socket credentials
+passing"
+CAP_SYS_TTY_CONFIG: vhangup, some other places. vhangup() is a stub in
+the Hurd, but maybe the console server is otherwise affected?
+CAP_SYS_RESOURCE: Override various limits. (quota, reserved space etc.
+on ext2, interrupt frequencies, consoles,...). According to "The Critique"
+mach performs no resource accounting so some of these might be moot to
+implement, while others still apply.
+CAP_SYS_RAWIO Allow raw input/output. Sprinkled in many places,
+device drivers among others. Many of these will probably be difficult
+to implement.
+CAP_SETPCAP: This one has (or had?) two different usages in Linux:
+If file capabilities are not supported it gives the right to grant
+or remove capabilities from the permitted set of arbitrary processes.
+If file capabilities are supported, it allows for removing capabilities
+from the bounding set of the current process. As the Hurd implementation
+won't have file capabilities initially it might make sense to implement
+this if possible. If bounding sets are implemented this should probably
+be the way provided to modify them.
+
+
+### Unimplementable
+
+*(At this point in time, as far as I can determine)*
+
+CAP_LINUX_IMMUTABLE: depends on chattr etc. working.
+CAP_SETFCAP: depends on xattr's
+CAP_SYS_PACCT: acct() missing in the Hurd.
+CAP_SYS_MODULE, CAP_SYS_PTRACE, CAP_MAC_OVERRIDE, CAP_MAC_ADMIN,
+CAP_AUDIT_WRITE, CAP_AUDIT_CONTROL, CAP_LEASE
+
+
+## Priority when implementing
+
+The two most used capabilities as unscientifically judged from
+the selection of applications above are CAP_NET_BIND_SERVICE and
+CAP_CHOWN, suggesting that implementing the "network class" and the
+"file management" class of capabilities as classified above might be a
+good start. These also, to me, seem to be easier classes to implement.
+CAP_NET_ADMIN might need some extra work.
+
+Second most common were CAP_SYS_CHROOT, CAP_SETGID and CAP_SETUID. I am
+not completely clear on how these should be handled.
+
+Assuming those are out of the way, CAP_IPC_LOCK, CAP_SYS_TIME, CAP_KILL
+and CAP_SYS_NICE might be a good choice to tackle if possible. This
+might, if I have understood things correctly, involve writing a proxy
+Hurd server for these calls in mach.
+
+CAP_SYS_ADMIN, CAP_SYS_RESOURCE and CAP_SYS_RAWIO. These contains a bit
+of "everything" (ADMIN being the worse one), meaning that experience
+and infrastructure gained from implementing the previous capabilities
+might come in handy. CAP_SYS_RAWIO might be difficult; it can be found
+inside many drivers in the Linux source.
+
+
+## Additional general details
+
+[This article](http://www.ibm.com/developerworks/library/l-posixcap.html)
+contains a good general description of how capabilities in Linux
+works. As there will be no file capabilities in the Hurd initially,
+an approach emulating the behavior Linux exhibits when SECURE_NOROOT
+and SECURE_NO_SETUID_FIXUP are *not* set seems to be a good start.
+This is called the "root-user-is-privileged" model in the article,
+and somewhat simplified it means that processes started by root, or
+setuid-root, is given all capabilities no matter what capabilities the
+parent might or might not hold at the time of execution. Quoting verbatim
+from the article:
+
+> * When SECURE_NOROOT is not set, then when a process executes a file,
+> the new capability sets may be calculated as though the file had some
+> file capability sets set fully populated. In particular:
+>
+> * The file inheritable and permitted sets will be full on if the
+> process's real or effective uid is 0 (root) or the file is setuid
+> root.
+>
+> * The file effective set will be full on if the process's effective
+> uid is root or the file is setuid root.
+>
+>
+> * When SECURE_NO_SETUID_FIXUP is not set, then when a process switches
+> its real or effective uids to or from 0, capability sets are further
+> shifted around:
+>
+> * If a process switches its effective uid from 0 to non-0, then its
+> effective capability set is cleared.
+>
+> * If a process switches its real, effective, or saved uids from at
+> least one being 0 to all being non-zero, then both the permitted
+> and effective capabilities are cleared.
+>
+> * If a process sets its effective uid from non-zero to 0, then the
+> effective capabilities are set equal to the permitted capabilities.
+
+The capabilities of the resulting process are determined by the following
+formulas, again taken from the article, with p for Process and f for file:
+
+> pI' = pI
+> pP' = fP | (fI & pI)
+> pE' = pP' & fE
+
+The security under the above described model, being what at least some
+of the applications I listed in my last comment employs, is basically
+the following (also detailed somewhat in the same article):
+
+* Execute process as root (or setuid) to gain all capabilities.
+
+* Use the prctl system call to enable keepcaps for the process
+ (same(?) effect as enabling SECURE_NO_SETUID_FIXUP for the process).
+ keepcaps should be off by default.
+
+* setuid to a non-root user, and by doing so losing the possibility to
+ regain capabilities by simply starting a new process.
+
+* Drop all the capabilities except those few actually needed.
+
+
+## Infrastructure details - Special UIDs approach
+
+The auth server must somehow keep track of three sets of capabilities.
+I suggest keeping these three sets in three additional idvec's in the
+authhandle struct, and will for the purpose of this description name
+these pcaps (permitted), ecaps (effective) and icaps (inheritable).
+This will simplify keeping track of the internal logic somewhat.
+In addition to this, there is a need to keep track of the "keepcaps" flag
+as described above. I suggest representing this with an int keepcaps
+in the same struct.
+
+1. Expand authhandle struct with three additional idvecs and one integer.
+Fix static functions handling the struct, such as destroy_authhandle.
+
+2. Implement the necessary logic in auth_makeauth to handle capabilities.
+
+Problems:
+Assume that all capabilities are mapped onto uids, given names on the form
+uid_, for example uid_cap_net_raw. Assume that the presence
+of an uid in euids suggest that the capability is in the effective set
+of the process, that the presence of this uid in auids suggests that it
+is in the permitted set of the process, and that the presence of this
+uid in aguids suggest that it is in the inheritable set of the process.
+That they are internally stored in separate idvec's can be ignored as
+an implementation detail.
+
+* The UID's have as it is different meanings depending on where in the
+ array they are positioned, and certain clients seem to rely on this.
+ The first UID in euids is the effective uid, and the first and second
+ UIDs in auids are the real and saved UIDS respectively. At least
+ some users of makeauth would need to made aware of capabilities,
+ for example setuid in glibc.
+
+* Setting/getting the keepcaps-flag is also a bit of a problem. To avoid
+ changing the auth interface yet another special UID could be used
+ for this purpose, although that seems to be really stretching it.
+ The cleaner solution would probably be to expand the interface with
+ something along the lines of auth_setkeepcaps/auth_getkeepcaps.
+ This interface would only be used by prctl.
+
+Another problem with this approach is that it seems a bit difficult
+to oversee the affects that using other RPC's like fsys_getroot and
+io_restrict_auth might have on capabilities.
+
+
+## Infrastructure details - "extend-interfaces" approach
+
+This approach has started to seem like the better way to me, as the
+usage of capabilities becomes more explicit through the entire "chain",
+perhaps making it somewhat more easy to understand all the interactions.
+
+I suggest something like the following new interface methods:
+
+***
+
+
+### The auth interface
+
+ routine auth_getauth_caps (
+ handle: auth_t;
+ out euids: idarray_t;
+ out auids: idarray_t;
+ out egids: idarray_t;
+ out agids: idarray_t;
+ out ecaps: idarray_t;
+ out pcaps: idarray_t;
+ out icaps: idarray_t);
+
+ routine auth_makeauth_caps (
+ handle: auth_t;
+ other_handles: portarray_t;
+ euids: idarray_t;
+ auids: idarray_t;
+ egids: idarray_t;
+ agids: idarray_t;
+ ecaps: idarray_t;
+ pcaps: idarray_t;
+ icaps: idarray_t;
+ flags: int; /* keepcaps.. ? */
+ out newhandle: mach_port_make_send_t);
+
+ routine auth_server_authenticate_caps (
+ handle: auth_t;
+ sreplyport reply: mach_port_poly_t;
+ rendezvous: mach_port_send_t;
+ newport: mach_port_poly_t;
+ out euids: idarray_t;
+ out auids: idarray_t;
+ out egids: idarray_t;
+ out agids: idarray_t;
+ out ecaps: idarray_t;
+ out pcaps: idarray_t;
+ out icaps: idarray_t);
+
+
+### The io interface
+
+ routine io_restrict_auth_caps (
+ io_object: io_t;
+ RPT
+ out new_object: mach_port_send_t;
+ uids: idarray_t SCP;
+ gids: idarray_t SCP;
+ ecaps: idarray_t SCP);
+
+
+### The fsys interface
+
+ routine fsys_getroot_caps (
+ fsys: fsys_t;
+ RPT
+ #ifdef FSYS_GETROOT_UREPLY
+ ureplyport ureply: mig_reply_port_t;
+ #endif
+ dotdot_node: mach_port_send_t;
+ gen_uids: idarray_t;
+ gen_gids: idarray_t;
+ out ecaps: idarray_t;
+ out pcaps: idarray_t;
+ out icaps: idarray_t;
+ flags: int;
+ out do_retry: retry_type;
+ out retry_name: string_t;
+ out file: mach_port_send_t);
+
+***
+
+These are meant to be able to replace the old methods with
+capability-aware methods, instead of merely complementing them.
+The replacing work could then be made a more gradual process. Steps:
+
+* Extend authhandle with the same data members as in the UID-case.
+
+* Implement new _caps-functions according to described interface
+ extensions above, refactor code a bit to share common uid-handling
+ logic. Both makeauth's should drop all capabilities if switching from
+ uid 0 without having keepcaps. For example, keepcaps should be unset
+ by default.
+
+* Fix glibc. Extend hurd_id_data in hurd/id.h to store capabilities,
+ switch to capability aware functions where necessary.
+
+* io-reauthenticate. Fix implementations to use
+ auth_server_authenticate_caps instead. For this we also need somewhere
+ to save the caps, so it ties in with for example the extension of
+ iouser as mentioned in the details.
+
+* fsys_getroot. Implement fsys_getroot_caps in libdiskfs, trans,
+ libtreefs, libtrivs, libnetfs. Fix users of function in libdiskfs,
+ libfshelp, settrans, libtreefs, clookup.
+
+* io_restrict_auth. Implement io_restrict_auth_caps in libdiskfs,
+ libtreefs, libtrivfs, libnetfs, boot. Fix users in utils(symlink,
+ firmlink), libtrivs, term, clookup
+
+Among the problems might be that there are a lot of arguments that
+needs to be passed around, and that it seems somewhat ugly to end up
+with function names referencing caps in particular.
+
+Below some more about the specific capabilities. This should in large
+be common to the two approaches above.
+
+
+## Actually handing out the capabilities to process
+
+This seems like a good job for the file_exec route in the fs interface.
+Quoting from the comments above the definition in fs.defs: "*Necessary
+initialization, including authentication changes associated with set[ug]id
+execution must be handled by the filesystem*". The capability-granting
+functionality should to be added in at least the implementations in
+libdiskfs and libnetfs as far as I can determine, and should be "easy
+enough" once the infrastructure for implementing the file-related
+capabilities (CAP_CHOWN etc.) are in place. This also seem to make
+sense considering the future possibility for file capabilities.
+
+
+## Some implementation details of individual capabilities.
+
+### Net-related capabilities.
+
+This turned out to be a bit less work than I had thought, as the
+imported Linux code already seem to contain all the necessary checks.
+What remains to do to implement all of these capabilities is mostly a
+matter of putting some infrastructure in place.
+
+* In struct sock_user (pfinet.h), change isroot for idvec
+ caps. Alternatively, add idvec caps.
+
+* Change the function make_sock_user in socket.c to take an idvec caps
+ as a parameter and properly set the given caps to the corresponding
+ idvec in sock_user.
+
+* Fix users of make_sock_user: S_io_reauthenticate, S_io_restrict_auth,
+ S_socket_create, S_socket_accept. This should be doable with the
+ current infrastructure. For example, S_socket_create currently
+ sets isroot in the new sock_user from the corresponding member in
+ the trivfs_protid struct. This does not present a problem however,
+ as the latter struct also provides access to an iouser (iohelp.h)
+ from which the needed uids of the user should be available.
+
+* Fix up parts of source from Linux, modify task_struct add idvec,
+ modify prepare_current to take the caps idvec instead of isroot.
+ Re-implement the existing function capable(int cap) to actually check
+ for the capability passed as an argument instead of just return isroot.
+
+* Change a few isroot's at 3 other places in the code to check for
+ capabilities. Since these places all have access to isroot and thus by
+ implication the sock_user, they also have access to the new capability
+ information; no restructuring necessary.
+
+
+### File-related capabilities
+
+While there are a lot of servers in the Hurd, I am not sure all of these
+capabilities actually make sense to implement in all of them.
+
+
+#### CAP_CHOWN
+
+Implementing this in libdiskfs should take care of it where it makes
+sense. Servers using libdiskfs uses iouser from libiohelp to hold
+user credentials. As noted above, this struct is already capable of
+holding our capabilities as uid's or is otherwise extended to contain
+the necessary idvecs if using the second general approach. Adding a
+check along the lines of *idvec_contains(uid_cap_chown)* in function
+diskfs_S_file_chown (file-chown.c) should be all that's needed.
+
+In libnetfs, netfs_attempt_chown is declared as a function that the
+server using the library must implement. Any checks for chown rights
+are however most likely performed on the server side, suggesting that
+there is nothing we can do here to implement CAP_CHOWN. Even if we do
+need to add something, an iouser containing the necessary information
+to implement the checks in a manner analogous to that in libdiskfs seems
+to be passed to each important function.
+
+
+#### CAP_DAC_*
+
+These might actually make sense to implement in more servers, and the
+logic seems somewhat involved. Need to add the necessary checks to
+at least file_check_access, file_exec in libdiskfs. file_exec also in
+libnetfs, probably. Possibly changes also in other places.
+
+The main difficulties overall seem to lie in getting the infrastructure
+properly in place rather than implementing most of the individual
+capabilities, and I have updated the schedule a bit in an attempt to
+reflect this.
+
+
+## Schedule updating
+
+The more I look into this the less time it seems likely to take to
+do the work. Below is my best estimation at the moment, and I have
+basically adjusted everything to what I think is more likely estimations.
+If this is correct I would be more or less around midterm. I haven't
+gone completely to the individual level as that doesn't seem to make
+sense, but what is clustered together are either related capabilities
+or a collection of capabilities classified roughly with regards to how
+much I know about the area and how many different rights they control.
+It's not my intention to "slack off" or anything, so if this estimation
+were to be correct I could perhaps take a look at the xattrs-patch,
+or spend the rest of my time fixing PATH_MAX-issues. Then again, maybe
+there is some great difficulty hidden somewhere.
+
+
+#### Some justifications:
+
+Dummy libcap, more or less done.
+*1 day* (making sure it "fails gracefully" shouldn't really take longer than this)
+
+Application for testing, the beginnings of a fairly extensive "test suit" on Linux.
+*2 days*
+
+Basic infrastructure.
+*5 days*, depends on the chosen approach, but it is probably wise to
+reserve at least a bunch of days for this.
+
+Implementations of prctl/capset/capget in libshouldbeinlibc,
+or a port of libcap to the Hurd in any other way.
+*5 days*
+
+CAP_NET_BIND_SERVICE, CAP_NET_RAW, CAP_NET_BROADCAST, CAP_NET_ADMIN
+*4 days*, as noted above this should be easy, but it might uncover bugs
+in the newly implemented infrastructure for example.
+
+CAP_CHOWN,CAP_FOWNER,CAP_FSETID
+*2 days*, I think these only needs to be done in libdiskfs
+
+CAP_DAC_OVERRIDE,CAP_DAC_READ_SEARCH
+*4 days*, these might need changes to various servers
+
+CAP_SYS_TIME,CAP_IPC_LOCK,CAP_KILL
+CAP_SYS_NICE,CAP_SYS_CHROOT,CAP_SYS_BOOT
+*2 weeks*, these are varied and I'm not that sure exactly how each should
+be tackled so some research is needed.
+
+CAP_SETGID,CAP_SETUID,CAP_SYS_TTY_CONFIG
+*4 days*
+
+CAP_SYS_ADMIN,CAP_SYS_RESOURCE,CAP_SYS_RAWIO
+*2 weeks*, these too are pretty varied and some might need some individual
+researching
+
+CAP_SETPCAP
+*1 day*
+
+
+## Schedule
+
+24/5 Start coding
+25/5 Dummy libcap ready for use.
+27/5 The beginnings of a "test suite", written on Linux.
+ 1/6 Basic infrastructure in place
+ 6/6 Dummy libcap extended with real functionality to make use of
+ implemented capability and infrastructure, or the Hurd adapted for
+ compatibility with Linux libcap.
+10/6 The "network class" of capabilities implemented.
+12/6 CAP_CHOWN, CAP_FOWNER, CAP_FSETID
+16/6 CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH
+30/6 CAP_SYS_TIME, CAP_IPC_LOCK, CAP_KILL, CAP_SYS_NICE,
+ CAP_SYS_CHROOT, CAP_SYS_BOOT
+ 4/7 CAP_SETGID,CAP_SETUID,CAP_SYS_TTY_CONFIG
+12/7 "Mentors and students can begin submitting mid-term evaluations"
+16/7 GSoC Mid-term evaluations deadline.
+18/7 CAP_SYS_ADMIN, CAP_SYS_RESOURCE, CAP_SYS_RAWIO
+19/7 CAP_SETPCAP
--
cgit v1.2.3
From 82829a2f7c5fa308fce5db14568f660b186ba25f Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Fri, 23 Jul 2010 22:41:04 +0200
Subject: community/gsoc/project_ideas/libdiskfs_locking: Link to Linux'
sparse.
---
community/gsoc/project_ideas/libdiskfs_locking.mdwn | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
index 570a9581..0618bbe6 100644
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -27,6 +28,8 @@ implementing unit checks in other parts of the Hurd codebase...)
issues; but it wouldn't document the work in terms of actual code produced, and
thus it's not suitable for a GSoC project...)
+[Linux' *sparse*](https://sparse.wiki.kernel.org/) could be worth looking at.
+
This task requires experience with debugging locking issues in multithreaded
applications.
--
cgit v1.2.3
From 8787b6f298100d1c0e4e14da88fdea3755808f37 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Sun, 1 Aug 2010 00:07:50 +0200
Subject: Use open_issue_libpthread.
---
community/gsoc/project_ideas/pthreads.mdwn | 5 +++--
open_issues/libpthread.mdwn | 2 +-
tag/open_issue_pthread.mdwn | 15 ---------------
3 files changed, 4 insertions(+), 18 deletions(-)
delete mode 100644 tag/open_issue_pthread.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index 61c8c079..a33187f6 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -10,7 +11,7 @@ is included in the section entitled
[[!meta title="Convert Hurd Libraries and Servers to pthreads"]]
-[[!tag open_issue_pthread]]
+[[!tag open_issue_libpthread]]
The Hurd was originally created at a time when the [pthreads
standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
diff --git a/open_issues/libpthread.mdwn b/open_issues/libpthread.mdwn
index 68195758..16b6d098 100644
--- a/open_issues/libpthread.mdwn
+++ b/open_issues/libpthread.mdwn
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-[[!tag open_issue_glibc open_issue_pthread]]
+[[!tag open_issue_glibc open_issue_libpthread]]
GSoC project idea: [[community/gsoc/project ideas/pthreads]]
diff --git a/tag/open_issue_pthread.mdwn b/tag/open_issue_pthread.mdwn
deleted file mode 100644
index 0ccb1002..00000000
--- a/tag/open_issue_pthread.mdwn
+++ /dev/null
@@ -1,15 +0,0 @@
-[[!meta copyright="Copyright © 2010 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 title="open_issue_pthread"]]
-
-[[!map
-pages="tagged(open_issue_pthread)"
-show=title]]
--
cgit v1.2.3
From a28c06b80bfbecc09312e28ab61a1794d2d2b29b Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Tue, 14 Sep 2010 14:55:53 +0200
Subject: Merge community/gsoc/project_ideas/procfs into
hurd/translator/procfs.
---
community/gsoc/project_ideas/libgtop.mdwn | 6 ++---
community/gsoc/project_ideas/procfs.mdwn | 45 -------------------------------
hurd/translator/procfs.mdwn | 32 +++++++++++++++++++++-
3 files changed, 34 insertions(+), 49 deletions(-)
delete mode 100644 community/gsoc/project_ideas/procfs.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn
index 14304de2..8eb6953e 100644
--- a/community/gsoc/project_ideas/libgtop.mdwn
+++ b/community/gsoc/project_ideas/libgtop.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010 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
@@ -14,8 +14,8 @@ libgtop is a library used by many applications (especially GNOME applications)
to abstract the system-specific methods for obtaining information about the
current state of the system -- processes running, system load etc.
-A [[Linux-compatible_procfs|madhusudancs]] implementation has been created
-during GSoC 2008, and should cover a large part of the functionality of
+A Linux-compatible [[hurd/translator/procfs]] is available
+and should cover a large part of the functionality of
libgtop. However, not all necessary information is exported via /proc (even on
Linux); there are some bits still missing in the Hurd procfs implementation;
and there are a couple of bugs that need to be fixed to make it fully usable.
diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn
deleted file mode 100644
index d4760aae..00000000
--- a/community/gsoc/project_ideas/procfs.mdwn
+++ /dev/null
@@ -1,45 +0,0 @@
-[[!meta copyright="Copyright © 2008, 2009 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 title="procfs"]]
-
-Although there is no standard (POSIX or other) for the layout of the `/proc`
-pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
-systems, and many tools concerned with process management use it. (`ps`, `top`,
-`htop`, `gtop`, `killall`, `pkill`, ...)
-
-Instead of porting all these tools to use [[hurd/libps]] (Hurd's official method for
-accessing process information), they could be made to run out of the box, by
-implementing a Linux-compatible `/proc` filesystem for the Hurd.
-
-The goal is to implement all `/proc` functionality needed for the various process
-management tools to work. (On Linux, the `/proc` filesystem is used also for
-debugging purposes; but this is highly system-specific anyways, so there is
-probably no point in trying to duplicate this functionality as well...)
-
-The [[existing_partially_working_procfs_implementation|hurd/translator/procfs]]
-can serve as a starting point, but needs to be largely rewritten. (It should
-use [[hurd/libnetfs]] rather than [[hurd/libtrivfs]]; the data format needs to
-change to be more Linux-compatible; and it needs adaptation to newer system
-interfaces.)
-
-This project requires learning [[hurd/translator]] programming, and
-understanding some of the internals of process management in the Hurd. It
-should not be too hard coding-wise; and the task is very nicely defined by the
-existing Linux `/proc` interface -- no design considerations necessary.
-
-**Note**: We already have several applications for this task.
-
-Possible mentors: Olaf Buddenhagen (antrik)
-
-Exercise: Add or fix one piece in the existing procfs translator.
-
-*Status*: Madhusudan.C.S has implemented a new, fully functional [[procfs|madhusudancs]] for
-GSoC 2008. He is still working on some outstanding issues.
diff --git a/hurd/translator/procfs.mdwn b/hurd/translator/procfs.mdwn
index 404a6764..0247aa33 100644
--- a/hurd/translator/procfs.mdwn
+++ b/hurd/translator/procfs.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -8,8 +9,37 @@ 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]]."]]"""]]
+Although there is no standard (POSIX or other) for the layout of the `/proc`
+pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
+systems, and many tools concerned with process management use it. (`ps`, `top`,
+`htop`, `gtop`, `killall`, `pkill`, ...)
+
+Instead of porting all these tools to use [[libps]] (Hurd's official method for
+accessing process information), they could be made to run out of the box, by
+implementing a Linux-compatible `/proc` filesystem for the Hurd.
+
+The goal is to implement all `/proc` functionality needed for the various process
+management tools to work. (On Linux, the `/proc` filesystem is used also for
+debugging purposes; but this is highly system-specific anyways, so there is
+probably no point in trying to duplicate this functionality as well...)
+
+*Status*: Madhusudan.C.S has implemented a new, fully functional [[procfs|madhusudancs]] for
+[[GSoC 2008|community/gsoc/2008]].
+
+In August 2010, Jérémie Koenig [published another, new
+version](http://lists.gnu.org/archive/html/bug-hurd/2010-08/msg00165.html).
+
+
+# Internals
+
+
+## Old Implementation from [[open_issues/HurdExtras]]
+
+
+## Files opened by various tools
+
* [[`ps`|procps]]
* [[`top`|top]]
* [[`htop`|htop]]
--
cgit v1.2.3
From 3f11d947b91a9c5f5eaa743ebb9dd38e34a625a4 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Tue, 21 Sep 2010 11:45:06 +0200
Subject: libpthread: New.
---
community/gsoc/project_ideas/language_bindings.mdwn | 8 +++++---
community/gsoc/project_ideas/pthreads.mdwn | 5 +++--
hurd.mdwn | 1 +
hurd/faq/how_to_switch_microkernels.mdwn | 8 ++++----
hurd/running/debian/package_troubleshooting.mdwn | 3 ++-
libpthread.mdwn | 19 +++++++++++++++++++
open_issues/some_todo_list.mdwn | 1 -
7 files changed, 34 insertions(+), 11 deletions(-)
create mode 100644 libpthread.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index a27b0d30..460b380b 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -42,8 +43,9 @@ use the latter approach, and can serve as a good example.
There is another possible reason for preferring lower-level bindings:
Presently, the Hurd server libraries use the cthreads threading library, which
-predates the pthread standard prevalent today. There is a pthread library for
-the Hurd as well, but it's not possible to use both cthreads and pthreads in
+predates the pthread standard prevalent today. There is a
+[[pthread library for the Hurd|libpthread]]
+as well, but it's not possible to use both cthreads and pthreads in
the same executable. Thus, until
[[porting_the_Hurd_libraries_to_pthreads|community/gsoc/project_ideas/pthreads]]
is finished, implementing bindings for any language that uses pthreads (in the
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
index a33187f6..2270c774 100644
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ b/community/gsoc/project_ideas/pthreads.mdwn
@@ -17,11 +17,12 @@ The Hurd was originally created at a time when the [pthreads
standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
didn't exist yet. Thus all Hurd servers and libraries are using the old
[[cthreads|hurd/libcthreads]] package that came with [[microkernel/Mach]],
-which is not compatible with [[pthreads|hurd/libpthread]].
+which is not compatible with pthreads.
Not only does that mean that people hacking on Hurd internals have to deal with
a non-standard thread package, which nobody is familiar with. Although a
-pthreads implementation for the Hurd was created in the meantime, it's not
+[[pthreads implementation for the Hurd|libpthread]]
+was created in the meantime, it's not
possible to use both cthreads and pthreads in the same program. Consequently,
pthreads can't presently be used in any Hurd servers -- including translators.
diff --git a/hurd.mdwn b/hurd.mdwn
index c5627e29..24610f97 100644
--- a/hurd.mdwn
+++ b/hurd.mdwn
@@ -96,6 +96,7 @@ in the *unstable* branch of the Debian archive.
* [[libtrivfs]]
* [[libnetfs]] -- short introductory material
* [[libihash]]
+ * [[libpthread]]
* [[IO_Path]]
* [[Porting]]
* [[Debugging]]
diff --git a/hurd/faq/how_to_switch_microkernels.mdwn b/hurd/faq/how_to_switch_microkernels.mdwn
index 468fab54..21f7a371 100644
--- a/hurd/faq/how_to_switch_microkernels.mdwn
+++ b/hurd/faq/how_to_switch_microkernels.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010 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
@@ -10,6 +10,6 @@ License|/fdl]]."]]"""]]
[[!meta title="How difficult would it be to switch to another microkernel?"]]
-One thing for sure is to rewrite the mach and sysdeps/mach parts of glibc and
-libpthread. Quite a few tools also assume a Mach kernel and would have to be
-rewritten.
+One would have to reimplement the `mach/` and `sysdeps/mach/` parts of
+[[glibc]] and [[libpthread]]. Quite a few other Hurd tools also assume a
+[[microkernel/Mach]] kernel and would have to be adapted or rewritten.
diff --git a/hurd/running/debian/package_troubleshooting.mdwn b/hurd/running/debian/package_troubleshooting.mdwn
index 43ecbc77..c6236c2f 100644
--- a/hurd/running/debian/package_troubleshooting.mdwn
+++ b/hurd/running/debian/package_troubleshooting.mdwn
@@ -17,7 +17,8 @@ You must set up the [[translator/random]] device first.
## An X package hangs at startup without error messages
-Observed with GTK programs like xchat, synaptic, inkscape. It is an issue with libpthread that (as of 04 Feb 2007) is still unresolved. Sorry.
+Observed with GTK programs like xchat, synaptic, inkscape. It is an issue with
+[[libpthread]] that (as of 04 Feb 2007) is still unresolved. Sorry.
## Borked fonts on GTK app
diff --git a/libpthread.mdwn b/libpthread.mdwn
new file mode 100644
index 00000000..f6210706
--- /dev/null
+++ b/libpthread.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2010 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 title="POSIX Threading Library"]]
+
+Used by / ported to the [[Hurd]] on [[GNU Mach|microkernel/mach/gnumach]], some
+[[microkernel/L4]] variants, and [[microkernel/Viengoos]].
+
+
+# Open Issues
+
+ * [[tag/open_issue_libpthread]]
diff --git a/open_issues/some_todo_list.mdwn b/open_issues/some_todo_list.mdwn
index 5f8470b7..1f6f5002 100644
--- a/open_issues/some_todo_list.mdwn
+++ b/open_issues/some_todo_list.mdwn
@@ -51,7 +51,6 @@ From Marcus, 2002:
* Are all inode numbers and link counts correct?
* We also should have a "make check" test suite. We can add this once Jeff finished his automake patches
* pick up the other things
- * pthread, definitely. Now that we are so close
* new console is basically done
* needs integration of course
* X switching support
--
cgit v1.2.3
From b7ba1377b7c712e42275f2c8055974dc2a48a0e4 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Sat, 6 Nov 2010 10:27:05 +0100
Subject: open_issues/performance: New.
---
community/gsoc/project_ideas.mdwn | 5 ++-
.../gsoc/project_ideas/disk_io_performance.mdwn | 36 ------------------
open_issues/io_system_binutils_ld_64ksec.mdwn | 33 ----------------
.../io_system_binutils_ld_64ksec/test.tar.xz | Bin 378092 -> 0 bytes
open_issues/performance.mdwn | 11 ++++++
open_issues/performance/io_system.mdwn | 42 +++++++++++++++++++++
.../performance/io_system/binutils_ld_64ksec.mdwn | 33 ++++++++++++++++
.../io_system/binutils_ld_64ksec/test.tar.xz | Bin 0 -> 378092 bytes
8 files changed, 89 insertions(+), 71 deletions(-)
delete mode 100644 community/gsoc/project_ideas/disk_io_performance.mdwn
delete mode 100644 open_issues/io_system_binutils_ld_64ksec.mdwn
delete mode 100644 open_issues/io_system_binutils_ld_64ksec/test.tar.xz
create mode 100644 open_issues/performance.mdwn
create mode 100644 open_issues/performance/io_system.mdwn
create mode 100644 open_issues/performance/io_system/binutils_ld_64ksec.mdwn
create mode 100644 open_issues/performance/io_system/binutils_ld_64ksec/test.tar.xz
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index ca10c8a2..2102e8f7 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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
@@ -84,7 +85,7 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]]
+[[!inline pages="open_issues/performance/io_system" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn
deleted file mode 100644
index b6c857b0..00000000
--- a/community/gsoc/project_ideas/disk_io_performance.mdwn
+++ /dev/null
@@ -1,36 +0,0 @@
-[[!meta copyright="Copyright © 2008, 2009 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 title="Disk I/O Performance Tuning"]]
-
-The most obvious reason for the Hurd feeling slow compared to mainstream
-systems like GNU/Linux, is very slow hard disk access.
-
-The reason for this slowness is lack and/or bad implementation of common
-optimization techniques, like scheduling reads and writes to minimize head
-movement; effective block caching; effective reads/writes to partial blocks;
-reading/writing multiple blocks at once; and read-ahead. The
-[[ext2_filesystem_server|hurd/translator/ext2fs]] might also need some
-optimizations at a higher logical level.
-
-The goal of this project is to analyze the current situation, and implement/fix
-various optimizations, to achieve significantly better disk performance. It
-requires understanding the data flow through the various layers involved in
-disk access on the Hurd ([[filesystem|hurd/virtual_file_system]],
-[[pager|hurd/libpager]], driver), and general experience with
-optimizing complex systems. That said, the killing feature we are definitely
-missing is the read-ahead, and even a very simple implementation would bring
-very big performance speedups.
-
-Possible mentors: Samuel Thibault (youpi)
-
-Exercise: Look through all the code involved in disk I/O, and try something
-easy to improve. It's quite likely though that you will find nothing obvious --
-in this case, please contact us about a different exercise task.
diff --git a/open_issues/io_system_binutils_ld_64ksec.mdwn b/open_issues/io_system_binutils_ld_64ksec.mdwn
deleted file mode 100644
index 0484137a..00000000
--- a/open_issues/io_system_binutils_ld_64ksec.mdwn
+++ /dev/null
@@ -1,33 +0,0 @@
-[[!meta copyright="Copyright © 2010 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]]."]]"""]]
-
-[[!tag open_issue_hurd]]
-
-This one may be considered as a testcase for I/O system optimization.
-
-It is taken from the [[binutils_testsuite]], `ld/ld-elf/sec64k.exp`, where this
-test may occasionally [[trigger a timeout|binutils_testsuite#64ksec]]. It is
-extracted from cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24.
-
- $ wget -O - http://www.gnu.org/software/hurd/open_issues/io_system_binutils_ld_64ksec/test.tar.xz | xz -d | tar -x
- $ cd test/
- $ \time ./ld-new.stripped -o dump dump?.o dump??.o
- 0.00user 0.00system 2:46.11elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
- 0inputs+0outputs (0major+0minor)pagefaults 0swaps
-
-On the idle grubber, this one repeatedly takes a few minutes wall time to
-complete successfully, contrary to a few seconds on a GNU/Linux system.
-
-While processing the object files, there is heavy interaction with the relevant
-[[hurd/translator/ext2fs]] process . Running [[hurd/debugging/rpctrace]] on
-the testee shows that (primarily) an ever-repeating series of `io_seek` and
-`io_read` is being processed. Running the testee on GNU/Linux with strace
-shows the equivalent thing (`_llseek`, `read`) -- but Linux' I/O system isn't
-as slow as the Hurd's.
diff --git a/open_issues/io_system_binutils_ld_64ksec/test.tar.xz b/open_issues/io_system_binutils_ld_64ksec/test.tar.xz
deleted file mode 100644
index 6d7c606c..00000000
Binary files a/open_issues/io_system_binutils_ld_64ksec/test.tar.xz and /dev/null differ
diff --git a/open_issues/performance.mdwn b/open_issues/performance.mdwn
new file mode 100644
index 00000000..3ffffa4d
--- /dev/null
+++ b/open_issues/performance.mdwn
@@ -0,0 +1,11 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+ * [[I/O System|io_system]]
diff --git a/open_issues/performance/io_system.mdwn b/open_issues/performance/io_system.mdwn
new file mode 100644
index 00000000..bf59b5df
--- /dev/null
+++ b/open_issues/performance/io_system.mdwn
@@ -0,0 +1,42 @@
+[[!meta copyright="Copyright © 2008, 2009, 2010 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 title="I/O System"]]
+
+[[!tag open_issue_hurd]]
+
+The most obvious reason for the Hurd feeling slow compared to mainstream
+systems like GNU/Linux, is a low I/O system performance, in particular very
+slow hard disk access.
+
+The reason for this slowness is lack and/or bad implementation of common
+optimization techniques, like scheduling reads and writes to minimize head
+movement; effective block caching; effective reads/writes to partial blocks;
+reading/writing multiple blocks at once; and read-ahead. The
+[[ext2_filesystem_server|hurd/translator/ext2fs]] might also need some
+optimizations at a higher logical level.
+
+The goal of this project is to analyze the current situation, and implement/fix
+various optimizations, to achieve significantly better disk performance. It
+requires understanding the data flow through the various layers involved in
+disk access on the Hurd ([[filesystem|hurd/virtual_file_system]],
+[[pager|hurd/libpager]], driver), and general experience with
+optimizing complex systems. That said, the killing feature we are definitely
+missing is the read-ahead, and even a very simple implementation would bring
+very big performance speedups.
+
+Here's a real use-case: [[binutils_ld_64ksec]].
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: Look through all the code involved in disk I/O, and try something
+easy to improve. It's quite likely though that you will find nothing obvious --
+in this case, please contact us about a different exercise task.
diff --git a/open_issues/performance/io_system/binutils_ld_64ksec.mdwn b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
new file mode 100644
index 00000000..60dca510
--- /dev/null
+++ b/open_issues/performance/io_system/binutils_ld_64ksec.mdwn
@@ -0,0 +1,33 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+This one may be considered as a testcase for I/O system optimization.
+
+It is taken from the [[binutils_testsuite]], `ld/ld-elf/sec64k.exp`, where this
+test may occasionally [[trigger a timeout|binutils_testsuite#64ksec]]. It is
+extracted from cdf7c161ebd4a934c9e705d33f5247fd52975612 sources, 2010-10-24.
+
+ $ wget -O - http://www.gnu.org/software/hurd/open_issues/performance/io_system/binutils_ld_64ksec/test.tar.xz | xz -d | tar -x
+ $ cd test/
+ $ \time ./ld-new.stripped -o dump dump?.o dump??.o
+ 0.00user 0.00system 2:46.11elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
+ 0inputs+0outputs (0major+0minor)pagefaults 0swaps
+
+On the idle grubber, this one repeatedly takes a few minutes wall time to
+complete successfully, contrary to a few seconds on a GNU/Linux system.
+
+While processing the object files, there is heavy interaction with the relevant
+[[hurd/translator/ext2fs]] process . Running [[hurd/debugging/rpctrace]] on
+the testee shows that (primarily) an ever-repeating series of `io_seek` and
+`io_read` is being processed. Running the testee on GNU/Linux with strace
+shows the equivalent thing (`_llseek`, `read`) -- but Linux' I/O system isn't
+as slow as the Hurd's.
diff --git a/open_issues/performance/io_system/binutils_ld_64ksec/test.tar.xz b/open_issues/performance/io_system/binutils_ld_64ksec/test.tar.xz
new file mode 100644
index 00000000..6d7c606c
Binary files /dev/null and b/open_issues/performance/io_system/binutils_ld_64ksec/test.tar.xz differ
--
cgit v1.2.3
From 1e67a761cbfa94a69cec2f5709d23d7983cd0fc1 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Thu, 25 Nov 2010 11:55:21 +0100
Subject: Talk about advantages, challenges, how many developers, why so few
developers.
---
advantages.mdwn | 71 ++++++++++++++++++
challenges.mdwn | 21 ++++++
.../gsoc/project_ideas/language_bindings.mdwn | 2 +-
faq/how_many_developers.mdwn | 25 +++++++
faq/why_so_few_developers.mdwn | 27 +++++++
hurd/advantages.mdwn | 67 -----------------
hurd/challenges.mdwn | 16 ----
index.mdwn | 8 +-
open_issues/benefits.mdwn | 86 ---------------------
.../benefits_of_a_native_hurd_implementation.mdwn | 87 ++++++++++++++++++++++
...implementing_hurd_on_top_of_another_system.mdwn | 45 +++++------
open_issues/multiprocessing.mdwn | 18 ++---
tag.mdwn | 5 ++
13 files changed, 276 insertions(+), 202 deletions(-)
create mode 100644 advantages.mdwn
create mode 100644 challenges.mdwn
create mode 100644 faq/how_many_developers.mdwn
create mode 100644 faq/why_so_few_developers.mdwn
delete mode 100644 hurd/advantages.mdwn
delete mode 100644 hurd/challenges.mdwn
delete mode 100644 open_issues/benefits.mdwn
create mode 100644 open_issues/benefits_of_a_native_hurd_implementation.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/advantages.mdwn b/advantages.mdwn
new file mode 100644
index 00000000..18e6506b
--- /dev/null
+++ b/advantages.mdwn
@@ -0,0 +1,71 @@
+[[!meta copyright="Copyright © 2001, 2002, 2008, 2010 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]]."]]"""]]
+
+The GNU Hurd has a number of enticing features:
+
+It's free software, so anybody can use, modify, and redistribute it under the
+terms of the [[GNU General Public License (GPL)|GPL]].
+
+It's compatible as it provides a familiar programming and user environment.
+For all intents and purposes, the Hurd provides the same facilities as a modern
+[[Unix]]-like kernel. The Hurd uses the [[GNU C Library|glibc]], whose
+development closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix,
+SVID, and X/Open.
+
+Unlike other popular kernel software, the Hurd has an object-oriented structure
+that allows it to evolve without compromising its design. This structure will
+help the Hurd undergo major redesign and modifications without having to be
+entirely rewritten.
+
+The Hurd is built in a very modular fashion. Other Unix-like kernels (Linux,
+for example) are also modular in that they allow loading (and unloading) some
+components as kernel modules, but the Hurd goes one step further in that most
+of the components that constitute the whole kernel are running as separate
+user-space processes and are thus using different address spaces that are
+isolated from each other. This is a multi-server design based on a
+[[microkernel]]. It is not possible that a faulty memory dereference inside
+the [[TCP/IP stack|hurd/translator/pfinet]] can bring down the whole kernel,
+and thus the whole system, which is a real problem in a monolothic Unix kernel
+architecture.
+
+One advantage of the Hurd's separation of kernel-like functionality into
+separate components ([[servers|hurd/translator]]) is that these can be
+constructed using different programming lanugages -- a feature that is not
+easily possible in a monolithic kernel. Essentially, only an interface from
+the programming environment to the [[RPC]] mechanism is required. (We have a
+[[project proposal|community/gsoc/project_ideas/language_bindings]] for this,
+if you're interested.)
+
+
+
+The Hurd is an attractive platform for learning how to become a kernel hacker
+or for implementing new ideas in kernel technology. Every part of the system
+is designed to be easily modified and extended.
+
+It is possible to develop and test new Hurd kernel components without rebooting
+the machine. Running your own kernel components doesn't interfere with other
+users, and so no special system privileges are required. The mechanism for
+kernel extensions is secure by design: it is impossible to impose your changes
+upon other users unless they authorize them or you are the system
+administrator.
+
+The Hurd is real software that works right now. It is not a research project
+or a proposal. You don't have to wait at all before you can [[start
+using|hurd/running]] and [[developing|contributing]] it.
+
+
diff --git a/challenges.mdwn b/challenges.mdwn
new file mode 100644
index 00000000..5368ae4e
--- /dev/null
+++ b/challenges.mdwn
@@ -0,0 +1,21 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+The GNU Hurd has a lot of [[advantages]], but there are challenges, too.
+
+Even though they're quite popular in the simpler embedded space, there is no
+successful true multi-server [[microkernel]] system for general-purpose desktop
+use yet. This is still an ongoing research effort. (TODO: add references.)
+
+Likewise, resource scheduling in distributed operating system kernels is a
+research topic. For example, read more about it on the relevant [[Open Issues
+page|open_issues/multiprocessing]].
+
+TODO: more to come. [[!tag open_issue_documentation]]
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index 460b380b..c8a02390 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -20,7 +20,7 @@ However, in practice this is not as easy as it should, because creating
translators and other servers is quite involved -- the interfaces for doing
that are not exactly simple, and available only for C programs. Being able to
easily create simple translators in RAD languages is highly desirable, to
-really be able to reap the advantages of the Hurd architecture.
+really be able to reap the [[advantages]] of the Hurd architecture.
Originally Lisp was meant to be the second system language besides C in the GNU
system; but that doesn't mean we are bound to Lisp. Bindings for any popular
diff --git a/faq/how_many_developers.mdwn b/faq/how_many_developers.mdwn
new file mode 100644
index 00000000..a553df21
--- /dev/null
+++ b/faq/how_many_developers.mdwn
@@ -0,0 +1,25 @@
+[[!meta copyright="Copyright © 2010 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 title="How many developers are working on the GNU Hurd?"]]
+
+Not many. One handful work on it in their free time, and another two
+handful do help with [[Debian GNU/Hurd|hurd/running/debian]] and
+[[hurd/running/Arch_Hurd]] packaging. Also, an additional handful of
+former developers are still availble for answering technical questions,
+but are not really participating in the current development anymore.
+
+For reaching out to new developers, we're participating in [[Google's
+Summer of Code program|community/gsoc]]. Likewise, any interested party
+(*you*!) are very welcome to start [[contributing]]. Mentoring is
+possible, too, to help you get started.
+
+Continue reading some speculation about [[why so few developers]] are working
+on the GNU Hurd.
diff --git a/faq/why_so_few_developers.mdwn b/faq/why_so_few_developers.mdwn
new file mode 100644
index 00000000..a2740abc
--- /dev/null
+++ b/faq/why_so_few_developers.mdwn
@@ -0,0 +1,27 @@
+[[!meta copyright="Copyright © 2010 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 title="Why are there so few developers working on the GNU
+Hurd?"]]
+
+[[There aren't working a lot of people on the GNU
+Hurd|how_many_developers]]. Why is this?
+
+We can only speculate. One major problem might be that the
+[[architectural benefits|advantages]] are generally perceived as very
+abstract, with little practical benefits. We don't have many tools to
+present actually making use of the possibilities.
+
+Another reason is that it's been taking too long. Most people don't
+believe it will ever be ready for production use, and thus would consider
+involvement a waste of time. This latter point is invalid, of course, as
+learning can never be a waste of time. The same holds for the
+[[challenges]] raised by the GNU Hurd -- we can only learn and improve
+upon working on them.
diff --git a/hurd/advantages.mdwn b/hurd/advantages.mdwn
deleted file mode 100644
index 254e33f6..00000000
--- a/hurd/advantages.mdwn
+++ /dev/null
@@ -1,67 +0,0 @@
-[[!meta copyright="Copyright © 2001, 2002, 2008, 2010 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]]."]]"""]]
-
-The GNU Hurd has a number of enticing features:
-
-It's free software, so anybody can use, modify, and redistribute it under the
-terms of the [[GNU General Public License (GPL)|GPL]].
-
-It's compatible as it provides a familiar programming and user environment.
-For all intents and purposes, the Hurd provides the same facilities as a modern
-Unix-like kernel. The Hurd uses the [[GNU C Library|glibc]], whose development
-closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix, SVID, and
-X/Open.
-
-Unlike other popular kernel software, the Hurd has an object-oriented structure
-that allows it to evolve without compromising its design. This structure will
-help the Hurd undergo major redesign and modifications without having to be
-entirely rewritten.
-
-The Hurd is built in a very modular fashion. Other Unix-like kernels (Linux,
-for example) are also modular in that they allow loading (and unloading) some
-components as kernel modules, but the Hurd goes one step further in that most
-of the components that constitute the whole kernel are running as separate
-user-space processes and are thus using different address spaces that are
-isolated from each other. This is a multi-server design based on a
-[[microkernel]]. It is not possible that a faulty memory dereference inside
-the [[TCP/IP stack|translator/pfinet]] can bring down the whole kernel, and
-thus the whole system, which is a real problem in a monolothic Unix kernel
-architecture.
-
-One advantage of the Hurd's separation of kernel-like functionality into
-separate components ([[servers|translator]]) is that these can be constructed
-using different programming lanugages -- a feature that is not easily possible
-in a monolithic kernel. Essentially, only an interface from the programming
-environment to the [[RPC]] mechanism is required.
-
-
-
-The Hurd is an attractive platform for learning how to become a kernel hacker
-or for implementing new ideas in kernel technology. Every part of the system
-is designed to be easily modified and extended.
-
-It is possible to develop and test new Hurd kernel components without rebooting
-the machine. Running your own kernel components doesn't interfere with other
-users, and so no special system privileges are required. The mechanism for
-kernel extensions is secure by design: it is impossible to impose your changes
-upon other users unless they authorize them or you are the system
-administrator.
-
-The Hurd is real software that works right now. It is not a research project
-or a proposal. You don't have to wait at all before you can [[start
-using|running]] and [[developing|contributing]] it.
diff --git a/hurd/challenges.mdwn b/hurd/challenges.mdwn
deleted file mode 100644
index 640b95c9..00000000
--- a/hurd/challenges.mdwn
+++ /dev/null
@@ -1,16 +0,0 @@
-[[!meta copyright="Copyright © 2010 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]]."]]"""]]
-
-
-
-The GNU Hurd has a lot of [[advantages]], but there are challenges, too.
-
-There is no successful true multi-server [[microkernel]] system for desktop use
-yet. Though, they are quite popular in the simpler embedded space.
diff --git a/index.mdwn b/index.mdwn
index 249b2091..9520a438 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -31,7 +31,7 @@ computing environment as possible.
---
-[[!toc]]
+[[!toc levels=2]]
## News
@@ -122,6 +122,12 @@ For more details, please read our writeup on the
[[current_state_of_the_GNU_Hurd|hurd/status]].
+### Advantages and Challenges
+
+The GNU Hurd operating system design provides [[advantages]], but uncovers new
+[[challenges]], too.
+
+
## How is this site arranged?
The menu on the upper right corner provides a rough structuring about the
diff --git a/open_issues/benefits.mdwn b/open_issues/benefits.mdwn
deleted file mode 100644
index da1248c8..00000000
--- a/open_issues/benefits.mdwn
+++ /dev/null
@@ -1,86 +0,0 @@
-[[!meta copyright="Copyright © 2010 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]]."]]"""]]
-
-[[!tag open_issue_documentation]]
-
-What are the benefits of a native GNU/Hurd system, now that Linux et al. can do
-so much (think [[hurd/translator]]s: FUSE, [[hurd/subhurd]]s: User-Mode-Linux,
-etc.).
-
-It is possible to begin [[implementing_Hurd_on_top_of_another_system]], but...
-
-IRC, #hurd, August / September 2010
-
- ArneBab: but Neal and I were not happy with that alone. We were
- looking for deeper improvements to the system, for, I think, sound reasons.
- That is what brought us to the L4/Coyotos technologies
- ArneBab: as you are writing a kernel in user space, you can still do
- kernel improvements there
- ArneBab: if you take it very far, you end up with a kernel that runs
- Linux in user space (just flip the two) for the drivers
- ArneBab: that is what the L4 people did with the DDE
-
-([[DDE]])
-
- ArneBab: so, with these different cuts, there are different
- opportunities. on the one end, you can run Linux as normal and get some of
- the Hurd features such as translators in some programs. At the other end,
- you can do whatever you want and run some linux code for the drivers or none
- at all.
- ArneBab: one of the big questions then becomes: at which point can
- the advantages offered by the Hurd be realized?
- ArneBab: and that's not entirely clear to me
- when I worked on this with Neal, we pushed further and further into
- need-to-change-everything land
- while the current efforts on the Hurd seem to be more equivalent to
- the could-run-it-in-userspace-on-top-of-Linux camp
- marcusb: for that I think we need a way to move towards them step by
- step. Would it be possible to get the advantages of better resource
- allocation with a Viengoos in userspace, too?
- and when that is stable, just switch over?
- ArneBab: I don't know. I suspect these people will know before us:
- http://lxc.sourceforge.net/
- something like implementing flip points: flip Linux with Hurd to Hund
- with Linux. Flip Mach with L4 to L4 with Mach.
- lxc sounds interesting.
- note that these efforts address security concerns more than other
- concerns
- so they will get isolation long before sharing is even considered
- but some of the issues are the same
- once you allow malware to do what it wants, it's a small step to also
- allow the user to what he wants :)
- it kinda looks like hacking it where it doesn’t really fit again…
- there I ask myself when the point comes that doing a cleaner design
- offsets the popularity
- they are pushing more and more stuff into userspace
- which is a good thing (to me)
- it’s hard to clearly describe how, but even though I like having more
- stuff in userspace, the way it is bolted onto Linux doesn’t feel good for me.
- FUSE is cool, but if I use it, I am at a disadvantage compared to a
- non-fuse user
- while in the Hurd, these additional options are on eqal footing.
- ArneBab: are they pushing more and more into user space? I don't
- think so. I see more of the reverse, actually
- or maybe both
- FUSE, lxd and scheduling in userspace move to userspace
- well, KMS moved to the kernel
- to avoid flickering when switching between X and the console?
- marcusb: Do you experience FUSE lxc and such being secondclass in
- Linux, too, or is that just a strange feeling of me?
- marcusb: and that splits the users into those who can get stuff into
- the kernel and those who can only work in userspace – which I don’t really
- like.
- That’s one more advantage of the Hurd: eqal footing for all (except
- the Mach hackers, but they have a very limited terrain)
- ArneBab: but UML kernel module is minimal, and Linus didn't have a
- principled objection to it (but just wanted a more general solution)
- ArneBab: as a side note, although people keep complaining, the linux
- kernel seems to be growing steadily, so getting stuff into the kernel doesn't
- seem too hard. 8-O
diff --git a/open_issues/benefits_of_a_native_hurd_implementation.mdwn b/open_issues/benefits_of_a_native_hurd_implementation.mdwn
new file mode 100644
index 00000000..34e49e86
--- /dev/null
+++ b/open_issues/benefits_of_a_native_hurd_implementation.mdwn
@@ -0,0 +1,87 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+What are the benefits of a native GNU/Hurd system, now that Linux et al. can do
+so much? Think [[hurd/translator]]s: FUSE, [[hurd/subhurd]]s: User-Mode-Linux
+and other virtualization techiques, and so on.
+
+It is possible to begin [[implementing_Hurd_on_top_of_another_system]], but...
+
+IRC, #hurd, August / September 2010
+
+ ArneBab: but Neal and I were not happy with that alone. We were
+ looking for deeper improvements to the system, for, I think, sound
+ reasons. That is what brought us to the L4/Coyotos technologies
+ ArneBab: as you are writing a kernel in user space, you can still
+ do kernel improvements there
+ ArneBab: if you take it very far, you end up with a kernel that
+ runs Linux in user space (just flip the two) for the drivers
+ ArneBab: that is what the L4 people did with the DDE
+
+([[DDE]])
+
+ ArneBab: so, with these different cuts, there are different
+ opportunities. on the one end, you can run Linux as normal and get some
+ of the Hurd features such as translators in some programs. At the other
+ end, you can do whatever you want and run some linux code for the drivers
+ or none at all.
+ ArneBab: one of the big questions then becomes: at which point
+ can the advantages offered by the Hurd be realized?
+ ArneBab: and that's not entirely clear to me
+ when I worked on this with Neal, we pushed further and further
+ into need-to-change-everything land
+ while the current efforts on the Hurd seem to be more equivalent
+ to the could-run-it-in-userspace-on-top-of-Linux camp
+ marcusb: for that I think we need a way to move towards them step
+ by step. Would it be possible to get the advantages of better resource
+ allocation with a Viengoos in userspace, too?
+ and when that is stable, just switch over?
+ ArneBab: I don't know. I suspect these people will know before
+ us: http://lxc.sourceforge.net/
+ something like implementing flip points: flip Linux with Hurd to
+ Hund with Linux. Flip Mach with L4 to L4 with Mach.
+ lxc sounds interesting.
+ note that these efforts address security concerns more than other
+ concerns
+ so they will get isolation long before sharing is even considered
+ but some of the issues are the same
+ once you allow malware to do what it wants, it's a small step to
+ also allow the user to what he wants :)
+ it kinda looks like hacking it where it doesn’t really fit again…
+ there I ask myself when the point comes that doing a cleaner
+ design offsets the popularity
+ they are pushing more and more stuff into userspace
+ which is a good thing (to me)
+ it’s hard to clearly describe how, but even though I like having
+ more stuff in userspace, the way it is bolted onto Linux doesn’t feel
+ good for me.
+ FUSE is cool, but if I use it, I am at a disadvantage compared to
+ a non-fuse user
+ while in the Hurd, these additional options are on eqal footing.
+ ArneBab: are they pushing more and more into user space? I don't
+ think so. I see more of the reverse, actually
+ or maybe both
+ FUSE, lxd and scheduling in userspace move to userspace
+ well, KMS moved to the kernel
+ to avoid flickering when switching between X and the console?
+ marcusb: Do you experience FUSE lxc and such being secondclass in
+ Linux, too, or is that just a strange feeling of me?
+ marcusb: and that splits the users into those who can get stuff
+ into the kernel and those who can only work in userspace – which I don’t
+ really like.
+ That’s one more advantage of the Hurd: eqal footing for all
+ (except the Mach hackers, but they have a very limited terrain)
+ ArneBab: but UML kernel module is minimal, and Linus didn't have
+ a principled objection to it (but just wanted a more general solution)
+ ArneBab: as a side note, although people keep complaining, the
+ linux kernel seems to be growing steadily, so getting stuff into the
+ kernel doesn't seem too hard. 8-O
diff --git a/open_issues/implementing_hurd_on_top_of_another_system.mdwn b/open_issues/implementing_hurd_on_top_of_another_system.mdwn
index 1d7a1e50..7e88e322 100644
--- a/open_issues/implementing_hurd_on_top_of_another_system.mdwn
+++ b/open_issues/implementing_hurd_on_top_of_another_system.mdwn
@@ -21,8 +21,8 @@ IRC, #hurd, August / September 2010
silver_hook: the Hurd can also refer to the interfaces of the
filesystems etc, and a lot of that is really just server/client APIs that
- could be implemented on any system that has transferable rights to message
- capabilities.
+ could be implemented on any system that has transferable rights to
+ message capabilities.
silver_hook: it's surprising how few systems *have* transferable
rights, though!
silver_hook: usually it is added as an afterthought
@@ -33,23 +33,24 @@ IRC, #hurd, August / September 2010
youpi: it's described in the Stevens series even
[...]
ArneBab: well, let me put it this way. the Linux kernel has no
- interface to manipulate another tasks's virtual address space, ie you can't
- map/unmap stuff in another process
- ArneBab: you would have to use ptrace and load some stub code in that
- process to make that happen.
- ArneBab: so for complete transparent manipulation, you need a kernel
- module
+ interface to manipulate another tasks's virtual address space, ie you
+ can't map/unmap stuff in another process
+ ArneBab: you would have to use ptrace and load some stub code in
+ that process to make that happen.
+ ArneBab: so for complete transparent manipulation, you need a
+ kernel module
that is what the User Mode Linux kernel module does
- ArneBab: so say you use the User Mode Linux kernel module for that
- one feature. Then you can do everything that User Mode Linux can do, which,
- I assure you, includes running subhurds :)
+ ArneBab: so say you use the User Mode Linux kernel module for
+ that one feature. Then you can do everything that User Mode Linux can
+ do, which, I assure you, includes running subhurds :)
it can be a bit tricky to implement those features, but it is not
harder than writing a kernel in the first place
- So, if I got an admin to install User Mode Linux and Mach emulation,
- I’d get the flexibility (and independence from admin decisions) I have in the
- Hurd?
- ArneBab: one problem is that you still use Linux. For those who want
- to get rid of Linux for political reasons, that would mean complete failure
+ So, if I got an admin to install User Mode Linux and Mach
+ emulation, I’d get the flexibility (and independence from admin
+ decisions) I have in the Hurd?
+ ArneBab: one problem is that you still use Linux. For those who
+ want to get rid of Linux for political reasons, that would mean complete
+ failure
ArneBab: if you have UML kernel module, you can implement Mach in
user space
ArneBab: in fact, John Tobey did this a couple of years ago, or
@@ -57,10 +58,10 @@ IRC, #hurd, August / September 2010
([[tschwinge]] has tarballs of John's work.)
- ArneBab: or you can just implement parts of it and relay to Linux for
- the rest
- the point is, that if you don't care for kernel improvements, and are
- sufficiently happy with the translator stuff, it's not hard to bring the Hurd
- to Linux or BSD
+ ArneBab: or you can just implement parts of it and relay to Linux
+ for the rest
+ the point is, that if you don't care for kernel improvements, and
+ are sufficiently happy with the translator stuff, it's not hard to bring
+ the Hurd to Linux or BSD
-(Continue: [[benefits]].)
+Continue reading about the [[benefits of a native Hurd implementation]].
diff --git a/open_issues/multiprocessing.mdwn b/open_issues/multiprocessing.mdwn
index 7b4f2611..224c0826 100644
--- a/open_issues/multiprocessing.mdwn
+++ b/open_issues/multiprocessing.mdwn
@@ -11,7 +11,7 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_hurd]]
We would expect that fine-grained, compartmentalized systems, that is,
-microkernel-based multi-server systems in particular, would be ideal condidates
+microkernel-based multi-server systems in particular, would be ideal candidates
for applying multiprocessing. That is, however, only true from a first and
inexperienced point of view: there are many difficulties.
@@ -19,14 +19,14 @@ inexperienced point of view: there are many difficulties.
IRC, #hurd, August / September 2010
silver_hook: because multi-server systems depend on inter-process
- communication, and inter-process communication is many times more expensive
- across cpus
- silver_hook: so you either force interrelated work on the same cpu,
- or suffer heavy penalties. and in a typical fine-grained object system, all
- objects are interconnected!
- silver_hook: resources in today's systems, even in a single node with
- one cpu, but more so in a network, are very non-uniform. scheduling these
- resources efficiently is a huge problem. restricting the resource
+ communication, and inter-process communication is many times more
+ expensive across cpus
+ silver_hook: so you either force interrelated work on the same
+ cpu, or suffer heavy penalties. and in a typical fine-grained object
+ system, all objects are interconnected!
+ silver_hook: resources in today's systems, even in a single node
+ with one cpu, but more so in a network, are very non-uniform. scheduling
+ these resources efficiently is a huge problem. restricting the resource
distribution policies in the way microkernel systems tend to do is posing
serious research challenges
diff --git a/tag.mdwn b/tag.mdwn
index e96e88d5..6051de3b 100644
--- a/tag.mdwn
+++ b/tag.mdwn
@@ -23,6 +23,11 @@ Most of them should be self-explanatory.
GNU/Hurd|hurd/running/debian]] distribution, but not yet in the upstream
sources.
+ * *open_issue_documentation*
+
+ Use for tagging pages / items that need to be handled / improved for
+ documentation purposes.
+
* *open_issue_porting*
A list of open issues in porting software to run on GNU/Hurd systems. This
--
cgit v1.2.3
From eccf2986513cc41c412b1c30aa5dcb88a4c981b5 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Mon, 29 Nov 2010 07:58:51 +0100
Subject: Add links to some LWN articles, and then some.
---
community/gsoc/project_ideas.mdwn | 6 +--
.../gsoc/project_ideas/libdiskfs_locking.mdwn | 41 -----------------
documentation.mdwn | 6 ++-
glibc.mdwn | 9 ++++
glibc/environment_variables.mdwn | 15 ++++++
glibc/fork.mdwn | 9 ++++
glibc/poll.mdwn | 15 ++++++
hurd/debugging.mdwn | 10 ++--
hurd/translator.mdwn | 6 ++-
hurd/translator/libguestfs.mdwn | 15 ++++++
open_issues/debugging.mdwn | 42 +++++++++++++++++
open_issues/gdb-heap.mdwn | 15 ++++++
open_issues/locking.mdwn | 53 ++++++++++++++++++++++
open_issues/performance.mdwn | 2 +
open_issues/unit_testing.mdwn | 10 ++++
open_issues/virtualization/file_systems.mdwn | 3 +-
unix.mdwn | 16 +++++--
17 files changed, 214 insertions(+), 59 deletions(-)
delete mode 100644 community/gsoc/project_ideas/libdiskfs_locking.mdwn
create mode 100644 glibc/environment_variables.mdwn
create mode 100644 glibc/poll.mdwn
create mode 100644 hurd/translator/libguestfs.mdwn
create mode 100644 open_issues/debugging.mdwn
create mode 100644 open_issues/gdb-heap.mdwn
create mode 100644 open_issues/locking.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 2102e8f7..b039608f 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -6,8 +6,8 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
We offer a wide range of possible projects to choose from. If you have an idea
not listed here, we'd love to hear about it!
@@ -82,7 +82,7 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]]
+[[!inline pages="open_issues/locking" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]]
[[!inline pages="open_issues/performance/io_system" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn
deleted file mode 100644
index 0618bbe6..00000000
--- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn
+++ /dev/null
@@ -1,41 +0,0 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010 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 title="Fix libdiskfs Locking Issues"]]
-
-Nowadays the most often encountered cause of Hurd crashes seems to be lockups
-in the [[hurd/translator/ext2fs]] server. One of these could be traced
-recently, and turned out to be a lock inside [[hurd/libdiskfs]] that was taken
-and not released in some cases. There is reason to believe that there are more
-faulty paths causing these lockups.
-
-The task is systematically checking the [[hurd/libdiskfs]] code for this kind of locking
-issues. To achieve this, some kind of test harness has to be implemented: For
-example instrumenting the code to check locking correctness constantly at
-runtime. Or implementing a unit testing framework that explicitly checks
-locking in various code paths. (The latter could serve as a template for
-implementing unit checks in other parts of the Hurd codebase...)
-
-(A systematic code review would probably suffice to find the existing locking
-issues; but it wouldn't document the work in terms of actual code produced, and
-thus it's not suitable for a GSoC project...)
-
-[Linux' *sparse*](https://sparse.wiki.kernel.org/) could be worth looking at.
-
-This task requires experience with debugging locking issues in multithreaded
-applications.
-
-Possible mentors: Samuel Thibault (youpi)
-
-Exercise: If you could actually track down and fix one of the existing locking
-errors before the end of the application process, that would be excellent. This
-might be rather tough though, so probably you need to talk to us about an
-alternative exercise task...
diff --git a/documentation.mdwn b/documentation.mdwn
index 62d96e9c..5c666f3f 100644
--- a/documentation.mdwn
+++ b/documentation.mdwn
@@ -5,8 +5,8 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[FAQ]]
@@ -18,6 +18,8 @@ Documentation for...
* [[MIG|microkernel/mach/mig/documentation]]
+ * [[UNIX]]
+
# Presentations
diff --git a/glibc.mdwn b/glibc.mdwn
index cefbb19c..f47efc03 100644
--- a/glibc.mdwn
+++ b/glibc.mdwn
@@ -29,6 +29,15 @@ Porting glibc to a specific architecture is non-trivial.
## [[Hurd-specific Port|hurd/glibc]]
+# Implementation Details
+
+ * [[environment_variables]]
+
+ * [[fork]]
+
+ * [[poll]]
+
+
# Open Issues
[[!inline pages=tag/open_issue_glibc raw=yes feeds=no]]
diff --git a/glibc/environment_variables.mdwn b/glibc/environment_variables.mdwn
new file mode 100644
index 00000000..76c1371e
--- /dev/null
+++ b/glibc/environment_variables.mdwn
@@ -0,0 +1,15 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+
+# External
+
+ * [*putenv() and setenv()*](http://www.greenend.org.uk/rjk/2008/putenv.html)
+ by Richard Kettlewell.
diff --git a/glibc/fork.mdwn b/glibc/fork.mdwn
index 564d9d5b..c9efd1f4 100644
--- a/glibc/fork.mdwn
+++ b/glibc/fork.mdwn
@@ -49,3 +49,12 @@ they have patches for software packages, to avoid using `fork` followed by
* We no longer support `MACH_IPC_COMPAT`, thus we can get rid of the `err =
__mach_port_allocate_name ([...]); if (err == KERN_NAME_EXISTS)` code
([[!taglink open_issue_glibc]]).
+
+
+# External
+
+ * [*How fork(2) ought to be*](http://www.greenend.org.uk/rjk/fork.html) by
+ Richard Kettlewell.
+
+ * [*The self-pipe trick*](http://cr.yp.to/docs/selfpipe.html) by
+ D. J. Bernstein.
diff --git a/glibc/poll.mdwn b/glibc/poll.mdwn
new file mode 100644
index 00000000..d96f27a5
--- /dev/null
+++ b/glibc/poll.mdwn
@@ -0,0 +1,15 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+
+# External
+
+ * [*poll() and EOF*](http://www.greenend.org.uk/rjk/2001/06/poll.html) by
+ Richard Kettlewell.
diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn
index d6c5b18f..d6e9c8b5 100644
--- a/hurd/debugging.mdwn
+++ b/hurd/debugging.mdwn
@@ -6,8 +6,9 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
# Strategies
@@ -16,11 +17,6 @@ is included in the section entitled
* [[subhurd]] -- running another Hurd system in parallel
* [[rpctrace]] -- tracing [[RPC]]s
-## To Do
-
- * [[open_issues/ltrace]]
- * [[open_issues/latrace]]
- * [[open_issues/profiling]]
# About Specific Packages
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index c3ca1278..9e109a28 100644
--- a/hurd/translator.mdwn
+++ b/hurd/translator.mdwn
@@ -6,8 +6,8 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
A translator is simply a normal program acting as
an object server and participating in the Hurd's
@@ -117,6 +117,8 @@ Read about translator [[short-circuiting]].
* [[wishlist_1]]
* [[wishlist_2]]
* [[open_issues/network_file_system_by_just_forwarding_RPCs]]
+ * [[libguestfs]]
+
# Internally
diff --git a/hurd/translator/libguestfs.mdwn b/hurd/translator/libguestfs.mdwn
new file mode 100644
index 00000000..649b31f5
--- /dev/null
+++ b/hurd/translator/libguestfs.mdwn
@@ -0,0 +1,15 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+[libguestfs](http://libguestfs.org/) is said to be able to access a lot
+of different filesystem types -- can we use it to build GNU Hurd
+[[translator]]s? (There is a [[FUSE]] module, too.)
diff --git a/open_issues/debugging.mdwn b/open_issues/debugging.mdwn
new file mode 100644
index 00000000..95b7bf9b
--- /dev/null
+++ b/open_issues/debugging.mdwn
@@ -0,0 +1,42 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+
+# Existing
+
+We have debugging infrastructure. For example:
+
+ * [[GDB]]
+
+ * [[GNU Mach debugging|microkernel/mach/gnumach/debugging]]
+
+ * [[GNU Hurd debugging|hurd/debugging]], including
+ [[hurd/debugging/rpctrace]] and more.
+
+
+# To Do
+
+ * [[ltrace]]
+
+ * [[latrace]]
+
+ * [[profiling]]
+
+ * *[Checkpoint/restart](http://lwn.net/Articles/412749/) allows the state of
+ a set of processes to be saved to persistent storage, then restarted at
+ some future time* -- quoting from Jonathan Corbet's 2010 Linux Kernel
+ Summit report.
+
+ This is surely a very useful facility to have for reproducing failures, for
+ example. But on the other hand it's questionable how it can help with
+ debugging failures in [[GNU Hurd server|hurd/translator]]s' interactions,
+ as their state is typically spread between several processes.
+
+ * [[locking]]
diff --git a/open_issues/gdb-heap.mdwn b/open_issues/gdb-heap.mdwn
new file mode 100644
index 00000000..75c31bbe
--- /dev/null
+++ b/open_issues/gdb-heap.mdwn
@@ -0,0 +1,15 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+[[!tag open_issue_gdb]]
+
+Might be interesting to have a look at
+[*gdb-heap*](https://fedorahosted.org/gdb-heap/) with respect to our
+long-lived [[hurd/translator]] processes.
diff --git a/open_issues/locking.mdwn b/open_issues/locking.mdwn
new file mode 100644
index 00000000..1717133a
--- /dev/null
+++ b/open_issues/locking.mdwn
@@ -0,0 +1,53 @@
+[[!meta copyright="Copyright © 2008, 2009, 2010 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]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+Every now and then, new locking issues are discovered in
+[[hurd/libdiskfs]] or [[hurd/translator/ext2fs]], for example. Nowadays
+these in fact seem to be the most often encountered cause of Hurd crashes
+/ lockups.
+
+One of these could be traced
+recently, and turned out to be a lock inside [[hurd/libdiskfs]] that was taken
+and not released in some cases. There is reason to believe that there are more
+faulty paths causing these lockups.
+
+The task is systematically checking the [[hurd/libdiskfs]] code for this kind of locking
+issues. To achieve this, some kind of test harness has to be implemented: For
+example instrumenting the code to check locking correctness constantly at
+runtime. Or implementing a [[unit testing]] framework that explicitly checks
+locking in various code paths. (The latter could serve as a template for
+implementing unit tests in other parts of the Hurd codebase...)
+
+(A systematic code review would probably suffice to find the existing locking
+issues; but it wouldn't document the work in terms of actual code produced, and
+thus it's not suitable for a GSoC project...)
+
+This task requires experience with debugging locking issues in multithreaded
+applications.
+
+Tools have been written for static code analysis, than can help to locate
+and fix such errors.
+
+ * Coccinelle
+
+ *
+
+ *
+
+ * clang
+
+ *
+
+ * Linux' sparse
+
+ *
diff --git a/open_issues/performance.mdwn b/open_issues/performance.mdwn
index a4816680..3d146a72 100644
--- a/open_issues/performance.mdwn
+++ b/open_issues/performance.mdwn
@@ -11,3 +11,5 @@ License|/fdl]]."]]"""]]
* [[I/O System|io_system]]
* [[fork]]
+
+ * [[unit testing]]
diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn
index b9fb3700..80a2860a 100644
--- a/open_issues/unit_testing.mdwn
+++ b/open_issues/unit_testing.mdwn
@@ -43,3 +43,13 @@ abandoned).
*
*
+
+ * [*[ANNOUNCE] ktest.pl: Easy and flexible testing script for Linux Kernel
+ Developers*](http://lwn.net/Articles/412302/) by Steven Rostedt,
+ 2010-10-28.
+
+ * -- ``comprehensive testing and
+ benchmarking platform''. This one might be useful for [[performance]]
+ testing, too?
+
+ *
diff --git a/open_issues/virtualization/file_systems.mdwn b/open_issues/virtualization/file_systems.mdwn
index 3bf2299d..a12ea10d 100644
--- a/open_issues/virtualization/file_systems.mdwn
+++ b/open_issues/virtualization/file_systems.mdwn
@@ -20,4 +20,5 @@ be explored.
* Linux saw a patch for [*generic name to handle and open by handle
syscalls*](http://thread.gmane.org/gmane.linux.file-systems/46648) posted,
which in turn can be beneficial for a [[QEMU]] emulation of a 9P file
- system.
+ system. LWN's Jonathan Corbet covered this [*open by
+ handle*](http://lwn.net/Articles/375888/) functionality on 2010-02-23.
diff --git a/unix.mdwn b/unix.mdwn
index a927eb64..601b36d1 100644
--- a/unix.mdwn
+++ b/unix.mdwn
@@ -1,12 +1,15 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta title="UNIX"]]
+
# External
@@ -15,3 +18,10 @@ is included in the section entitled
* [*Standardizing
UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an
article by David Chisnall.
+
+ * [*Ghosts of Unix Past: a historical search for design
+ patterns*](http://lwn.net/Articles/411845/) (2010-10-27) by Neil Brown,
+ including file descriptors and the single, hierarchical namespace.
+
+ * [*UNIX File Permissions*](http://www.greenend.org.uk/rjk/2004/perms.html)
+ (2004) by Richard Kettlewell.
--
cgit v1.2.3
From 38368072b37bf73dda26dac536e4aa6cf13c67e4 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Mon, 29 Nov 2010 13:41:16 +0100
Subject: system_call: New.
---
community/gsoc/project_ideas/libcap.mdwn | 8 ++++----
community/gsoc/project_ideas/libcap/details.mdwn | 8 ++++----
community/gsoc/project_ideas/secure_chroot.mdwn | 11 ++++++-----
community/gsoc/project_ideas/valgrind.mdwn | 8 ++++----
extensibility.mdwn | 9 +++++----
faq/sharing_the_user_space.mdwn | 2 +-
glibc.mdwn | 13 +++++++++++--
glibc/fork.mdwn | 20 +++++++++++++-------
hurd/glibc/hurd-specific_api.mdwn | 11 ++++++-----
hurd/networking.mdwn | 11 ++++++-----
hurd/ng/microkernelcoyotos.mdwn | 4 +++-
hurd/ng/trivialconfinementvsconstructorvsfork.mdwn | 18 ++++++++++++++----
hurd/translator/wishlist_2.mdwn | 12 +++++++++++-
qemu.mdwn | 12 ++++++------
system_call.mdwn | 19 +++++++++++++++++++
15 files changed, 113 insertions(+), 53 deletions(-)
create mode 100644 system_call.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn
index 1346203d..18c49c48 100644
--- a/community/gsoc/project_ideas/libcap.mdwn
+++ b/community/gsoc/project_ideas/libcap.mdwn
@@ -1,12 +1,12 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2009, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Implementing libcap"]]
@@ -33,7 +33,7 @@ probably doable without previous experience with either, though.
David Hedberg applied for this project in 2010,
and though he didn't go through with it,
-he fleshed out many [[libcap/details]].
+he fleshed out many [[details]].
Possible mentors: Samuel Thibault (youpi)
diff --git a/community/gsoc/project_ideas/libcap/details.mdwn b/community/gsoc/project_ideas/libcap/details.mdwn
index aa27a84e..85695978 100644
--- a/community/gsoc/project_ideas/libcap/details.mdwn
+++ b/community/gsoc/project_ideas/libcap/details.mdwn
@@ -5,8 +5,8 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Details on implementing libcap"]]
@@ -59,7 +59,7 @@ Each process has a three bit fields representing each of the three
sets (P, E and I). Each bit field is currently built up of two (32
bit) integers to be able to hold the 33 currently defined capabilities
(see linux/capability.h). Each process further has a bounding set which
-bounds the permitted set. Two syscalls handles the setting and getting
+bounds the permitted set. Two [[system call]]s handles the setting and getting
of capabilities; *capset* and *capget*. Some related functionality
can also be controlled by calling *prctl*: the right to read/drop the
bounding capabilities (PR_CAPBSET_READ/PR_CAPBSET_DROP) and whether
@@ -428,7 +428,7 @@ the following (also detailed somewhat in the same article):
* Execute process as root (or setuid) to gain all capabilities.
-* Use the prctl system call to enable keepcaps for the process
+* Use the prctl [[system call]] to enable keepcaps for the process
(same(?) effect as enabling SECURE_NO_SETUID_FIXUP for the process).
keepcaps should be off by default.
diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn
index feb30a7c..57739861 100644
--- a/community/gsoc/project_ideas/secure_chroot.mdwn
+++ b/community/gsoc/project_ideas/secure_chroot.mdwn
@@ -1,17 +1,18 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2008, 2009, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Secure chroot Implementation"]]
As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a
-`chroot()` system call. However, the current implementation is not really
+`chroot` [[system call]]. However, the current implementation is not really
good, as it allows easily escaping the `chroot`, for example by use of
[[passive_translators|hurd/translator]].
@@ -20,7 +21,7 @@ workaround changing the behavior of passive translators in a `chroot`;
changing the context in which passive translators are executed; changing the
interpretation of filenames in a chroot; to reworking the whole passive
translator mechanism. Some involving a completely different approach to
-`chroot` implementation, using a proxy instead of a special system call in the
+`chroot` implementation, using a proxy instead of a special [[system call]] in the
filesystem servers.
See
diff --git a/community/gsoc/project_ideas/valgrind.mdwn b/community/gsoc/project_ideas/valgrind.mdwn
index c6fc7459..7d68e82d 100644
--- a/community/gsoc/project_ideas/valgrind.mdwn
+++ b/community/gsoc/project_ideas/valgrind.mdwn
@@ -18,7 +18,7 @@ although they work on Linux.
Even more importantly, it will help finding bugs in the Hurd servers themselfs.
To keep track of memory use,
-Valgrind however needs to know how each system call affects the validity of memory regions.
+Valgrind however needs to know how each [[system call]] affects the validity of memory regions.
This knowledge is highly kernel-specific,
and thus Valgrind needs to be explicitely ported for every system.
@@ -26,11 +26,11 @@ Such a port involves two major steps:
making Valgrind understand how kernel traps work in general on the system in question;
and how all the individual kernel calls affect memory.
The latter step is where most of the work is,
-as the behaviour of each single system call needs to be described.
+as the behaviour of each single [[system call]] needs to be described.
Compared to Linux,
Mach (the microkernel used by the Hurd) has very few kernel traps.
-Almost all system calls are implemented as RPCs instead --
+Almost all [[system call]]s are implemented as RPCs instead --
either handled by Mach itself, or by the various Hurd servers.
All RPCs use a pair of mach\_msg() invocations:
one to send a request message, and one to receive a reply.
@@ -62,7 +62,7 @@ The goal of this task is at minimum to make Valgrind grok Mach traps,
and to implement the generic RPC handler.
Ideally, specific handling for RPCs needing it should also be implemented.
-Completing this project will require digging into Valgrind's handling of system calls,
+Completing this project will require digging into Valgrind's handling of [[system call]]s,
and into Hurd RPCs.
It is not an easy task, but a fairly predictable one --
there shouldn't be any unexpected difficulties,
diff --git a/extensibility.mdwn b/extensibility.mdwn
index 01b1f3b1..17cd5e51 100644
--- a/extensibility.mdwn
+++ b/extensibility.mdwn
@@ -1,17 +1,18 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
An extensible system is one that enables extensibility. Enabling extensibility
means providing non-privileged mechanisms to extend existing objects and to
introduce new objects. [[UNIX]] is generally not an extensible system as it does
-not generally facilitate the hooking of system calls. For instance, there is
+not generally facilitate the hooking of [[system call]]s. For instance, there is
no way to hook into the virtual file system. This has motivated the introduction
of separate, parallel interfaces by both the GNOME and KDE projects to provide
users a more integrated view of their objects.
diff --git a/faq/sharing_the_user_space.mdwn b/faq/sharing_the_user_space.mdwn
index 7d09ccc0..ec880827 100644
--- a/faq/sharing_the_user_space.mdwn
+++ b/faq/sharing_the_user_space.mdwn
@@ -15,7 +15,7 @@ everything but the kernel is shared?
*Answer:* Given that both Linux and GNU Hurd are using the [[ELF]] binary
format, this could indeed be made possible, if all programs agreed to rely on
only one abstraction layer, for example the standard C library ([[glibc]]).
-(Additionally, for example for system calls that are not covered by glibc
+(Additionally, for example for [[system call]]s that are not covered by glibc
calls, you'd need to be able to reliably trap and emulate these.) However,
Linux' and the GNU Hurd's [[ABI]]'s have sufficiently diverged, so that this is
not easy to do. That's why you can't currently install a system in this way,
diff --git a/glibc.mdwn b/glibc.mdwn
index f47efc03..2eba3667 100644
--- a/glibc.mdwn
+++ b/glibc.mdwn
@@ -6,8 +6,8 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="GNU C Library"]]
@@ -31,6 +31,15 @@ Porting glibc to a specific architecture is non-trivial.
# Implementation Details
+ * [[hurd/glibc/Hurd-specific API]]
+
+ * [[open_issues/secure_file_descriptor_handling]]
+
+
+## Individual functions
+
+Some of these are well-known as [[UNIX]] [[system call]]s.
+
* [[environment_variables]]
* [[fork]]
diff --git a/glibc/fork.mdwn b/glibc/fork.mdwn
index c9efd1f4..e8556a91 100644
--- a/glibc/fork.mdwn
+++ b/glibc/fork.mdwn
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-On [[Unix]] systems, `fork` is a rather simple system call.
+On [[Unix]] systems, `fork` is a rather simple [[system call]].
Our implementation in [[glibc]] is and needs to be rather bulky.
@@ -22,12 +22,13 @@ which requires a small number of [[RPC]] for each of them.
In sum, [[this affects performance|open_issues/performance/fork]] when new
processes are continuously being spawned from the shell, for example.
-Often, a `fork` call will eventually be followed by an `exec`, which will in
-turn close (most of) the duplicated port rights. Unfortunately, this cannot be
-known at the time the `fork` executing, so the code calling `fork` has to be
-modified, and the `fork`, `exec` combo be replaced by a `posix_spawn` call, for
-example, to avoid this work of duplicating each port right, then closing each
-again.
+Often, a `fork` call will eventually be followed by an `exec`, which [[may in
+turn close|open_issues/secure_file_descriptor_handling]] (most of) the
+duplicated port rights. Unfortunately, this cannot be known at the time the
+`fork` executing, so in order to optimize this, the code calling `fork` has to
+be modified instead, and the `fork`, `exec` combo be replaced by a
+`posix_spawn` call, for example, to avoid this work of duplicating each port
+right, then closing each again.
As far as we know, Cygwin has the same problem of `fork` being a nontrivial
operation. Perhaps we can learn from what they're been doing? Also, perhaps
@@ -51,6 +52,11 @@ they have patches for software packages, to avoid using `fork` followed by
([[!taglink open_issue_glibc]]).
+## Related
+
+ * [[secure file descriptor handling]].
+
+
# External
* [*How fork(2) ought to be*](http://www.greenend.org.uk/rjk/fork.html) by
diff --git a/hurd/glibc/hurd-specific_api.mdwn b/hurd/glibc/hurd-specific_api.mdwn
index aeb63d91..75220279 100644
--- a/hurd/glibc/hurd-specific_api.mdwn
+++ b/hurd/glibc/hurd-specific_api.mdwn
@@ -1,17 +1,18 @@
-[[!meta copyright="Copyright © 2002, 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2002, 2007, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Hurd-specific glibc API"]]
These functions have meaning only under Hurd. They are needed to get port
-names that are used in native Hurd API (the RPC calls to servers). The `.defs`
+names that are used in native Hurd API (the [[RPC]]s to servers). The `.defs`
and `.h` files can be found in `/include/hurd` when all development files are
installed (Debian package `hurd-dev`.) Note that `.defs` are not included in C
programs -- they are used to produce `.h` files.
@@ -157,7 +158,7 @@ programs -- they are used to produce `.h` files.
- thread_t
- hurd_thread_self (void);
- - Return the current thread's thread port. This is a cheap operation (no system call), but it relies on Hurd signal state being set up.
+ - Return the current thread's thread port. This is a cheap operation (no [[system call]]), but it relies on Hurd signal state being set up.
- error_t
diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn
index ff16eb25..bdf9def2 100644
--- a/hurd/networking.mdwn
+++ b/hurd/networking.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2000, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2000, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
For each supported `PF_*` protocol family, there is a file `/servers/socket/N`
where `N` is the numberic value fo the `PF_*` symbol. Right now
@@ -17,10 +18,10 @@ where `N` is the numberic value fo the `PF_*` symbol. Right now
User programs open those files, and use the `socket_create` [[RPC]] to make a
new socket. With that socket, they can use the other `socket_*` RPCs and also
the `io_*` RPCs. The `socket_*` RPCs are essentially clones of the [[Unix]]
-syscalls in question.
+[[system call]]s in question.
The only exception is `sockaddrs`, which are implemented as [[ports|libports]]
-instead of the opaque data arrays they are in the syscalls. You manipulate
+instead of the opaque data arrays they are in the system calls. You manipulate
`sockaddr` ports with the `socket_create_address`, `socket_fabricate_address`,
and `socket_whatis_address` calls. The `sockaddr` port is then used in socket
calls like `socket_connect` and `socket_accept`.
diff --git a/hurd/ng/microkernelcoyotos.mdwn b/hurd/ng/microkernelcoyotos.mdwn
index cdf4e1bf..2340901d 100644
--- a/hurd/ng/microkernelcoyotos.mdwn
+++ b/hurd/ng/microkernelcoyotos.mdwn
@@ -2,7 +2,9 @@
[Coyotos](http://www.coyotos.org/index.html) is a microkernel and OS and the successor of EROS, that itself is the successor of KeyKOS. A more complete history can be found [here](http://www.coyotos.org/history.html). Its main objectives are to correcte some shortcomings of EROS, demonstrate that an atomic kernel design scales well, and (eventually) to completely formally verify both the kernel and critical system components by writing them in a new language called [bitc](http://www.bitc-lang.org/). [See [l4.verified](http://nicta.com.au/research/projects/l4.verified) for work on formally verifying an L4 microkernel.]
-Coyotos is an orthogonally persistent pure capability system. It uses continuation based unbuffered asynchronous IPC (actually it's synchronous IPC with asynchronous syscalls).
+Coyotos is an orthogonally persistent pure capability system. It uses
+continuation based unbuffered asynchronous IPC (actually it's synchronous IPC
+with asynchronous [[system calls]]).
TODO: explain these terms and (more important) their consequences on system design.
diff --git a/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn b/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
index 4eeef6ee..0d91dee7 100644
--- a/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
+++ b/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
@@ -6,10 +6,11 @@ This comparison is about a simple situation: there is a parent process P, which
# Trivial Confinement
-For trivial confinement, there is a system call to create a process from some memory pages. P performs the following steps:
+For trivial confinement, there is a [[system call]] to create a process from
+some memory pages. P performs the following steps:
* Allocate some memory and put the code image of the child into that memory. This can be done by P, or for example by the file system which then gives the resulting memory (space bank) to P.
-* Perform the system call on that memory. The result is a capability to C.
+* Perform the [[system call]] on that memory. The result is a capability to C.
* Send A to C using the returned capability.
Note that it is up to the implementation of the system what happens with P's access to the memory which holds the child. For example, it is probably a good idea if it is at least unmapped, so it cannot accidentily write things in it. It could even be revoked, so that it can't write things in it, even if it wants to.
@@ -32,7 +33,16 @@ This mechanism is targeted at a specific use pattern, namely that a process is c
# POSIX Fork
-POSIX fork, or rather fork+exec, is how things are done on many current systems. It may be insightful to see it included in the comparison, especially for people who are new to the subject. There are two system calls, fork and exec. Fork will create a clone of the current process, including all the capabilities (that is, file descriptors) of the parent (except the ones which have explicitly been excluded). Exec is a system call which really goes to the filesystem, not the kernel (although on systems which use it, the filesystem usually resides in the kernel), and asks it to spawn a new process from the contents of a certain path in place of the caller. This passes all capabilities to the new process. The procedure is:
+POSIX fork, or rather fork+exec, is how things are done on many current
+systems. It may be insightful to see it included in the comparison, especially
+for people who are new to the subject. There are two [[system call]]s, fork and
+exec. Fork will create a clone of the current process, including all the
+capabilities (that is, file descriptors) of the parent (except the ones which
+have explicitly been excluded). Exec is a [[system call]] which really goes to
+the filesystem, not the kernel (although on systems which use it, the
+filesystem usually resides in the kernel), and asks it to spawn a new process
+from the contents of a certain path in place of the caller. This passes all
+capabilities to the new process. The procedure is:
* P calls fork(), creating P'.
* P' drops B.
@@ -67,7 +77,7 @@ Except for the control, there is really only one other difference, and that's ad
What it doesn't do is protect the code image against bugs in P. In the constructor the trusted and well-tested constructor code is handling the image, for trivial confinement the (very possibly) buggy program P. In particular, when starting a program from a file system, with trivial confinement the operation is:
* Ask the file system for the code, receive a capability to a space bank with a copy (on write) of it.
-* Make the system call to turn it into a program.
+* Make the [[system call]] to turn it into a program.
Now this isn't much more complicated than the constructor which does:
diff --git a/hurd/translator/wishlist_2.mdwn b/hurd/translator/wishlist_2.mdwn
index a927db55..77f39644 100644
--- a/hurd/translator/wishlist_2.mdwn
+++ b/hurd/translator/wishlist_2.mdwn
@@ -70,7 +70,17 @@ Here's an [idea](http://www.circlemud.org/~jelson/software/fusd/docs/node13.html
* "One particularly interesting application of FUSD that we've found very useful is as a way to let regular user-space libraries export device file APIs. For example, imagine you had a library which factored large composite numbers. Typically, it might have a C interface--say, a function called `int *factorize(int bignum)`. With FUSD, it's possible to create a device file interface--say, a device called `/dev/factorize` to which clients can `write(2)` a big number, then `read(2)` back its factors.
-* This may sound strange, but device file APIs have at least three advantages over a typical library API. First, it becomes much more language independent--any language that can make system calls can access the factorization library. Second, the factorization code is running in a different address space; if it crashes, it won't crash or corrupt the caller. Third, and most interestingly, it is possible to use `select(2)` to wait for the factorization to complete. `select(2)` would make it easy for a client to factor a large number while remaining responsive to other events that might happen in the meantime. In other words, FUSD allows normal user-space libraries to integrate seamlessly with UNIX's existing, POSIX-standard event notification interface: `select(2)`."
+* This may sound strange, but device file APIs have at least three advantages
+ over a typical library API. First, it becomes much more language
+ independent--any language that can make [[system call]]s can access the
+ factorization library. Second, the factorization code is running in a
+ different address space; if it crashes, it won't crash or corrupt the
+ caller. Third, and most interestingly, it is possible to use `select(2)` to
+ wait for the factorization to complete. `select(2)` would make it easy for a
+ client to factor a large number while remaining responsive to other events
+ that might happen in the meantime. In other words, FUSD allows normal
+ user-space libraries to integrate seamlessly with UNIX's existing,
+ POSIX-standard event notification interface: `select(2)`."
## Mail
diff --git a/qemu.mdwn b/qemu.mdwn
index 19b5fb9f..d7cea5ad 100644
--- a/qemu.mdwn
+++ b/qemu.mdwn
@@ -1,13 +1,13 @@
-[[!meta copyright="Copyright © 2005, 2007, 2008, 2009 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2005, 2007, 2008, 2009, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
QEMU is free software written by Fabrice Bellard that implements a fast
processor [[emulator|emulation]], allowing a user to run one operating system
@@ -19,8 +19,8 @@ reasonable speed while being easy to port on new host CPUs.
QEMU has two operating modes:
* User mode emulation: QEMU can launch Linux processes compiled for one CPU
- on another CPU. Linux system calls are converted because of endianness and
- 32/64 bit mismatches. Wine and Dosemu are the main targets for QEMU.
+ on another CPU. Linux [[system call]]s are converted because of endianness
+ and 32/64 bit mismatches. Wine and Dosemu are the main targets for QEMU.
* System mode emulation: QEMU emulates a full system, including a processor
and various peripherials. It enables easier testing and debugging of
diff --git a/system_call.mdwn b/system_call.mdwn
new file mode 100644
index 00000000..197889cb
--- /dev/null
+++ b/system_call.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+In an [[UNIX]]-like system, a *system call* (*syscall*) is used to request all
+kinds of functionality from the operating system kernel.
+
+A [[microkernel]]-based system typically won't offer a lot of system calls --
+apart from one central one, and that is *send message* -- but instead [[RPC]]s
+will be used instead.
+
+In the [[GNU Hurd|hurd]], a lot of what is traditionlly considered to be a UNIX
+system call is implemented (primarily by means of [[RPC]]) inside [[glibc]].
--
cgit v1.2.3
From cd782d77c1e90976cb6dacf6ba78ba762f145a50 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge
Date: Tue, 30 Nov 2010 10:39:28 +0100
Subject: Been reading another LWN issue...
---
capability.mdwn | 14 ++--
community/gsoc/project_ideas.mdwn | 2 +-
community/gsoc/project_ideas/valgrind.mdwn | 80 ----------------------
glibc.mdwn | 9 ++-
glibc/fallocate.mdwn | 17 +++++
glibc/fork.mdwn | 18 +++--
glibc/signals.mdwn | 32 +++++++++
hurd/glibc/hurd-specific_api.mdwn | 8 ++-
hurd/ng/trivialconfinementvsconstructorvsfork.mdwn | 24 ++++---
hurd/translator/magic.mdwn | 11 +--
open_issues/code_analysis.mdwn | 12 +++-
open_issues/debugging.mdwn | 16 +++--
open_issues/multithreading.mdwn | 4 +-
open_issues/nightly_builds_deb_packages.mdwn | 6 ++
open_issues/secure_file_descriptor_handling.mdwn | 9 +++
open_issues/unit_testing.mdwn | 9 ++-
open_issues/valgrind.mdwn | 80 ++++++++++++++++++++++
persistency.mdwn | 11 +--
unix.mdwn | 48 +++++++++++--
unix/file_descriptor.mdwn | 13 ++++
virtualization.mdwn | 7 +-
21 files changed, 296 insertions(+), 134 deletions(-)
delete mode 100644 community/gsoc/project_ideas/valgrind.mdwn
create mode 100644 glibc/fallocate.mdwn
create mode 100644 glibc/signals.mdwn
create mode 100644 open_issues/valgrind.mdwn
create mode 100644 unix/file_descriptor.mdwn
(limited to 'community/gsoc/project_ideas')
diff --git a/capability.mdwn b/capability.mdwn
index 367ea163..d78810d5 100644
--- a/capability.mdwn
+++ b/capability.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
A capability is a protected reference. It is a reference in that
it designates an object; it is protected in that in cannot be
@@ -27,7 +28,6 @@ sent a string to identify the file to B, the identifier lacks a
than A intended. Be ensuring that [[designation]] and [[authorization]] are
always bound together, these problems are avoided.
-[[Unix]] file descriptors can be viewed as capabilities. Unix file
-descriptors do not survive reboot, that is, they are not
-[[persistent|persistency]]. To work around this, [[ACL]]s are used to
-recover authority.
+[[UNIX file descriptors|unix/file_descriptor]] can be viewed as capabilities.
+They do not survive reboot, that is, they are not [[persistent|persistency]].
+To work around this, [[ACL]]s are used to recover authority.
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index b039608f..649e05c1 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -106,4 +106,4 @@ See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/H
[[!inline pages="community/gsoc/project_ideas/testsuites" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/valgrind" show=0 feeds=no actions=yes]]
+[[!inline pages="open_issues/valgrind" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/valgrind.mdwn b/community/gsoc/project_ideas/valgrind.mdwn
deleted file mode 100644
index 7d68e82d..00000000
--- a/community/gsoc/project_ideas/valgrind.mdwn
+++ /dev/null
@@ -1,80 +0,0 @@
-[[!meta copyright="Copyright © 2009, 2010 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 title="Porting Valgrind to the Hurd"]]
-
-[Valgrind](http://valgrind.org/) is an extremely useful debugging tool for memory errors.
-(And some other kinds of hard-to-find errors too.)
-Aside from being useful for program development in general,
-a Hurd port will help finding out why certain programs segfault on the Hurd,
-although they work on Linux.
-Even more importantly, it will help finding bugs in the Hurd servers themselfs.
-
-To keep track of memory use,
-Valgrind however needs to know how each [[system call]] affects the validity of memory regions.
-This knowledge is highly kernel-specific,
-and thus Valgrind needs to be explicitely ported for every system.
-
-Such a port involves two major steps:
-making Valgrind understand how kernel traps work in general on the system in question;
-and how all the individual kernel calls affect memory.
-The latter step is where most of the work is,
-as the behaviour of each single [[system call]] needs to be described.
-
-Compared to Linux,
-Mach (the microkernel used by the Hurd) has very few kernel traps.
-Almost all [[system call]]s are implemented as RPCs instead --
-either handled by Mach itself, or by the various Hurd servers.
-All RPCs use a pair of mach\_msg() invocations:
-one to send a request message, and one to receive a reply.
-However, while all RPCs use the same mach\_msg() trap,
-the actual effect of the call varies greatly depending on which RPC is invoked --
-similar to the ioctl() call on Linux.
-Each request thus must be handled individually.
-
-Unlike ioctl(),
-the RPC invocations have explicit type information for the parameters though,
-which can be retrieved from the message header.
-By analyzing the parameters of the RPC reply message,
-Valgrind can know exactly which memory regions are affected by that call,
-even without specific knowledge of the RPC in question.
-Thus implementing a general parser for the reply messages
-will already give Valgrind a fairly good approximation of memory validity --
-without having to specify the exact semantic of each RPC by hand.
-
-While this should make Valgrind quite usable on the Hurd already, it's not perfect:
-some RPCs might return a buffer that is only partially filled with valid data;
-or some reply parameters might be optional,
-and only contain valid data under certain conditions.
-Such specific semantics can't be deduced from the message headers alone.
-Thus for a complete port,
-it will still be necessary to go through the list of all known RPCs,
-and implement special handling in Valgrind for those RPCs that need it.
-
-The goal of this task is at minimum to make Valgrind grok Mach traps,
-and to implement the generic RPC handler.
-Ideally, specific handling for RPCs needing it should also be implemented.
-
-Completing this project will require digging into Valgrind's handling of [[system call]]s,
-and into Hurd RPCs.
-It is not an easy task, but a fairly predictable one --
-there shouldn't be any unexpected difficulties,
-and no major design work is necessary.
-It doesn't require any specific previous knowledge:
-only good programming skills in general.
-On the other hand,
-the student will obtain a good understanding of Hurd RPCs while working on this task,
-and thus perfect qualifications for Hurd development in general :-)
-
-Possible mentors: Samuel Thibault (youpi)
-
-Exercise: As a starter,
-students can try to teach valgrind a couple of Linux ioctls,
-as this will make them learn how to use the read/write primitives of valgrind.
diff --git a/glibc.mdwn b/glibc.mdwn
index 2eba3667..124216d9 100644
--- a/glibc.mdwn
+++ b/glibc.mdwn
@@ -36,11 +36,18 @@ Porting glibc to a specific architecture is non-trivial.
* [[open_issues/secure_file_descriptor_handling]]
+## Concepts
+
+ * [[environment_variables]]
+
+ * [[signals]]
+
+
## Individual functions
Some of these are well-known as [[UNIX]] [[system call]]s.
- * [[environment_variables]]
+ * [[fallocate]]
* [[fork]]
diff --git a/glibc/fallocate.mdwn b/glibc/fallocate.mdwn
new file mode 100644
index 00000000..3aecf16b
--- /dev/null
+++ b/glibc/fallocate.mdwn
@@ -0,0 +1,17 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+Not yet implemented for the GNU Hurd in [[glibc]].
+
+
+# External
+
+ * [*Punching holes in files*](http://lwn.net/Articles/415889/), Jonathan
+ Corbet, 2010-11-17.
diff --git a/glibc/fork.mdwn b/glibc/fork.mdwn
index e8556a91..378fe835 100644
--- a/glibc/fork.mdwn
+++ b/glibc/fork.mdwn
@@ -14,10 +14,10 @@ Our implementation in [[glibc]] is and needs to be rather bulky.
For example, it has to duplicate all port rights for the new [[Mach
task|microkernel/mach/task]]. The address space can simply be duplicated by
-standard means of the [[microkernel/Mach]], but as [[file descriptor]]s (for
-example) are a concept that is implemented inside [[glibc]] (based on [[Mach
-port|microkernel/mach/port]]s), these have to be duplicated from userspace,
-which requires a small number of [[RPC]] for each of them.
+standard means of the [[microkernel/Mach]], but as [[unix/file_descriptor]]s
+(for example) are a concept that is implemented inside [[glibc]] (based on
+[[Mach port|microkernel/mach/port]]s), these have to be duplicated from
+userspace, which requires a small number of [[RPC]] for each of them.
In sum, [[this affects performance|open_issues/performance/fork]] when new
processes are continuously being spawned from the shell, for example.
@@ -43,7 +43,7 @@ they have patches for software packages, to avoid using `fork` followed by
([[!taglink open_issue_glibc]]).
* Include de-duplicate information from elsewhere: [[hurd-paper]],
- [[hurd-talk]] [[hurd/ng/trivialconfinementvsconstructorvsfork]],
+ [[hurd-talk]], [[hurd/ng/trivialconfinementvsconstructorvsfork]],
[[open_issues/resource_management_problems/zalloc_panics]] ([[!taglink
open_issue_glibc open_issue_documentation]]).
@@ -54,13 +54,11 @@ they have patches for software packages, to avoid using `fork` followed by
## Related
- * [[secure file descriptor handling]].
+ * [[open_issues/secure_file_descriptor_handling]].
# External
- * [*How fork(2) ought to be*](http://www.greenend.org.uk/rjk/fork.html) by
- Richard Kettlewell.
+ * {{$unix#djb_self-pipe}}.
- * [*The self-pipe trick*](http://cr.yp.to/docs/selfpipe.html) by
- D. J. Bernstein.
+ * {{$unix#rjk_fork}}.
diff --git a/glibc/signals.mdwn b/glibc/signals.mdwn
new file mode 100644
index 00000000..40fdc0e1
--- /dev/null
+++ b/glibc/signals.mdwn
@@ -0,0 +1,32 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+*[[UNIX]] signals* are a means to asynchronously invoke a specific function
+(*signal handler*). This may impact on [[system call]]s that are executing at
+the same time in that they may be completely aborted, return incomplete
+results, scheduled for restarting, or cause signal delivery to be blocked upon
+the system call's completion.
+
+An explanation can be found in the relevant standards, an overview, including
+UNIX signals' deficiencies is given in {{$unix#2010_brown_ghosts_3}}, for
+example.
+
+The UNIX signalling mechanism is implemented for the GNU Hurd by means of a
+separate signal-handling thread that is part of every process. This makes
+handling of signals a separate thread of control.
+
+ * [[SA_SIGINFO, SA_SIGACTION|open_issues/sa_siginfo_sa_sigaction]]
+
+
+# External
+
+ * {{$unix#djb_self-pipe}}.
+
+ * {{$unix#rjk_fork}}.
diff --git a/hurd/glibc/hurd-specific_api.mdwn b/hurd/glibc/hurd-specific_api.mdwn
index 75220279..7ead63cd 100644
--- a/hurd/glibc/hurd-specific_api.mdwn
+++ b/hurd/glibc/hurd-specific_api.mdwn
@@ -82,7 +82,13 @@ programs -- they are used to produce `.h` files.
- openport (io_t port, int flags);
- - Open a file descriptor on a port. FLAGS are as for open; flags affected by io_set_openmodes are not changed by this. If successful, this consumes a user reference for PORT (which will be deallocated on close.) See <hurd/io.defs> and <hurd/io.h>.
+ - Open a [[unix/file_descriptor]] on a [[microkernel/mach/port]]. FLAGS
+ are as for open; flags affected by io_set_openmodes are
+ not changed by this. If successful, this consumes a user reference for
+ PORT (which will be deallocated on close.) See
+ <hurd/io.defs> and
+ <hurd/io.h>.
+
- task_t
diff --git a/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn b/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
index 0d91dee7..949895e7 100644
--- a/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
+++ b/hurd/ng/trivialconfinementvsconstructorvsfork.mdwn
@@ -34,15 +34,15 @@ This mechanism is targeted at a specific use pattern, namely that a process is c
# POSIX Fork
POSIX fork, or rather fork+exec, is how things are done on many current
-systems. It may be insightful to see it included in the comparison, especially
-for people who are new to the subject. There are two [[system call]]s, fork and
-exec. Fork will create a clone of the current process, including all the
-capabilities (that is, file descriptors) of the parent (except the ones which
-have explicitly been excluded). Exec is a [[system call]] which really goes to
-the filesystem, not the kernel (although on systems which use it, the
-filesystem usually resides in the kernel), and asks it to spawn a new process
-from the contents of a certain path in place of the caller. This passes all
-capabilities to the new process. The procedure is:
+systems. It may be insightful to see it included in the comparison, especially
+for people who are new to the subject. There are two [[system call]]s, fork
+and exec. Fork will create a clone of the current process, including all the
+capabilities (that is, [[unix/file_descriptor]]s) of the parent (except the
+ones which have explicitly been excluded). Exec is a [[system call]] which
+really goes to the filesystem, not the kernel (although on systems which use
+it, the filesystem usually resides in the kernel), and asks it to spawn a new
+process from the contents of a certain path in place of the caller. This
+passes all capabilities to the new process. The procedure is:
* P calls fork(), creating P'.
* P' drops B.
@@ -62,7 +62,11 @@ In contrast, the other two options don't pass anything by default. If there is a
The problem of fork+exec can be solved. It is if the default would be to not pass capabilities to the new process, but specify a list of capabilities that it should keep, or (like in the other cases) pass them over a new channel which is implicitly created during the fork. However, in that case the only difference with trivial confinement is that P' dies in the process (and thus must be created to prevent P from dying). Almost any use of exec is in practice preceded by a fork for this purpose. It would be easier to make trivial confinement the default operation and let P die directly after it in the rare case that it should.
-The only reason for continuing to use fork+exec would be that it is what existing programs do. However, they break anyway if they need to specify which file descriptors to pass. So they need to be adapted. Therefore, it's better to make the usual spawning method the primitive one, and emulate the other.
+The only reason for continuing to use fork+exec would be that it is what
+existing programs do. However, they break anyway if they need to specify which
+[[unix/file_descriptor]]s to pass. So they need to be adapted. Therefore, it's
+better to make the usual spawning method the primitive one, and emulate the
+other.
# Trivial Confinement vs Constructor
diff --git a/hurd/translator/magic.mdwn b/hurd/translator/magic.mdwn
index 06ee798b..84bacdfb 100644
--- a/hurd/translator/magic.mdwn
+++ b/hurd/translator/magic.mdwn
@@ -1,20 +1,21 @@
-[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2006, 2007, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
The magic translator provides `/dev/fd`.
$ showtrans /dev/fd
/hurd/magic --directory fd
-The `/dev/fd` directory holds the open file descriptors for your current
-process. You can't see them with `ls -l /dev/fd/` but you can see them
+The `/dev/fd` directory holds the open [[unix/file_descriptor]]s for your
+current process. You can't see them with `ls -l /dev/fd/` but you can see them
individually like this:
$ ls -l /dev/fd/0
diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn
index 98447e98..ad104e68 100644
--- a/open_issues/code_analysis.mdwn
+++ b/open_issues/code_analysis.mdwn
@@ -8,7 +8,7 @@ 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]]."]]"""]]
-There is static and dynamic code analysis.
+There is static and dynamic code analysis. This overlaps with [[debugging]].
* [[GCC]]'s warnings. Yes, really.
@@ -29,3 +29,13 @@ There is static and dynamic code analysis.
*
*
+
+ * [[Valgrind]]
+
+ *
+
+ *
+
+ *
+
+ *
diff --git a/open_issues/debugging.mdwn b/open_issues/debugging.mdwn
index 95b7bf9b..e66a086f 100644
--- a/open_issues/debugging.mdwn
+++ b/open_issues/debugging.mdwn
@@ -18,7 +18,7 @@ We have debugging infrastructure. For example:
* [[GNU Mach debugging|microkernel/mach/gnumach/debugging]]
* [[GNU Hurd debugging|hurd/debugging]], including
- [[hurd/debugging/rpctrace]] and more.
+ [[hurd/debugging/rpctrace]], and more.
# To Do
@@ -29,14 +29,20 @@ We have debugging infrastructure. For example:
* [[profiling]]
- * *[Checkpoint/restart](http://lwn.net/Articles/412749/) allows the state of
- a set of processes to be saved to persistent storage, then restarted at
- some future time* -- quoting from Jonathan Corbet's 2010 Linux Kernel
- Summit report.
+ * *Checkpoint/restart allows the state of a set of processes to be saved to
+ persistent storage, then restarted at some future time* -- quoting from
+ Jonathan Corbet's [2010 Linux Kernel Summit
+ report](http://lwn.net/Articles/412749/).
This is surely a very useful facility to have for reproducing failures, for
example. But on the other hand it's questionable how it can help with
debugging failures in [[GNU Hurd server|hurd/translator]]s' interactions,
as their state is typically spread between several processes.
+ Continues: , which introduces
+ .
+
* [[locking]]
+
+ * , or --
+ just two examples; there's a lot of such stuff for Linux.
diff --git a/open_issues/multithreading.mdwn b/open_issues/multithreading.mdwn
index 81b96280..170734fd 100644
--- a/open_issues/multithreading.mdwn
+++ b/open_issues/multithreading.mdwn
@@ -22,9 +22,11 @@ Alternative approaches:
* Continuation-passing style
+ * [[Erlang-style_parallelism]]
+
* [libtcr - Threaded Coroutine Library](http://oss.linbit.com/libtcr/)
- * [[Erlang-style_parallelism]]
+ *
---
diff --git a/open_issues/nightly_builds_deb_packages.mdwn b/open_issues/nightly_builds_deb_packages.mdwn
index 29219c2a..9f5e2373 100644
--- a/open_issues/nightly_builds_deb_packages.mdwn
+++ b/open_issues/nightly_builds_deb_packages.mdwn
@@ -18,4 +18,10 @@ packages.
---
+There is infrastructure available to test whole OS installations.
+
+ *
+
+---
+
See also [[nightly_builds]].
diff --git a/open_issues/secure_file_descriptor_handling.mdwn b/open_issues/secure_file_descriptor_handling.mdwn
index c9956ede..1a514e69 100644
--- a/open_issues/secure_file_descriptor_handling.mdwn
+++ b/open_issues/secure_file_descriptor_handling.mdwn
@@ -8,7 +8,16 @@ 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]]."]]"""]]
+[[!tag open_issue_glibc]]
+
`O_CLOEXEC`, `dup3` et al.; see
. [[tschwinge]] once worked
on this, posted patches to libc-alpha. This works needs to be resumed
and finished.
+
+---
+
+In an interesting point is made: *you [may]
+want some [[unix/file_descriptor]] to still be open if 'exec' fails, but you
+don't want it to be open after the exec succeeds*. [[I|tschwinge]]'m not sure
+whether our current `O_CLOEXEC` implementation adheres to that.
diff --git a/open_issues/unit_testing.mdwn b/open_issues/unit_testing.mdwn
index 80a2860a..d50f5f6d 100644
--- a/open_issues/unit_testing.mdwn
+++ b/open_issues/unit_testing.mdwn
@@ -46,7 +46,14 @@ abandoned).
* [*[ANNOUNCE] ktest.pl: Easy and flexible testing script for Linux Kernel
Developers*](http://lwn.net/Articles/412302/) by Steven Rostedt,
- 2010-10-28.
+ 2010-10-28. [v2](http://lwn.net/Articles/414064/), 2010-11-08.
+
+
+# Related
+
+ * [[nightly_builds]]
+
+ * [[nightly_builds_deb_packages]]
* -- ``comprehensive testing and
benchmarking platform''. This one might be useful for [[performance]]
diff --git a/open_issues/valgrind.mdwn b/open_issues/valgrind.mdwn
new file mode 100644
index 00000000..2b0624d7
--- /dev/null
+++ b/open_issues/valgrind.mdwn
@@ -0,0 +1,80 @@
+[[!meta copyright="Copyright © 2009, 2010 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 title="Porting Valgrind to the Hurd"]]
+
+[Valgrind](http://valgrind.org/) is an extremely useful debugging tool for memory errors.
+(And some other kinds of hard-to-find errors too.)
+Aside from being useful for program development in general,
+a Hurd port will help finding out why certain programs segfault on the Hurd,
+although they work on Linux.
+Even more importantly, it will help finding bugs in the Hurd servers themselfs.
+
+To keep track of memory use,
+Valgrind however needs to know how each [[system call]] affects the validity of memory regions.
+This knowledge is highly kernel-specific,
+and thus Valgrind needs to be explicitely ported for every system.
+
+Such a port involves two major steps:
+making Valgrind understand how kernel traps work in general on the system in question;
+and how all the individual kernel calls affect memory.
+The latter step is where most of the work is,
+as the behaviour of each single [[system call]] needs to be described.
+
+Compared to Linux,
+[[microkernel/Mach]] (the microkernel used by the Hurd) has very few kernel traps.
+Almost all [[system call]]s are implemented as [[RPC]]s instead --
+either handled by Mach itself, or by the various [[Hurd servers|hurd/translator]].
+All RPCs use a pair of `mach_msg` invocations:
+one to send a request message, and one to receive a reply.
+However, while all RPCs use the same `mach_msg` trap,
+the actual effect of the call varies greatly depending on which RPC is invoked --
+similar to the `ioctl` call on Linux.
+Each request thus must be handled individually.
+
+Unlike `ioctl`,
+the RPC invocations have explicit type information for the parameters though,
+which can be retrieved from the message header.
+By analyzing the parameters of the RPC reply message,
+Valgrind can know exactly which memory regions are affected by that call,
+even without specific knowledge of the RPC in question.
+Thus implementing a general parser for the reply messages
+will already give Valgrind a fairly good approximation of memory validity --
+without having to specify the exact semantic of each RPC by hand.
+
+While this should make Valgrind quite usable on the Hurd already, it's not perfect:
+some RPCs might return a buffer that is only partially filled with valid data;
+or some reply parameters might be optional,
+and only contain valid data under certain conditions.
+Such specific semantics can't be deduced from the message headers alone.
+Thus for a complete port,
+it will still be necessary to go through the list of all known RPCs,
+and implement special handling in Valgrind for those RPCs that need it.
+
+The goal of this task is at minimum to make Valgrind grok Mach traps,
+and to implement the generic RPC handler.
+Ideally, specific handling for RPCs needing it should also be implemented.
+
+Completing this project will require digging into Valgrind's handling of [[system call]]s,
+and into Hurd RPCs.
+It is not an easy task, but a fairly predictable one --
+there shouldn't be any unexpected difficulties,
+and no major design work is necessary.
+It doesn't require any specific previous knowledge:
+only good programming skills in general.
+On the other hand,
+the student will obtain a good understanding of Hurd RPCs while working on this task,
+and thus perfect qualifications for Hurd development in general :-)
+
+Possible mentors: Samuel Thibault (youpi)
+
+Exercise: As a starter,
+students can try to teach valgrind a couple of Linux ioctls,
+as this will make them learn how to use the read/write primitives of valgrind.
diff --git a/persistency.mdwn b/persistency.mdwn
index f5347a4e..36f90c8a 100644
--- a/persistency.mdwn
+++ b/persistency.mdwn
@@ -1,18 +1,19 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2010 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
A persistent object is an object that survives reboot.
On [[Unix]], files and directories are persistent but
-processes and file descriptors are not. [[microkernel/EROS]] is
+processes and [[unix/file_descriptor]]s are not. [[microkernel/EROS]] is
an example of an orthogonally persistent system:
-processes and capabilities also survive reboot. To a
+processes and [[capabilities|capability]] also survive reboot. To a
process, it generally only looks as if it had not been
scheduled for a long time; the rest of its environment
remains essentially the indistinguishable.
diff --git a/unix.mdwn b/unix.mdwn
index 601b36d1..bf361e2e 100644
--- a/unix.mdwn
+++ b/unix.mdwn
@@ -19,9 +19,49 @@ License|/fdl]]."]]"""]]
UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an
article by David Chisnall.
- * [*Ghosts of Unix Past: a historical search for design
- patterns*](http://lwn.net/Articles/411845/) (2010-10-27) by Neil Brown,
- including file descriptors and the single, hierarchical namespace.
+ * The first in the series, {{$2010_brown_ghosts_1}} introduces the concepts
+ of [[file_descriptor]]s and the single, hierarchical [[namespace]].
+
+ Next, {{$2010_brown_ghosts_2}} discusses issues with *conflated designs*
+ such as the `mount` command (a problem we have partly solved / solved
+ differently with our [[hurd/translator]] approach and the
+ [[hurd/virtual_file_system]]), and the plethora of flags that can be passed
+ to the `open` [[system_call]].
+
+ In {{$2010_brown_ghosts_3}}, he deals with *unfixable designs*, such as
+ [[UNIX signals|glibc/signals]] and the *UNIX permission model* (which is
+ clearly inferior to a [[capability]]-based system).
* [*UNIX File Permissions*](http://www.greenend.org.uk/rjk/2004/perms.html)
- (2004) by Richard Kettlewell.
+ (2004) by Richard Kettlewell. ([[!taglink open_issue_documentation]])
+
+
+[[!ymlfront data="""
+
+djb_self-pipe:
+
+ D. J. Bernstein's [*self-pipe trick*](http://cr.yp.to/docs/selfpipe.html)
+
+rjk_fork:
+
+ Richard Kettlewell's suggestions about [*how fork(2) ought to
+ be*](http://www.greenend.org.uk/rjk/fork.html)
+
+2010_brown_ghosts_1:
+
+ "Neil Brown's 2010-10-27 article [*Ghosts of Unix Past: a historical search
+ for design patterns*](http://lwn.net/Articles/411845/)"
+
+2010_brown_ghosts_2:
+
+ "Neil Brown's 2010-11-04 article [*Ghosts of Unix past, part 2: Conflated
+ designs*](http://lwn.net/Articles/412131/)"
+
+2010_brown_ghosts_3:
+
+ "Neil Brown's 2010-11-16 article [*Ghosts of Unix past, part 3: Unfixable
+ designs*](http://lwn.net/Articles/414618/)"
+
+"""]]
diff --git a/unix/file_descriptor.mdwn b/unix/file_descriptor.mdwn
new file mode 100644
index 00000000..16e03fdf
--- /dev/null
+++ b/unix/file_descriptor.mdwn
@@ -0,0 +1,13 @@
+[[!meta copyright="Copyright © 2010 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]]."]]"""]]
+
+A *file descriptor* is a [[concept]] of [[UNIX]], and represents a
+non-[[persistent|persistency]] handle to an object (a file, for example). With
+respect to specific aspects, it is comparable to a [[capability]].
diff --git a/virtualization.mdwn b/virtualization.mdwn
index 3a207ae8..78457eb9 100644
--- a/virtualization.mdwn
+++ b/virtualization.mdwn
@@ -6,8 +6,11 @@ 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+ * [[hurd/virtualization]] in the GNU Hurd's context.
+
# External
--
cgit v1.2.3