#!/usr/bin/env python from distutils.core import setup import distutils.sysconfig import os ## define some strings (not patterns) to exclude specific files or directories IGNORE_FILES = [ '.svn' ] ## define the data destination directory (below the python directory - we will fix this for debian in the rules file) datadir = distutils.sysconfig.get_python_lib() ## remove installation prefix to get relative path datadir = datadir.replace(distutils.sysconfig.get_config_var("prefix") + os.path.sep, '') datadir = os.path.join(datadir, 'cryptobox','share') def getdatafiles(dirs): filelist = [] def listfiles(srcdir): ## add the files of this directory result = [(os.path.join(datadir,srcdir), [ os.path.join(srcdir, f) for f in os.listdir(srcdir) if os.path.isfile(os.path.join(srcdir, f)) and not f in IGNORE_FILES ])] ## add the files in subdirectories for d in os.listdir(os.path.join(srcdir)): if os.path.isdir(os.path.join(srcdir,d)) and not d in IGNORE_FILES: result.extend(listfiles(os.path.join(srcdir,d))) return result for d in dirs: filelist.extend(listfiles(d)) return filelist setup( name = 'cryptobox', version = '0.3.0', description = 'webinterface for handling encrypted disks', author = 'Lars Kruse', author_email = 'devel@sumpfralle.de', maintainer = 'Lars Kruse', maintainer_email = 'devel@sumpfralle.de', license = 'GPL', url = 'http://cryptobox.org', packages = [ 'cryptobox', 'cryptobox.core', 'cryptobox.web', 'cryptobox.plugins', 'cryptobox.tests' ], data_files = getdatafiles(['templates','www-data','lang','plugins','event-scripts','conf-examples']) + [ (datadir, ['README']), (datadir, ['CHANGELOG']), (datadir, ['LICENSE'])], package_dir = { 'cryptobox': 'src' }, scripts = [ 'bin/CryptoBoxWebserver', 'bin/CryptoBoxRootActions' ], classifiers = [ 'Development Status :: 2 - Beta', 'Environment :: Web Environment', 'Intended Audience :: End Users/Desktop', 'Intended Audience :: System Administrators', 'License :: OSI Approved :: GNU General Public License (GPL)', 'Topic :: System :: Systems Administration', 'Operating System :: POSIX', 'Operating System :: Unix', 'Programming Language :: Python'], )