Add 4 ports infrastructure related items.

Approved by:	joel
This commit is contained in:
Erwin Lansing 2006-06-11 11:26:14 +00:00
parent c8066c93b7
commit bf3713cfbf
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/www/; revision=28079

View file

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.48 2006/06/04 12:36:39 joel Exp $">
<!ENTITY date "$FreeBSD: www/en/projects/ideas/index.sgml,v 1.49 2006/06/05 15:51:29 joel Exp $">
<!ENTITY title "FreeBSD list of projects and ideas for volunteers">
<!ENTITY % navincludes SYSTEM "../../includes.navdevelopers.sgml"> %navincludes;
<!ENTITY % includes SYSTEM "../../includes.sgml"> %includes;
@ -92,6 +92,12 @@
</ul>
<h3>Ports</h3>
<ul>
<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-options">Improvements of OPTIONS</a></li>
<li><a href="#p-ports-pkgtools">Package tools improvements</a></li>
</ul>
<h3>Security</h3>
@ -996,6 +1002,78 @@
<!- Ports ->
<!------------------------------------------------------------------>
<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,
rather than using home-brew pkg-install scripts. It would need to be
a bit more sophisticated than only registering the UID/GID, to deal with
setting the other passwd(5) fields; a port might need more than
one user; some ports might want a specific ID, others just the next
available one, etc, etc.</p>
<p>Perhaps ports that have UIDs registered in the handbook could also
be registered in a file inside /usr/ports, which the framework would
use in UID creation requests.</p>
<p><strong>Requirement</strong>:</p>
<ul>
<li>Strong knowledge of shell and make code.</li>
<li>A basic understanding of the inner workings of the ports tree.</li>
</ul>
<hr>
<a name="p-ports-cleanup-use"></a>
<h2>Cleanup of USE and WITH variables</h2>
<p>Make these more consistent. WITH_* should be user-settable
variables while USE_* only is for internal use in the ports.</p>
<p><strong>Requirement</strong>:</p>
<ul>
<li>Strong knowledge of shell and make code.</li>
<li>A basic understanding of the inner workings of the ports tree.</li>
</ul>
<hr>
<a name="p-ports-options"></a>
<h2>Improvements of OPTIONS</h2>
<p>The current OPTIONS infrastructure can be improved in several ways.</p>
<ul>
<li>It should be possible to define OPTIONS after bsd.ports.pre.mk.</li>
<li>Add an API to override the current curses based interface with
a different GUI, e.g. zenity/gdialog instead of dialog.</li>
<li>More room for a description in the OPTIONS dialog - possibly some
sort of help dialog could be provided for each option, like in
sysinstall.</li>
<li>Better handling of cases where OPTIONS are changed/added/removed
between upgrades.</li>
<li>The ability to depend on, or at least test, OPTIONS set in other
ports. Possibly it would be nice to enforce setting variables that are
depended upon when the port is being installed as a dependency.</li>
<li>Other types of OPTIONS controls - A text box in particular would be
useful for entering variables that need real values.</li>
<li>The possibility for mutually exclusive OPTIONS.</li>
</ul>
<p><strong>Requirement</strong>:</p>
<ul>
<li>Strong knowledge of shell and make code.</li>
<li>A basic understanding of the inner workings of the ports tree.</li>
</ul>
<hr>
<a name="p-ports-pkgtools"></a>
<h2>Package tools improvements</h2>
<p>The pkg_* tools, which deal with the installation of pre-build binary package
of ports, could do with a code cleanup or maybe even a rewrite from
scratch. Some features of the ports tree are not supported by the pkg_* tools,
e.g. versioned dependencies.</p>
<p><strong>Requirement</strong>:</p>
<ul>
<li>Strong knowledge of C code.</li>
<li>A basic understanding of the inner workings of the ports tree.</li>
</ul>
<hr>
<!------------------------------------------------------------------>
<!- Security ->
<!------------------------------------------------------------------>