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/ 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"