[cig-commits] r5217 - in cs/merlin/trunk: . merlin merlin/command merlin.egg-info

leif at geodynamics.org leif at geodynamics.org
Thu Nov 9 15:51:25 PST 2006


Author: leif
Date: 2006-11-09 15:51:25 -0800 (Thu, 09 Nov 2006)
New Revision: 5217

Modified:
   cs/merlin/trunk/merlin.egg-info/entry_points.txt
   cs/merlin/trunk/merlin/command/egg_info.py
   cs/merlin/trunk/merlin/dist.py
   cs/merlin/trunk/setup.py
Log:
Added 'merlin' namespace to all metadata to avoid conflict
with setuptools.

Setuptools (and thus merlin) works by patching distutils.
(Yuck... why not just replace it outright?  Merlin will
probably end up doing this eventually.)

Only one package can patch distutils, so if the bona fide
setuptools gets imported at all, it will bomb with a "distutils
has already been patched" exception (see _get_unpatched).
Presumably the reverse is also true.

Code should never do anything that prevents other code from
doing the same thing.  This is why patches which check the
return address are evil ("if I'm being called from xyz, do
this...").


Modified: cs/merlin/trunk/merlin/command/egg_info.py
===================================================================
--- cs/merlin/trunk/merlin/command/egg_info.py	2006-11-09 22:36:47 UTC (rev 5216)
+++ cs/merlin/trunk/merlin/command/egg_info.py	2006-11-09 23:51:25 UTC (rev 5217)
@@ -165,7 +165,7 @@
     def run(self):
         self.mkpath(self.egg_info)
         installer = self.distribution.fetch_build_egg
-        for ep in iter_entry_points('egg_info.writers'):
+        for ep in iter_entry_points('merlin.egg_info.writers'):
             writer = ep.load(installer=installer)
             writer(self, ep.name, os.path.join(self.egg_info,ep.name))
         self.find_sources()

Modified: cs/merlin/trunk/merlin/dist.py
===================================================================
--- cs/merlin/trunk/merlin/dist.py	2006-11-09 22:36:47 UTC (rev 5216)
+++ cs/merlin/trunk/merlin/dist.py	2006-11-09 23:51:25 UTC (rev 5217)
@@ -218,7 +218,7 @@
             assert_string_list(self,'dependency_links',self.dependency_links)
         if attrs and 'setup_requires' in attrs:
             self.fetch_build_eggs(attrs.pop('setup_requires'))
-        for ep in merlin.iter_entry_points('distutils.setup_keywords'):
+        for ep in merlin.iter_entry_points('merlin.distutils.setup_keywords'):
             if not hasattr(self,ep.name):
                 setattr(self,ep.name,None)
         _Distribution.__init__(self,attrs)
@@ -250,7 +250,7 @@
         if self.features:
             self._set_global_opts_from_features()
 
-        for ep in merlin.iter_entry_points('distutils.setup_keywords'):
+        for ep in merlin.iter_entry_points('merlin.distutils.setup_keywords'):
             value = getattr(self,ep.name,None)
             if value is not None:
                 ep.require(installer=self.fetch_build_egg)
@@ -350,7 +350,7 @@
         if command in self.cmdclass:
             return self.cmdclass[command]
 
-        for ep in merlin.iter_entry_points('distutils.commands',command):
+        for ep in merlin.iter_entry_points('merlin.distutils.commands',command):
             ep.require(installer=self.fetch_build_egg)
             self.cmdclass[command] = cmdclass = ep.load()
             return cmdclass
@@ -358,7 +358,7 @@
             return _Distribution.get_command_class(self, command)
 
     def print_commands(self):
-        for ep in merlin.iter_entry_points('distutils.commands'):
+        for ep in merlin.iter_entry_points('merlin.distutils.commands'):
             if ep.name not in self.cmdclass:
                 cmdclass = ep.load(False) # don't require extras, we're not running
                 self.cmdclass[ep.name] = cmdclass

Modified: cs/merlin/trunk/merlin.egg-info/entry_points.txt
===================================================================
--- cs/merlin/trunk/merlin.egg-info/entry_points.txt	2006-11-09 22:36:47 UTC (rev 5216)
+++ cs/merlin/trunk/merlin.egg-info/entry_points.txt	2006-11-09 23:51:25 UTC (rev 5217)
@@ -1,4 +1,17 @@
-[distutils.setup_keywords]
+[merlin.file_finders]
+svn_cvs = merlin.command.sdist:_default_revctrl
+
+[merlin.egg_info.writers]
+dependency_links.txt = merlin.command.egg_info:overwrite_arg
+requires.txt = merlin.command.egg_info:write_requirements
+PKG-INFO = merlin.command.egg_info:write_pkg_info
+eager_resources.txt = merlin.command.egg_info:overwrite_arg
+top_level.txt = merlin.command.egg_info:write_toplevel_names
+namespace_packages.txt = merlin.command.egg_info:overwrite_arg
+entry_points.txt = merlin.command.egg_info:write_entries
+depends.txt = merlin.command.egg_info:warn_depends_obsolete
+
+[merlin.distutils.setup_keywords]
 dependency_links = merlin.dist:assert_string_list
 entry_points = merlin.dist:check_entry_points
 extras_require = merlin.dist:check_extras
@@ -13,23 +26,7 @@
 test_loader = merlin.dist:check_importable
 tests_require = merlin.dist:check_requirements
 
-[merlin.file_finders]
-svn_cvs = merlin.command.sdist:_default_revctrl
-
-[egg_info.writers]
-dependency_links.txt = merlin.command.egg_info:overwrite_arg
-requires.txt = merlin.command.egg_info:write_requirements
-PKG-INFO = merlin.command.egg_info:write_pkg_info
-eager_resources.txt = merlin.command.egg_info:overwrite_arg
-top_level.txt = merlin.command.egg_info:write_toplevel_names
-namespace_packages.txt = merlin.command.egg_info:overwrite_arg
-entry_points.txt = merlin.command.egg_info:write_entries
-depends.txt = merlin.command.egg_info:warn_depends_obsolete
-
-[console_scripts]
-merlin = merlin.command.easy_install:main
-
-[distutils.commands]
+[merlin.distutils.commands]
 bdist_rpm = merlin.command.bdist_rpm:bdist_rpm
 install_deps = merlin.command.install_deps:install_deps
 rotate = merlin.command.rotate:rotate
@@ -51,3 +48,6 @@
 build_ext = merlin.command.build_ext:build_ext
 sdist = merlin.command.sdist:sdist
 
+[console_scripts]
+merlin = merlin.command.easy_install:main
+

Modified: cs/merlin/trunk/setup.py
===================================================================
--- cs/merlin/trunk/setup.py	2006-11-09 22:36:47 UTC (rev 5216)
+++ cs/merlin/trunk/setup.py	2006-11-09 23:51:25 UTC (rev 5217)
@@ -43,12 +43,12 @@
 
     entry_points = {
 
-        "distutils.commands" : [
+        "merlin.distutils.commands" : [
             "%(cmd)s = merlin.command.%(cmd)s:%(cmd)s" % locals()
             for cmd in SETUP_COMMANDS
         ],
 
-        "distutils.setup_keywords": [
+        "merlin.distutils.setup_keywords": [
             "eager_resources      = merlin.dist:assert_string_list",
             "namespace_packages   = merlin.dist:check_nsp",
             "extras_require       = merlin.dist:check_extras",
@@ -64,7 +64,7 @@
             "test_loader          = merlin.dist:check_importable",
         ],
 
-        "egg_info.writers": [
+        "merlin.egg_info.writers": [
             "PKG-INFO = merlin.command.egg_info:write_pkg_info",
             "requires.txt = merlin.command.egg_info:write_requirements",
             "entry_points.txt = merlin.command.egg_info:write_entries",



More information about the cig-commits mailing list