source: trunk/doc/third-party @ 11121

Revision 11121, 9.8 KB checked in by ghudson, 26 years ago (diff)
Update to take into account some ftp.x.org changes.
Line 
1For the most part, third-party software is easy to locate because it
2is found in the third hierarchy.  Nevertheless, it's a good idea to
3keep track of what we get from outside, especially for things outside
4of third.  There are also some notes at the end of this file on how we
5deal with building third-party software.
6
7Third-party stuff not under third
8---------------------------------
9
10        * packs/config/named.root
11
12                This file contains the named.root file available at
13                rs.internic.edu:/domain/named.root.
14
15        * packs/config/Dash.fallback
16
17                A fallback copy of
18                /afs/athena.mit.edu/system/config/dash/Dash.menus for
19                when the master copy is inaccessible.  This should be
20                updated at release time.
21
22        * athena/etc/xdm/xlogin/bitmaps/menu16
23
24                This is from the X11 release; it probably never
25                changes.  We have a copy of it here because xlogin
26                needs all its bitmaps locally in /etc/athena/login,
27                and fetching it out of the vendor X distribution at
28                build time is contrary to principles.
29
30        * packs/dotfiles/arch/sgi_53/cshrc
31          packs/dotfiles/arch/sgi_56/cshrc
32
33                A line to set XUSERFILESEARCHPATH in .cshrc is derived
34                from a piece of the IRIX file /var/X11/xdm/Xsession.dt.
35
36        * Modified operating system files
37
38                We keep some modified configuration files from the
39                operating systems we use in packs/config and
40                packs/maint.  The files and their origins are:
41
42                Solaris files in packs/config/platform/sun4:
43
44                Athena4.kt      /usr/openwin/share/etc/keytables/US4.kt.Z
45                Athena5.kt      /usr/openwin/share/etc/keytables/US_UNIX5.kt.Z
46                devlink.tab     /etc/devlink.tab
47                inetd.conf      /etc/inet/inetd.conf
48                inittab         /etc/inittab
49                logindevperm    /etc/logindevperm
50                keytable.map    /usr/openwin/share/etc/keytables/keytable.map
51                minor_perm      /etc/minor_perm
52                name_to_sysnum  /etc/name_to_sysnum
53                nsswitch.conf   /etc/nsswitch.conf
54                services        /etc/inet/services
55                su              /etc/default/su
56                system          /etc/system
57
58                Solaris files in packs/maint/platform/sun4:
59
60                nfs.client      /etc/init.d/nfs.client
61                rpc             /etc/init.d/rpc
62
63                IRIX files in packs/config/platform/sgi:
64
65                4DWm            /usr/lib/X11/app-defaults/4DWm
66                Mwm             /usr/lib/X11/app-defaults/Mwm
67                Toolchest       /usr/lib/X11/app-defaults/Toolchest
68                crontab.root    /var/spool/cron/crontabs/root
69                fonts.alias     /usr/lib/X11/fonts/100dpi/fonts.alias
70                fonts.dir       /usr/lib/X11/fonts/100dpi/fonts.dir
71                inetd.conf      /etc/inetd.conf
72                services        /etc/services
73                system.chestrc  /usr/lib/X11/system.chestrc
74
75                IRIX files in packs/maint/platform/sgi:
76
77                network         /etc/init.d/network
78
79Distribution sites for software under third
80-------------------------------------------
81
82        afsbin          See below.
83        emacs           prep.ai.mit.edu:pub/gnu
84        gcc             prep.ai.mit.edu:pub/gnu
85        ispell          ftp.cs.ucla.edu:pub/ispell-3.1
86        jot             From NetBSD (ftp.netbsd.org), usr.bin/jot
87        kermit          http://www.columbia.edu/kermit
88        krb5            athena-dist.mit.edu:pub/kerberos
89        lam             From NetBSD (ftp.netbsd.org), usr.bin/lam
90        look            From NetBSD (ftp.netbsd.org), usr.bin/look
91        mh              ftp.ics.uci.edu:pub/mh
92        patch           prep.ai.mit.edu:pub/gnu
93        perl            prep.ai.mit.edu:pub/gnu
94        rcs             prep.ai.mit.edu:pub/gnu
95        rs              From NetBSD (ftp.netbsd.org), usr.bin/rs
96        ssh             ftp.cs.hut.fi:pub/ssh
97        sysinfo         usc.edu:pub/sysinfo
98        talk            From NetBSD (ftp.netbsd.org)
99                        usr.bin/talk goes in the talk subdirectory
100                        libexec/talkd goes in the talkd subdirectory
101                        protocols/talkd.h is from include/protocols,
102                         with some modifications for portability.
103        tcsh            ftp.deshaw.com:pub/tcsh
104                        (Old versions at ftp.uu.net:pub/shells/tcsh)
105        tex             See below
106        top             eecs.nwu.edu:pub/top
107        traceroute      ftp.ee.lbl.gov (top level)
108        transcript      From Adobe
109        wcl             ftp.x.org:contrib/devel_tools
110                        (seems to have disappeared; older versoins than
111                        what we have are available in R5contrib)
112        whois           From NetBSD (ftp.netbsd.org), usr.bin/whois
113        x3270           ftp.x.org:contrib/applications
114        xmh             From X11R5
115
116AFS Binaries
117------------
118
119AFS binaries are placed under arch/<architecture name> for each
120architecture.  For each platform, you should do an import of the
121"include" and "lib" directories of the dest tree, using the vendor tag
122"transarc" and a release tag like "afs-3_4a_patches_2".  For "lib",
123you will have to use the option "-I \!", and you will also need to
124import in domestic/lib.  At the top level, you should have afsd, fs,
125tokens, unlog, and possibly afs.rc; we don't bother with "cvs import"
126for these files.  You will also need the kernel module itself, which
127varies per platform.
128
129You must do "cvs admin -kb" (or import/checkin with the -kb option) on
130binary files so that they won't get trashed by RCS ID mangling.
131
132For the sgi_53 and sun4m_54 platforms, we did not do an import of the
133"include" and "lib" directories, so you should just update the files
134with normal checkins.
135
136TeX
137---
138
139There is no single distribution of what we install from TeX.  The
140files we install were retrieved from the CTAN (Comprehensive TeX
141Archive Network) archive, mirrors of which are at several places
142including ftp.duke.edu:/tex-archive and ftp.cdrom.com:pub/tex/ctan.
143A list of CTAN mirrors is available via "finger ctan@ftp.dante.de".
144Here is a list of what we got and what subdirectories they were
145imported into:
146
147        web, web2c from systems/web2c           web2c
148        dvips from dviware/dvips                dvips
149        xdvi from dviware/xdvi                  xdvi
150        fonts/cm/mf/*                           lib/mf/typefaces/cm
151        fonts/latex/mf/* (ignore symlinks)      lib/mf/typefaces/latex
152        fonts/amsfonts/sources/euler/*          lib/mf/typefaces/euler
153        fonts/amsfonts/sources/symbols/*        lib/mf/typefaces/ams
154        fonts/amsfonts/sources/extracm/*        lib/mf/typefaces/cm-ams
155        fonts/amsfonts/sources/cyrillic/*       lib/mf/typefaces/cyrillic
156        fonts/punk/*                            lib/mf/typefaces/other
157        fonts/tengwar/*                         lib/mf/typefaces/tolkien
158        fonts/cirth/*                           lib/mf/typefaces/tolkien
159        fonts/oca/*                             lib/mf/typefaces/ocr
160        fonts/ocr-a/*                           lib/mf/typefaces/ocr
161        fonts/ocr-b/*                           lib/mf/typefaces/ocr
162        fonts/amsfonts/sources/*.mf             lib/mf/macros
163        systems/knuth/lib/*.mf* (must gunzip)   lib/mf/macros
164        systems/knuth/lib/*.tex (must gunzip)   lib/tex/macros
165        macros/amstex/ams* (include amssym)     lib/tex/macros
166(*)     fonts/ams/amsltx11/inputs/*             lib/tex/macros/amslatex/inputs
167(*)     fonts/ams/amsltx11/fontsel/*            lib/tex/macros/amslatex/fontsel
168        biblio/bibtex/distribs/styles/*         lib/tex/macros/bib
169        macros/latex209/distribs/latex/sty/*    lib/tex/macros/latex
170        macros/latex209/distribs/latex/doc/*    lib/tex/macros/latex
171        macros/latex209/distribs/latex/general/* lib/tex/macros/latex
172
173(*) These directories seem to have disappeared in a reorganization of
174    the CTAN archive, and their contents will need to be located again
175    if they are ever to be updated.
176
177This is pretty complicated (especially when you add in our own files,
178plus the stuff in lib/tex/macros/other which we don't bother
179identifying the source of).  Ideally, the contents of lib should be
180organized around distributions rather than installed directories, but
181the CTAN archive is not especially well-organized in that respect.  If
182anyone ever attempts a reorganization around distributions, they
183should probably just create a new hierarchy and delete the contents of
184the "lib" hierarchy.
185
186Imports of new versions
187-----------------------
188
189CVS (at least as of version 1.9) has the irritating weakness that
190import operations never delete files; you have to delete the removed
191files in a new version of a package by hand.  If the import command
192was "cvs import module vendor-branch release-tag", then to delete
193files you do:
194
195        cvs co -r vendor-branch module
196        cd module
197        cvs -n update -r release-tag |& \
198                awk '/no longer/ { print $3; }' > /tmp/files
199        xargs cvs rm < /tmp/files
200        cvs ci
201        awk '{print "module" $0; }' /tmp/files > /tmp/files2
202        xargs cvs rtag -r vendor-branch release-tag < /tmp/files2
203
204Yuck.  But it works.  For each deleted file, a dead revision will be
205checked in on the vendor branch and tagged with release-tag.  (The
206tagging part may be unnecessary, but should not be undesirable.)
207
208If, after an import, there are files which have been modified on the
209mainline but do not need to be locally modified any more, you can run
210"cvs admin -bvendor-branch" on the files to make them revert to the
211vendor branch.
212
213Third-party build systems
214-------------------------
215
216There are two avenues one can take for building third-party software:
217
218        * You can use the native build system.
219
220        * You can declare the native build system a loss, and use one
221          of the two Athena build systems described in the file
222          "build-system" in this directory.  This option is not
223          preferred, but is necessary in cases like afsbin (where we
224          are simply installing target files) or software imported
225          from NetBSD.
226
227In a some cases, the native build system may already conform to the
228Athena build system (a configure script which needs no special options
229for the Athena environment besides those given in our site.def file),
230but generally you will have to write a Makefile.athena file specifying
231how to build and install the program.  A Makefile.athena file must
232have the following targets:
233
234        prepare         Prepare to build the source tree
235        clean           Remove files generated by the all target
236        all             Generate all automatically build files
237        check           Perform automatic tests, if any
238        install         Install the software in $SRVD.
239
240A Makefile.athena file may rely on the following environment variables
241(it is most robust to use `"$$VARNAME"' instead of `"${VARNAME}"' in
242rules to get the value of such variables):
243
244        ATHENA_SYS      Architecture name for this system
245        HOSTTYPE        Platform name for this system
246        SRVD            Install destination directory (e.g. /srvd)
247        SOURCE          Source tree (e.g. /mit/source)
248        COMPILER        Appropriate compiler/linker for this system
249        CONFIGDIR       Location of Athena Imake templates
250        XCONFIGDIR      Location of X-style Imake templates
251        ATHTOOLROOT     Root of installed Athena tree
252
253Following is a sample Makefile.athena file, used to build a package
254which uses an X-style Imakefile:
255
256        # $Id: $
257
258        SHELL=/bin/sh
259
260        prepare:
261                imake "-I$$XCONFIGDIR" -DUseInstalled "-DSRCDIR=$$SOURCE"
262                ${MAKE} Makefiles
263
264        clean:
265                ${MAKE} clean
266
267        all:
268                ${MAKE} includes depend all
269
270        check:
271
272        install:
273                ${MAKE} install DESTDIR="$$SRVD"
Note: See TracBrowser for help on using the repository browser.