(no commit message)
authorDEVELOPMENT-ELEPHANT <DEVELOPMENT-ELEPHANT@web>
Mon, 1 Feb 2010 13:09:55 +0000 (05:09 -0800)
committerCharlie <root@leaf.dragonflybsd.org>
Mon, 1 Feb 2010 13:09:55 +0000 (05:09 -0800)
docs/developer/gsoc2010/index.mdwn

index c970887..2ad302e 100644 (file)
@@ -96,4 +96,12 @@ This work involves re-implementing the services presently provided by clock() in
 * This project extends the kernel's existing topology aware scheduling facility to bring "power domain" awareness to the dispatcher. With this awareness in place, the dispatcher can implement coalescence dispatching policy to consolidate utilization onto a smaller subset of CPU domains, freeing up other domains to be power managed. In addition to being domain aware, the dispatcher will also tend to prefer to utilize domains already running at higher power/performance states...this will increase the duration and extent to which domains can remain quiescent, improving the kernel's ability to take advantage of features like deep C-states. Because the dispatcher will track power domain utilization along the way, it can drive active domain state changes in an event driven fashion, eliminating the need for the CPUPM subsystem to poll.
 * http://hub.opensolaris.org/bin/view/Project+tesla/CPUPM
 
+1. Create a faster, more transparent, and more robust alternative to pkgsrc similar to the now defunct pkgjam, which has the three main features:
+
+   1. Dependency Independence: If packages B and C both rely on package A, and you want to upgrade package B, which requires upgrading package A, need you upgrade package C, too? Logically, no. Technically, no, too, as long as you're prepared to have two versions of package A installed (one for B and one for C).
+
+   1. Relational Database for package metadata:  All package metadata -- build-time options and dependencies, licences, everything you need to know to build a package -- is stored in the database. So is information about packages you installed and the options you built them with (and their dependencies, of course). The database also has all your preferred options, settings that influence how packages are built. 
+
+   1. New Build Tool: A new build tool is what's invoked by the user to build and install packages. It relies on the database to decide what to do, and relies on make(1) to do what it does best: build and installpackages.
+
 (please add)