For the most part, third-party software is easy to locate because it
is found in the third hierarchy.  Nevertheless, it's a good idea to
keep track of what we get from outside, especially for things outside
of third.  There are also some notes at the end of this file on how we
deal with building third-party software.

Third-party stuff not under third
---------------------------------

	* athena/etc/xlogin/bitmaps/menu16

		This is from the X11 release; it probably never
		changes.  We have a copy of it here because xlogin
		needs all its bitmaps locally in /etc/athena/login,
		and fetching it out of the vendor X distribution at
		build time is contrary to principles.

	* packs/build/autoconf/

		The files in this directory are copied from
		third/autoconf and used by do.sh.

	* packs/config/named.root

		This is a copy of the named.root file available at
		rs.internic.net:/domain/named.root.

	* packs/config/Dash.fallback

		A fallback copy of
		/afs/athena.mit.edu/system/config/dash/Dash.menus for
		when the master copy is inaccessible.  This should be
		updated at release time.

	* packs/dotfiles/arch/sgi_*/cshrc

		A line to set XUSERFILESEARCHPATH in .cshrc is derived
		from a piece of the IRIX file /var/X11/xdm/Xsession.dt.

	* packs/dotfiles/{README.mail,dot.cshrc,dot.login,dot.logout,
		dot.mh_profile,welcome}

		These should be kept in sync with the copies on
		moira's local disk (/moira/dotfiles/*), which are
		what actually get copied into new home directories.

	* Modified operating system files

		We keep some modified configuration files from the
		operating systems we use in the os and arch
		subdirectories of packs/config and packs/maint.
		The files and their origins are:

		Solaris files in packs/config:

		Athena4.kt	/usr/openwin/share/etc/keytables/US4.kt.Z
		Athena5.kt	/usr/openwin/share/etc/keytables/US_UNIX5.kt.Z
		devlink.tab	/etc/devlink.tab
		inetd.conf	/etc/inet/inetd.conf
		inittab		/etc/inittab
		logindevperm	/etc/logindevperm
		keytable.map	/usr/openwin/share/etc/keytables/keytable.map
		minor_perm	/etc/minor_perm
		name_to_sysnum	/etc/name_to_sysnum
		nsswitch.conf	/etc/nsswitch.conf
		services	/etc/inet/services
		su		/etc/default/su
		system		/etc/system

		Solaris files in packs/maint:

		nfs.client	/etc/init.d/nfs.client
		rpc		/etc/init.d/rpc

		IRIX files in packs/config:

		4DWm		/usr/lib/X11/app-defaults/4DWm
		Mwm		/usr/lib/X11/app-defaults/Mwm
		Toolchest	/usr/lib/X11/app-defaults/Toolchest
		crontab.root	/var/spool/cron/crontabs/root
		fonts.alias	/usr/lib/X11/fonts/100dpi/fonts.alias
		fonts.dir	/usr/lib/X11/fonts/100dpi/fonts.dir
		inetd.conf	/etc/inetd.conf
		services	/etc/services
		system.chestrc	/usr/lib/X11/system.chestrc

		IRIX files in packs/maint:

		network		/etc/init.d/network

