[Zope-Checkins] CVS: Zope - setup.py:1.9
Matt Behrens
matt@zigg.com
Wed, 10 Jul 2002 20:22:32 -0400
Update of /cvs-repository/Zope
In directory cvs.zope.org:/tmp/cvs-serv15323
Modified Files:
setup.py
Log Message:
disable install unless given a destination directory, to allay fears of
people destroying their site-packages directories; this should hold us
until the installer is done and merged... hopefully in 2.7...
also detabify (I should do this more often)
=== Zope/setup.py 1.8 => 1.9 ===
def setup(name=None, author=None, cmdclass=None, **kwargs):
setup_info = sys.modules[__name__].setup_info
for keyword in kwargs.keys():
- if not setup_info.has_key(keyword):
- setup_info[keyword] = []
- setup_info[keyword] += kwargs[keyword]
+ if not setup_info.has_key(keyword):
+ setup_info[keyword] = []
+ setup_info[keyword] += kwargs[keyword]
# Override install_data to install into module directories, and to support
# globbing on data_files.
from types import StringType
+from distutils.command.install import install
from distutils.command.install_data import install_data
-from distutils.errors import DistutilsFileError
+from distutils.errors import DistutilsFileError, DistutilsOptionError
from distutils.util import convert_path
from glob import glob
@@ -115,6 +116,37 @@
(out, _) = self.copy_file(g, dir)
self.outfiles.append(out)
+class install(install):
+ def finalize_unix (self):
+ if self.install_base is not None or self.install_platbase is not None:
+ if ((self.install_lib is None and
+ self.install_purelib is None and
+ self.install_platlib is None) or
+ self.install_headers is None or
+ self.install_scripts is None or
+ self.install_data is None):
+ raise DistutilsOptionError, \
+ "install-base or install-platbase supplied, but " + \
+ "installation scheme is incomplete"
+ return
+
+ if self.home is not None:
+ self.install_base = self.install_platbase = self.home
+ self.select_scheme("unix_home")
+ else:
+ if self.prefix is None:
+ if self.exec_prefix is not None:
+ raise DistutilsOptionError, \
+ "must not supply exec-prefix without prefix"
+ raise DistutilsOptionError, "must supply installation path"
+ else:
+ if self.exec_prefix is None:
+ self.exec_prefix = self.prefix
+
+ self.install_base = self.prefix
+ self.install_platbase = self.exec_prefix
+ self.select_scheme("unix_prefix")
+
AUTHOR = 'Zope Corporation and Contributors'
ZOPE_ROOT = os.path.abspath(os.getcwd())
EXTENSIONCLASS_ROOT = os.path.join(ZOPE_ROOT, 'lib', 'Components', 'ExtensionClass')
@@ -714,11 +746,11 @@
author=AUTHOR,
packages=['Products.PluginIndexes',
- 'Products.PluginIndexes.DateIndex',
- 'Products.PluginIndexes.DateIndex.tests',
- 'Products.PluginIndexes.DateRangeIndex',
- 'Products.PluginIndexes.DateRangeIndex.tests',
- 'Products.PluginIndexes.FieldIndex',
+ 'Products.PluginIndexes.DateIndex',
+ 'Products.PluginIndexes.DateIndex.tests',
+ 'Products.PluginIndexes.DateRangeIndex',
+ 'Products.PluginIndexes.DateRangeIndex.tests',
+ 'Products.PluginIndexes.FieldIndex',
'Products.PluginIndexes.FieldIndex.tests',
'Products.PluginIndexes.KeywordIndex',
'Products.PluginIndexes.KeywordIndex.tests',
@@ -737,11 +769,11 @@
data_files=[['Products/PluginIndexes', ['Products/PluginIndexes/*.txt']],
['Products/PluginIndexes/DateIndex',
- ['Products/PluginIndexes/DateIndex/README.txt']],
+ ['Products/PluginIndexes/DateIndex/README.txt']],
['Products/PluginIndexes/DateIndex/dtml',
['Products/PluginIndexes/DateIndex/dtml/*']],
['Products/PluginIndexes/DateRangeIndex',
- ['Products/PluginIndexes/DateRangeIndex/README.txt']],
+ ['Products/PluginIndexes/DateRangeIndex/README.txt']],
['Products/PluginIndexes/DateRangeIndex/dtml',
['Products/PluginIndexes/DateRangeIndex/dtml/*']],
['Products/PluginIndexes/FieldIndex/dtml',
@@ -883,7 +915,7 @@
'Products.Transience.tests'],
data_files=[['Products/Transience', ['Products/Transience/*.stx']],
- ['Products/Transience/dtml', ['Products/Transience/dtml/*']],
+ ['Products/Transience/dtml', ['Products/Transience/dtml/*']],
['Products/Transience/help',
['Products/Transience/help/*.stx']],
['Products/Transience/www', ['Products/Transience/www/*']]],
@@ -912,19 +944,19 @@
author=AUTHOR,
ext_modules=[
- Extension(name='Products.ZCTextIndex.stopper',
- sources=['Products/ZCTextIndex/stopper.c']),
- Extension(name='Products.ZCTextIndex.okascore',
- sources=['Products/ZCTextIndex/okascore.c'])],
+ Extension(name='Products.ZCTextIndex.stopper',
+ sources=['Products/ZCTextIndex/stopper.c']),
+ Extension(name='Products.ZCTextIndex.okascore',
+ sources=['Products/ZCTextIndex/okascore.c'])],
packages=['Products.ZCTextIndex', 'Products.ZCTextIndex.tests'],
data_files=[['Products/ZCTextIndex', ['Products/ZCTextIndex/README.txt']],
- ['Products/ZCTextIndex/dtml', ['Products/ZCTextIndex/dtml/*']],
- ['Products/ZCTextIndex/help', ['Products/ZCTextIndex/help/*']],
- ['Products/ZCTextIndex/tests',
- ['Products/ZCTextIndex/tests/python.txt']],
- ['Products/ZCTextIndex/www', ['Products/ZCTextIndex/www/*']]],
+ ['Products/ZCTextIndex/dtml', ['Products/ZCTextIndex/dtml/*']],
+ ['Products/ZCTextIndex/help', ['Products/ZCTextIndex/help/*']],
+ ['Products/ZCTextIndex/tests',
+ ['Products/ZCTextIndex/tests/python.txt']],
+ ['Products/ZCTextIndex/www', ['Products/ZCTextIndex/www/*']]],
cmdclass={'install_data': install_data}
)
@@ -988,13 +1020,14 @@
headers=setup_info.get('headers', []),
ext_modules=setup_info.get('ext_modules', []),
- cmdclass={'install_data': install_data}
+ cmdclass={'install': install, 'install_data': install_data}
)
distutils_setup(
name='Zope',
author=AUTHOR,
- py_modules=setup_info.get('py_modules', [])
+ py_modules=setup_info.get('py_modules', []),
+ cmdclass={'install': install, 'install_data': install_data}
)
setup_info = {}
@@ -1071,11 +1104,12 @@
headers=setup_info.get('headers', []),
ext_modules=setup_info.get('ext_modules', []),
- cmdclass={'install_data': install_data}
+ cmdclass={'install': install, 'install_data': install_data}
)
distutils_setup(
name='Zope',
author=AUTHOR,
- py_modules=setup_info.get('py_modules', [])
+ py_modules=setup_info.get('py_modules', []),
+ cmdclass={'install': install, 'install_data': install_data}
)