FHS, zopectl, #925, Re: [Zope-dev] 2.7 installation

Shane Hathaway shane@zope.com
Fri, 20 Jun 2003 10:37:33 -0400


Jean Jordaan wrote:
>> It *sounds* like it's being suggested that we replace "make" 
> 
> 
> That's correct, though Aap can usefully do much more than make,
> such as fetching remote sources and managing CVS checkouts/-ins.

This is the kind of thing I'm interested in.  I don't need a make 
replacement, I need a way to manage combinations of software.  I have 
the following essential use cases:

1. Zope Corp.'s customer needs to install 15-20 particular versions of 
software that ZC ships to them (including Python, Zope, ZRS, Zope 
products, Spread, and some scripts.)  The customer needs the process of 
installing to take a minimum of effort, therefore all packages should be 
bundled into a single archive and the whole build process should be 
automated.  Zope Corp. needs to be sure that the customer installs 
exactly the right versions of software.  Once the software is installed, 
the customer should be able to run some tests to verify correct 
installation.

2. When Zope Corp. ships a new version of the software to the customer, 
the process of upgrading should be as simple as the first installation. 
  The upgrade process should remove old files before installing new files.

I also have the following important, but not essential, use cases:

3. It should be possible to find out easily what software versions and 
CVS tags the customer is using.  Therefore, all software versions and 
CVS tags should be managed in a central place, ideally in a single, 
short file.

4. It should be easy to build the software from scratch.  This primarily 
serves the needs of developers, but it also serves customers who want to 
build the software on their own systems rather than use binary packages.

5. The software should be managed independently of the operating system. 
  The system might have a stock version of Python 2.1.2 installed, but 
my software requires Python 2.1.3 with large file support and a patch to 
distutils.

So, does a-a-p or scons do those things?  (This might be too much to 
ask, but my little prototype software combination manager does almost 
all of these things.)

Shane