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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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



_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to