Subject: Re: road map for new immigrants?
To: None <current-users@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: current-users
Date: 09/15/1998 09:06:03
> Same goes for the rest of the "toolchain" -- not just
> gcc/as/ld/ranlib/nm/lorder/tsort/size, but make, lex, yacc, config,
> rpcgen, and the rest of the usual suspects, too.

> Heck, I dont know if we even have a complete list of suspects.

I don't either, but I have a good start on one.

A while ago, I experimented with doing builds in a chrooted tree: build
a tree with /usr/src and a bunch of other files (cc, as, make, lex,
etc), chroot to it, and "make build".

The reason I mention this is that in the process I found a (minimal, at
the time) set of files I had to install in the chrooted tree to allow
the make build to run to completion.  The set is probably no longer
correct, but it's probably a reasonably close approximation.

Given a tree (/test, say) with usr/src and nothing else in it, here's
what my notes say I needed to do:

# Non-chrooted (ie, with / being the real root)
cd /test
tar cf - -C / \
	bin/cat \
	bin/chmod \
	bin/cp \
	bin/csh \
	bin/date \
	bin/dd \
	bin/echo \
	bin/expr \
	bin/hostname \
	bin/ln \
	bin/mv \
	bin/pax \
	bin/rm \
	bin/sh \
	bin/test \
	bin/\[ \
	\
	dev/null \
	\
	usr/bin/ar \
	usr/bin/as \
	usr/bin/awk \
	usr/bin/basename \
	usr/bin/bc \
	usr/bin/cap_mkdb \
	usr/bin/cc \
	usr/bin/cmp \
	usr/bin/cpio \
	usr/bin/cpp \
	usr/bin/ctags \
	usr/bin/cut \
	usr/bin/egrep \
	usr/bin/find \
	usr/bin/flex \
	usr/bin/g++ \
	usr/bin/gencat \
	usr/bin/getopt \
	usr/bin/grep \
	usr/bin/groff \
	usr/bin/grotty \
	usr/bin/install \
	usr/bin/join \
	usr/bin/ld \
	usr/bin/lex \
	usr/bin/lint \
	usr/bin/lorder \
	usr/bin/m4 \
	usr/bin/make \
	usr/bin/mkdep \
	usr/bin/nm \
	usr/bin/nroff \
	usr/bin/paste \
	usr/bin/printf \
	usr/bin/ranlib \
	usr/bin/rpcgen \
	usr/bin/sed \
	usr/bin/size \
	usr/bin/sort \
	usr/bin/strip \
	usr/bin/tbl \
	usr/bin/touch \
	usr/bin/tr \
	usr/bin/troff \
	usr/bin/tsort \
	usr/bin/uname \
	usr/bin/wc \
	usr/bin/which \
	usr/bin/whoami \
	usr/bin/xargs \
	usr/bin/yacc \
	\
	usr/lib/libc.so.12.20 \
	usr/lib/libgcc.a \
	usr/lib/libgnumalloc.so.0.0 \
	usr/lib/libm.so.0.1 \
	usr/lib/libutil.so.4.2 \
	\
	usr/libexec/cpp \
	usr/libexec/cc1 \
	usr/libexec/cc1obj \
	usr/libexec/cc1plus \
	usr/libexec/ld.so \
	usr/libexec/lint1 \
	usr/libexec/lint2 \
	\
	usr/sbin/chown \
	usr/sbin/mtree \
	usr/sbin/pwd_mkdb \
	\
	usr/share/groff_font/devascii \
	usr/share/mk \
	usr/share/tmac \
| tar xvfp -
set -x
# the need to make usr/games is probably a bug, may no longer be needed
mkdir -p etc usr/games
cp /usr/src/etc/group etc/group
cp /usr/src/etc/master.passwd etc/master.passwd
chroot . /usr/sbin/pwd_mkdb -p /etc/master.passwd

# Chrooted to /test:
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