Distribution sites for software under third
-------------------------------------------

  acme                  ftp.gnome.org:pub/gnome/sources/acme
  afs-krb5              ftp.cmf.nrl.navy.mil:pub/kerberos5
  afsbin                See below.
  ammonite              ftp.gnome.org:pub/gnome/sources/ammonite
  aspell                ftp.gnu.org:pub/gnu/aspell
  aspell-dict           ftp.gnu.org:pub/gnu/aspell
  at-spi                ftp.gnome.org:pub/gnome/sources/at-spi
  atk                   ftp.gnome.org:pub/gnome/sources/atk
  audiofile             ftp.gnome.org:pub/gnome/sources/audiofile
  autoconf              ftp.gnu.org:pub/gnu/autoconf
  bash                  ftp.gnu.org:pub/gnu/bash
  bind                  ftp.isc.org:isc/bind/src
  binutils              ftp.gnu.org:pub/gnu/binutils
  bison                 ftp.gnu.org:pub/gnu/bison
  bonobo                ftp.gnome.org:pub/gnome/sources/bonobo
  bonobo-activation     ftp.gnome.org:pub/gnome/sources/bonobo-activation
  bonobo-conf           ftp.gnome.org:pub/gnome/sources/bonobo
  bug-buddy             ftp.gnome.org:pub/gnome/sources/bug-buddy
  bzip2                 sources.redhat.com:pub/bzip2
  control-center        ftp.gnome.org:pub/gnome/sources/control-center
  cyrus-imapd           ftp.andrew.cmu.edu:pub/cyrus-mail
  cyrus-sasl            ftp.andrew.cmu.edu:pub/cyrus-mail
  db                    http://www.sleepycat.com/download.html
  diffutils             ftp.gnu.org:pub/gnu/diffutils
  eel                   ftp.gnome.org:pub/gnome/sources/eel
  emacs                 ftp.gnu.org:pub/gnu/emacs; see below
  enscript              ftp.gnu.org:pub/gnu/enscript
  eog                   ftp.gnome.org:pub/gnome/sources/eog
  esound                ftp.gnome.org:pub/gnome/sources/esound
  evolution             ftp.gnome.org:pub/gnome/sources/evolution
  expat                 http://sourceforge.net/projects/expat/
  fcpackage             http://fontconfig.org/
  file-roller           ftp.gnome.org:pub/gnome/sources/file-roller
  findutils             ftp.gnu.org:pub/gnu/findutils
  flex                  ftp.gnu.org:pub/gnu/non-gnu/flex
  freetype              ftp.freetype.org:pub/freetype2
  gail                  ftp.gnome.org:pub/gnome/sources/gail
  gal                   ftp.gnome.org:pub/gnome/sources/gal
  gal2                  ftp.gnome.org:pub/gnome/sources/gal
  gcc                   ftp.gnu.org:pub/gnu/gcc
  GConf                 ftp.gnome.org:pub/gnome/sources/GConf
  GConf2                ftp.gnome.org:pub/gnome/sources/GConf
  gconf-editor          ftp.gnome.org:pub/gnome/sources/gconf-editor
  gdbm                  ftp.gnu.org:pub/gnu/gdbm
  gdk-pixbuf            ftp.gnome.org:pub/gnome/sources/gdk-pixbuf
  gedit                 ftp.gnome.org:pub/gnome/sources/gedit
  gettext               ftp.gnu.org:pub/gnu/gettext
  ggv                   ftp.gnome.org:pub/gnome/sources/ggv
  glib                  ftp.gtk.org:pub/gtk
  glib2                 ftp.gtk.org:pub/gtk
  gmake                 ftp.gnu.org:pub/gnu/make
  gmp                   ftp.gnu.org:pub/gnu/gmp
  gnome-applets         ftp.gnome.org:pub/gnome/sources/gnome-applets
  gnome-core            ftp.gnome.org:pub/gnome/sources/gnome-core
  gnome-desktop         ftp.gnome.org:pub/gnome/sources/gnome-desktop
  gnome-icon-theme      ftp.gnome.org:pub/gnome/sources/gnome-icon-theme
  gnome-libs            ftp.gnome.org:pub/gnome/sources/gnome-libs
  gnome-media           ftp.gnome.org:pub/gnome/sources/gnome-media
  gnome-mime-data       ftp.gnome.org:pub/gnome/sources/gnome-mime-data
  gnome-panel           ftp.gnome.org:pub/gnome/sources/gnome-panel
  gnome-print           ftp.gnome.org:pub/gnome/sources/gnome-print
  gnome-spell           ftp.gnome.org:pub/gnome/sources/gnome-spell
  gnome-system-monitor  ftp.gnome.org:pub/gnome/sources/gnome-spell
  gnome-terminal        ftp.gnome.org:pub/gnome/sources/gnome-terminal
  gnome-themes          ftp.gnome.org:pub/gnome/sources/gnome-themes
  gnome-utils           ftp.gnome.org:pub/gnome/sources/gnome-utils
  gnome-vfs             ftp.gnome.org:pub/gnome/sources/gnome-vfs
  gnome-vfs2            ftp.gnome.org:pub/gnome/sources/gnome-vfs
  gnome2-user-docs      ftp.gnome.org:pub/gnome/sources/gnome2-user-docs
  gst-plugins           ftp.gnome.org:pub/gnome/sources/gst-plugsin
  gstreamer             ftp.gnome.org:pub/gnome/sources/gstreamer
  gtk                   ftp.gtk.org:pub/gtk
  gtk-engines           ftp.gtk.org:pub/gtk
  gtk-thinice-engine    ftp.gtk.org:pub/gtk
  gtk2                  ftp.gtk.org:pub/gtk
  gtkhtml               ftp.gnome.org:pub/gnome/sources/gtkhtml
  gtkhtml3              ftp.gnome.org:pub/gnome/sources/gtkhtml
  hicolor-icon-theme	http://freedesktop.org/Software/icon-theme/releases/
  ifplugd		http://0pointer.de/lennart/projects/ifplugd/
  imlib                 (Formerly www.rasterman.com; imlib 1 is dead now)
  inetd                 From NetBSD (ftp.netbsd.org), usr.sbin/inetd
  intlfonts             ftp.gnu.org:pub/gnu/intlfonts
  ispell                http://www.lasr.cs.ucla.edu/geoff/tars/
  jot                   From NetBSD (ftp.netbsd.org), usr.bin/jot
  jpeg                  ftp://ftp.uu.net/graphics/jpeg/
  kermit                http://www.columbia.edu/kermit
  krb5*                 http://web.mit.edu/network/kerberos-form.html
  lam                   From NetBSD (ftp.netbsd.org), usr.bin/lam
  libao                 http://www.xiph.org/ao/
  libart_lgpl           ftp.gnome.org:pub/gnome/sources/libart_lgpl
  libbonobo             ftp.gnome.org:pub/gnome/sources/libbonobo
  libbonoboui           ftp.gnome.org:pub/gnome/sources/libbonoboui
  libdaemon		http://0pointer.de/lennart/projects/libdaemon/
  libgail-gnome         ftp.gnome.org:pub/gnome/sources/libgail-gnome
  libghttp              ftp.gnome.org:pub/gnome/sources/libghttp
  libglade              ftp.gnome.org:pub/gnome/sources/libglade
  libglade2             ftp.gnome.org:pub/gnome/sources/libglade
  libgnome              ftp.gnome.org:pub/gnome/sources/libgnome
  libgnomecanvas        ftp.gnome.org:pub/gnome/sources/libgnomecanvas
  libgnomeprint         ftp.gnome.org:pub/gnome/sources/libgnomeprint
  libgnomeprintui       ftp.gnome.org:pub/gnome/sources/libgnomeprintui
  libgnomeui            ftp.gnome.org:pub/gnome/sources/libgnomeui
  libgtkhtml            ftp.gnome.org:pub/gnome/sources/libgtkhtml
  libgtop               ftp.gnome.org:pub/gnome/sources/libgtop
  libiconv              ftp.gnu.org:pub/gnu/libiconv
  libIDL                ftp.gnome.org:pub/gnome/sources/libIDL
  libole2               ftp.gnome.org:pub/gnome/sources/libole2
  libpng                swrinde.nde.swri.edu:pub/png/src
  librep                librep.sourceforge.net:pub/librep
  librsvg               ftp.gnome.org:pub/gnome/sources/librsvg
  libsoup               ftp.gnome.org:pub/gnome/sources/libsoup
  libungif              prtr-13.ucsc.edu:pub/libungif
  libwnck               ftp.gnome.org:pub/gnome/sources/libwnck
  libxml                ftp.gnome.org:pub/gnome/sources/libxml
  libxml2               ftp.gnome.org:pub/gnome/sources/libxml
  libxslt               ftp.gnome.org:pub/gnome/sources/libxslt
  libzvt                ftp.gnome.org:pub/gnome/sources/libzvt
  linc                  ftp.gnome.org:pub/gnome/sources/linc
  look                  From NetBSD (ftp.netbsd.org), usr.bin/look
  lprng                 ftp.astart.com:pub/LPRng; see below
  m4                    ftp.gnu.org:pub/gnu/m4
  mdoc                  From NetBSD (ftp.netbsd.org), share/tmac
  medusa                ftp.gnome.org:pub/gnome/sources/medusa
  metacity              ftp.gnome.org:pub/gnome/sources/metacity
  mingetty              ftp.gnome.org:pub/gnome/sources/mingetty
  mozilla               ftp.mozilla.org:pub/mozilla.org/mozilla/releases
  nautilus              ftp.gnome.org:pub/gnome/sources/nautilus
  nautilus-media        ftp.gnome.org:pub/gnome/sources/nautilus-media
  nmh                   ftp.math.gatech.edu:pub/nmh
  nvi                   http://www.bostic.com/vi/
  oaf                   ftp.gnome.org:pub/gnome/sources/oaf
  openafs               http://www.openafs.org/release
  openmotif		http://www.opengroup.org/openmotif
  openssh               ftp.openbsd.org:pub/OpenBSD/OpenSSH
  openssl               ftp.openssl.org:source
  ORBit                 ftp.gnome.org:pub/gnome/sources/ORBit
  ORBit2                ftp.gnome.org:pub/gnome/sources/ORBit2
  pango                 ftp.gnome.org:pub/gnome/sources/pango
  patch                 ftp.gnu.org:pub/gnu/patch
  pcre                  ftp.sourceforge.net:pub/sourceforge/pcre
  perl                  ftp.cpan.org:pub/CPAN/src
  perl-xml-parser	ftp.cpan.org:pub/CPAN/authors/id/C/CO/COOPERCL
  pine                  ftp.cac.washington.edu:pine
                        ftp.cac.washington.edu:mail/kerberos4-patches.tar.Z
  pkgconfig             http://www.freedesktop.org/software/pkgconfig.html
  popt                  ftp.rpm.org:pub/rpm/dist/rpm-4.0.x
  rcs                   ftp.gnu.org:pub/gnu/rcs
  read-edid             http://web.onetel.net.uk/~elephant/john/programs\
                        /linux/read-edid/
  readline              ftp.gnu.org:pub/gnu/readline
  redhat-fonts          See README file contained within
  rep-gtk               rep-gtk.sourceforge.net:pub/rep-gtk
  rpm                   ftp.rpm.org:pub/rpm/dist
  rs                    From NetBSD (ftp.netbsd.org), usr.bin/rs
  sawfish               sawmill.sourceforge.net:pub/sawmill
  scrollkeeper          ftp.gnome.org:pub/gnome/sources/scrollkeeper
  sed                   ftp.gnu.org:pub/gnu/sed
  sendmail*             ftp.sendmail.org:pub/sendmail
  soup                  ftp.gnome.org:pub/gnome/sources/soup
  ssh*                  ftp.cs.hut.fi:pub/ssh
  startup-notification  ftp.gnome.org:pub/gnome/sources/startup-notification
  sysinfo               http://www.magnicomp.com/
  talk                  From NetBSD (ftp.netbsd.org)
                        usr.bin/talk goes in the talk subdirectory
                        libexec/talkd goes in the talkd subdirectory
                        protocols/talkd.h is from include/protocols,
                         with some modifications for portability.
  tcp_wrappers*         ftp.porcupine.org:/pub/security
  tcsh                  ftp.astron.com:pub/tcsh
  tetex                 ctan.tug.org:tex-archive/systems/unix/teTeX
  texinfo               ftp.gnu.org:pub/gnu/texinfo
  tiff                  ftp.remotesensing.org:pub/libtiff
  top                   ftp.groupsys.com:pub/top
  traceroute            ftp.ee.lbl.gov (top level)
  transcript            From Adobe
  vte                   ftp.gnome.org:pub/gnome/sources/vte
  wcl                   ftp.x.org:contrib/devel_tools
                        (seems to have disappeared; older versoins than
                        what we have are available in R5contrib)
  whois                 From NetBSD (ftp.netbsd.org), usr.bin/whois
  x11-ssh-askpass       http://www.pobox.com/~jmknoble/software/x11-ssh-askpass
  x3270                 ftp.x.org:contrib/applications
  xalf                  http://www.lysator.liu.se/~astrand/projects/xalf/
  xmh                   From X11R5
  xml-i18n-tools        ftp.gnome.org:pub/gnome/sources/xml-18n-tools
  xntp                  ftp.udel.edu:pub/ntp/ntp4
  xpm                   ftp.x.org:contrib/libraries
  xscreensaver          http://www.jwz.org/xscreensaver/
  yelp                  ftp.gnome.org:pub/gnome/sources/yelp
  zlib                  ftp.info-zip.org:pub/infozip/zlib

