README revision 1.5
11.5Sjmc# $NetBSD: README,v 1.5 2001/10/20 06:11:21 jmc 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.5Sjmc
451.5SjmcXXX - Temporarily (while USE_NEW_TOOLCHAIN is in effect) there are also tc.mi
461.5Sjmcand tc.old files in some of the set lists. tc.mi lists files in the new 
471.5Sjmctoolchain that didn't exist in the old toolchain. tc.old lists files removed
481.5Sjmcand aren't present in the new toolchain. All other toolchain information was
491.5Sjmcleft for now in the various mi/md files. The makeflist script will check
501.5Sjmcfor USE_NEW_TOOLCHAIN and pull the appropriate one into place. Once all
511.5Sjmcports are converted to the new toolchain the entire toolchain should be pulled
521.5Sjmcinto tc.mi and/or tc.${MACHINE} and everything in tc.old moved to obsolete.
531.1Scgd
541.1Scgdthe sets are as follows:
551.1Scgd
561.1Scgd	base:	the base binary set.  excludes everything described
571.1Scgd		below.
581.1Scgd
591.1Scgd	comp:	compiler tools.  All of the tools relating to C, C++,
601.1Scgd		and FORTRAN (yes, there are two!) that are in the
611.1Scgd		tree.  This includes includes, the linker, tool chain,
621.1Scgd		and the .a versions of the libraries.  (obviously,
631.1Scgd		base includes ldd, ld.so, and the shared versions.
641.1Scgd		base also includes 'cpp', because that's used by X11.)
651.1Scgd		includes the man pages for all the binaries contained
661.1Scgd		within.  Also, includes all library and system call
671.1Scgd		manual pages.
681.1Scgd
691.1Scgd	etc:	/etc, and associated files (/var/cron/tabs, /root,
701.1Scgd		etc.).  things that shouldn't be blindly reinstalled
711.1Scgd		on an upgrade.
721.1Scgd
731.1Scgd	games:	the games and their man pages.
741.1Scgd
751.1Scgd	man:	all of the man pages for the system, except those
761.1Scgd		listed elsewhere (e.g. in comp, games, misc, text).
771.1Scgd		Includes machine-dependent man pages for this CPU.
781.1Scgd
791.1Scgd	misc:	share/dict, share/doc, and the machine-dependent
801.1Scgd		man pages for other cpu's which happen to always
811.1Scgd		be installed.
821.1Scgd
831.1Scgd	text:	text processing tools.  groff and all of its friends.
841.1Scgd		includes man pages for all bins contained within.
851.1Scgd
861.1Scgd
871.1Scgdas noted, in addition to the "standard" files in each dir, there's
881.1Scgda file called 'md_share' in lists/man.  it's the list of man pages
891.1Scgdthat are installed from /usr/src/share, which are machine-dependent.
901.1Scgd(note that ones that are installed from elsewhere, and thus are
911.1Scgdinstalled on only one architecture, are listed in the md.${ARCH}
921.1Scgdfile.)  basically, it's grepped through, to see which of the
931.1Scgdmachine-dependent man pages that are always installed should go
941.1Scgdin the 'man' set, and which should go into the 'misc' set.
951.1Scgd
961.1Scgd
971.1ScgdI've made attempts to get the md files for the amiga, i386, hp300,
981.1Scgdpc532, and sparc done.  I've not attempted the rest (though there
991.1Scgdare empty files for all architectures except the da30, in the
1001.1Scgdvarious directories).  I think i got the amiga, i386, and sparc
1011.1Scgddone correctly, but i know that (because of weirdnesses in how
1021.1Scgdtheir last snapshots were built) i didn't get hp300 or pc532
1031.1Scgddone right.
1041.1Scgd
1051.1Scgdwhat you folks need to do:
1061.1Scgd
1071.1Scgdrun 'checkflist' on a tree that you've created with 'make
1081.1Scgddistribution'.  send me the output, and i'll take care of putting
1091.1Scgdstuff on the right lists for you.  In the future, you'll get
1101.1Scgdto do it yourselves, as you add programs and include files, but
1111.1Scgdi'd prefer to do it the first time (unless you really want to do it
1121.1Scgdyourself -- in that case, please ask me to check your suggestions
1131.1Scgdre: the appropriate sets for things...)  There should be a minimal
1141.1Scgdlist output by checkflist -- it should all be things that
1151.1Scgd_should_ be on your lsits, but aren't, i.e. machine-dependent
1161.1Scgdbinaries, man pages, and include files.
1171.1Scgd
1181.1ScgdAlso, please look through the lists, and tell me if you think
1191.1Scgdi've put anything in the wrong place.  i think i've
1201.1Scgdtaken care of all of the machine-dependence bugaboos, by
1211.1Scgddoing it for the N architectures, but i'm not _sure_...  8-)
1221.1Scgd
1231.1Scgd
1241.1Scgdthanks,
1251.1Scgd
1261.1Scgdchris
1271.1Scgd
128