Date: Thu, 27 Mar 2008 22:26:41 -0400 From: "Aryeh M. Friedman" <aryeh.friedman@gmail.com> To: freebsd-ports@freebsd.org Subject: Comments please: Ports 2.0 SoC application to Google Message-ID: <47EC5761.8070404@gmail.com>
next in thread | raw e-mail | index | archive | help
Abstract: Ports 2.0 is designed to be a drop in replacement for the FreeBSD ports system that incorporates the lesson learned from Peter Miller's "Recursive Make Considered Harmful", http://aegis.sourceforge.net/auug97.pdf. The SoC portion of the project will be to create the engine and demostrate its capabilities by doing a ground up install and maintaince of the x11/xorg metaport. The implementation it self will be in C++ and use Aegis/Cook/FHist as the development environment. The design is meant to be extensible via plugins and embedded modules. After much field testing and completion of the complete project it is hoped Ports 2.0 will replace the current ports system. A hoped for side effect of using Aegis/Cook as the dependency management and configuration control systems is, they will be used more widely in the FreeBSD community. This project has been discussed at length on the freebsd-ports@freebsd.org mailing list and while the original team disbanded for logistical reasons Ports 2.0 will be tightly coupled with Alejandro Pulver's <alepulver@FreeBSD.org> work on his ports to do list maintained at http://wiki.freebsd.org/PortsToDo. Specifically the main work for the SoC portion of Ports 2.0 will come under items 3.1 and 5.x of the to do list. Kip Macy <kip.macy@gmail.com> has agreed to be the mentor for the project if accepted as a SoC project provided that no other suitable mentor can be found. For detailed development schedule see the "Detailed Description" portion of the this application. I have used FreeBSD since 1995 and before returning to school worked as a research scientist and director of R&D for a very early pioneer of streaming media which was a 100% FreeBSD shop and required substantial modifications to the network stack and file subsytems of the kernel (most of which have been since incorporated into the mainstream TCP/IP stack/kernel and/or made unnecessary by them). See resume for more detail. Detailed Description: Please refer to abstract for general description of Ports 2.0. Key Features: 1. Avoidance of all issues raised in "Recursive Make Considered Harmful" 2. Maintain 100% compatibility with current ports system, portmaster/portupgrade and per project make files. 3. Provide a documented API for making modules and plugins 4. Document the theory behind the design so as to allow for faithful use of it 5. For ports not buildable by ports 2.0 (yet) fall back to the current ports system and/or portmaster/portupgrade automatically 6. Demonstrate on a very small subset of ports (for example sys/fusefs-ntfs and all it's dependabilities) the ability to trivially implement items 5.1, 5.5, 5.11 (awareness of updated base system only) from the to do list. Key Milestones and deadlines: Milestone Deadline ------------------------------------------------ Complete the build skeleton Week 1 Complete the graph library Week 3 Dependency scanning Week 5 Demonstration of dry run over xorg and Week 6 items from feature 6 Demonstration of building an Week 7 non-cyclical ports graph Alpha test of xorg build Week 9 Beta test of xorg build Week 11 Complete API and theoretical Week 12 documentation
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47EC5761.8070404>