From 0c6bb0178bb3f8ff44af29259df7ead85d07e437 Mon Sep 17 00:00:00 2001 From: Zooko O'Whielacronx <zooko@zooko.com> Date: Sun, 5 Sep 2010 22:57:14 -0700 Subject: [PATCH] setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed --- Makefile | 4 ++-- setup.py | 14 ++++++-------- _auto_deps.py => src/allmydata/_auto_deps.py | 8 ++++++++ 3 files changed, 16 insertions(+), 10 deletions(-) rename _auto_deps.py => src/allmydata/_auto_deps.py (93%) diff --git a/Makefile b/Makefile index 723d656d..316c7d1f 100644 --- a/Makefile +++ b/Makefile @@ -243,10 +243,10 @@ test-darcs-boringfile: $(PYTHON) misc/build_helpers/test-darcs-boringfile.py test-clean: - find . |grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|auto_deps|appname).py" |sort >allfiles.tmp.old + find . |grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|appname).py" |sort >allfiles.tmp.old $(MAKE) $(MAKE) clean - find . |grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|auto_deps|appname).py" |sort >allfiles.tmp.new + find . |grep -vEe "_darcs|allfiles.tmp|src/allmydata/_(version|appname).py" |sort >allfiles.tmp.new diff allfiles.tmp.old allfiles.tmp.new clean: diff --git a/setup.py b/setup.py index 267c8c71..3959531b 100644 --- a/setup.py +++ b/setup.py @@ -48,11 +48,6 @@ from setuptools import find_packages, setup from setuptools.command import sdist from setuptools import Command -# Make the dependency-version-requirement, which is used by the Makefile at -# build-time, also available to the app at runtime: -shutil.copyfile("_auto_deps.py", - os.path.join("src", "allmydata", "_auto_deps.py")) - trove_classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Console", @@ -224,8 +219,9 @@ class CheckAutoDeps(Command): def finalize_options(self): pass def run(self): - import _auto_deps - _auto_deps.require_auto_deps() + adglobals = {} + execfile('src/allmydata/_auto_deps.py', adglobals) + adglobals['require_auto_deps']() class MakeExecutable(Command): @@ -326,7 +322,9 @@ class MySdist(sdist.sdist): # Tahoe's dependencies are managed by the find_links= entry in setup.cfg and # the _auto_deps.install_requires list, which is used in the call to setup() # below. -from _auto_deps import install_requires +adglobals = {} +execfile('src/allmydata/_auto_deps.py', adglobals) +install_requires = adglobals['install_requires'] APPNAME='allmydata-tahoe' APPNAMEFILE = os.path.join('src', 'allmydata', '_appname.py') diff --git a/_auto_deps.py b/src/allmydata/_auto_deps.py similarity index 93% rename from _auto_deps.py rename to src/allmydata/_auto_deps.py index d5711450..aa148e20 100644 --- a/_auto_deps.py +++ b/src/allmydata/_auto_deps.py @@ -1,3 +1,10 @@ +# Note: do not import any module from Tahoe-LAFS itself in this +# file. Also please avoid importing modules from other packages than +# the Python Standard Library if at all possible (exception: we rely +# on importing pkg_resources, which is provided by setuptools, +# zetuptoolz, distribute, and perhaps in the future distutils2, for +# the require_auto_deps() function.) + install_requires=[ # we require newer versions of setuptools (actually # zetuptoolz) to build, but can handle older versions to run @@ -64,6 +71,7 @@ if sys.version_info < (2, 5): if hasattr(sys, 'frozen'): # for py2exe install_requires=[] +del sys # clean up namespace def require_python_version(): import sys, platform -- 2.45.2