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]"