PGP Signatures
--------------

The (*)ed packages above come PGP-signed. Note that some packages have
signatures of the .tar.gz files, and others have signatures of the .tar
files themselves even though you can only download the .tar.gz files.

Local copies of the PGP signing keys, are kept in doc/pgpkeys. You can
add them to your PGP keyring by doing:

	pgp -ka pgpkeys	[PGP 2.6]
	pgpk -a pgpkeys [PGP 5]

And you can verify the signature of a package with

	pgp sigfile  [PGP 2.6]
	pgpv sigfile [PGP 5]

(You will be prompted for the name of the file to compare the
signature against.)

AFS Binaries
------------

AFS binaries are placed under arch/<architecture name> for each
architecture.  For each platform, you should do an import of the
"include" and "lib" directories of the dest tree, using the vendor tag
"transarc" and a release tag like "afs-3_4a_patches_2".  For "lib",
you will have to use the options "-kb -I \!".  At the top level, you
should have afsd, fs, tokens, unlog, and possibly afs.rc; we don't
bother with "cvs import" for these files.  You will also need the
kernel module itself, which varies per platform.

LPRng
-----

We import three packages: the LPRng sources themselves
(LPRng/LPRng-x.tgz) into third/lprng/lprng, the LPRng documentation
(LPRng/LPRng_DOC-x.tgz) into third/lprng/doc, and the ifhp filter
(FILTERS/ifhp-x.tgz) into third/lprng/ifhp.

