131 lines
5.1 KiB
Plaintext
131 lines
5.1 KiB
Plaintext
# $NetBSD: README,v 1.7 2007/11/12 15:06:45 jmmv Exp $
|
|
|
|
To: "NetBSD Port Maintainers"
|
|
Subject: distribution sets, etc...
|
|
Date: Mon, 18 Jul 1994 05:02:11 -0400
|
|
From: "Chris G. Demetriou"
|
|
|
|
[ this is also going in a README in the 'sets' directory... ]
|
|
|
|
well, i've finally sat down and started doing distribution set
|
|
stuff in a "nice, machine-independent way." Should have done
|
|
it months ago, but too much other stuff going on then...
|
|
|
|
anyway, grab ~cgd/sets.tar.gz -- it's three scripts, and a bunch
|
|
of files.
|
|
|
|
the scripts should be run from the directory where they reside.
|
|
|
|
makeflist: output the list of files that should be in a
|
|
distribution, according to the contents of the
|
|
'lists' directory.
|
|
|
|
checkflist: check the file list (as internally generated
|
|
by makeflist) against the tree living in $DESTDIR.
|
|
(that tree should be made with 'make distribution'.)
|
|
|
|
maketars: make tarballs of the various sets in the distribution,
|
|
based on the contents of the lists, the tree in
|
|
$DESTDIR, and put the tarballs in $RELEASEDIR.
|
|
Note that this script _doesn't_ create the 'secr'
|
|
distribution, because (for now) it requires
|
|
manual intervention to get the binaries right...
|
|
(i'll add another script to create that dist, later.)
|
|
|
|
what's in 'lists':
|
|
|
|
lists describing file sets. There are two sets of lists per file
|
|
set: machine dependent and machine-independent files. (there's
|
|
also another file in the 'man' dir, which is used by the 'man'
|
|
and 'misc' sets, but that's explained later.)
|
|
|
|
There is one machine-independent file, named "mi". There are
|
|
N machine-dependent files (one per architecture), named "md.${ARCH}".
|
|
|
|
XXX - Temporarily (while USE_NEW_TOOLCHAIN is in effect) there are also tc.mi
|
|
and tc.old files in some of the set lists. tc.mi lists files in the new
|
|
toolchain that didn't exist in the old toolchain. tc.old lists files removed
|
|
and aren't present in the new toolchain. All other toolchain information was
|
|
left for now in the various mi/md files. The makeflist script will check
|
|
for USE_NEW_TOOLCHAIN and pull the appropriate one into place. Once all
|
|
ports are converted to the new toolchain the entire toolchain should be pulled
|
|
into tc.mi and/or tc.${MACHINE} and everything in tc.old moved to obsolete.
|
|
|
|
the sets are as follows:
|
|
|
|
base: the base binary set. excludes everything described
|
|
below.
|
|
|
|
comp: compiler tools. All of the tools relating to C, C++,
|
|
and FORTRAN (yes, there are two!) that are in the
|
|
tree. This includes includes, the linker, tool chain,
|
|
and the .a versions of the libraries. (obviously,
|
|
base includes ldd, ld.so, and the shared versions.
|
|
base also includes 'cpp', because that's used by X11.)
|
|
includes the man pages for all the binaries contained
|
|
within. Also, includes all library and system call
|
|
manual pages.
|
|
|
|
etc: /etc, and associated files (/var/cron/tabs, /root,
|
|
etc.). things that shouldn't be blindly reinstalled
|
|
on an upgrade.
|
|
|
|
games: the games and their man pages.
|
|
|
|
man: all of the man pages for the system, except those
|
|
listed elsewhere (e.g. in comp, games, misc, text).
|
|
Includes machine-dependent man pages for this CPU.
|
|
|
|
misc: share/dict, share/doc, and the machine-dependent
|
|
man pages for other CPUs which happen to always
|
|
be installed.
|
|
|
|
tests: unit, regression, integration and stress tests for the
|
|
whole system.
|
|
|
|
text: text processing tools. groff and all of its friends.
|
|
includes man pages for all bins contained within.
|
|
|
|
|
|
as noted, in addition to the "standard" files in each dir, there's
|
|
a file called 'md_share' in lists/man. it's the list of man pages
|
|
that are installed from /usr/src/share, which are machine-dependent.
|
|
(note that ones that are installed from elsewhere, and thus are
|
|
installed on only one architecture, are listed in the md.${ARCH}
|
|
file.) basically, it's grepped through, to see which of the
|
|
machine-dependent man pages that are always installed should go
|
|
in the 'man' set, and which should go into the 'misc' set.
|
|
|
|
|
|
I've made attempts to get the md files for the amiga, i386, hp300,
|
|
pc532, and sparc done. I've not attempted the rest (though there
|
|
are empty files for all architectures except the da30, in the
|
|
various directories). I think i got the amiga, i386, and sparc
|
|
done correctly, but i know that (because of weirdnesses in how
|
|
their last snapshots were built) i didn't get hp300 or pc532
|
|
done right.
|
|
|
|
what you folks need to do:
|
|
|
|
run 'checkflist' on a tree that you've created with 'make
|
|
distribution'. send me the output, and i'll take care of putting
|
|
stuff on the right lists for you. In the future, you'll get
|
|
to do it yourselves, as you add programs and include files, but
|
|
i'd prefer to do it the first time (unless you really want to do it
|
|
yourself -- in that case, please ask me to check your suggestions
|
|
re: the appropriate sets for things...) There should be a minimal
|
|
list output by checkflist -- it should all be things that
|
|
_should_ be on your lsits, but aren't, i.e. machine-dependent
|
|
binaries, man pages, and include files.
|
|
|
|
Also, please look through the lists, and tell me if you think
|
|
i've put anything in the wrong place. i think i've
|
|
taken care of all of the machine-dependence bugaboos, by
|
|
doing it for the N architectures, but i'm not _sure_... 8-)
|
|
|
|
|
|
thanks,
|
|
|
|
chris
|
|
|