README revision 1.3
11.3Scgd# $NetBSD: README,v 1.3 2000/06/14 06:32:31 cgd Exp $
21.2Sperry
31.3ScgdTo: "NetBSD Port Maintainers"
41.1ScgdSubject: distribution sets, etc...
51.1ScgdDate: Mon, 18 Jul 1994 05:02:11 -0400
61.3ScgdFrom: "Chris G. Demetriou"
71.1Scgd
81.1Scgd[ this is also going in a README in the 'sets' directory... ]
91.1Scgd
101.1Scgdwell, i've finally sat down and started doing distribution set
111.1Scgdstuff in a "nice, machine-independent way."  Should have done
121.1Scgdit months ago, but too much other stuff going on then...
131.1Scgd
141.1Scgdanyway, grab ~cgd/sets.tar.gz -- it's three scripts, and a bunch
151.1Scgdof files.
161.1Scgd
171.1Scgdthe scripts should be run from the directory where they reside.
181.1Scgd
191.1Scgdmakeflist:	output the list of files that should be in a
201.1Scgd		distribution, according to the contents of the
211.1Scgd		'lists' directory.
221.1Scgd
231.1Scgdcheckflist:	check the file list (as internally generated
241.1Scgd		by makeflist) against the tree living in $DESTDIR.
251.1Scgd		(that tree should be made with 'make distribution'.)
261.1Scgd
271.1Scgdmaketars:	make tarballs of the various sets in the distribution,
281.1Scgd		based on the contents of the lists, the tree in
291.1Scgd		$DESTDIR, and put the tarballs in $RELEASEDIR.
301.1Scgd		Note that this script _doesn't_ create the 'secr'
311.1Scgd		distribution, because (for now) it requires
321.1Scgd		manual intervention to get the binaries right...
331.1Scgd		(i'll add another script to create that dist, later.)
341.1Scgd
351.1Scgdwhat's in 'lists':
361.1Scgd
371.1Scgdlists describing file sets.  There are two sets of lists per file
381.1Scgdset: machine dependent and machine-independent files. (there's
391.1Scgdalso another file in the 'man' dir, which is used by the 'man'
401.1Scgdand 'misc' sets, but that's explained later.)
411.1Scgd
421.1ScgdThere is one machine-independent file, named "mi".  There are
431.1ScgdN machine-dependent files (one per architecture), named "md.${ARCH}".
441.1Scgd
451.1Scgdthe sets are as follows:
461.1Scgd
471.1Scgd	secr:	security software -- the non-exportable bits, i.e.
481.1Scgd		those that actually use crypt, and have it compiled
491.1Scgd		in.
501.1Scgd
511.1Scgd	base:	the base binary set.  excludes everything described
521.1Scgd		below.
531.1Scgd
541.1Scgd	comp:	compiler tools.  All of the tools relating to C, C++,
551.1Scgd		and FORTRAN (yes, there are two!) that are in the
561.1Scgd		tree.  This includes includes, the linker, tool chain,
571.1Scgd		and the .a versions of the libraries.  (obviously,
581.1Scgd		base includes ldd, ld.so, and the shared versions.
591.1Scgd		base also includes 'cpp', because that's used by X11.)
601.1Scgd		includes the man pages for all the binaries contained
611.1Scgd		within.  Also, includes all library and system call
621.1Scgd		manual pages.
631.1Scgd
641.1Scgd	etc:	/etc, and associated files (/var/cron/tabs, /root,
651.1Scgd		etc.).  things that shouldn't be blindly reinstalled
661.1Scgd		on an upgrade.
671.1Scgd
681.1Scgd	games:	the games and their man pages.
691.1Scgd
701.1Scgd	man:	all of the man pages for the system, except those
711.1Scgd		listed elsewhere (e.g. in comp, games, misc, text).
721.1Scgd		Includes machine-dependent man pages for this CPU.
731.1Scgd
741.1Scgd	misc:	share/dict, share/doc, and the machine-dependent
751.1Scgd		man pages for other cpu's which happen to always
761.1Scgd		be installed.
771.1Scgd
781.1Scgd	text:	text processing tools.  groff and all of its friends.
791.1Scgd		includes man pages for all bins contained within.
801.1Scgd
811.1Scgd
821.1Scgdas noted, in addition to the "standard" files in each dir, there's
831.1Scgda file called 'md_share' in lists/man.  it's the list of man pages
841.1Scgdthat are installed from /usr/src/share, which are machine-dependent.
851.1Scgd(note that ones that are installed from elsewhere, and thus are
861.1Scgdinstalled on only one architecture, are listed in the md.${ARCH}
871.1Scgdfile.)  basically, it's grepped through, to see which of the
881.1Scgdmachine-dependent man pages that are always installed should go
891.1Scgdin the 'man' set, and which should go into the 'misc' set.
901.1Scgd
911.1Scgd
921.1ScgdI've made attempts to get the md files for the amiga, i386, hp300,
931.1Scgdpc532, and sparc done.  I've not attempted the rest (though there
941.1Scgdare empty files for all architectures except the da30, in the
951.1Scgdvarious directories).  I think i got the amiga, i386, and sparc
961.1Scgddone correctly, but i know that (because of weirdnesses in how
971.1Scgdtheir last snapshots were built) i didn't get hp300 or pc532
981.1Scgddone right.
991.1Scgd
1001.1Scgdwhat you folks need to do:
1011.1Scgd
1021.1Scgdrun 'checkflist' on a tree that you've created with 'make
1031.1Scgddistribution'.  send me the output, and i'll take care of putting
1041.1Scgdstuff on the right lists for you.  In the future, you'll get
1051.1Scgdto do it yourselves, as you add programs and include files, but
1061.1Scgdi'd prefer to do it the first time (unless you really want to do it
1071.1Scgdyourself -- in that case, please ask me to check your suggestions
1081.1Scgdre: the appropriate sets for things...)  There should be a minimal
1091.1Scgdlist output by checkflist -- it should all be things that
1101.1Scgd_should_ be on your lsits, but aren't, i.e. machine-dependent
1111.1Scgdbinaries, man pages, and include files.
1121.1Scgd
1131.1ScgdAlso, please look through the lists, and tell me if you think
1141.1Scgdi've put anything in the wrong place.  i think i've
1151.1Scgdtaken care of all of the machine-dependence bugaboos, by
1161.1Scgddoing it for the N architectures, but i'm not _sure_...  8-)
1171.1Scgd
1181.1Scgd
1191.1Scgdthanks,
1201.1Scgd
1211.1Scgdchris
1221.1Scgd
123