README revision 1.8.2.2 1 1.8.2.2 simonb # $NetBSD: README,v 1.8.2.2 2008/01/09 11:26:00 simonb Exp $
2 1.8.2.2 simonb
3 1.8.2.2 simonb To: "NetBSD Port Maintainers"
4 1.8.2.2 simonb Subject: distribution sets, etc...
5 1.8.2.2 simonb Date: Mon, 18 Jul 1994 05:02:11 -0400
6 1.8.2.2 simonb From: "Chris G. Demetriou"
7 1.8.2.2 simonb
8 1.8.2.2 simonb [ this is also going in a README in the 'sets' directory... ]
9 1.8.2.2 simonb
10 1.8.2.2 simonb well, i've finally sat down and started doing distribution set
11 1.8.2.2 simonb stuff in a "nice, machine-independent way." Should have done
12 1.8.2.2 simonb it months ago, but too much other stuff going on then...
13 1.8.2.2 simonb
14 1.8.2.2 simonb anyway, grab ~cgd/sets.tar.gz -- it's three scripts, and a bunch
15 1.8.2.2 simonb of files.
16 1.8.2.2 simonb
17 1.8.2.2 simonb the scripts should be run from the directory where they reside.
18 1.8.2.2 simonb
19 1.8.2.2 simonb makeflist: output the list of files that should be in a
20 1.8.2.2 simonb distribution, according to the contents of the
21 1.8.2.2 simonb 'lists' directory.
22 1.8.2.2 simonb
23 1.8.2.2 simonb checkflist: check the file list (as internally generated
24 1.8.2.2 simonb by makeflist) against the tree living in $DESTDIR.
25 1.8.2.2 simonb (that tree should be made with 'make distribution'.)
26 1.8.2.2 simonb
27 1.8.2.2 simonb maketars: make tarballs of the various sets in the distribution,
28 1.8.2.2 simonb based on the contents of the lists, the tree in
29 1.8.2.2 simonb $DESTDIR, and put the tarballs in $RELEASEDIR.
30 1.8.2.2 simonb Note that this script _doesn't_ create the 'secr'
31 1.8.2.2 simonb distribution, because (for now) it requires
32 1.8.2.2 simonb manual intervention to get the binaries right...
33 1.8.2.2 simonb (i'll add another script to create that dist, later.)
34 1.8.2.2 simonb
35 1.8.2.2 simonb what's in 'lists':
36 1.8.2.2 simonb
37 1.8.2.2 simonb lists describing file sets. There are two sets of lists per file
38 1.8.2.2 simonb set: machine dependent and machine-independent files. (there's
39 1.8.2.2 simonb also another file in the 'man' dir, which is used by the 'man'
40 1.8.2.2 simonb and 'misc' sets, but that's explained later.)
41 1.8.2.2 simonb
42 1.8.2.2 simonb There is one machine-independent file, named "mi". There are
43 1.8.2.2 simonb N machine-dependent files (one per architecture), named "md.${ARCH}".
44 1.8.2.2 simonb
45 1.8.2.2 simonb XXX - Temporarily (while USE_NEW_TOOLCHAIN is in effect) there are also tc.mi
46 1.8.2.2 simonb and tc.old files in some of the set lists. tc.mi lists files in the new
47 1.8.2.2 simonb toolchain that didn't exist in the old toolchain. tc.old lists files removed
48 1.8.2.2 simonb and aren't present in the new toolchain. All other toolchain information was
49 1.8.2.2 simonb left for now in the various mi/md files. The makeflist script will check
50 1.8.2.2 simonb for USE_NEW_TOOLCHAIN and pull the appropriate one into place. Once all
51 1.8.2.2 simonb ports are converted to the new toolchain the entire toolchain should be pulled
52 1.8.2.2 simonb into tc.mi and/or tc.${MACHINE} and everything in tc.old moved to obsolete.
53 1.8.2.2 simonb
54 1.8.2.2 simonb the sets are as follows:
55 1.8.2.2 simonb
56 1.8.2.2 simonb base: the base binary set. excludes everything described
57 1.8.2.2 simonb below.
58 1.8.2.2 simonb
59 1.8.2.2 simonb comp: compiler tools. All of the tools relating to C, C++,
60 1.8.2.2 simonb and FORTRAN (yes, there are two!) that are in the
61 1.8.2.2 simonb tree. This includes includes, the linker, tool chain,
62 1.8.2.2 simonb and the .a versions of the libraries. (obviously,
63 1.8.2.2 simonb base includes ldd, ld.so, and the shared versions.
64 1.8.2.2 simonb base also includes 'cpp', because that's used by X11.)
65 1.8.2.2 simonb includes the man pages for all the binaries contained
66 1.8.2.2 simonb within. Also, includes all library and system call
67 1.8.2.2 simonb manual pages.
68 1.8.2.2 simonb
69 1.8.2.2 simonb etc: /etc, and associated files (/var/cron/tabs, /root,
70 1.8.2.2 simonb etc.). things that shouldn't be blindly reinstalled
71 1.8.2.2 simonb on an upgrade.
72 1.8.2.2 simonb
73 1.8.2.2 simonb games: the games and their man pages.
74 1.8.2.2 simonb
75 1.8.2.2 simonb man: all of the man pages for the system, except those
76 1.8.2.2 simonb listed elsewhere (e.g. in comp, games, misc, text).
77 1.8.2.2 simonb Includes machine-dependent man pages for this CPU.
78 1.8.2.2 simonb
79 1.8.2.2 simonb misc: share/dict, share/doc, and the machine-dependent
80 1.8.2.2 simonb man pages for other CPUs which happen to always
81 1.8.2.2 simonb be installed.
82 1.8.2.2 simonb
83 1.8.2.2 simonb tests: unit, regression, integration and stress tests for the
84 1.8.2.2 simonb whole system.
85 1.8.2.2 simonb
86 1.8.2.2 simonb text: text processing tools. groff and all of its friends.
87 1.8.2.2 simonb includes man pages for all bins contained within.
88 1.8.2.2 simonb
89 1.8.2.2 simonb
90 1.8.2.2 simonb as noted, in addition to the "standard" files in each dir, there's
91 1.8.2.2 simonb a file called 'md_share' in lists/man. it's the list of man pages
92 1.8.2.2 simonb that are installed from /usr/src/share, which are machine-dependent.
93 1.8.2.2 simonb (note that ones that are installed from elsewhere, and thus are
94 1.8.2.2 simonb installed on only one architecture, are listed in the md.${ARCH}
95 1.8.2.2 simonb file.) basically, it's grepped through, to see which of the
96 1.8.2.2 simonb machine-dependent man pages that are always installed should go
97 1.8.2.2 simonb in the 'man' set, and which should go into the 'misc' set.
98 1.8.2.2 simonb
99 1.8.2.2 simonb
100 1.8.2.2 simonb I've made attempts to get the md files for the amiga, i386, hp300, and
101 1.8.2.2 simonb sparc done. I've not attempted the rest (though there are empty files
102 1.8.2.2 simonb for all architectures except the da30, in the various directories). I
103 1.8.2.2 simonb think i got the amiga, i386, and sparc done correctly, but i know that
104 1.8.2.2 simonb (because of weirdnesses in how their last snapshots were built) i didn't
105 1.8.2.2 simonb get hp300 done right.
106 1.8.2.2 simonb
107 1.8.2.2 simonb what you folks need to do:
108 1.8.2.2 simonb
109 1.8.2.2 simonb run 'checkflist' on a tree that you've created with 'make
110 1.8.2.2 simonb distribution'. send me the output, and i'll take care of putting
111 1.8.2.2 simonb stuff on the right lists for you. In the future, you'll get
112 1.8.2.2 simonb to do it yourselves, as you add programs and include files, but
113 1.8.2.2 simonb i'd prefer to do it the first time (unless you really want to do it
114 1.8.2.2 simonb yourself -- in that case, please ask me to check your suggestions
115 1.8.2.2 simonb re: the appropriate sets for things...) There should be a minimal
116 1.8.2.2 simonb list output by checkflist -- it should all be things that
117 1.8.2.2 simonb _should_ be on your lsits, but aren't, i.e. machine-dependent
118 1.8.2.2 simonb binaries, man pages, and include files.
119 1.8.2.2 simonb
120 1.8.2.2 simonb Also, please look through the lists, and tell me if you think
121 1.8.2.2 simonb i've put anything in the wrong place. i think i've
122 1.8.2.2 simonb taken care of all of the machine-dependence bugaboos, by
123 1.8.2.2 simonb doing it for the N architectures, but i'm not _sure_... 8-)
124 1.8.2.2 simonb
125 1.8.2.2 simonb
126 1.8.2.2 simonb thanks,
127 1.8.2.2 simonb
128 1.8.2.2 simonb chris
129