Add a bunch of new projects:

- Port OpenBSD's sensors framework
- lint(1) improvements from OpenBSD
- Port prebind from OpenBSD
- Add hashed .db support to pkg_tools

Submitted by:	netchild [1-3]
Submitted by:	kris [4]
This commit is contained in:
Joel Dahl 2007-02-21 23:09:54 +00:00
parent f1ef0dbdd4
commit 32123a8d79
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=29628

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.89 2007/02/17 10:52:21 joel Exp $">
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.90 2007/02/19 18:01:05 danger Exp $">
<!ENTITY title "FreeBSD list of projects and ideas for volunteers">
<!ENTITY % navinclude.developers "INCLUDE">
<!ENTITY % developers SYSTEM "../../developers.sgml"> %developers;
@ -51,7 +51,7 @@
<h3>File System</h3>
<ul>
<li><a href="#p-extenddump">Extend UFS2 dump/restore support</a></li>
<li><a href="#p-extenddump">Extend dump/restore (extended attributes)</a></li>
<li><a href="#p-mdfs">MDFS lockups</a></li>
<li><a href="#p-tmpfs">TMPFS</a></li>
</ul>
@ -72,6 +72,7 @@
<li><a href="#p-busalloc">New bus_alloc_resources() API.</a></li>
<li><a href="#p-pcihotplug">PCI-Hotplug support</a></li>
<li><a href="#p-psched">Pluggable Disk Scheduler</a></li>
<li><a href="#p-sensors">Port OpenBSD's sensors framework</a></li>
<li><a href="#p-trussprocfs">Remove procfs dependencies</a></li>
<li><a href="#p-syncer">Rewrite the in-kernel file system syncer</a></li>
<li><a href="#p-suspend">Suspend to disk</a></li>
@ -94,6 +95,7 @@
<h3>Ports</h3>
<ul>
<li><a href="#p-ports-db">Add hashed .db support to pkg_tools</a></li>
<li><a href="#p-ports-uid">Automatic registering of UID and GID</a></li>
<li><a href="#p-ports-cleanup-use">Cleanup of USE and WITH variables</a></li>
<li><a href="#p-ports-comp43tty">COMPAT_43TTY</a></li>
@ -113,11 +115,13 @@
<ul>
<li><a href="#p-bsdelftools">BSD-licensed ELF Tools</a></li>
<li><a href="#p-noswitches">Build options improvements</a></li>
<li><a href="#p-lint">lint(1) improvements from OpenBSD</a></li>
<li><a href="#p-libprocnet">Libprocstat and libnetstat</a></li>
<li><a href="#p-multibyte">Multibyte collation support</a></li>
<li><a href="#p-ndmp">NDMP data server</a></li>
<li><a href="#p-performancetracking">Performance tracking</a></li>
<li><a href="#p-libumem">Port libumem to FreeBSD</a></li>
<li><a href="#p-prebind">Port prebind from OpenBSD</a></li>
<li><a href="#p-pxeinstaller">PXE Installer</a></li>
<li><a href="#p-regression">Regression testing system</a></li>
<li><a href="#p-sysinstall">Sysinstall</a></li>
@ -138,12 +142,17 @@
<!------------------------------------------------------------------>
<a name="p-extenddump"></a>
<h2>Extend UFS2 dump/restore support for UFS2</h2>
<h2>Extend dump/restore (extended attributes)</h2>
<p>The UFS2 file system in FreeBSD supports extended attributes. Extended
attributes are meta-data associated with vnodes representing files and
directories. Unfortunately dump and restore do not backup or restore
such attributes. People interested in this should contact <a
href="mailto:mckusick@FreeBSD.org">&a.mckusick;</a>.</p>
<p>Furthermore a performance evaluation of the split cache (as is) and
an unified cache (like e.g. NetBSD) would be interesting. More details
in <a
href="http://lists.freebsd.org/pipermail/freebsd-hackers/2007-February/019666.html">
this</a> mail to the hackers mailing-list.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Knowledge of C programming.</li>
@ -496,6 +505,28 @@
<hr>
<a name="p-sensors"></a>
<h2>Port OpenBSD's sensors framework</h2>
<p><strong>References</strong>: <a
href="http://www.openbsd.org/papers/bsdcan06-biosensors.pdf">Overview</a>,
<a href="http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/sensorsd/">
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/sensorsd/</a>,
<a href="http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/bioctl/">
http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/bioctl/</a>, <a
href="http://www.openbsd.org/cgi-bin/cvsweb/src/sys/scsi/safte.c">
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/scsi/safte.c</a></p>
<p>The OpenBSD sensors framework is an unified way of handling
any kind of hardware sensor one can image. A sensor driver collects
data from system sensors, SAS devices, harddisks, ... and allows an
administrator to query the data with the unified management interface.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Ability to read and understand foreign C code.</li>
<li>Ability to write C code.</li>
</ul>
<hr>
<a name="p-trussprocfs"></a>
<h2>Remove procfs dependencies</h2>
<p><strong>Technical contact</strong>: <a
@ -802,6 +833,31 @@
<!- Ports ->
<!------------------------------------------------------------------>
<a name="p-ports-db"></a>
<h2>Add hashed .db support to pkg_tools</h2>
<p><strong>Technical contact</strong>: <a
href="mailto:kris@FreeBSD.org">&a.kris;</a></p>
<p>pkg_create(1) and friends use flat databases (aka ordinary
files and directories in /var/db/pkg) to maintain their data. This
makes it cumbersome and/or impossible to do efficient lookups of data
on installed packages and makes certain operations very slow.
portupgrade has the right idea of hashing this into a berkeley db
file, but it uses tools that are not in the base system (ruby).</p>
<p>A self-contained project would be to add similar (preferably
compatible) code into pkg_tools directly, possibly also extending
the data that is stored and allowing for more flexible querying with
tools like pkg_info (e.g. replicating the pkg_which utility of
portupgrade). Adding mutual exclusion to protect concurrent
pkg_add/delete operations from corrupting database state is also
important.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Knowledge of C.</li>
<li>Basic understanding of the use of berkeley db.</li>
</ul>
<hr>
<a name="p-ports-uid"></a>
<h2>Automatic registering of UID and GID</h2>
<p>Some sort of mechanism for adding/removing users/groups automatically,
@ -1061,6 +1117,17 @@ New tests must be created; existing tests must be completed and updated.
<hr>
<a name="p-lint"></a>
<h2>lint(1) improvements from OpenBSD</h2>
<p>OpenBSD has some improvements to lint(1) which may be beneficial to
have.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Good knowledge of C.</li>
</ul>
<hr>
<a name="p-libprocnet"></a>
<h2>Libprocstat and libnetstat</h2>
<p><strong>Technical contact</strong>: <a
@ -1186,6 +1253,19 @@ New tests must be created; existing tests must be completed and updated.
<hr>
<a name="p-prebind"></a>
<h2>Port prebind from OpenBSD</h2>
<p>The OpenBSD prebind is a secure implementation of prelinking that
is compatible with address space randomization. Prelinking allows to
speed up application startup when a lot of libraries are involved.
This should show a noticeable effect with e.g. GNOME/KDE.</p>
<p><strong>Requirements</strong>:</p>
<ul>
<li>Good C knowledge (reading and writing).</li>
</ul>
<hr>
<a name="p-pxeinstaller"></a>
<h2>PXE Installer</h2>
<p>It would be great to have a bundled PXE installer. This would allow one to