Emacs
-----

LEIM (Library of Emacs Input Methods) is built as part of Emacs, but
distributed separately.  Untar both emacs and leim (leim will untar
into emacs-xx.yy/leim) and import them both with one command.

Emacs is distributed with .elc files.  When you import new versions of
emacs, do so with the "-I \!" option to prevent CVS from ignoring
these files.  .elc files should be tagged as binary, using "cvs admin
-kb", although that's not terribly critical to Unix CVS clients
(except for the vc-mode files).

Elisp source related to vc-mode needs to be set to "-ko" mode to
prevent expansion of those keywords.  Use "cvs admin -ko" on these
files if they move or if new ones are added.

Third-party build systems
-------------------------

There are two avenues one can take for building third-party software:

	* You can use the native build system.

	* You can declare the native build system a loss, and use one
	  of the two Athena build systems described in the file
	  "build-system" in this directory.  This option is not
	  preferred, but is necessary in cases like afsbin (where we
	  are simply installing target files) or software imported
	  from NetBSD.

In a some cases, the native build system may already conform to the
Athena build system (a configure script which needs no special options
for the Athena environment besides those given in our config.site
file), but generally you will have to write either a configure.athena
or a Makefile.athena file specifying how to build and install the
program.

configure.athena is used when the package builds and installs
normally, but needs to have extra options passed to configure (or has
a configure script which isn't named "configure", or needs additional
steps performed before or after the configure script).

