aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools/command/bdist_egg.py
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2006-06-07 19:36:49 +0000
committerPJ Eby <distutils-sig@python.org>2006-06-07 19:36:49 +0000
commitf51668576f921197b6596d835a810a130e7a77e4 (patch)
tree847d3582b6911cdf705ea74a971cb9dfdffa37a9 /setuptools/command/bdist_egg.py
parent760c89adb7d3fb6a067a030c4694777bc442731f (diff)
downloadexternal_python_setuptools-f51668576f921197b6596d835a810a130e7a77e4.tar.gz
external_python_setuptools-f51668576f921197b6596d835a810a130e7a77e4.tar.bz2
external_python_setuptools-f51668576f921197b6596d835a810a130e7a77e4.zip
Fix bdist_egg not including files in .egg-info subdirectories.
(merge from trunk) --HG-- branch : setuptools-0.6 extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4046722
Diffstat (limited to 'setuptools/command/bdist_egg.py')
-rw-r--r--setuptools/command/bdist_egg.py38
1 files changed, 19 insertions, 19 deletions
diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py
index 7f32c369..0ae3984e 100644
--- a/setuptools/command/bdist_egg.py
+++ b/setuptools/command/bdist_egg.py
@@ -8,7 +8,7 @@ from setuptools import Command
from distutils.dir_util import remove_tree, mkpath
from distutils.sysconfig import get_python_version, get_python_lib
from distutils import log
-from pkg_resources import get_build_platform, Distribution
+from pkg_resources import get_build_platform, Distribution, ensure_directory
from types import CodeType
from setuptools.extension import Library
@@ -91,7 +91,7 @@ class bdist_egg(Command):
def finalize_options(self):
- ei_cmd = self.get_finalized_command("egg_info")
+ ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info")
self.egg_info = ei_cmd.egg_info
if self.bdist_dir is None:
@@ -216,10 +216,7 @@ class bdist_egg(Command):
if not self.dry_run:
os.unlink(native_libs)
- for filename in os.listdir(self.egg_info):
- path = os.path.join(self.egg_info,filename)
- if os.path.isfile(path):
- self.copy_file(path,os.path.join(egg_info,filename))
+ self.copy_metadata_to(egg_info)
write_safety_flag(
os.path.join(archive_root,'EGG-INFO'), self.zip_safe()
@@ -233,7 +230,7 @@ class bdist_egg(Command):
if self.exclude_source_files:
self.zap_pyfiles()
-
+
# Make the archive
make_zipfile(self.egg_output, archive_root, verbose=self.verbose,
dry_run=self.dry_run)
@@ -244,6 +241,9 @@ class bdist_egg(Command):
getattr(self.distribution,'dist_files',[]).append(
('bdist_egg',get_python_version(),self.egg_output))
+
+
+
def zap_pyfiles(self):
log.info("Removing .py files from temporary directory")
for base,dirs,files in walk_egg(self.bdist_dir):
@@ -262,7 +262,7 @@ class bdist_egg(Command):
def make_init_files(self):
"""Create missing package __init__ files"""
- init_files = []
+ init_files = []
for base,dirs,files in walk_egg(self.bdist_dir):
if base==self.bdist_dir:
# don't put an __init__ in the root
@@ -276,7 +276,7 @@ class bdist_egg(Command):
filename = os.path.join(base,'__init__.py')
if not self.dry_run:
f = open(filename,'w'); f.write(NS_PKG_STUB)
- f.close()
+ f.close()
init_files.append(filename)
break
else:
@@ -285,6 +285,14 @@ class bdist_egg(Command):
return init_files
+ def copy_metadata_to(self, target_dir):
+ prefix = os.path.join(self.egg_info,'')
+ for path in self.ei_cmd.filelist.files:
+ if path.startswith(prefix):
+ target = os.path.join(target_dir, path[len(prefix):])
+ ensure_directory(target)
+ self.copy_file(path, target)
+
def get_ext_outputs(self):
"""Get a list of relative paths to C extensions in the output distro"""
@@ -318,18 +326,10 @@ NATIVE_EXTENSIONS = dict.fromkeys('.dll .so .dylib .pyd'.split())
-
-
-
-
-
-
-
-
def walk_egg(egg_dir):
"""Walk an unpacked egg's contents, skipping the metadata directory"""
walker = os.walk(egg_dir)
- base,dirs,files = walker.next()
+ base,dirs,files = walker.next()
if 'EGG-INFO' in dirs:
dirs.remove('EGG-INFO')
yield base,dirs,files
@@ -448,4 +448,4 @@ def make_zipfile (zip_filename, base_dir, verbose=0, dry_run=0, compress=None):
return zip_filename
-
+#