Subject: Re: Confusion about making 1.2-current sources
To: None <current-users@NetBSD.ORG>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: current-users
Date: 08/06/1997 14:56:30
> What I want is to be able to build the new world of NetBSD, starting
> with the kernel, on an existing 1.2 system without disturbing the
> system directory structure on that system. i.e. without moving
> /usr/include, /usr/share, and the like out of the way in order to
> allow the new software to see the new files.

What I normally do in a circumstance like this is to create a chrooted
area to build in.  I don't know how well it would work for a jump as
big as 1.2-to-current, but it should be not too much pain.

When I did this (which admittedly was some time ago), I found I needed
to install the following in the chroot area, besides a source tree in
usr/src:

bin/
	cat	chmod	cp	csh	date	dd	echo
	expr	hostname	ln	mv	pax	rm
	sh	test	[

dev/null

usr/bin/
	ar	as	awk	basename	bc	cap_mkdb
	cc	cmp	cpio	cpp	ctags	egrep	find
	flex	g++	gencat	grep	groff	grotty	install
	join	ld	lex	lint	lorder	m4	make
	mkdep	nm	nroff	paste	printf	ranlib	rpcgen
	sed	size	sort	strip	tbl	tr	troff
	tsort	uname	wc	which	xargs	yacc

usr/lib/
	libc.so.12.5	libgcc.a	libgnumalloc.so.0.0
	libm.so.0.1	libutil.so.3.2

usr/libexec
	cpp	cc1	cc1plus	ld.so	lint1	lint2

usr/sbin
	chown	mtree	pwd_mkdb

usr/share/groff_font/devascii
usr/share/mk
usr/share/tmac

usr/games has to exist (this may have been my mistake, or may have been
fixed since), and you need /etc/group and /etc/master.passwd; once all
those have been installed, chroot and run pwd_mkdb.

Once that is set up, the following is what I used to rebuild (run under
chroot):

	#! /bin/sh -e
	cd /usr/src/etc
	DESTDIR=/ make distrib-dirs
	cd /usr/src
	make build
	cd /usr/src/etc
	DESTDIR=/ make distribution

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B