Makefile.athena is needed if the package needs to do anything unusual
at any of the other steps.  A Makefile.athena must have the following
targets:

	prepare		Prepare to build the source tree
	clean		Remove files generated by the all target
	all		Generate all automatically build files
	check		Perform automatic tests, if any
	install		Install the software in $SRVD.

A Makefile.athena file may rely on the following environment variables
(it is most robust to use `"$$VARNAME"' instead of `"${VARNAME}"' in
rules to get the value of such variables):

	ATHENA_SYS	Architecture name for this system
	HOSTTYPE	Platform name for this system
	SRVD		Install destination directory (e.g. /srvd)
	SOURCE		Source tree (e.g. /mit/source)
	COMPILER	Appropriate compiler/linker for this system
	CONFIGDIR	Location of Athena Imake templates
	XCONFIGDIR	Location of X-style Imake templates
	ATHTOOLROOT	Root of installed Athena tree

Following is a sample Makefile.athena file, used to build a package
which uses an X-style Imakefile:

	# $Id: $

	SHELL=/bin/sh

	prepare:
		imake "-I$$XCONFIGDIR" -DUseInstalled "-DSRCDIR=$$SOURCE"
		${MAKE} Makefiles

	clean:
		${MAKE} clean

	all:
		${MAKE} includes depend all

	check:

	install:
		${MAKE} install DESTDIR="$$SRVD"
