summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/gsoc/project_ideas/file_locking.mdwn3
-rw-r--r--community/gsoc/project_ideas/package_manager.mdwn5
-rw-r--r--community/gsoc/project_ideas/testsuites.mdwn59
-rw-r--r--open_issues/file_locking.mdwn28
-rw-r--r--open_issues/glibc.mdwn29
-rw-r--r--open_issues/visudo.mdwn4
6 files changed, 97 insertions, 31 deletions
diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn
index 206d4d7d..ebb322f1 100644
--- a/community/gsoc/project_ideas/file_locking.mdwn
+++ b/community/gsoc/project_ideas/file_locking.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2012 Free Software Foundation,
+[[!meta copyright="Copyright © 2008, 2009, 2012, 2014 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -29,6 +29,7 @@ A preliminary patch is [[!GNU_Savannah_patch 332 desc="available"]].
Possible mentors: Samuel Thibault (youpi)
Exercise: Find one of the existing issues, either by looking at the task/bug
+filed on [[open_issues/file_locking]], on
trackers on savannah, or by trying things out yourself; and take a go at it.
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
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index dcbea144..721f6d06 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -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="Hurdish Package Manager for the GNU System"]]
+[[!meta title="Hurdish Package Manager for the GNU System, GNU Guix"]]
Most GNU/Linux systems use pretty sophisticated package managers, to ease the
management of installed software. These keep track of all installed files, and
@@ -50,6 +50,9 @@ management.
The goal of this task is to exploit Hurd features in [[GNU
Guix|hurd/running/nix#guix]].
+See also: [Porting Guix to
+GNU/Hurd](http://www.gnu.org/software/soc-projects/ideas-2014.html#guix_hurd).
+
Possible mentors: Ludovic Courtès, Ben Asselstine (bing)
Exercise: Make some improvement to any of the existing Hurd translators.
diff --git a/community/gsoc/project_ideas/testsuites.mdwn b/community/gsoc/project_ideas/testsuites.mdwn
index 9ca6fe3e..0d92a0a7 100644
--- a/community/gsoc/project_ideas/testsuites.mdwn
+++ b/community/gsoc/project_ideas/testsuites.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011, 2014 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,7 +9,13 @@ Sections, no 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"]]
+[[!meta title="Fix Compatibility Problems Exposed by Testsuites, Implement
+Missing Interfaces"]]
+
+[[!toc]]
+
+
+# Fix Compatibility Problems Exposed by Testsuites
A number of software packages come with extensive testsuites.
Some notable ones are [[open_issues/glibc]], gnulib, Perl,
@@ -36,25 +43,61 @@ 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.
+Note that this task somewhat overlaps with the [[Perl/Python task|perl_python]].
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:
+A complementary task is adding a proper [[open_issues/unit_testing]] framework
+to the GNU Hurd's code base, and related packages.
+
+
+# <a name="missing">Implement Missing Interfaces for GNU Hurd</a>
+
+A related project is to [implement missing interfaces for GNU
+Hurd](http://www.gnu.org/software/soc-projects/ideas-2014.html#glibc_hurd_missing_interfaces)
+([glibc
+wiki](https://sourceware.org/glibc/wiki/GSoC#Implement_Missing_Interfaces_for_GNU_Hurd)),
+primatily in [[open_issues/glibc#missing]].
+
+In glibc's Linux kernel port, most simple POSIX interfaces are in fact just
+forwarded to (implemented by) Linux kernel system calls. In contrast, in the
+[[GNU Hurd port|/glibc]], the POSIX (and other) interfaces are actually
+implemented in glibc on top of the [[Hurd RPC protocols|hurd/rpc]]. A few
+examples:
+[getuid](https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/getuid.c),
+[open](https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/open.c),
+[rmdir](https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/rmdir.c),
+[setresuid](https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/setresuid.c),
+[socketpair](https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/socketpair.c).
+
+When new interfaces are added to glibc (new editions of POSIX and similar
+standards, support for new editions of C/C++ standards, new GNU-specific
+extensions), generally [ENOSYS
+stubs](https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/execve.c) are
+added, which are then used as long as there is no real implementation, and
+often these real implementations are only done for the Linux kernel port, but
+not GNU Hurd. (This is because most of the contributors are primarily
+interested in using glibc on Linux-based systems.) Also, there is quite a
+backlog of [[missing implementations|open_issues/glibc#missing]] for GNU Hurd.
+
+In coordination with the [[GNU Hurd developers|mailing_lists/bug-hurd]], you'd
+work on implementing such missing interfaces.
+
+---
+
+These are very flexible tasks:
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;
+No specific previous knowledge is required;
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.
-A complementary task is adding a proper [[open_issues/unit_testing]] framework
-to the GNU Hurd's code base, and related packages.
-
Possible mentors: Samuel Thibault (youpi)
Exercise: Take a stab at one of the testsuite failures,
+or missing implementation,
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,
diff --git a/open_issues/file_locking.mdwn b/open_issues/file_locking.mdwn
index 563307a4..7dfbdb94 100644
--- a/open_issues/file_locking.mdwn
+++ b/open_issues/file_locking.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2010, 2011, 2014 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,25 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_hurd open_issue_glibc]]
-IRC, #hurd, 2010-12-31.
+[[!toc]]
+
+
+# Google Summer of Code Project Idea
+
+[[community/gsoc/project_ideas/File_Locking]].
+
+
+# visudo
+
+[[visudo]].
+
+
+# Existing Work
+
+[[!GNU_Savannah_patch 332]].
+
+
+# IRC, freenode, #hurd, 2010-12-31
<pinotree> youpi: i found the issue with python-apt
<pinotree> s/with/of/
@@ -72,3 +91,8 @@ IRC, #hurd, 2010-12-31.
<youpi> ah, no, on Linux flock is its own system call
<youpi> (which is independant from lockf from the locking point of view,
iirc)
+
+
+# 2014-03-11
+
+[[!message-id "1394523876.28244.11.camel@workhorse-peter-baumgarten-com"]].
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index ad7b3c72..33041e71 100644
--- a/open_issues/glibc.mdwn
+++ b/open_issues/glibc.mdwn
@@ -210,17 +210,15 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
make[1]: Leaving directory `/media/boole-data/thomas/tmp/gnu-0/src/glibc'
make: *** [all] Error 2
- * <a id=missing>Missing interfaces, amongst many more.</a>
+ * <a id=missing>Missing Interfaces</a>
- IRC, freenode, #hurd, 2014-02-25:
+ We have posted a [[Google Summer of Code project proposal|community/gsoc]]:
- <tschwinge> youpi et al.: Is it a useful GSoC task to have the student
- implement interfaces in glibc that we are currently missing?
- <braunr> tschwinge: definitely
- <braunr> posix_timers would be great
- <youpi> tschwinge: probably
+ [[!inline pages="community/gsoc/project_ideas/testsuites" show=0 feeds=no
+ actions=yes]]
- Many more are missing, some of which have been announced in `NEWS`, others
+ Many are missing for GNU Hurd, some of which have been announced in
+ [`NEWS`](https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS), others
typically haven't (like new flags to existing functions). Typically,
porters will notice missing functionaly. But in case you're looking for
something to work on, here's a bit of a commented list, otherwise go
@@ -1855,15 +1853,7 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
<braunr> teythoon: i think it should be in glibc
<braunr> maybe in mach/
- * POSIX record locking
-
- IRC, freenode, #hurd, 2014-02-27:
-
- <azeem_> tschwinge: schould POSIX record locking be on
- http://darnassus.sceen.net/~hurd-web/open_issues/glibc/#missing
- as well. or is that strictly a Hurd thing? (I don't remember)
- <tschwinge> azeem_: Neither do I :-), but I'll have a look later
- on.
+ * [[POSIX file record locking|file_locking]]
* <a name="execve_relative_paths">`execve` with relative paths</a>
@@ -1894,6 +1884,11 @@ Last reviewed up to the [[Git mirror's 64a17f1adde4715bb6607f64decd73b2df9e6852
moving the mount/umount functionality from our utilities to the
libc
+ * <a name="posix_timers">POSIX Timers</a>
+
+ `timer_create`, `timer_delete`, [[`clock_gettime`|clock_gettime]], and
+ so on.
+
For specific packages:
* <a id=octave>[[octave]]</a>
diff --git a/open_issues/visudo.mdwn b/open_issues/visudo.mdwn
index e9892e33..4e87fd8d 100644
--- a/open_issues/visudo.mdwn
+++ b/open_issues/visudo.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2013, 2014 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
@@ -16,7 +16,7 @@ visudo does not work:
/etc/sudoers is busy, try again later
-Apparently there is some locking that sudo does which does not
+Apparently there is some [[file_locking]] that sudo does which does not
work. Uninvestigated for now.
One can just edit the /etc/sudoers file and take care of correctness by hand.