source: trunk/doc/third-party @ 18497

Revision 18497, 11.7 KB checked in by ghudson, 21 years ago (diff)
Add fcpackage and tiff.
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        * athena/etc/xlogin/bitmaps/menu16
11
12                This is from the X11 release; it probably never
13                changes.  We have a copy of it here because xlogin
14                needs all its bitmaps locally in /etc/athena/login,
15                and fetching it out of the vendor X distribution at
16                build time is contrary to principles.
17
18        * packs/build/autoconf/
19
20                The files in this directory are copied from
21                third/autoconf and used by do.sh.
22
23        * packs/config/named.root
24
25                This is a copy of the named.root file available at
26                rs.internic.net:/domain/named.root.
27
28        * packs/config/Dash.fallback
29
30                A fallback copy of
31                /afs/athena.mit.edu/system/config/dash/Dash.menus for
32                when the master copy is inaccessible.  This should be
33                updated at release time.
34
35        * packs/dotfiles/arch/sgi_*/cshrc
36
37                A line to set XUSERFILESEARCHPATH in .cshrc is derived
38                from a piece of the IRIX file /var/X11/xdm/Xsession.dt.
39
40        * packs/dotfiles/{README.mail,dot.cshrc,dot.login,dot.logout,
41                dot.mh_profile,welcome}
42
43                These should be kept in sync with the copies on
44                moira's local disk (/moira/dotfiles/*), which are
45                what actually get copied into new home directories.
46
47        * Modified operating system files
48
49                We keep some modified configuration files from the
50                operating systems we use in the os and arch
51                subdirectories of packs/config and packs/maint.
52                The files and their origins are:
53
54                Solaris files in packs/config:
55
56                Athena4.kt      /usr/openwin/share/etc/keytables/US4.kt.Z
57                Athena5.kt      /usr/openwin/share/etc/keytables/US_UNIX5.kt.Z
58                devlink.tab     /etc/devlink.tab
59                inetd.conf      /etc/inet/inetd.conf
60                inittab         /etc/inittab
61                logindevperm    /etc/logindevperm
62                keytable.map    /usr/openwin/share/etc/keytables/keytable.map
63                minor_perm      /etc/minor_perm
64                name_to_sysnum  /etc/name_to_sysnum
65                nsswitch.conf   /etc/nsswitch.conf
66                services        /etc/inet/services
67                su              /etc/default/su
68                system          /etc/system
69
70                Solaris files in packs/maint:
71
72                nfs.client      /etc/init.d/nfs.client
73                rpc             /etc/init.d/rpc
74
75                IRIX files in packs/config:
76
77                4DWm            /usr/lib/X11/app-defaults/4DWm
78                Mwm             /usr/lib/X11/app-defaults/Mwm
79                Toolchest       /usr/lib/X11/app-defaults/Toolchest
80                crontab.root    /var/spool/cron/crontabs/root
81                fonts.alias     /usr/lib/X11/fonts/100dpi/fonts.alias
82                fonts.dir       /usr/lib/X11/fonts/100dpi/fonts.dir
83                inetd.conf      /etc/inetd.conf
84                services        /etc/services
85                system.chestrc  /usr/lib/X11/system.chestrc
86
87                IRIX files in packs/maint:
88
89                network         /etc/init.d/network
90
91Distribution sites for software under third
92-------------------------------------------
93
94        afsbin          See below.
95        ammonite        ftp.gnome.org:pub/GNOME/unstable/sources/ammonite
96        audiofile       ftp.gnome.org:pub/GNOME/stable/sources/audiofile
97        bash            ftp.gnu.org:pub/gnu/bash
98        bind            ftp.isc.org:isc/bind/src
99        binutils        ftp.gnu.org:pub/gnu/binutils
100        bonobo          ftp.gnome.org:pub/GNOME/stable/sources/bonobo
101        bonobo-conf     ftp.gnome.org:pub/GNOME/unstable/sources/bonobo
102        bzip2           sources.redhat.com:pub/bzip2
103        control-center  ftp.gnome.org:pub/GNOME/unstable/sources/control-center
104        db              http://www.sleepycat.com/download.html
105        diffutils       ftp.gnu.org:pub/gnu/diffutils
106        eel             ftp.gnome.org:pub/GNOME/stable/sources/eel
107        emacs           ftp.gnu.org:pub/gnu/emacs; see below
108        esound          ftp.gnome.org:pub/GNOME/stable/sources/esound
109        evolution       ftp.gnome.org:pub/GNOME/unstable/sources/evolution
110        fcpackage       http://fontconfig.org/
111        flex            ftp.gnu.org:pub/gnu/non-gnu/flex
112        freetype        ftp.freetype.org:pub/freetype2
113        gcc             ftp.gnu.org:pub/gnu/gcc
114        GConf           ftp.gnome.org:pub/GNOME/unstable/sources/GConf
115        gal             ftp.gnome.org:pub/GNOME/unstable/sources/gal
116        gdbm            ftp.gnu.org:pub/gnu/gdbm
117        gdk-pixbuf      ftp.gnome.org:pub/GNOME/unstable/sources/gdk-pixbuf
118        gettext         ftp.gnu.org:pub/gnu/gettext
119        glib            ftp.gtk.org:pub/gtk
120        gtk             ftp.gtk.org:pub/gtk
121        gtkhtml         ftp.gnome.org:pub/GNOME/unstable/sources/gtkhtml
122        gmake           ftp.gnu.org:pub/gnu/make
123        gmp             ftp.gnu.org:pub/gnu/gmp
124        gnome-core      ftp.gnome.org:pub/GNOME/unstable/sources/gnome-core
125        gnome-libs      ftp.gnome.org:pub/GNOME/stable/sources/gnome-libs
126        gnome-print     ftp.gnome.org:pub/GNOME/stable/sources/gnome-print
127        gnome-vfs       ftp.gnome.org:pub/GNOME/unstable/sources/gnome-vfs
128        imlib           (Formerly www.rasterman.com; imlib 1 is dead now)
129        inetd           From NetBSD (ftp.netbsd.org), usr.sbin/inetd
130        intlfonts       ftp.gnu.org:pub/gnu/intlfonts
131        ispell          ftp.cs.ucla.edu:pub/ispell-3.1
132        jot             From NetBSD (ftp.netbsd.org), usr.bin/jot
133        jpeg            ftp://ftp.uu.net/graphics/jpeg/
134        kermit          http://www.columbia.edu/kermit
135        krb5*           http://web.mit.edu/network/kerberos-form.html
136        lam             From NetBSD (ftp.netbsd.org), usr.bin/lam
137        libghttp        ftp.gnome.org:pub/GNOME/stable/sources/libghttp
138        libglade        ftp.gnome.org:pub/GNOME/stable/sources/libglade
139        libpng          swrinde.nde.swri.edu:pub/png/src
140        librep          librep.sourceforge.net:pub/librep
141        librsvg         ftp.gnome.org:pub/GNOME/stable/sources/librsvg
142        libungif        prtr-13.ucsc.edu:pub/libungif
143        libxml          ftp.gnome.org:pub/GNOME/stable/sources/libxml
144        libxml2         ftp.gnome.org:pub/GNOME/stable/sources/libxml
145        look            From NetBSD (ftp.netbsd.org), usr.bin/look
146        lprng           ftp.astart.com:pub/LPRng; see below
147        medusa          ftp.gnome.org:pub/GNOME/unstable/sources/medusa
148        mdoc            From NetBSD (ftp.netbsd.org), share/tmac
149        nautilus        ftp.gnome.org:pub/GNOME/stable/sources/nautilus
150        nmh             ftp.math.gatech.edu:pub/nmh
151        nvi             http://www.bostic.com/vi/
152        oaf             ftp.gnome.org:pub/GNOME/stable/sources/oaf
153        openafs         http://www.openafs.org/release
154        openssh         ftp.openbsd.org:pub/OpenBSD/OpenSSH
155        openssl         ftp.openssl.org:source
156        ORBit           ftp.gnome.org:pub/GNOME/stable/sources/ORBit
157        patch           ftp.gnu.org:pub/gnu/patch
158        perl            ftp.cpan.org:pub/CPAN/src
159        pine            ftp.cac.washington.edu:pine
160                        ftp.cac.washington.edu:mail/kerberos4-patches.tar.Z
161        pkgconfig       http://www.freedesktop.org/software/pkgconfig.html
162        popt            ftp.rpm.org:pub/rpm/dist/rpm-4.0.x
163        readline        ftp.gnu.org:pub/gnu/readline
164        rcs             ftp.gnu.org:pub/gnu/rcs
165        read-edid       http://web.onetel.net.uk/~elephant/john/programs\
166                        /linux/read-edid/
167        rep-gtk         rep-gtk.sourceforge.net:pub/rep-gtk
168        rpm             ftp.rpm.org:pub/rpm/dist
169        rs              From NetBSD (ftp.netbsd.org), usr.bin/rs
170        sawfish         sawmill.sourceforge.net:pub/sawmill
171        sendmail*       ftp.sendmail.org:pub/sendmail
172        ssh*            ftp.cs.hut.fi:pub/ssh
173        sysinfo         http://www.magnicomp.com/
174        talk            From NetBSD (ftp.netbsd.org)
175                        usr.bin/talk goes in the talk subdirectory
176                        libexec/talkd goes in the talkd subdirectory
177                        protocols/talkd.h is from include/protocols,
178                         with some modifications for portability.
179        tcp_wrappers*   ftp.porcupine.org:/pub/security
180        tcsh            ftp.astron.com:pub/tcsh
181        tetex           ctan.tug.org:tex-archive/systems/unix/teTeX
182        texinfo         ftp.gnu.org:pub/gnu/texinfo
183        tiff            ftp.remotesensing.org:pub/libtiff
184        top             ftp.groupsys.com:pub/top
185        traceroute      ftp.ee.lbl.gov (top level)
186        transcript      From Adobe
187        wcl             ftp.x.org:contrib/devel_tools
188                        (seems to have disappeared; older versoins than
189                        what we have are available in R5contrib)
190        whois           From NetBSD (ftp.netbsd.org), usr.bin/whois
191        x3270           ftp.x.org:contrib/applications
192        xalf            http://www.lysator.liu.se/~astrand/projects/xalf/
193        xmh             From X11R5
194        xml-i18n-tools  ftp.gnome.org:pub/GNOME/stable/sources/xml-18n-tools
195        xntp            ftp.udel.edu:pub/ntp/ntp4
196        xpm             ftp.x.org:contrib/libraries
197        xscreensaver    http://www.jwz.org/xscreensaver/
198        zlib            ftp.info-zip.org:pub/infozip/zlib
199
200PGP Signatures
201--------------
202
203The (*)ed packages above come PGP-signed. Note that some packages have
204signatures of the .tar.gz files, and others have signatures of the .tar
205files themselves even though you can only download the .tar.gz files.
206
207Local copies of the PGP signing keys, are kept in doc/pgpkeys. You can
208add them to your PGP keyring by doing:
209
210        pgp -ka pgpkeys [PGP 2.6]
211        pgpk -a pgpkeys [PGP 5]
212
213And you can verify the signature of a package with
214
215        pgp sigfile  [PGP 2.6]
216        pgpv sigfile [PGP 5]
217
218(You will be prompted for the name of the file to compare the
219signature against.)
220
221AFS Binaries
222------------
223
224AFS binaries are placed under arch/<architecture name> for each
225architecture.  For each platform, you should do an import of the
226"include" and "lib" directories of the dest tree, using the vendor tag
227"transarc" and a release tag like "afs-3_4a_patches_2".  For "lib",
228you will have to use the options "-kb -I \!".  At the top level, you
229should have afsd, fs, tokens, unlog, and possibly afs.rc; we don't
230bother with "cvs import" for these files.  You will also need the
231kernel module itself, which varies per platform.
232
233LPRng
234-----
235
236We import three packages: the LPRng sources themselves
237(LPRng/LPRng-x.tgz) into third/lprng/lprng, the LPRng documentation
238(LPRng/LPRng_DOC-x.tgz) into third/lprng/doc, and the ifhp filter
239(FILTERS/ifhp-x.tgz) into third/lprng/ifhp.
240
241Emacs
242-----
243
244LEIM (Library of Emacs Input Methods) is built as part of Emacs, but
245distributed separately.  Untar both emacs and leim (leim will untar
246into emacs-xx.yy/leim) and import them both with one command.
247
248Emacs is distributed with .elc files.  When you import new versions of
249emacs, do so with the "-I \!" option to prevent CVS from ignoring
250these files.  .elc files should be tagged as binary, using "cvs admin
251-kb", although that's not terribly critical to Unix CVS clients
252(except for the vc-mode files).
253
254Elisp source related to vc-mode needs to be set to "-ko" mode to
255prevent expansion of those keywords.  Use "cvs admin -ko" on these
256files if they move or if new ones are added.
257
258Third-party build systems
259-------------------------
260
261There are two avenues one can take for building third-party software:
262
263        * You can use the native build system.
264
265        * You can declare the native build system a loss, and use one
266          of the two Athena build systems described in the file
267          "build-system" in this directory.  This option is not
268          preferred, but is necessary in cases like afsbin (where we
269          are simply installing target files) or software imported
270          from NetBSD.
271
272In a some cases, the native build system may already conform to the
273Athena build system (a configure script which needs no special options
274for the Athena environment besides those given in our config.site
275file), but generally you will have to write either a configure.athena
276or a Makefile.athena file specifying how to build and install the
277program.
278
279configure.athena is used when the package builds and installs
280normally, but needs to have extra options passed to configure (or has
281a configure script which isn't named "configure", or needs additional
282steps performed before or after the configure script).
283
284Makefile.athena is needed if the package needs to do anything unusual
285at any of the other steps.  A Makefile.athena must have the following
286targets:
287
288        prepare         Prepare to build the source tree
289        clean           Remove files generated by the all target
290        all             Generate all automatically build files
291        check           Perform automatic tests, if any
292        install         Install the software in $SRVD.
293
294A Makefile.athena file may rely on the following environment variables
295(it is most robust to use `"$$VARNAME"' instead of `"${VARNAME}"' in
296rules to get the value of such variables):
297
298        ATHENA_SYS      Architecture name for this system
299        HOSTTYPE        Platform name for this system
300        SRVD            Install destination directory (e.g. /srvd)
301        SOURCE          Source tree (e.g. /mit/source)
302        COMPILER        Appropriate compiler/linker for this system
303        CONFIGDIR       Location of Athena Imake templates
304        XCONFIGDIR      Location of X-style Imake templates
305        ATHTOOLROOT     Root of installed Athena tree
306
307Following is a sample Makefile.athena file, used to build a package
308which uses an X-style Imakefile:
309
310        # $Id: $
311
312        SHELL=/bin/sh
313
314        prepare:
315                imake "-I$$XCONFIGDIR" -DUseInstalled "-DSRCDIR=$$SOURCE"
316                ${MAKE} Makefiles
317
318        clean:
319                ${MAKE} clean
320
321        all:
322                ${MAKE} includes depend all
323
324        check:
325
326        install:
327                ${MAKE} install DESTDIR="$$SRVD"
Note: See TracBrowser for help on using the repository browser.