source: trunk/doc/third-party @ 11849

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