home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: laplante@crim.ca (Pierre Laplante)
- Subject: v38i032: lude - A Distributed Software Library, Part00/12
- Message-ID: <csm-v38i032=lude.171419@sparky.Sterling.COM>
- X-Md4-Signature: 526d65e2aa0bed52eb080eb9f00e3a85
- Sender: kent@sparky.imd.sterling.com (Kent Landfield)
- Organization: Sterling Software
- Date: Sun, 11 Jul 1993 22:14:59 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: laplante@crim.ca (Pierre Laplante)
- Posting-number: Volume 38, Issue 32
- Archive-name: lude/part00
- Environment: UNIX
-
- Numerous software packages are being used and updated regularly on most
- computer systems. Installing all these software packages is a formidable
- task because each one has a different procedure for compiling or for
- placing the files required at run time. This limits the number of
- packages that a single system administrator can maintain. Moreover, it
- is difficult to organize software servers such that:
-
- - heterogeneous systems can be served.
-
- - each disk server can decide, on a package per package basis, if it wants a
- network access or a local copy of the executables
- and/or source code.
-
- - users can access new software packages without editing their
- configuration files (.login .cshrc).
-
- - more than one version of a given package can coexist during transitions.
-
- - each software package is kept in a separate subtree to ease the
- management of disk space and prevent name conflicts.
-
- - all the documentation is easily accessible through a single
- user interface.
-
-
- The LUDE (Logitheque Universitaire Distribuee et Extensible) software
- library is a joint project of the Computer Science and Operational Research
- Department of Universite de Montreal, of the Electrical and Computer
- Engineering Department of Ecole Polytechnique de Montreal
- and of the Centre de recherche informatique de Montreal.
- The LUDE project was initiated in December 1991 to address the above
- mentioned goals. LUDE is an organization for installing software
- packages, a set of tools to install and uninstall software packages
- and browse their documentation, and a number of FTP servers offering
- over 100 pre-installed freely available software packages.
-
- The LUDE software library enables a large number of sites to pool the
- software packages compiled by their system administrators. Each computer
- can act as a client and/or a server as it desires. A client only needs a
- network connection to a LUDE server (such as the Internet). A server
- needs to install software packages as described in the Lude documentation
- and to export them through NFS (Network File System) or FTP (File Transfer
- Protocol). A client may represent a more or less heavy load for a server:
-
- - A client takes a complete copy whenever a new package is available and
- remains autonomous thereafter. This represents a light load and can be
- performed between distant sites.
-
- - A client takes a copy of the install and run subtrees and
- maintains a symbolic link to the source code on the server. If access to
- the source code is relatively infrequent, this is not a very heavy load
- either.
-
- - A client only keeps symbolic links to the server
- for the source code as well as the run time for most
- software packages. Thus, each time one such package is
- accessed, the server is involved. This is only acceptable if the client
- and server are very close, on the same network and in the same
- organization.
-
- Typically, a multi-level client server organization will be found:
-
- - Public servers allow clients from around the world to take copies of
- their packages through FTP. Some usage restrictions may apply if
- the load is too high on these servers.
-
- - Departmental servers regularly interact with public servers to keep a
- large set of up to date packages. Departmental clients may then use these
- packages either by taking a copy or even through symbolic links for the
- infrequently used packages. In some cases, a departmental server can also
- be a public server.
-
- - A local server takes a copy of frequently used packages from the
- departmental server and perhaps keeps symbolic links for other packages.
- The source code for these packages is normally accessed through a
- symbolic link to the departmental server or to a nearby consenting
- public server.
-
- - Individual workstations may simply mount /usr/local from the
- laboratory server.
-
- - Notebook computers copy packages according to their upcoming needs for
- standalone, nomadic, operation.
-
-
- In order to make the servers directly accessible to the lude tools, the
- /usr/local/server directory must lead to the /usr/local/soft
- directories on the reachable servers. This is conveniently achieved
- through automount (amd-5.2) and NFS. For instance, one could have:
-
- % ls /usr/local/server
- lude-poly lude-iro1 lude-crim
- % ls /usr/local/server/lude-poly
- amd-5.2 ghostscript-2.4.1
- andrew-5.1 ghostview-1.2
- dig.2.0 less-177
- emacs-18.58 libg++-2.0
- emacs-19.0 lude-1.0
- find-3.5 modula3-2.11
- gcc-2.1
-
-
- Some coordination is required between the different lude servers.
- Indeed, the same class names must be used to characterize the
- architecture and operating system of the computers. Similarly, when
- many packages use the same information (fonts, emacs macros),
- the location in /usr/local must be agreed upon.
-
- Mailing lists have been created for this purpose. Eventually they may
- be replaced by Usenet newsgroups.
-
- lude@iro.umontreal.ca: discussion and announcements on lude.
-
- lude-request@iro.umontreal.ca: requests to be added or removed
-
- lude-bugs@iro.umontreal.ca: problems encountered using the tools
- associated with lude.
-
-
- Each software package has a unique name consisting of its name and
- version number (for instance emacs-18.58). However, several
- modifications (or minor versions) may exist for a package;
- these usually represent minor modifications to
- the original source code (for instance in the Makefile). Most often,
- a single modification is needed and is named after the person or
- the site performing the compilation. Sometimes, a second
- modification exists which brings locally developed
- new functionality, such as the modifications poly-plain and
- poly-8bit for standard emacs versus one that accepts
- accentuated characters.
-
- The compiled binaries for a software package will differ according to the
- target architecture and operating system. The two together form the
- class of the target system. The following classes have been
- registered up to now. It is important that the same names be used
- throughout the various LUDE software libraries on connected servers.
-
- - linux0.99.10_386
-
- - sun3.5_68020
-
- - sun3.5_68010
-
- - sun4.1_sparc
-
- - sol2.1_sparc
-
- - vax4.3_vax
-
- - ultrix2.1_uvax
-
- - ultrix4.1_mips
-
- - dec2.1_alpha
-
- - hp8.0_s200
-
- - hp8.0_s800
-
- - ibm3.1_rs6000
-
- - sgi4.0_mips
-
-
- The proposed organization can be used on most operating systems that
- offer tree-structured file systems and symbolic links. The utilities
- that come along with LUDE require the Perl interpreter (available on
- most platforms) and the system commands tar, date, hostname/uname
- and domainname.
-
- To install LUDE, one needs access to the /usr/local directory,
- and bin, lib, include, man, info, doc, soft and server sub-directories
- must exist. A new sub-directory under /usr/local/soft will be created
- for each software package installed.
-
- To start, the LUDE utilities and the Perl interpreter must be retrieved.
- The following FTP servers are accessible on the Internet:
- ftp.crim.ca, ftp.iro.umontreal.ca and ftp.vlsi.polymtl.ca. With FTP,
- it is often easier to retrieve the complete subtree for a package
- and then remove the unwanted binaries (for architectures not
- used at your site).
-
- Here is how to proceed for installing lude and perl:
-
- % cd /usr/local/soft
- % ftp ftp.crim.ca
- Connected to Clouso.CRIM.CA.
- 220 clouso FTP server (Version 2.0WU(3) Mon Apr 12 22:48:26 EDT 1993) ready.
- Name (ftp.crim.ca:dagenais): ftp
- 331 Guest login ok, send e-mail address as password.
- Password:
- 230-
- 230-This ftp daemon support tar and compress.
- 230-To get a directory, append ".tar" to the name of the directory.
- 230-To get a compress version, append ".Z" to the name of the directory or file.
- 230-
- 230-
- 230 Guest login ok, access restrictions apply.
- ftp> cd lude-crim
- 250 CWD command successful.
- ftp> binary
- 200 Type set to I.
- ftp> ls
- 200 PORT command successful.
- 150 Opening ASCII mode data connection for file list.
- X11R5
- TeX-3.141
- xrolo-v2p6
- procmail-2.7
- et3.0-alpha.1
- lucid-19.3
- hyperbole-3.04
- wafe-0.92
- cvswrapper-0.9
- xntp-3.0
- bibview-1.4
- etgdb
- perl-4.035
- lude-1.1
- 226 Transfer complete.
- 859 bytes received in 0.3 seconds (2.8 Kbytes/s)
- ftp> get lude-1.1.tar.Z
- 200 PORT command successful.
- 150 Opening BINARY mode data connection for /bin/tar.
- 226 Transfer complete.
- local: lude-1.1.tar.Z remote: lude-1.1.tar.Z
- ftp> get perl-4.035.tar.Z
- 200 PORT command successful.
- 150 Opening BINARY mode data connection for /bin/tar.
- 226 Transfer complete.
- local: perl-4.035.tar.Z remote: perl-4.035.tar.Z
- ftp> quit
- 221 Goodbye.
-
- % zcat lude-1.1.tar.Z | tar xf -
- % rm lude-1.1.tar.Z
- % zcat perl-4.035.tar.Z | tar xf -
- % rm perl-4.035.tar.Z
- % sh
- $ PERL=/usr/local/soft/perl-4.035/run/poly/sun4.1_sparc/bin/perl
- $ cd /usr/local/soft/lude-1.1/run/poly_eng/sun4.1_sparc/bin
- $ $PERL lude -sof perl-4.035 -mod poly -cl sun4.1_sparc -link
- $ ./lude -sof lude-1.1 -mod poly -class sun4.1_sparc -link
- $ exit
- %
-
-
- Then, any other software package is easily installed. Suppose that you
- also downloaded modula3-2.11.tar.Z in /usr/local/soft using FTP.
- The following commands are now sufficient to install it.
-
- % zcat modula3-2.11.tar.Z | tar xf -
- % rm modula3-2.11.tar.Z
- % lude -sof modula3-2.11 -mod poly -class sun4.1_sparc -link
-
-
- However, if lude or perl are not available for your
- architecture, their README files should explain how they can be
- compiled and installed.
-
- Each software package is placed in its own subtree. Moreover, every
- version of a software package is treated as a different package with its
- own subtree. The unique name of a package is then formed by the
- concatenation of its name and version number (e.g. emacs-18.58,
- modula3-2.11). This enables more than one version of the same software
- to coexist peacefully during transitions and simplifies the management
- of disk space since each package is kept separate.
-
- Inside the subtree, three subdirectories are present src,
- run and install, as well as a file, history, which traces where
- this package was copied from.
-
- Software-Version
- ______________________________|____________________
- / | | \
- src run history install
- ___|___ ________|____ ___|___
- / | \ / | \ / | \
- orig mod ... share mod ... orig mod ...
- _|_ _|_____________ ______|______
- / \ / | \ / \
- man ... `class` share ... `class` ...
- ______________|____ _|_ | |
- / | | | | \ / \ | |
- bin man lib etc info ... man ... mapping mapping
-
-
- The lude tools are used to create this file hierarchy, to install
- symbolic links in the standard directories (/usr/local/bin, lib...)
- and to make the associated documentation available via World Wide Web
- and WAIS document browsing servers.
-
- Each installed software package has an associated summary under the
- Internet Anonymous FTP Archive format (IAFA-PACKAGES). Moreover,
- man pages, info files and miscellaneous files in the doc subdirectory
- of a package are recognized by the documentation indexing tool.
- Portions of this documentation (synopsis of man pages, IAFA-PACKAGES
- files...) is indexed through the Wide Area Information System (WAIS)
- and all these files are linked to form a World Wide Web hypertext
- document. Thus, it permits keyword searches to find relevant
- software packages, and easy hypertext navigation through
- the IAFA-PACKAGES, info, doc and man pages that accompany a
- software package, using a single browsing tool.
-
- The LUDE tools and associated documentation are freely redistributable
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- Enjoy!
-
- Pierre Laplante; Centre de Recherche Informatique de Montreal
- Stephane Boucher, Michel Dagenais: Ecole Polytechnique de Montreal
- Robert Gerin-Lajoie, Pierre Mailhot: Universite de Montreal
-
- exit 0 # Just in case...
-