[Distutils] Data file installation locations: how to specify...

Mike C. Fletcher mcfletch@geocities.com
Thu Dec 13 23:56:01 2001


I've received reports that one of my packages (OpenGLContext) installs 
certain data files somewhere under /usr/ on certain Unix-like systems 
instead of using the Package directory.  I'd like to figure out if this 
is expected behaviour, a bug, a version-specific bug, or an expected 
behaviour with another option available to avoid it.


I'm specifying the data files with:

	dataFiles = []
	def nonPythonFile( file ):
		if string.lower( file ) == 'cvs':
			return 0
		else:
			return os.path.splitext( file )[1] not in ('.py','.pyc','.pyo', '.db')
	for directory in ["tests","docs"]:
		finalFiles = []
		for file in os.listdir( directory):
			if nonPythonFile(file):
				finalFiles.append (os.path.join(directory, file))
		dataFiles.append (
			('OpenGLContext/%s'%(directory),finalFiles)
		)


	setup (
		name = "OpenGLContext",
		version = "1.0a2",
		description = "Demonstration and testing contexts for PyOpenGL 2.0",
		author = "Mike C. Fletcher",
		author_email = "mcfletch@geocities.com",
		url = "http://pyopengl.sourceforge.net/documentation/openglcontext/",
		license = "BSD-style, see license.txt for details",

		package_dir = {'OpenGLContext':'.'},

		packages = [
			'OpenGLContext',
			'OpenGLContext.tests',
			'OpenGLContext.scenegraph',
			'OpenGLContext.scenegraph.text',
			'OpenGLContext.events',
			'OpenGLContext.pydoc',
			'OpenGLContext.loaders',
		],
		# non python files of examples
		data_files = dataFiles,
	)


Expecting that the data_files will get copied into the OpenGLContext 
package's directory (which happens on Win32).  Is there some other 
option to say "data file in the package directory"?  I'm using distutils 
'1.0.2pre', assuming the users are using whatever came with their 2.0 or 
2.1 distributions.

Thoughts appreciated,
Mike
-- 
_______________________________________
   Mike C. Fletcher
   http://members.rogers.com/mcfletch/