diff options
37 files changed, 971 insertions, 490 deletions
diff --git a/.library/IkiWiki/Plugin/reset_mtimes.pm b/.library/IkiWiki/Plugin/reset_mtimes.pm new file mode 100644 index 00000000..a168652b --- /dev/null +++ b/.library/IkiWiki/Plugin/reset_mtimes.pm @@ -0,0 +1,84 @@ +# Copyright © 2010 Thomas Schwinge <thomas@schwinge.name> + +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +package IkiWiki::Plugin::reset_mtimes; + +use warnings; +use strict; +use IkiWiki 3.00; + +# This plugin resets pages' / files' mtimes according to the RCS information +# when using --refresh mode. +# +# Note that the files' mtimes are *always* set, even if the file has +# un-committed changes. +# +# <http://ikiwiki.info/bugs/pagemtime_in_refresh_mode/> + +sub import +{ + hook (type => "needsbuild", + id => "reset_mtimes", + call => \&needsbuild); +} + +sub needsbuild (@) +{ + # Only proceed if --gettime is in effect, as we're clearly not intersted in + # this functionality otherwise. + return unless $config{gettime}; + + my $files = shift; + foreach my $file (@$files) + { + # [TODO. Perhaps not necessary. Can this hook ever be called for + # removed pages -- that need to be ``rebuilt'' in the sense that + # they're to be removed?] Don't bother for pages that don't exist + # anymore. + next unless -e "$config{srcdir}/$file"; + + my $page = pagename ($file); + debug ("needsbuild: <$file> <$page>"); + + # Only ever update -- otherwise ikiwiki shall do its own thing. + if (defined $IkiWiki::pagemtime{$page}) + { + debug ("pagemtime: " . $IkiWiki::pagemtime{$page}); + + my $mtime = 0; + eval + { + $mtime = IkiWiki::rcs_getmtime ($file); + }; + if ($@) + { + print STDERR $@; + } + elsif ($mtime > 0) + { + $IkiWiki::pagemtime{$page} = $mtime; + + # We have to set the actual file's mtime too, as otherwise + # ikiwiki will update it again and again. + utime($mtime, $mtime, "$config{srcdir}/$file"); + } + + debug ("pagemtime: " . $IkiWiki::pagemtime{$page}); + } + } +} + +1 diff --git a/tag/open_issue_mach.mdwn b/.templates/autotag.tmpl index 3b31bea8..87b76eef 100644 --- a/tag/open_issue_mach.mdwn +++ b/.templates/autotag.tmpl @@ -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,6 +8,8 @@ Sections, no 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_mach]] +[[!meta title="<TMPL_VAR TAG>"]] -[[!meta redir=open_issue_gnumach]] +[[!map +pages="tagged(<TMPL_VAR TAG>)" +show=title]] diff --git a/.templates/editpage.tmpl b/.templates/editpage.tmpl index 45060ffe..1ecbd0a9 100644 --- a/.templates/editpage.tmpl +++ b/.templates/editpage.tmpl @@ -1,6 +1,6 @@ -<br /> <TMPL_VAR JAVASCRIPT> <TMPL_VAR MESSAGE> +<br /> <TMPL_VAR FORM-START> <TMPL_VAR FIELD-DO> <TMPL_VAR FIELD-SID> @@ -8,17 +8,18 @@ <TMPL_VAR FIELD-RCSINFO> <TMPL_VAR FIELD-NEWFILE> <TMPL_IF NAME="PAGE_SELECT"> -Page location: <TMPL_VAR FIELD-PAGE> -Page type: <TMPL_VAR FIELD-TYPE> +<label for="page" class="inline">Page location:</label><TMPL_VAR FIELD-PAGE> +<label for="type" class="inline">Page type:</label><TMPL_VAR FIELD-TYPE> <TMPL_ELSE> -<br /> <TMPL_VAR FIELD-PAGE> <TMPL_VAR FIELD-TYPE> </TMPL_IF> +<div class="editcontentdiv"> <TMPL_VAR FIELD-EDITCONTENT><br /> +</div> <TMPL_IF NAME="CAN_COMMIT"> -Optional comment about this change:<br /> -<TMPL_VAR FIELD-COMMENTS><br /> +<label for="editmessage" class="block">Optional comment about this change:</label> +<TMPL_VAR FIELD-EDITMESSAGE><br /> </TMPL_IF> <div class="copyright_assignment_notice"> @@ -66,3 +67,12 @@ if there are questions.</p> <TMPL_VAR PAGE_PREVIEW> </div> </TMPL_IF> +<TMPL_IF NAME="PAGE_DIFF"> +<hr /> +<div class="header"> +<span>Diff:</span> +</div> +<div id="diff"> +<TMPL_VAR PAGE_DIFF> +</div> +</TMPL_IF> diff --git a/.templates/newsitem.tmpl b/.templates/newsitem.tmpl index 1c8f2ae8..3b4fded1 100644 --- a/.templates/newsitem.tmpl +++ b/.templates/newsitem.tmpl @@ -1,59 +1,61 @@ -<div class="newsitem"> +<TMPL_IF HTML5><article class="newsitem"><TMPL_ELSE><div class="newsitem"></TMPL_IF> -<div class="newsitemheader"> - -<TMPL_IF NAME="AUTHOR"> +<TMPL_IF HTML5><section class="newsitemheader"><TMPL_ELSE><div class="newsitemheader"></TMPL_IF> +<TMPL_IF AUTHOR> <span class="author"> -<TMPL_IF NAME="AUTHORURL"> +<TMPL_IF AUTHORURL> <a href="<TMPL_VAR AUTHORURL>"><TMPL_VAR AUTHOR></a> <TMPL_ELSE> <TMPL_VAR AUTHOR> </TMPL_IF> </span> </TMPL_IF> -<span class="header"> -<TMPL_IF NAME="PERMALINK"> +<TMPL_IF HTML5><header class="header"><TMPL_ELSE><span class="header"></TMPL_IF> +<TMPL_IF PERMALINK> <a href="<TMPL_VAR PERMALINK>"><TMPL_VAR TITLE></a> <TMPL_ELSE> <a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a> </TMPL_IF> -</span> -<TMPL_IF NAME="HAVE_ACTIONS"> -<div class="actions"> +<TMPL_IF HTML5></header><TMPL_ELSE></span></TMPL_IF> + +<TMPL_IF HAVE_ACTIONS> +<TMPL_IF HTML5><nav class="actions"><TMPL_ELSE><div class="actions"></TMPL_IF> <ul> -<TMPL_IF NAME="EDITURL"> +<TMPL_IF EDITURL> <li><a href="<TMPL_VAR EDITURL>" rel="nofollow">Edit</a></li> </TMPL_IF> -<TMPL_IF NAME="DISCUSSIONLINK"> +<TMPL_IF COMMENTSLINK> +<li><TMPL_VAR COMMENTSLINK></li> +<TMPL_ELSE> +<TMPL_IF DISCUSSIONLINK> <li><TMPL_VAR DISCUSSIONLINK></li> </TMPL_IF> +</TMPL_IF> </ul> -</div><!--.actions--> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -</div><!--.newsitemheader--> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> -<div class="newsitemcontent"> +<TMPL_IF HTML5><section class="newsitemcontent"><TMPL_ELSE><div class="newsitemcontent"></TMPL_IF> <TMPL_VAR CONTENT> -</div><!--.newsitemcontent--> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> -<div class="newsitemfooter"> +<TMPL_IF HTML5><footer class="newsitemfooter"><TMPL_ELSE><div class="newsitemfooter"></TMPL_IF> <!-- The saved space is more important that the information this provides. - <span class="pagedate"> Posted <TMPL_VAR CTIME> </span> - --> -<TMPL_IF NAME="TAGS"> -<span class="tags"> +<TMPL_IF TAGS> +<TMPL_IF HTML5><nav class="tags"><TMPL_ELSE><span class="tags"></TMPL_IF> Tags: -<TMPL_LOOP NAME="TAGS"> +<TMPL_LOOP TAGS> <TMPL_VAR LINK> </TMPL_LOOP> -</span> +<TMPL_IF HTML5></nav><TMPL_ELSE></span></TMPL_IF> </TMPL_IF> <!-- For these tiny snippets we can abstain from displaying this again. It @@ -73,6 +75,6 @@ License: <TMPL_VAR LICENSE> --> -</div><!--.newsitemfooter--> +<TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF> -</div><!--.newsitem--> +<TMPL_IF HTML5></article><TMPL_ELSE></div></TMPL_IF> diff --git a/.templates/page.tmpl b/.templates/page.tmpl index d546a88f..4ec3b4bf 100644 --- a/.templates/page.tmpl +++ b/.templates/page.tmpl @@ -1,85 +1,131 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +<TMPL_IF HTML5><!DOCTYPE html> +<html> +<TMPL_ELSE><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> +</TMPL_IF> <head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<TMPL_IF DYNAMIC> +<TMPL_IF FORCEBASEURL><base href="<TMPL_VAR FORCEBASEURL>" /><TMPL_ELSE> +<TMPL_IF BASEURL><base href="<TMPL_VAR BASEURL>" /></TMPL_IF> +</TMPL_IF> +</TMPL_IF> +<TMPL_IF HTML5><meta charset="utf-8" /><TMPL_ELSE><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></TMPL_IF> +<meta http-equiv="Cache-Control" content="must-revalidate" /> <title><TMPL_VAR TITLE></title> -<TMPL_IF NAME="FAVICON"> +<TMPL_IF FAVICON> <link rel="icon" href="<TMPL_VAR BASEURL><TMPL_VAR FAVICON>" type="image/x-icon" /> </TMPL_IF> <link rel="stylesheet" href="<TMPL_VAR BASEURL>style.css" type="text/css" /> +<TMPL_IF LOCAL_CSS> +<link rel="stylesheet" href="<TMPL_VAR BASEURL><TMPL_VAR LOCAL_CSS>" type="text/css" /> +<TMPL_ELSE> <link rel="stylesheet" href="<TMPL_VAR BASEURL>local.css" type="text/css" /> -<TMPL_IF NAME="EDITURL"> +</TMPL_IF> +<TMPL_IF EDITURL> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="<TMPL_VAR EDITURL>" /> </TMPL_IF> -<TMPL_IF NAME="FEEDLINKS"><TMPL_VAR FEEDLINKS></TMPL_IF> -<TMPL_IF NAME="RELVCS"><TMPL_VAR RELVCS></TMPL_IF> -<TMPL_IF NAME="META"><TMPL_VAR META></TMPL_IF> +<TMPL_IF FEEDLINKS><TMPL_VAR FEEDLINKS></TMPL_IF> +<TMPL_IF RELVCS><TMPL_VAR RELVCS></TMPL_IF> +<TMPL_IF META><TMPL_VAR META></TMPL_IF> </head> <body> -<div class="pageheader"> -<div class="header"> +<TMPL_IF HTML5><article class="page"><TMPL_ELSE><div class="page"></TMPL_IF> + +<TMPL_IF HTML5><section class="pageheader"><TMPL_ELSE><div class="pageheader"></TMPL_IF> +<TMPL_IF HTML5><header class="header"><TMPL_ELSE><div class="header"></TMPL_IF> <span> <span class="parentlinks"> -<TMPL_LOOP NAME="PARENTLINKS"> +<TMPL_LOOP PARENTLINKS> <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/ </TMPL_LOOP> </span> <span class="title"> <TMPL_VAR TITLE> +<TMPL_IF ISTRANSLATION> + (<TMPL_VAR PERCENTTRANSLATED>%) +</TMPL_IF> +</span> </span> -</span><!--.header--> -<TMPL_IF NAME="SEARCHFORM"> +<TMPL_IF SEARCHFORM> <TMPL_VAR SEARCHFORM> </TMPL_IF> -</div> +<TMPL_IF HTML5></header><TMPL_ELSE></div></TMPL_IF> -<TMPL_IF NAME="HAVE_ACTIONS"> -<div class="actions"> +<TMPL_IF HAVE_ACTIONS> +<TMPL_IF HTML5><nav class="actions"><TMPL_ELSE><div class="actions"></TMPL_IF> <span class="global"> <ul> -<TMPL_IF NAME="RECENTCHANGESURL"> +<TMPL_IF RECENTCHANGESURL> <li><a href="<TMPL_VAR RECENTCHANGESURL>">Recent Changes</a></li> </TMPL_IF> -<TMPL_IF NAME="PREFSURL"> +<TMPL_IF PREFSURL> <li><a href="<TMPL_VAR PREFSURL>">Preferences</a></li> </TMPL_IF> </ul> </span> <span class="per_page"> <ul> -<TMPL_IF NAME="EDITURL"> +<TMPL_IF EDITURL> <li><a href="<TMPL_VAR EDITURL>" rel="nofollow">Edit</a></li> </TMPL_IF> -<TMPL_IF NAME="HISTORYURL"> +<TMPL_IF HISTORYURL> <li><a href="<TMPL_VAR HISTORYURL>">History</a></li> </TMPL_IF> -<TMPL_IF NAME="COMMENTSLINK"> -<li><TMPL_VAR COMMENTSLINK><br /></li> +<TMPL_IF GETSOURCEURL> +<li><a href="<TMPL_VAR GETSOURCEURL>">Source</a></li> +</TMPL_IF> +<TMPL_IF ACTIONS> +<TMPL_LOOP ACTIONS> +<li><TMPL_VAR ACTION></li> +</TMPL_LOOP> +</TMPL_IF> +<TMPL_IF COMMENTSLINK> +<li><TMPL_VAR COMMENTSLINK></li> <TMPL_ELSE> -<TMPL_IF NAME="DISCUSSIONLINK"> -<li><TMPL_VAR DISCUSSIONLINK><br /></li> +<TMPL_IF DISCUSSIONLINK> +<li><TMPL_VAR DISCUSSIONLINK></li> </TMPL_IF> </TMPL_IF> </ul> </span> -</div> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -</div> <!-- .pageheader --> + +<TMPL_IF OTHERLANGUAGES> +<TMPL_IF HTML5><nav id="otherlanguages"><TMPL_ELSE><div id="otherlanguages"></TMPL_IF> +<ul> +<TMPL_LOOP OTHERLANGUAGES> +<li> +<a href="<TMPL_VAR URL>"><TMPL_VAR LANGUAGE></a> +<TMPL_IF MASTER> +(master) +<TMPL_ELSE> + (<TMPL_VAR PERCENT>%) +</TMPL_IF> +</li> +</TMPL_LOOP> +</ul> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> +</TMPL_IF> + +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> <TMPL_IF SIDEBAR> -<div id="sidebar"> +<TMPL_IF HTML5><aside class="sidebar"><TMPL_ELSE><div class="sidebar"></TMPL_IF> <TMPL_VAR SIDEBAR> -</div> +<TMPL_IF HTML5></aside><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -<div id="content"> +<div id="pagebody"> + +<TMPL_IF HTML5><section id="content"><TMPL_ELSE><div id="content"></TMPL_IF> <TMPL_VAR CONTENT> -</div> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> <TMPL_IF COMMENTS> -<div id="comments"> +<TMPL_IF HTML5><section id="comments"><TMPL_ELSE><div id="comments"></TMPL_IF> <TMPL_VAR COMMENTS> <TMPL_IF ADDCOMMENTURL> <div class="addcomment"> @@ -88,37 +134,40 @@ <TMPL_ELSE> <div class="addcomment">Comments on this page are closed.</div> </TMPL_IF> -</div> +<TMPL_IF HTML5></section><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -<div id="footer" class="pagefooter"> -<div id="pageinfo"> +</div> -<TMPL_IF NAME="TAGS"> -<div class="tags"> +<TMPL_IF HTML5><footer id="footer" class="pagefooter"><TMPL_ELSE><div id="footer" class="pagefooter"></TMPL_IF> +<TMPL_UNLESS DYNAMIC> +<TMPL_IF HTML5><nav id="pageinfo"><TMPL_ELSE><div id="pageinfo"></TMPL_IF> + +<TMPL_IF TAGS> +<TMPL_IF HTML5><nav class="tags"><TMPL_ELSE><div class="tags"></TMPL_IF> Tags: -<TMPL_LOOP NAME="TAGS"> +<TMPL_LOOP TAGS> <TMPL_VAR LINK> </TMPL_LOOP> -</div> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -<TMPL_IF NAME="BACKLINKS"> -<div id="backlinks"> +<TMPL_IF BACKLINKS> +<TMPL_IF HTML5><nav id="backlinks"><TMPL_ELSE><div id="backlinks"></TMPL_IF> Links: -<TMPL_LOOP NAME="BACKLINKS"> +<TMPL_LOOP BACKLINKS> <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a> </TMPL_LOOP> -<TMPL_IF NAME="MORE_BACKLINKS"> +<TMPL_IF MORE_BACKLINKS> <span class="popup">... <span class="balloon"> -<TMPL_LOOP NAME="MORE_BACKLINKS"> +<TMPL_LOOP MORE_BACKLINKS> <a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a> </TMPL_LOOP> </span> </span> </TMPL_IF> -</div><!-- #backlinks --> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> <TMPL_IF COPYRIGHT> @@ -140,10 +189,13 @@ Last edited <TMPL_VAR MTIME> <!-- Created <TMPL_VAR CTIME> --> </div> -</div><!-- #pageinfo --> +<TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> <TMPL_IF EXTRAFOOTER><TMPL_VAR EXTRAFOOTER></TMPL_IF> +</TMPL_UNLESS> <!-- from <TMPL_VAR WIKINAME> --> -</div><!-- .pagefooter #footer --> +<TMPL_IF HTML5></footer><TMPL_ELSE></div></TMPL_IF> + +<TMPL_IF HTML5></article><TMPL_ELSE></div></TMPL_IF> </body> </html> diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index c8b8f6a6..2ce92d19 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -15,16 +15,35 @@ is included in the section entitled This year we are again participating in [Google Summer of Code](http://socghop.appspot.com) under the [GNU umbrella](http://socghop.appspot.com/gsoc/org/show/google/gsoc2010/gnuproject). -Take a look at our [[project_ideas]] list. -If you are a student and want to apply for one of these tasks, -please mind the distinct [[student_application_form]] for the Hurd. -Note that there are also two [Hurd-related ideas for X.Org](http://wiki.x.org/wiki/Hurd_Porting), -for which students should apply to [X.Org](http://socghop.appspot.com/gsoc/org/home/google/gsoc2010/xorg) as a mentoring organization; -and the [[project_ideas/debian_installer]] task -most likely will be handled by the [Debian organisation](http://socghop.appspot.com/gsoc/org/home/google/gsoc2010/debian). - -If you can't participate as a GSoC student, + * *[[Jeremie Koenig|jkoenig]]*, mentored by *[[Samuel + Thibault|samuelthibault]]*, is working on adapting the Debian Installer to + [produce working Debian GNU/Hurd installation + images](http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/debian/t127230758239) + so we can easily offer up to date disc-sets. + ([Details](http://wiki.debian.org/SummerOfCode2010/HurdDebianInstaller/JeremieKoenig).) + + * *[[Emilio Pozuelo Monfort|pochu]]*, mentored by *Carl Fredrik Hammar* (who + was a GSoC student in 2007), is working on a task that may be perceived as + less exciting from the outside, but yet is extremely valuable: [fixing + compatibility problems exposed by projects' + testsuites](http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/gnuproject/t127230759396). + ([[Details|community/gsoc/project_ideas/testsuites]].) + + * *[[Karim Allah Ahmed|kam]]*, mentored by *Sergio López*, is working on + [tuning the VM Subsystem in + GNU/Hurd](http://socghop.appspot.com/gsoc/student_project/show/google/gsoc2010/gnuproject/t127230759587) + to bring the virtual memory management in Hurd/Mach up to date. + ([[Details|community/gsoc/project_ideas/vm_tuning]].) + +We always ask students that want to apply for a task (in the course of the +Google Summer of Code) to mind our distinct [[student_application_form]]. + +Apart from our own [[project_ideas]], there are also two [Hurd-related ideas +for X.Org](http://wiki.x.org/wiki/Hurd_Porting). + +As the Google Summer of Code 2010 has already started, you can no longer +participate as a GSoC student. However, working on one of these projects is still a good opportunity to get started with Hurd development. Please read up about [[contributing]] in general; and feel free to ask any questions you might have at one of our [[regular_IRC_meetings|IRC#regular_meetings]]. diff --git a/config_edittemplate/open_issue_page.mdwn b/config_edittemplate/open_issue_page.mdwn index 6afc24b4..78533450 100644 --- a/config_edittemplate/open_issue_page.mdwn +++ b/config_edittemplate/open_issue_page.mdwn @@ -30,9 +30,4 @@ open_issue_mig]], etc.; remove the backslash, of course) to make sure that your report shows up on the relevant lists of open issues. Select *Preview* on this page to see all tags that are currently in active use. -[[!map pages="tag/* and !tag/*/* and !tag/open_issue_mach" -show=title]] - -Most of them should be self-explanatory. *fixed_in_debian* is used to tag -items that have been fixed in the Debian GNU/Hurd distribution, but not yet in -the upstream sources. +[[!inline pages=tag raw=yes feeds=no]] @@ -61,6 +61,7 @@ in the *unstable* branch of the Debian archive. * [[running/Distrib]] -- Distributions * [[Public_Hurd_Boxen]] * [[Neighborhurd]]s and [[Subhurd]]s +* [[DDE]] -- Device Driver Environment ## Common Problems diff --git a/hurd/dde.mdwn b/hurd/dde.mdwn new file mode 100644 index 00000000..dedb7d10 --- /dev/null +++ b/hurd/dde.mdwn @@ -0,0 +1,22 @@ +[[!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]] + +--- + +There is an effort going on to make [[/DDE]] usable in GNU/Hurd +userspace. + +See Zheng Da's [[project page|zhengda]], as well as another [[guide]]. diff --git a/hurd/dde/guide.mdwn b/hurd/dde/guide.mdwn new file mode 100644 index 00000000..6518e0e4 --- /dev/null +++ b/hurd/dde/guide.mdwn @@ -0,0 +1,158 @@ +[[!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]]."]]"""]] + +If you haven't: install hurd to partition +get grub image +boot hurd in single user (change grub entry accordingly to the installed partition) + +> $ export TERM=mach + +> $ ./native-install + +reboot to other debian + +suppose hurd partition is hdd1 + +as root + +> $ mount /dev/hdd1 /mnt -t ext2 + +> $ cd /mnt/etc/apt + +> $ echo "deb http://ftp.debian-ports.org/debian unreleased main" >> sources.list + +> $ echo "deb-src http://ftp.debian-ports.org/debian unreleased main" >> sources.list + +> $ echo "deb http://ftp.uk.debian.org/debian unstable main" >> sources.list + +> $ echo "deb-src http://ftp.uk.debian.org/debian unstable main" >> sources.list + +> $ wget http://www.gnu.org/software/hurd/hurd/running/debian/DebianAptOffline/apt.conf.offline + +> $ cd /mnt + +> $ apt-get -c etc/apt/apt.conf.offline update + +> $ apt-get -c etc/apt/apt.conf.offline upgrade + +> $ apt-get -c etc/apt/apt.conf.offline install git-core + +> $ apt-get -c etc/apt/apt.conf.offline build-dep hurd gnumach + +> $ apt-get -c etc/apt/apt.conf.offline install build-essential libpciaccess-dev libpcap0.8-dev + +> $ cd /mnt/home + +> $ git clone git://git.sv.gnu.org/hurd/incubator.git -b dde hurd_dde + +> $ git clone git://git.sv.gnu.org/hurd/gnumach.git -b master-user_level_drivers gnumach_dde + + +suppose you need forcedeth driver + +Download http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.29.y.git;a=blob_plain;f=drivers/net/forcedeth.c;hb=HEAD from mozilla like +browser to /mnt/home as forcedeth.c + +Download http://pastebin.com/RJAJT2MR the same way and rename it to 0001-Fix-up-DDE-paths.patch + +reboot back to hurd (multiuser) + +> $ apt-get update + +> $ apt-get upgrade + +> $ apt-get install git-core + +> $ apt-get build-dep hurd gnumach + +> $ apt-get install build-essential libpciaccess-dev libpcap0.8-dev + + +> $ cd /home/gnumach_dde + +> $ autoreconf -i && ./configure --enable-kdb --enable-device-drivers=none --enable-lpr --enable-floppy --enable-ide + +> $ make + +> $ cd ../hurd_dde + +> $ git am ../0001-Fix-up-DDE-paths.patch + +> $ cp -r dde_pcnet32 dde_forcedeth + +> $ cd dde_forcedeth + +> $ rm pcnet32.c + +> $ cp /home/forcedeth.c ./ + +> $ sed -i 's/pcnet32/forcedeth/g' Makefile + +> $ sed -i 's/pcnet32/forcedeth/g' .gitignore + +> $ sed -i 's:-lhurd-slab:../libhurd-slab/libhurd-slab.a:' Makefile + +> $ sed -i 's:-I/include:-I..:' Makefile + +> $ nano forcedeth.c + +add these 2 lines after the last #include + + #include <ddekit/timer.h> + void get_random_byter(void *buf, int nbytes) { } + +> $ cd .. + +> $ git add dde_forcedeth + +> $ git commit -a -m 'Add forcedeth driver' + +> $ autoreconf -i && ./configure + +> $ mkdir -p hurd/include/ddekit + +> $ make libddekit libmachdev devnode pfinet + +> $ cd libdde_linux26 + +> $ make + +> $ cd ../dde_forcedeth + +> $ make + +If the make fails it might be necassary to replace some of the -l options (or all) in Makefile with the real path to the library objects (example: change *-lhurd-slab* to *../libhurd-slab/libhurd-slab.a*) + +> $ cp /home/gnumach_dde/gnumach /boot/gnumach_dde + +> $ mkdir /hurd/dde + +> $ cp /home/hurd_dde/devnode/devnode /hurd/dde + +> $ cp /home/hurd_dde/pfinet/pfinet /hurd/dde + +> $ cp /home/hurd_dde/dde_forcedeth/dde_forcedeth /hurd/dde/forcedeth + +reboot to hurd with the new gnumach_dde + +> $ settrans -c /dev/forcedeth /hurd/dde/forcedeth + +> $ settrans -c /dev/eth0 /hurd/dde/devnode -M /dev/forcedeth eth0 + +> $ settrans -c /servers/socket/2 /hurd/dde/pfinet -i /dev/eth0 -a 192.168.1.194 -g 192.168.1.254 -m 255.255.255.0 + + +replace the ip, gateway and mask with your own ones + +> $ nano /etc/resolv.conf + +add line: nameserver 192.168.1.254 + +DONE diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn index 643db0a5..0eb15465 100644 --- a/hurd/running/debian/porting.mdwn +++ b/hurd/running/debian/porting.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -42,13 +42,12 @@ guidelines. There is also further information available about [[hurd/porting]]. -[[!map pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and -!open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and !*/discussion" show=title]] [[!inline -pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and -!*/discussion" +pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and !*/discussion" show=0 feeds=no actions=yes diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index 229e2d8f..92904d19 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -71,7 +71,7 @@ about getting applications to work (if possible). <dl> <dt>[[SavannahProjects]]</dt> - <dd> Savannah is a CVS &amp; Bug system evolved from a free version of the code that powers <a href="http://sf.net" target="_top">sourceforge.net</a>. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a <a href="http://savannah.gnu.org/people/?group=hurd" target="_top">help wanted</a> list. </dd> + <dd> Savannah is a CVS & Bug system evolved from a free version of the code that powers <a href="http://sf.net" target="_top">sourceforge.net</a>. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a <a href="http://savannah.gnu.org/people/?group=hurd" target="_top">help wanted</a> list. </dd> </dl> <dl> @@ -85,8 +85,8 @@ about getting applications to work (if possible). </dl> <dl> - <dt> Debain Infrastructure</dt> - <dd> Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd &amp; turtle efforts. </dd> + <dt> Debian Infrastructure</dt> + <dd> Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd & turtle efforts. </dd> </dl> <dl> diff --git a/hurd/status.mdwn b/hurd/status.mdwn index b0fe1460..721cdeda 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2001, 2002, 2007, 2008, 2009 Free Software +[[!meta copyright="Copyright © 2001, 2002, 2007, 2008, 2009, 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -49,7 +49,7 @@ so little would be gained by creating an official pure Hurd release. The Debian GNU/Hurd [[distribution|running/debian]] offers *LiveCDs and QEMU images* to test-drive the Hurd in a real life system with access to about -50% of the Debian software archive. +65% of the Debian software archive. The most recent version of the Debian port at the time of writing is *Debian GNU/Hurd L1*. diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index 1e2f68fb..b62a5e4c 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -13,7 +13,7 @@ No single entity is responsible for the resolution of path names. A file system server (a [[translator]]) attaches to translators (`fs.defs:file_set_translator`). -When a process resolves an aboslute path, it queries +When a process resolves an absolute path, it queries its root file system server by invoking the `fs.defs:dir_lookup` method in the capability in its root directory slot. The file system server resolves as much as it knows about locally diff --git a/ikiwiki.setup b/ikiwiki.setup index eb31a420..89130e2b 100644 --- a/ikiwiki.setup +++ b/ikiwiki.setup @@ -1,9 +1,10 @@ #!/usr/bin/perl -# Setup file for ikiwiki. # +# Setup file for ikiwiki. +# # Passing this to ikiwiki --setup will make ikiwiki generate # wrappers and build the wiki. -# +# # Remember to re-run ikiwiki --setup any time you edit this file. require IkiWiki::Setup::Standard; @@ -59,7 +60,7 @@ IkiWiki::Setup::Standard->import({ add_plugins => [qw{goodstuff cutpaste editdiff edittemplate favicon html sidebar table txt copyright license texinfo}], # plugins to disable disable_plugins => [], - # location of template files + # additional directory to search for template files templatedir => $srcdir.'/.templates', # base wiki source location #underlaydir => '/usr/share/ikiwiki/basewiki', @@ -77,6 +78,8 @@ IkiWiki::Setup::Standard->import({ discussion => 1, # name of Discussion pages discussionpage => 'Discussion', + # generate HTML5? (experimental) + html5 => 0, # only send cookies over SSL connections? sslcookie => 0, # extension to use for new pages @@ -101,13 +104,20 @@ IkiWiki::Setup::Standard->import({ libdir => $srcdir.'/.library', # environment variables ENV => {}, - # regexp of source files to ignore - #exclude => '\\.wav$', + # regexp of normally excluded files to include + #include => '^\\.htaccess$', + # regexp of files that should be skipped + #exclude => '^(*\\.private|Makefile)$', # specifies the characters that are allowed in source filenames wiki_file_chars => '-[:alnum:]+/.:_', # allow symlinks in the path leading to the srcdir (potentially insecure) #allow_symlinks_before_srcdir => 0, + ###################################################################### + # core plugins + # (editpage, git, htmlscrubber, inline, link, meta) + ###################################################################### + # git plugin # git hook to generate git_wrapper => $git_wrapper, @@ -126,22 +136,32 @@ IkiWiki::Setup::Standard->import({ # branch that the wiki is stored in gitmaster_branch => 'master', - # aggregate plugin - # enable aggregation to internal pages? - #aggregateinternal => 1, - # allow aggregation to be triggered via the web? - #aggregate_webtrigger => 0, + # htmlscrubber plugin + # PageSpec specifying pages not to scrub + #htmlscrubber_skip => '!*/Discussion', + + # inline plugin + # enable rss feeds by default? + rss => 1, + # enable atom feeds by default? + atom => 1, + # allow rss feeds to be used? + #allowrss => 0, + # allow atom feeds to be used? + #allowatom => 0, + # urls to ping (using XML-RPC) on feed update + pingurl => [], + + ###################################################################### + # auth plugins + # (anonok, blogspam, httpauth, lockedit, moderatedcomments, + # opendiscussion, openid, passwordauth, signinedit) + ###################################################################### # anonok plugin # PageSpec to limit which pages anonymous users can edit #anonok_pagespec => '*/discussion', - # attachment plugin - # enhanced PageSpec specifying what attachments are allowed - #allowed_attachments => 'virusfree() and mimetype(image/*) and maxsize(50kb)', - # virus checker program (reads STDIN, returns nonzero if virus found) - #virus_checker => 'clamdscan -', - # blogspam plugin # PageSpec of pages to check for spam #blogspam_pagespec => 'postcomment(*)', @@ -150,23 +170,69 @@ IkiWiki::Setup::Standard->import({ # blogspam server XML-RPC url #blogspam_server => '', - # bzr plugin - # bzr post-commit hook to generate - #bzr_wrapper => '', - # mode for bzr_wrapper (can safely be made suid) - #bzr_wrappermode => '06755', - # url to show file history, using loggerhead ([[file]] substituted) - #historyurl => '', - # url to view a diff, using loggerhead ([[file]] and [[r2]] substituted) - #diffurl => 'http://example.com/revision?start_revid=[[r2]]#[[file]]-s', + # httpauth plugin + # url to redirect to when authentication is needed + #cgiauthurl => 'http://example.com/wiki/auth/ikiwiki.cgi', + # PageSpec of pages where only httpauth will be used for authentication + #httpauth_pagespec => '!*/Discussion', - # calendar plugin - # base of the archives hierarchy - #archivebase => 'archives', + # lockedit plugin + # PageSpec controlling which pages are locked + #locked_pages => '!*/Discussion', - # camelcase plugin - # list of words to not turn into links - #camelcase_ignore => [], + # moderatedcomments plugin + # PageSpec matching users or comment locations to moderate + #moderate_pagespec => '*', + + # passwordauth plugin + # a password that must be entered when signing up for an account + #account_creation_password => 's3cr1t', + # cost of generating a password using Authen::Passphrase::BlowfishCrypt + #password_cost => 8, + + ###################################################################### + # format plugins + # (creole, highlight, hnb, html, mdwn, otl, po, rawhtml, textile, + # txt) + ###################################################################### + + # highlight plugin + # types of source files to syntax highlight + #tohighlight => '.c .h .cpp .pl .py Makefile:make', + + # mdwn plugin + # enable multimarkdown features? + #multimarkdown => 0, + + # po plugin + # master language (non-PO files) + #po_master_language => { + # code => 'en', + # name => 'English' + #}, + # slave languages (PO files) + #po_slave_languages => { + # de => 'Deutsch', + # es => 'Español', + # fr => 'Français' + #}, + # PageSpec controlling which pages are translatable + #po_translatable_pages => '* and !*/Discussion', + # internal linking behavior (default/current/negotiated) + #po_link_to => 'current', + + ###################################################################### + # web plugins + # (attachment, comments, editdiff, edittemplate, getsource, + # google, mirrorlist, remove, rename, repolist, search, + # websetup, wmd) + ###################################################################### + + # attachment plugin + # enhanced PageSpec specifying what attachments are allowed + #allowed_attachments => 'virusfree() and mimetype(image/*) and maxsize(50kb)', + # virus checker program (reads STDIN, returns nonzero if virus found) + #virus_checker => 'clamdscan -', # comments plugin # PageSpec of pages where comments are allowed @@ -182,75 +248,81 @@ IkiWiki::Setup::Standard->import({ # commit comments to the VCS #comments_commit => 1, - # darcs plugin - # wrapper to generate (set as master repo apply hook) - #darcs_wrapper => '/darcs/repo/_darcs/ikiwiki-wrapper', - # mode for darcs_wrapper (can safely be made suid) - #darcs_wrappermode => '06755', - # darcsweb url to show file history ([[file]] substituted) - #historyurl => 'http://darcs.example.com/darcsweb.cgi?r=wiki;a=filehistory;f=[[file]]', - # darcsweb url to show a diff ([[hash]] and [[file]] substituted) - #diffurl => 'http://darcs.example.com/darcsweb.cgi?r=wiki;a=filediff;h=[[hash]];f=[[file]]', - # getsource plugin # Mime type for returned source. #getsource_mimetype => 'text/plain; charset=utf-8', - # highlight plugin - # types of source files to syntax highlight - #tohighlight => '.c .h .cpp .pl .py Makefile:make', + # mirrorlist plugin + # list of mirrors + #mirrorlist => {}, - # htmlscrubber plugin - # PageSpec specifying pages not to scrub - #htmlscrubber_skip => '!*/Discussion', + # repolist plugin + # URIs of repositories containing the wiki's source + #repositories => [qw{svn://svn.example.org/wiki/trunk}], - # inline plugin - # enable rss feeds by default? - rss => 1, - # enable atom feeds by default? - atom => 1, - # allow rss feeds to be used? - #allowrss => 0, - # allow atom feeds to be used? - #allowatom => 0, - # urls to ping (using XML-RPC) on feed update - pingurl => [], + # search plugin + # path to the omega cgi program + #omega_cgi => '/usr/lib/cgi-bin/omega/omega', + + # websetup plugin + # list of plugins that cannot be enabled/disabled via the web interface + #websetup_force_plugins => [], + # list of additional setup field keys to treat as unsafe + #websetup_unsafe => [], + # show unsafe settings, read-only, in web interface? + #websetup_show_unsafe => 1, + + ###################################################################### + # widget plugins + # (calendar, color, conditional, cutpaste, date, format, fortune, + # graphviz, haiku, img, linkmap, listdirectives, map, more, + # orphans, pagecount, pagestats, poll, polygen, postsparkline, + # progress, shortcut, sparkline, table, template, teximg, toc, + # toggle, version) + ###################################################################### + + # calendar plugin + # base of the archives hierarchy + #archivebase => 'archives', + # PageSpec of pages to include in the archives; used by ikiwiki-calendar command + #archive_pagespec => 'posts/* and !*/Discussion', # listdirectives plugin # directory in srcdir that contains directive descriptions #directive_description_dir => 'ikiwiki/directive', - # lockedit plugin - # PageSpec controlling which pages are locked - #locked_pages => '!*/Discussion', - - # mdwn plugin - # enable multimarkdown features? - #multimarkdown => 0, - - # mercurial plugin - # mercurial post-commit hook to generate - #mercurial_wrapper => '', - # mode for mercurial_wrapper (can safely be made suid) - #mercurial_wrappermode => '06755', - # url to hg serve'd repository, to show file history ([[file]] substituted) - #historyurl => 'http://example.com:8000/log/tip/[[file]]', - # url to hg serve'd repository, to show diff ([[file]] and [[r2]] substituted) - #diffurl => 'http://localhost:8000/?fd=[[r2]];file=[[file]]', + # teximg plugin + # Should teximg use dvipng to render, or dvips and convert? + #teximg_dvipng => '', + # LaTeX prefix for teximg plugin + #teximg_prefix => '\\documentclass{article} + #\\usepackage{amsmath} + #\\usepackage{amsfonts} + #\\usepackage{amssymb} + #\\pagestyle{empty} + #\\begin{document} + #', + # LaTeX postfix for teximg plugin + #teximg_postfix => '\\end{document}', - # mirrorlist plugin - # list of mirrors - #mirrorlist => {}, + ###################################################################### + # other plugins + # (aggregate, autoindex, brokenlinks, camelcase, ddate, embed, + # favicon, goodstuff, htmlbalance, localstyle, pagetemplate, + # pingee, pinger, prettydate, recentchanges, recentchangesdiff, + # relativedate, rsync, sidebar, smiley, sortnaturally, tag, + # testpagespec, underlay) + ###################################################################### - # openid plugin - # an url where users can signup for an OpenID - #openidsignup => 'http://myopenid.com/', + # aggregate plugin + # enable aggregation to internal pages? + #aggregateinternal => 1, + # allow aggregation to be triggered via the web? + #aggregate_webtrigger => 0, - # passwordauth plugin - # a password that must be entered when signing up for an account - #account_creation_password => 's3cr1t', - # cost of generating a password using Authen::Passphrase::BlowfishCrypt - #password_cost => 8, + # camelcase plugin + # list of words to not turn into links + #camelcase_ignore => [], # pinger plugin # how many seconds to try pinging before timing out @@ -266,69 +338,21 @@ IkiWiki::Setup::Standard->import({ # number of changes to track recentchangesnum => 100, - # repolist plugin - # URIs of repositories containing the wiki's source - #repositories => [qw{svn://svn.example.org/wiki/trunk}], - # rsync plugin # command to run to sync updated pages #rsync_command => 'rsync -qa --delete . user@host:/path/to/docroot/', - # search plugin - # path to the omega cgi program - #omega_cgi => '/usr/lib/cgi-bin/omega/omega', - - # svn plugin - # subversion repository location - #svnrepo => '/svn/wiki', - # path inside repository where the wiki is located - #svnpath => 'trunk', - # svn post-commit hook to generate - #svn_wrapper => '/svn/wikirepo/hooks/post-commit', - # mode for svn_wrapper (can safely be made suid) - #svn_wrappermode => '04755', - # viewvc url to show file history ([[file]] substituted) - #historyurl => 'http://svn.example.org/trunk/[[file]]', - # viewvc url to show a diff ([[file]], [[r1]], and [[r2]] substituted) - #diffurl => 'http://svn.example.org/trunk/[[file]]?root=wiki&r1=[[r1]]&r2=[[r2]]', + # sidebar plugin + # show sidebar page on all pages? + #global_sidebars => 1, # tag plugin # parent page tags are located under tagbase => 'tag', - - # teximg plugin - # Should teximg use dvipng to render, or dvips and convert? - #teximg_dvipng => '', - # LaTeX prefix for teximg plugin - #teximg_prefix => '\\documentclass{article} - #\\usepackage{amsmath} - #\\usepackage{amsfonts} - #\\usepackage{amssymb} - #\\pagestyle{empty} - #\\begin{document} - #', - # LaTeX postfix for teximg plugin - #teximg_postfix => '\\end{document}', - - # tla plugin - # tla post-commit hook to generate - #tla_wrapper => '', - # mode for tla_wrapper (can safely be made suid) - #tla_wrappermode => '06755', - # url to show file history ([[file]] substituted) - #historyurl => '', - # url to show a diff ([[file]] and [[rev]] substituted) - #diffurl => '', + # autocreate new tag pages? + #tag_autocreate => 1, # underlay plugin # extra underlay directories to add #add_underlays => '', - # extra template directories to add - #add_templates => '', - - # websetup plugin - # list of plugins that cannot be enabled/disabled via the web interface - #websetup_force_plugins => [], - # show unsafe settings, read-only, in web interface? - #websetup_show_unsafe => 1, }) @@ -1,6 +1,6 @@ /* ikiwiki local style sheet - Copyright © 2007, 2008, 2009 Free Software Foundation, Inc. + Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 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 @@ -51,7 +51,6 @@ pre margin-left: 3em; font-weight: bold; padding: 0.5em; - overflow: auto; } a @@ -138,7 +137,7 @@ a:hover padding: 0.5em; } -#sidebar +.sidebar { background-color: #f0f0f0; } @@ -159,25 +158,24 @@ a:hover } -/* Variable width. */ -#sidebar +/* Placement. */ +.sidebar { width: auto; - /* ikiwiki's default for `width'. */ - min-width: 20ex; + margin-left: 20px; } /* Less indentation for list items. */ -#sidebar ul +.sidebar ul { padding-left: 2ex; } -#sidebar ul ul +.sidebar ul ul { padding-left: 2.5ex; } /* Make the logo appear centered */ -#sidebar img { +.sidebar img { display: block; margin-left: auto; margin-right: auto; @@ -287,16 +285,3 @@ a:hover padding-top: 0.3em; padding-bottom: 0.3em; } - -div.recentchanges -{ - clear: none; - width: auto; -} - -/* Stop inlined pages (in news, tag/*, and so on) from running into the - sidebar. */ -.inlinepage -{ - overflow: auto; -} diff --git a/news/2010-05-31.mdwn b/news/2010-05-31.mdwn index e6fc0518..5bef328e 100644 --- a/news/2010-05-31.mdwn +++ b/news/2010-05-31.mdwn @@ -8,53 +8,59 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -<!-- Date when the news item is (to be) pulished (important for RSS feeds). -Will be set by tschwinge when publishing. -[[!meta date="YYYY-MM-DD HH:MM UTC"]] ---> +[[!meta date="2010-06-06 22:15 UTC"]] -A month of the Hurd: *dde linux26*, *thread storms*, *patches*, *new live CD* and *IRC meetings*. +A month of the Hurd: *DDE linux26*, *thread storms*, *patches*, *new live CD* and *IRC meetings*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else="[[!paste id=full_news]]"]] [[!cut id="full_news" text=""" -> This month [[Zheng_Da|user/zhengda]] +> [[Zheng_Da|user/zhengda]] > [reported](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00037.html) -> on the state of porting DDE linux26 to the Hurd, -> which can improve the GNU Hurd Hardware support a lot. -> The drivers emulated by qemu and vmware already work fine, -> but it still needs work to run on real hardware. - -> Also Sergio Lopez -> [added some patches](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00106.html) -> to prevent thread storms when synchronizing large pagers in ext2fs. They should improve performance when many files are accessed at the same time. - -> And Emilio Pozuelo Monfort, Carl Fredrik Hammar, Sergio Lopez -> and others developed some patches ( -> [auth](http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00003.html), -> [exec](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00108.html), -> [tmpfs](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00076.html), -> … ) -> to fix or improve the semantics of various internal hurd servers, -> to avoid some bugs or improve performance. - -> Additionally Justus Winter created a [live CD](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00033.html) -> with an installation wizard in the spirit of the OpenBSD installer. -> He needs testers to improve it. - -> And the -> [scheduled IRC meetings for Google Summer of code](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00148.html) -> are continuing on Mondays and Thursdays, 10:30 UTC. -> If you want to catch up on them, you can have a look at the -> [channel logs](http://richtlijn.be/~larstiq/hurd/). - -> <small>*PS: As the amount of new developments on the Hurd has increased quite a bit since the start of the ‘Month of the Hurd’, these news are only a selection of the items you can already test yourself. There’s more in our [[mailing_lists]]. The rough criterium for the Month of the Hurd is “can you already test it and can I say why it is great for the Hurd at large?” There definitely is stuff I don’t understand well enough to explain here… — [[Arne_Babenhauserheide|community/weblogs/ArneBab]]*</small> - ------- - -* email news: In the [[mailing_lists]], especially [[bug-hurd|mailing_lists#bug-hurd]]. -* IRC contact: #hurd on freenode.net; meeting on mondays and thursdays, 10:30 UTC ([logs](http://richtlijn.be/~larstiq/hurd/)). +> on the state of his ongoing work of porting DDE linux26 to the Hurd, which is +> meant to improve the GNU/Hurd hardware support. The devices as emulated by +> QEMU and VMware already work fine, but he's still seeking help for testing on +> real hardware. + +> Sergio López published +> [patches](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00059.html) +> as well as [readily-usable +> packages](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00106.html) +> to prevent thread storms in ext2fs when synchronizing large pagers. This +> should improve system performance and stability. + +> Emilio Pozuelo Monfort and Sergio López developed further patches (for +> example: +> [exec](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00108.html), +> [tmpfs](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00077.html)) to +> fix or improve the various internal Hurd servers, and discussed them with +> other Hurd developers. + +> Justus Winter [created a live +> CD](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00033.html) with an +> installation wizard in the spirit of the OpenBSD installer. He needs testers +> to help improve it. + +> Ludovic Courtès informed that he has added support for [cross-building +> packages from GNU/Linux to +> GNU/Hurd](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00105.html) +> to the Nix package manager, as well as doing [continuous cross-building of +> the GNU Hurd +> itself](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00111.html), +> and [glibc](http://sourceware.org/ml/libc-alpha/2010-05/msg00049.html). + +> The [[regular IRC meetings|irc#regular_meetings]] for [[Google Summer of Code +> students|community/gsoc]], their mentors, and any other interested parties +> [are +> continuing](http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00148.html) +> on Mondays and Thursdays, 10:30 UTC, as Olaf Buddenhagen reported. If you +> want to catch up, have a look at the [#hurd channel +> logs](http://richtlijn.be/~larstiq/hurd/). + +> As always in the *Month of the Hurd*, these news blurbs are only a selection +> of what happened in the last month. There's always more to be found on our +> [[mailing_lists]], especially [[mailing_lists/bug-hurd]]. """]] diff --git a/open_issues.mdwn b/open_issues.mdwn index 8e6741c1..9f9289e2 100644 --- a/open_issues.mdwn +++ b/open_issues.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 @@ -19,13 +19,8 @@ feeds=no actions=yes rootpage="open_issues" postformtext="Add a new item titled:"]] -[[!map pages="(./open_issues/* or */open_issues/* or -hurd/running/debian/porting/* or tagged(open_issue*)) and !tag/* and -!*/discussion" +[[!map +pages="(./open_issues/* or */open_issues/* or hurd/running/debian/porting/* or tagged(open_issue*)) and !*/discussion" show=title]] -The following [[!iki ikiwiki/directive/tag desc=tags]] are actively used at the -moment: - -[[!map pages="tag/* and !tag/*/* and !tag/open_issue_mach" -show=title]] +[[!inline pages=tag raw=yes feeds=no]] diff --git a/public_hurd_boxen/installation/flubber.mdwn b/public_hurd_boxen/installation/flubber.mdwn index acf0fa68..66a01c3c 100644 --- a/public_hurd_boxen/installation/flubber.mdwn +++ b/public_hurd_boxen/installation/flubber.mdwn @@ -23,12 +23,3 @@ package instead. # *polipo* - - Starting polipo: /usr/lib/polipo/polipo-control: 145: /sbin/route: not found - polipo. - -## `/etc/rc.local` - - [...] - /usr/lib/polipo/polipo-control go-online - [...] diff --git a/render_locally b/render_locally index f4a249a8..ca7856f5 100755 --- a/render_locally +++ b/render_locally @@ -12,23 +12,32 @@ export ROOT && ROOT=$(readlink -f "$(dirname "$0")") && export LC_MESSAGES && LC_MESSAGES=C && case $1 in + # Use this for rendering the set of pages which are to be installed under + # <http://www.gnu.org/software/hurd/>. --official) - # Use this for rendering the set of pages which are to be installed under - # <http://www.gnu.org/software/hurd/>. shift && + export TZ && TZ=UTC && export DESTDIR && DESTDIR=$ROOT.rendered.official && + # Use ``--no-usedirs'' here, so that not too many separate directories have # to be created. + # + # Use ``--gettime --plugin update_mtimes'' to reset pages' / files' mtimes + # according to the RCS information when using --refresh mode. set x \ --set wikistatedir="$ROOT"/.ikiwiki-official \ --url http://www.gnu.org/software/hurd \ --no-usedirs \ + --gettime --plugin reset_mtimes \ "$@" && shift;; + --w3m-wrapper) shift && + export NO_MSG && NO_MSG=y && + # Disable the configured VCS, as the CGI wrapper together with using the # anonok plugin inhibits the propagation of authorship information. set x \ @@ -37,21 +46,27 @@ case $1 in --rcs norcs \ "$@" && shift && + exec \ "$0" \ --w3m \ "$@";; + --w3m) shift && + export DESTDIR && DESTDIR=$ROOT.rendered.w3m && + set x \ --set wikistatedir="$ROOT"/.ikiwiki-w3m \ --cgiurl hurd-web.cgi --w3mmode \ "$@" && shift && + exec \ "$0" \ "$@";; + *) # Use ``--no-usedirs'' here, because when browsing local files, the web # browsers don't display `index.html' files by default when a hyperlink diff --git a/sandbox.mdwn b/sandbox.mdwn index def5fae7..b90e8160 100644 --- a/sandbox.mdwn +++ b/sandbox.mdwn @@ -6,7 +6,7 @@ There even is a [[subsandbox]]. Here's a paragraph. -Here's another one with *emphasised* text. +Here's another one with *emphasized* text. # Header diff --git a/tag.mdwn b/tag.mdwn new file mode 100644 index 00000000..4d441b29 --- /dev/null +++ b/tag.mdwn @@ -0,0 +1,39 @@ +[[!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]]."]]"""]] + +The following [[!iki ikiwiki/directive/tag desc=tags]] are actively used at the +moment: + +[[!map +pages="tag/* and !tag/*/*" +show=title]] + +Most of them should be self-explanatory. + + * *fixed_in_debian* + + This tag is used to tag items that have been fixed in the [[Debian + GNU/Hurd|hurd/running/debian]] distribution, but not yet in the upstream + sources. + + * *open_issue_porting* + + A list of open issues in porting software to run on GNU/Hurd systems. This + list also includes [[hurd/toolchain]]-level items, items that are either + already solved in [[Debian GNU/Hurd|hurd/running/debian]] systems (tagged + *fixed_in_debian*) or being worked around, so if you're out for working on + application-level porting issues, then perusing through the list of + [[Debian packages that need porting|hurd/running/debian/porting]] may be + better. + + * *stable_URL* + + These pages are tagged as having a *stable URL*. That is, they're linked + to on external pages, and should not be changed just for the sake of it. diff --git a/tag/fixed_in_debian.mdwn b/tag/fixed_in_debian.mdwn index e36e6b84..b8aeddc8 100644 --- a/tag/fixed_in_debian.mdwn +++ b/tag/fixed_in_debian.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,16 +8,8 @@ Sections, no 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=fixed_in_debian]] +[[!meta title="fixed_in_debian"]] -This tag is used to tag items that have been fixed in the [[Debian -GNU/Hurd|hurd/running/debian]] distribution, but not yet in the upstream -sources. - -[[!map pages="tagged(fixed_in_debian) and !*/discussion" +[[!map +pages="tagged(fixed_in_debian)" show=title]] - -[[!inline -pages="tagged(fixed_in_debian) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_gcc.mdwn b/tag/open_issue_gcc.mdwn index a06a9d70..b880d152 100644 --- a/tag/open_issue_gcc.mdwn +++ b/tag/open_issue_gcc.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,12 +8,8 @@ Sections, no 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_gcc]] +[[!meta title="open_issue_gcc"]] -[[!map pages="tagged(open_issue_gcc) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_gcc)" show=title]] - -[[!inline -pages="tagged(open_issue_gcc) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_gdb.mdwn b/tag/open_issue_gdb.mdwn index 937aafc2..02363dd5 100644 --- a/tag/open_issue_gdb.mdwn +++ b/tag/open_issue_gdb.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,12 +8,8 @@ Sections, no 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_gdb]] +[[!meta title="open_issue_gdb"]] -[[!map pages="tagged(open_issue_gdb) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_gdb)" show=title]] - -[[!inline -pages="tagged(open_issue_gdb) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_glibc.mdwn b/tag/open_issue_glibc.mdwn index e4d22881..e523637a 100644 --- a/tag/open_issue_glibc.mdwn +++ b/tag/open_issue_glibc.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,12 +8,8 @@ Sections, no 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_glibc]] +[[!meta title="open_issue_glibc"]] -[[!map pages="tagged(open_issue_glibc) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_glibc)" show=title]] - -[[!inline -pages="tagged(open_issue_glibc) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_gnumach.mdwn b/tag/open_issue_gnumach.mdwn index 5a46840d..22e49393 100644 --- a/tag/open_issue_gnumach.mdwn +++ b/tag/open_issue_gnumach.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,12 +8,8 @@ Sections, no 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_gnumach]] +[[!meta title="open_issue_gnumach"]] -[[!map pages="tagged(open_issue_*mach) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_gnumach)" show=title]] - -[[!inline -pages="tagged(open_issue_*mach) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_hurd.mdwn b/tag/open_issue_hurd.mdwn index 2e3c7206..d5505f70 100644 --- a/tag/open_issue_hurd.mdwn +++ b/tag/open_issue_hurd.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,12 +8,8 @@ Sections, no 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_hurd]] +[[!meta title="open_issue_hurd"]] -[[!map pages="tagged(open_issue_hurd) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_hurd)" show=title]] - -[[!inline -pages="tagged(open_issue_hurd) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_mig.mdwn b/tag/open_issue_mig.mdwn index 8ac476cc..79ef3acb 100644 --- a/tag/open_issue_mig.mdwn +++ b/tag/open_issue_mig.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,12 +8,8 @@ Sections, no 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_mig]] +[[!meta title="open_issue_mig"]] -[[!map pages="tagged(open_issue_mig) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_mig)" show=title]] - -[[!inline -pages="tagged(open_issue_mig) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_porting.mdwn b/tag/open_issue_porting.mdwn index f89badcb..0bc33c0d 100644 --- a/tag/open_issue_porting.mdwn +++ b/tag/open_issue_porting.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,19 +8,8 @@ Sections, no 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_porting]] +[[!meta title="open_issue_porting"]] -Here is a list of open issues in porting software to run on GNU/Hurd systems. -This list also includes [[hurd/toolchain]]-level items, items that are either -already solved in [[Debian GNU/Hurd|hurd/running/debian]] systems (tagged -*fixed_in_debian*) or being worked around, so if you're out for working on -application-level porting issues, then perusing through the list of [[Debian -packages that need porting|hurd/running/debian/porting]] may be better. - -[[!map pages="tagged(open_issue_porting) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_porting)" show=title]] - -[[!inline -pages="tagged(open_issue_porting) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_pthread.mdwn b/tag/open_issue_pthread.mdwn index c42ca453..0ccb1002 100644 --- a/tag/open_issue_pthread.mdwn +++ b/tag/open_issue_pthread.mdwn @@ -8,12 +8,8 @@ Sections, no 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]] +[[!meta title="open_issue_pthread"]] -[[!map pages="tagged(open_issue_pthread) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_pthread)" show=title]] - -[[!inline -pages="tagged(open_issue_pthread) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_viengoos.mdwn b/tag/open_issue_viengoos.mdwn index d9662803..6f564e06 100644 --- a/tag/open_issue_viengoos.mdwn +++ b/tag/open_issue_viengoos.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,12 +8,8 @@ Sections, no 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_viengoos]] +[[!meta title="open_issue_viengoos"]] -[[!map pages="tagged(open_issue_viengoos) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_viengoos)" show=title]] - -[[!inline -pages="tagged(open_issue_viengoos) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/open_issue_xen.mdwn b/tag/open_issue_xen.mdwn index 5ce9301c..fbe40652 100644 --- a/tag/open_issue_xen.mdwn +++ b/tag/open_issue_xen.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,12 +8,8 @@ Sections, no 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_xen]] +[[!meta title="open_issue_xen"]] -[[!map pages="tagged(open_issue_xen) and !open_issues and !*/discussion" +[[!map +pages="tagged(open_issue_xen)" show=title]] - -[[!inline -pages="tagged(open_issue_xen) and !open_issues and !*/discussion" -show=0 -feeds=no]] diff --git a/tag/stable_URL.mdwn b/tag/stable_URL.mdwn index af17a58a..8b25517e 100644 --- a/tag/stable_URL.mdwn +++ b/tag/stable_URL.mdwn @@ -10,8 +10,6 @@ License|/fdl]]."]]"""]] [[!meta title="stable_URL"]] -These pages are tagged as having a *stable URL*. That is, they're linked to on -external pages, and should not be changed just for the sake of it. - -[[!map pages="tagged(stable_URL)" +[[!map +pages="tagged(stable_URL)" show=title]] diff --git a/user/jkoenig.mdwn b/user/jkoenig.mdwn index 14e40bf6..8827d986 100644 --- a/user/jkoenig.mdwn +++ b/user/jkoenig.mdwn @@ -17,78 +17,156 @@ has been accepted by the Debian project. I will be keeping track of my progress on this page. -### Latest news +### Links - * *busybox*: - patches [posted](http://lists.debian.org/debian-bsd/2010/05/msg00048.html). - I need to test them on kFreeBSD, - then submit them upstream and to #323670. - * installation images boot with the following changes: - * rebuild hurd-udeb from with the latest pkg-hurd patches - * use busybox from my osports-debian branch (see link above) - * tweak the d-i image build scripts - * the symlink /lib/ld.so -> ld.so.1 needs to be created somehow - (youpi mentionned it being the job of libc0.3-udeb I think) - * fix the poll() issue in libdebian-installer - (patch to be submitted soon), - also there is some hurd doxygen short-circuiting stuff - there which does not apply any more and prevents is to build. - * initrd support coming soon (BTW gnumach does not like gcc-4.4), - for the time being it needs to be fed to qemu as a hard drive - (with some more space added to avoid it from becoming full) + * [Modified packages](http://jk.fr.eu.org/debian/unstable) + * [Latest images](http://jk.fr.eu.org/debian/hurd-installer) + * [Debian bugs](http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=jk@jk.fr.eu.org&tag=gsoc2010) + * [BusyBox port](http://lists.debian.org/debian-bsd/2010/05/msg00048.html) + * [GNU Mach initrd](http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00047.html) ### Roadmap -#### Week 2 (2010-05-31 to 2010-06-06) - -* see what breaks in the installer and fix the problems one by one - (install-time netcfg, cdrom detection, whatever) -* start working on mach initrd support - -#### Week 3 (2010-06-07..13) - -* try to get the busybox changes merged upstream - and integrated into the debian package -* tweak the hurd debian package to handle - what native-install used to be required for - -#### Week 4 (2010-06-14..20) +* **mach**: initrd support + * (./) preliminary patch posted and self-built (2010-06-12) + * adjustments will be needed (postponed) + * consider the alternatives discussed on bug-hurd (postponed) + +* **glibc**: fix `mkdir("/")` which returned `EINVAL` + * (./) eglibc 2.11.2-1 includes a quick fix by youpi (2010-06-15) + * (./) more complete patch posted to bug-hurd, + since other calls return incorrect errors under some circumstances + (2010-06-16) + * more work on it will be needed to make it fix the whole thing + (postponed) + +* (./) **partman** (2010-06-23) + * (./) add hurd-i386 to + `partman-partitioning/lib/disk-label.sh` + (2010-06-16, commited by youpi on 2010-06-23) + * (./) short-circuit + `partman-basicfilesystems/init.d/kernelmodules_basicfilesystems` + (2010-06-16) + * (./) partman-auto recipes: + make the default filesystem os-dependent + when it has not been preseeded (ie. the *seen* flag is clear) + * (./) force 4k blocks and 128 bytes inodes + * (./) submit patches to bugs.debian.org + ([[!debbug 586870]] and [[!debbug 586871]]) + * (./) rebuild with responsible version numbers and upload to my repository + +* (./) **libparted** (2010-06-23) + * (./) fix device paths ([[!debbug 586696]]) + * (./) fix crash on exit for part:* stores ([[!debbug 586682]]) + +* **hurd-udeb** (2010-06-23) + * (./) rebuild with the hack suggested by youpi for qemu network configuration + * (./) fix mount to accept `-o defaults` + * cleanup, ask youpi to commit + +* reloading the partition table (2010-06-25) + * User-space part stores + * (./) hurd-udeb now uses `part:N:device:X` for partition devices + (2010-06-23) + * (./) it also provides /lib/partman/commit.d/??hurd\_reloadpart, + which basically does `settrans -ag /dev/[hs]d*`. + (2010-06-24) + * Kernel-based partition devices + * (./) Mach's drivers from Linux support reloading partitions. + With help from youpi this has been made available through a + device\_set\_status() call. + * (./) make libparted use it + * Reminder: + I should file a bug against libparted with the patch sometime. + +* **busybox**: submit upstream and to [[!debbug 323670]] + (waiting for upstream to review) + * (./) I have mentioned my work on the upstream mailing list, + * (./) merge the recent changes from upstream, + notably to the build system. + (2010-06-23) + * (./) ask upstream for review and merge + (2010-06-25) + * backport any additional changes onto the debian branch + * hijack [[!debbug 323670]] and submit my patches + +* (./) The `/servers/exec` issue (2010-06-26) + * Due to /servers being inexistant, + the bootstrap ext2fs could not register the initial exec server, + meaning that non-bootstrap filesystems used a different one + (started from the passive translator), + which for some reason died on shell scripts, making them stall. + * Adding the `/servers` directory to hurd-udeb fixed it, + as well as the /hurd/proc issue + (failed to be run by init the first time around). + * Reminder: report the non-bootstrap exec servers failure on scripts. + +* (./) **base-installer**: (2010-06-26) + * Work around non-existant /proc/mounts. + * Firmlink /servers into /target after debootstrap + to make the network available. + +* **grub-installer** (expected 2010-06-28) + * review the whole thing and add hurd to the supported cases + +* **d-i/installer/build**: (expected 2010-06-28) + * publish the patch I use + * sort out the changes suitable for inclusion + and ask youpi and/or debian-boot@l.d.o to commit them + +**Milestone (expected 2010-06-28): +installer kindof works, with documented manual intervention required** + +* **partman**: further adjustments + * hide irrelevant mount options? (sync, relatime) + +* **busybox**: port + * fix stty/stat/ipcs on kFreeBSD, + * generally port more stuff, + * *ip* is needed for network configuration, + * *mount*, *swaponoff* can be from hurd-udeb for now, + though the kFreeBSD people will need them + +* <strike>tweak the hurd debian package to handle + what native-install used to be required for</strike> + (debootstrap does it) + +* netcfg: make it work on Hurd somehow (port `busybox ip`?) * Hurd-specific partitionning (use supported fs types and options). NB: we will need support in mach to reload the partition tables, or alternatively use the parted support in libstore somehow. -* grub2 installation - -#### Week 5-6 (2010-06-21..07-04) - -* unexpected stuff -* cleanup -* call for testing -* fix bugs - -At this point we would have a basic but working installer. -Hopefully the summer would not be over yet... -#### Week 7-8 (2010-07-05..18) +* grub2 installation -* hurd console +**Milestone (expected 2010-07-05): +installer works but it's still somewhat ugly and broken** + +* call for testing and fix the bugs +* improve the [initrd situation](FIXME: link to bug-hurd post): + ajust the ramdisk support in Mach, + use tmpfs if possible, + possibly add `module -nounzip` to grub2. +* mklibs{,-copy}: + test library reduction, + make it copy the ld.so -> ld.so.1 symlink. +* hurd console fonts * better DHCP support during and after installation -* support more types of installation images - -#### Week 9-10 (2010-07-19..08-01) -* give a shot at the graphical installer ? - -#### Week 11-12 (2010-08-02..15) +**Milestone (expected 2010-07-19): +it works great and it's beautiful** * test, fix, document - +* support more types of installation images +* give a shot at the graphical installer if time permits +* see how [[zhengda]]'s work on DDE could be integrated +* etc.. ### Mostly done #### Week 1 (2010-05-24) -* genext2fs: patches [submitted](http://bugs.debian.org/562999) +* genext2fs: patches submitted, [[!debbug 562999]] which add support for all block sizes and choosing them at runtime. * busybox: started porting the upstream and Debian package to Hurd and FreeBSD * rebuilding hurd-udeb from the pkg-hurd version @@ -97,3 +175,22 @@ Hopefully the summer would not be over yet... (BTW would there be a mean to detect this from the libdiskfs bootstrap code and report it ?) +#### Week 2 (2010-05-31 to 2010-06-06) + +* *busybox*: patches [posted](http://lists.debian.org/debian-bsd/2010/05/msg00048.html). +* *libdebian-installer4*: [[!debbug 584538]] +* started working on mach initrd support +* the installation images could boot into the main-menu + with the following changes: + * rebuild hurd-udeb from with the latest pkg-hurd patches + * use busybox from my osports-debian branch (see link above) + * tweak the d-i image build scripts + * the symlink /lib/ld.so -> ld.so.1 needs to be created somehow + (youpi mentionned it being the job of libc0.3-udeb I think) + * fix the poll() issue in libdebian-installer + (patch to be submitted soon), + also there is some hurd doxygen short-circuiting stuff + there which does not apply any more and prevents is to build. + * feed the initrd as a hard drive in qemu + (with some more space added to avoid it from becoming full) + diff --git a/user/kam.mdwn b/user/kam.mdwn index da820f62..04160d0f 100644 --- a/user/kam.mdwn +++ b/user/kam.mdwn @@ -55,6 +55,7 @@ Understanding how gnumach ticks [ at least the parts related to the project ] ###Coding Phase: +Stage 1: ####24th of May - 26th of May: @@ -72,38 +73,46 @@ Understanding how gnumach ticks [ at least the parts related to the project ] * Off ( Oral Exams ) ---- - ####2nd of May - 4th of June: * Finish the port of the previous phase. --- +Stage 2: + ####5th of June - 11th of June: * Modify the API of the libpager to support multipages. --- +Stage 3: + ####12th of June - 26th of June: * Modify the of the translators code to implement the new libpager interface. --- +Stage 4: + ####27th of June - 30th of June: * port OSF Mach's clustered pageout ( [src]/vm/vm_pageout.c ) --- +Stage 5: + ####1st of July - 4th of July: * Fix the bootmem_allocator patch along with my proposal. --- +Stage 6: + ### Testing Phase: --- @@ -113,3 +122,31 @@ Understanding how gnumach ticks [ at least the parts related to the project ] #### Final exams : Starts at 12th of June for two weeks [maybe 2 or 3 days longer than this , not sure] + +--- + +Stage 1: + +* clustered_paging.diff patch http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00024.html + +TODO: + +* Update the headers of the modified files in GNU Mach to reflect the fact that they were ported from OSF Mach. + +* Implement madvise() in glibc. + +* Update the documentation of GNU Mach with the new interfaces. + +* Revise and finish the code related to default_memory_manager management in GNU Mach. + +* Port the vm_page "clustered" attribute. [ to mark that the page wasn't requested but was paged-in as part of the cluster ]. + +--- + +Stage 2: + +Stage 3: + +Stage 4: + +Stage 5: diff --git a/user/zhengda.mdwn b/user/zhengda.mdwn index 39af5699..0c3b26bb 100644 --- a/user/zhengda.mdwn +++ b/user/zhengda.mdwn @@ -12,23 +12,28 @@ porting DDE developed by DROPS to the Hurd, and it will still run in the user sp ##Introduction The introduction of DDE/DDEKit can be found in [here](http://wiki.tudos.org/DDE/DDEKit) and more information can be found [here](http://os.inf.tu-dresden.de/pipermail/l4-hackers/2009/004291.html). DDE/DDEKit is a library, and it should be compiled with the code of Linux or FreeBSD drivers. DDE Linux26 is still under development and it can now support network and block devices (but doesn't support SCSI). +##The current status +Currently a few NIC cards work now. I tested pcnet32, e100, e1000, ne2k-pci and rtl8139 in VMWare and Qemu. But the DDE e100 driver cannot work for some e100 cards as currently DDE doesn't support firmware. Someone also reported sis900 cannot work, unfortunately, I cannot test it myself. I appreciate if someone can try some other NIC drivers and give me some feedbback. Please run DDE with GNUMach in the [master-user_level_drivers](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/) branch. + ## My work I separate DDE Linux26 to 2 parts: libddekit and libdde_linux26. I also provide a library called libmachdev on the top of the Linux code to provide the Mach device interface, so it is easy for the user to compile a Linux driver and run it in the Hurd. The latest code can be found in the dde branch of the incubator repository. -The current status: the pcnet32 driver can work very well in DDE Linux26 now. I hope someone can try other NIC drivers. Please run DDE with GNUMach in the [master-user_level_drivers](http://git.savannah.gnu.org/cgit/hurd/gnumach.git/) branch. - There is a minor problem when we compile a Linux driver. Linux drivers use jiffies to measure time. Unfortunately, Mach doesn't provide it, so whenever we need it, we need to calculate it by ourselves. I decide to provide a macro to calculate it for the sake of performance and the cost is that the source code of Linux drivers has to include ddekit/timer.h. ## Build and run DDE drivers -It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers while building GNU Mach. DDE requires the pfinet with the modification during my GSoC project in 2008 and that pfinet requires libpcap-dev. To build DDE, we have to first install libpciaccess. libdde_linux26 has to be compiled manually (building dde_pcnet32 doesn't compile libdde_linux26 automatically). +To build a Linux driver with DDE Linux, we need libddekit, libdde_linux26, libmachdev and libhurd-slab. libddekit and libmachdev use the same Makefile system as other Hurd components but libdde_linux26 does not, so we have to build libdde_linux26 in its source file directory. DDE drivers use the same makefile system as libdde_linux26 and thus we need to build them in their source file directories as well. + +The repository has all DDE drivers I have tested, but in case you want to try other drivers, the easiest way is to use dde_pcnet32 as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. -To build a Linux driver with DDE Linux, the easiest way is to use dde_pcnet32 (also in the dde branch) as a template. The directory of dde_pcnet32 has Makefile, Makeconf.local, default.ld, pcnet32.c and main.c. If we need to build a new driver file, we only need to replace pcnet32.c with the new file and change Makefile accordingly. You also need to change DDEKITLIBDIR, DDEKITINCDIR, DDE26LIBDIR and OBJ_BASE in Makeconf.local to indicate the path to ddekit and dde_linux26. +When all parts are ready, we can start to build DDE drivers now. In case someone hasn't installed libpciaccess, please install it first. We first build libddekit, libdde-slab, then libdde_linux26, then libmachdev and at last the DDE driver. It's better to install libddekit, libdde-slab and libmachdev to the system, so libdde_linux26 and the DDE driver find the library files and header files. -To run a DDE NIC driver: +To run a DDE NIC driver: It is better to disable the corresponding kernel drivers in GNU Mach. For example, if we use the pcnet card, we'd better disable lance and pcnet32 drivers in gnumach. DDE requires the pfinet with modification during my GSoC project in 2008 and that pfinet requires libpcap-dev (this pfinet is also in the dde branch). settrans -acfg pcnet32 hurd/dde_pcnet32/dde_pcnet32 + settrans -acfg /dev/eth0 hurd/devnode/devnode eth0 -M pcnet32 + settrans -acfg /servers/socket/2 hurd/pfinet/pfinet -i /dev/eth0 -a 172.16.172.10 -g 172.16.172.2 -m 255.255.255.0 --- |