Subject: NetBSD System Packages: WORK PLAN
To: None <tech-pkg@netbs.org, tech-install@netbsd.org>
From: Jim Wise <jwise@draga.com>
List: tech-install
Date: 01/23/2000 16:01:08
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

A little over a year ago, there was an extended discussion on this list
and current-users about the possibility of converting the NetBSD install
system to use `system packages' and `package sets'.  This posting
containst a work plan detailing the steps I intend to take to reach this
goal.  In addition, I will be posting in a moment the notes and proposal
which came out of the last discussion and represent the general
consensus at that time.  This work plan and those documents can also be
found on line at:

	http://www.draga.com/~jwise/NetBSD/syspkgs/

Although I have written a prototype of this code, discussion off line
with several developers has led me to a.) rework much of this code, b.)
see much more reworking that needs to be done, and c.) want to get this
at least bootstrapped pretty quickly, as at least two people have code
of their own in the wings which could benefit greatly from at least the
early stages of this work plan.

So, here it is:

- ------------------------------------------------------------------------

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.3 2000/01/23 20:51:03 jwise Exp $

- -- 
				Jim Wise
				jwise@draga.com


-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
Charset: noconv

iQA/AwUBOItsHC2NgFbJL33VEQIaOQCg00a5ZB+0dKmvuJ4lzxPP488ZP9kAoL1Z
R61OqufQl7vDIwHaz3ze8+mb
=2f+Z
-----END PGP SIGNATURE-----