Add four new ports related entries:
1) Collect the pkg-message output in dependencies and display it after the build finish 2) Parallelization of the Ports Collection (this one is suitable as SoC project) 3) UPDATING parser, kind of a junior task 4) portupgrade in base thing Discussed with: cperciva and others Also change technical contact for COMPAT_43TTY task to Ed Maste, who's actively working on it.
This commit is contained in:
parent
9f255a118c
commit
ec5f057e17
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/www/; revision=29819
1 changed files with 128 additions and 2 deletions
|
@ -15,7 +15,7 @@ Ideas//EN"
|
|||
<ideas>
|
||||
<cvs:keywords xmlns:cvs="http://www.FreeBSD.org/XML/CVS" version="1.0">
|
||||
<cvs:keyword name="freebsd">
|
||||
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.14 2007/03/17 09:48:31 joel Exp $
|
||||
$FreeBSD: www/en/projects/ideas/ideas.xml,v 1.15 2007/03/18 02:28:50 murray Exp $
|
||||
</cvs:keyword>
|
||||
</cvs:keywords>
|
||||
|
||||
|
@ -1056,12 +1056,41 @@ of other syscalls.</p>
|
|||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="ports-collect-messages">
|
||||
<title>Collect the pkg-message output</title>
|
||||
|
||||
<desc>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:pav@FreeBSD.org">Pav Lucistnik</a></p>
|
||||
|
||||
<p>Collect the pkg-message output of dependencies and print them together
|
||||
after the whole build finishes.</p>
|
||||
|
||||
<p>Details: Change the current ad-hoc way of including pkg-message in
|
||||
the stdout of the build process. Automatically display pkg-message
|
||||
in post-install, if present. For the dependencies, save the copies
|
||||
of pkg-messages, as displayed in post-install, in /var/db/pkg, and
|
||||
display them collectively once the whole build finishes. Also
|
||||
allow for manual review by user later (new flag to
|
||||
pkg_info(1)).</p>
|
||||
|
||||
<p><strong>Requirements:</strong></p>
|
||||
|
||||
<ul>
|
||||
<li>Knowledge of shell and make coding, and basic overview of how
|
||||
ports works.</li>
|
||||
<li>Basic knowledge of C.</li>
|
||||
</ul>
|
||||
|
||||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="ports-comp43tty">
|
||||
<title>COMPAT_43TTY</title>
|
||||
|
||||
<desc>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:gbell72@rogers.com">Gardner Bell</a></p>
|
||||
href="mailto:ed@fxq.nl">Ed Schouten</a></p>
|
||||
<p>Some ports may break when removing COMPAT_43TTY from the kernel
|
||||
configuration since they assume old ioctl's when they identify
|
||||
FreeBSD. The goal of this entry is to:</p>
|
||||
|
@ -1072,6 +1101,7 @@ of other syscalls.</p>
|
|||
from Kris Kennaway might also be good starting points.</li>
|
||||
<li>Fix breakages and send patches upstream.</li>
|
||||
</ul>
|
||||
<p><strong>Note</strong>: Ed is working on this. Please coordinate with him.</p>
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Knowledge of autotools.</li>
|
||||
|
@ -1134,6 +1164,102 @@ of other syscalls.</p>
|
|||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea class="soc" id="ports-parallel">
|
||||
<title>Parallelization in the Ports Collection</title>
|
||||
|
||||
<desc>
|
||||
<p><strong>Technical contact</strong>: <a
|
||||
href="mailto:pav@FreeBSD.org">Pav Lucistnik</a></p>
|
||||
|
||||
<p>Add locking of write access to PKG_DBDIR (/var/db/pkg), to allow
|
||||
several port builds run in parallel without clobbering the package
|
||||
data. Should be done both in makefiles and in C tools like
|
||||
pkg_install and pkg_delete. A simple flock(2) approach over the
|
||||
whole database comes to mind.</p>
|
||||
|
||||
<p>The next step is the parallelization of dependency building. Have
|
||||
the port build it's dependencies in parallel, automatically
|
||||
depending on number of CPUs in the machine, or manually specified
|
||||
by user (make -j3 install clean). Some kind of split screen should
|
||||
be devised, so user can easily watch the process and interact with
|
||||
it (make config screens, for example). Attention must be paid to
|
||||
prevent deadlocks.</p>
|
||||
|
||||
<p>Allow for situation when two ports want to build and install
|
||||
common dependency. One of the ports have to wait on the other to
|
||||
install it before proceeding.</p>
|
||||
|
||||
<p>And finally, unrelated to previous steps, but also desirable. Add
|
||||
parallelization inside single builds, ie. enable -jX flag inside
|
||||
vendor makefiles. This will allow us to exploit the power of
|
||||
multi-core systems when building single port. Because a lot of
|
||||
vendor code does not work correctly when built with -jX flag, some
|
||||
kind of whitelist or blacklist must be implemented.</p>
|
||||
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
|
||||
<ul>
|
||||
<li>Strong knowledge of make and shell code.</li>
|
||||
<li>Strong knowledge of C code.</li>
|
||||
<li>Good understanding of the inner design of the Ports Collection.</li>
|
||||
</ul>
|
||||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="ports-updating">
|
||||
<title>UPDATING parser and displayer</title>
|
||||
|
||||
<desc>
|
||||
<p>Write a small C/shell app that will scan the installed ports and
|
||||
show all UPDATING entries that affect one of the installed ports,
|
||||
and are relevant on the given machine (ie. user haven't already performed the update).
|
||||
Possibly the UPDATING format will have to be expanded to record the
|
||||
versions of affected ports, like:</p>
|
||||
|
||||
<p>gettext<0.16 -> gettext>=0.16</p>
|
||||
|
||||
<p>The app will be used standalone, and called from pkg_version or
|
||||
portupgrade.</p>
|
||||
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
<ul>
|
||||
<li>Basic shell/C coding.</li>
|
||||
</ul>
|
||||
</desc>
|
||||
</idea>
|
||||
|
||||
<idea id="ports-upgrade">
|
||||
<title>Utility for safe updating of ports in base system</title>
|
||||
|
||||
<desc>
|
||||
<p>Also known as <em>rewrite portupgrade in C</em>.</p>
|
||||
|
||||
<p>Write a new utility for the pkg_install suite, possibly named
|
||||
pkg_upgrade(1), implementing a subset of existing portupgrade
|
||||
functionality. The required functionality is:</p>
|
||||
|
||||
<ul>
|
||||
<li>fixing @pkgdep records in +CONTENTS file</li>
|
||||
<li>fixing +REQUIRED_BY records</li>
|
||||
<li>storing old copies of shared libraries after shmajor number
|
||||
change in /usr/local/lib/compat/pkg</li>
|
||||
<li>upwards and downwards recursive modes</li>
|
||||
</ul>
|
||||
|
||||
<p>Anything that existing portupgrade can do is a desired
|
||||
functionality. It would be nice to be command line compatible with
|
||||
portupgrade, but it's not a requirement.</p>
|
||||
|
||||
<p><strong>Requirements</strong>:</p>
|
||||
|
||||
<ul>
|
||||
<li>Basic understanding of the Ports Collection design.</li>
|
||||
<li>Good skills writing C code.</li>
|
||||
<li>Ability to read Ruby will help.</li>
|
||||
</ul>
|
||||
</desc>
|
||||
</idea>
|
||||
|
||||
</category>
|
||||
|
||||
<category>
|
||||
|
|
Loading…
Reference in a new issue