Subject: Re: Packages (Re: xntpd)
To: Jesus M. Gonzalez <jgb@gsyc.inf.uc3m.es>
From: Geir Inge Jensen <geiri@staff.cs.uit.no>
List: current-users
Date: 01/05/1996 09:51:46
> >
> >The structure you suggest (putting everything belonging to one package in a
> >single dir) seems reasonably to me, too. Using pkg_tools won't be a problem
> >this way, but you'll have to provide some methods so users don't have to
> >maintain a list of directories for $PATH, $MANPATH, etc. for themselves.
> 
> 	Now we are dealing with that using two methods:
> 
> 	1. Links in /usr/local/bin, /usr/local/man, etc. That way,
> when you upgrade to a new version of a package, just grep in that
> directories looking for references to the old /usr/local/install/foo,
> delete them, and make new symlinks. That can be easily automated.

You don't have to reinvent the wheel - have a look at 'Store', A System for
Third Party Software Installation and Maintenance. I love it, and as a
consequence, I don't use /usr/local anymore. We have also used it here at
the University for a while, and it works great. 

I admit that 'store' is intended to be used in large installations, with
file-servers serving multiple platforms. However, it organizes everything so
well, that I have chosen to use it on my stand-alone NetBSD i386.

>From the 'store' documentation:

What is STORE?

Store is a concept for handling third-party programs under Unix. 

The goal of STORE is to give administrators and users a framework that: 

     - provides a clear view on each single application, 
     - is transparent to users, 
     - allows handling several versions of one program, 
     - keeps information on local modifications, 
     - eases cooperation and sharing of applications between several
       organizations with different computer usage patterns, 
     - eases equivalent installation of programs between different
       hardware/software platforms, and 
     - lets administrators choose which applications to make available on
       each machine, so single applications may be added
     - and removed as needed. 

To provide these features, STORE is a set of programs, supporting a central
concept on how to organize software installation. The central concept is:

     - All files belonging to one single application should be kept
       together in one single directory tree. 
     - For each collection of machines in organizations in a cooperating
       STORE environment, there should be one and only
     - one such master directory for each application. 
     - An application may need some architecture dependent files, and some
       independent files. In STORE, an application has
     - several versions of architecture dependent files, and one common
       version of each architecture independent file. 
     - To ensure availability and acceptable access speed, the application
       packages should be automatically distributed to
     - local copies, enabling automatic propagation of changes in the
       original version. 
     - A virtual directory tree with symbolic links weaves together the
       multitude of packages, creating a "normal" tree for
     - the end-user and ensuring simple use of programs. 


For those who are interested in looking at store, you will find more
information at http://www.pvv.unit.no/~arnej/store/storedoc_2.html. Now -
this URL is old, and has not been updated for a looong time. Store has gone
through substantial improvements since then.

Version 2.2 of the store document can be found at 
'http://www.pvv.unit.no:1848/info/store.info'. 

I encourage you to give it a try. If you are using it on all software (like
me) you will find that it gives you the control you want over all packages. 

Bye,
-- 
Geir Inge Jensen                               Department of Computer Science
                                               University of Tromsų, Norway
SMTP : geiri@staff.cs.uit.no
URL  : http://www.cs.uit.no/~geiri/            Phone: +47 77 64 57 47