[qmtest] running qmtest on bash in cygwin...

Mark Mitchell mark at codesourcery.com
Sat Aug 23 17:11:09 UTC 2003


On Fri, 2003-08-22 at 19:24, Zack Weinberg wrote:
> Stefan Seefeld <seefeld at sympatico.ca> writes:
> 
> > What about a build procedure purely based on python's distutils package ?
> > The setup.py scripts can contain different sets of files to install:
> >
> > * python modules
> > * data files
> > * scripts
> >
> > And with 'python setup.py --prefix=...' or 'python setup.py
> > --home=...' you have pretty much complete control over where
> > everything is installed. There are even more fine-grained options to
> > specifically control scripts, data files, and modules, if the above
> > isn't sufficient.

Certainly, if distutils can do the whole job, we'd prefer that.

We started out with "make" several years ago (when Python 1.5 was our
standard version of Python and distutils was a separate module); nobody
has ever tried to go back and eliminate make.

> > The default installation would put the modules under python's site-packages,
> > and the rest into /usr/local/[share, bin], which is what I would expect
> > from a typical debian / rpm package.

Yes, that sounds right.

> > And for those who want everything in a single isolated place, an installation
> > using the '--home' parameter would probably do the trick. In any case, the

"./configure --prefix" should still have that effect.

That's very important because one mode in which QMTest is distributed is
as a tarball containing binaries for both QMTest and Python.  That's
important for users on systems where Python isn't installed by default.

The high-level concept is that while we'd like QMTest to play better
with Python, we want to keep it usable as an independent application as
well.

> > main executable could be a python script, and some little experimentation
> > suggests that the qm/test/qmtest.py file is almost ready to serve, i.e.
> > the qmtest.[bat, sh] files aren't really needed then.

That is also a desirable goal.  

However, the logic where by qmtest.sh finds a version of Python
installed in /path/to/qmtest/bin is required for the set-up above. 
Therefore, something has to be done to preserve that behavior, or
something equivalent.

Perhaps playing these kind of games with the script:

  #! /bin/sh exec $0

(with something more advanced) would work.

-- 
Mark Mitchell
CodeSourcery, LLC
mark at codesourcery.com




More information about the qmtest mailing list