NetBSD-5.0.2/distrib/syspkg/notes/WORKPLAN

Work Plan: NetBSD System Packages
=================================

This document is intended as a work plan for modification of the NetBSD
install process to use `system packages' and `package sets' to install
the base system instead of the current set tarballs.

The steps toward this goal are as follows.  Step a.) has already occurred,
and the remaining steps will begin this week, with changes influenced by
discussion on these lists.

    a.) update {make,check}flist, etc. to ignore all but the first
	(whitespace separated) field of each line of each set file

    b.) add at least additional fields to each line of each set list
	containing the name of the pkg the file is to be associated
	with

    c.) add DESCR's, COMMENTs, etc. in a tree under src/distrib/pkg,
	this tree will be  hierarchical, with an organization
	similar to pkgsrc.

    d.) add a script to churn through the set files and syspkg/
	and register the existing system, removing anything in
	the obsolete lists in the process.  This is working but
	needs a complete rewrite.

At this point, make build can register packages as if a packaged install
had been done.  pkgs will be removable, and pkg versions will be usable
in a DEPENDS=.  This will _greatly_ ease the process of upgrading from
a NetBSD system installed at this point to a later packaged distribution.
Now comes the fun part:

    e.) modify the distribution building makefiles to build
	binary packages from the packages registered in DESTDIR

    f.) modify pkg_* to understand pkgsets which are tarballs of
	pkgs with a contents file of some sort.  These will be
	used by sysinst to 1.) minimize the number of files to
	be downloaded and 2.) present the current selection
	granularity by default.

    g.) modify the make distrib tools to build these pkgsets from
	the binary packages.

    h.) modify sysinst's set installation to use these pkgsets
	instead of the current (tarball) sets.

    i.) modify sysinst to allow `zooming in' on a set and picking
	what to install at pkg granularity, with dependencies
	enforced and so on. 

------------------------------------------------------------------------
$Id: WORKPLAN,v 1.1.1.1 2002/01/07 22:46:17 jwise Exp $