[Checkins] SVN: zc.buildout/branches/jim-logging/src/zc/buildout/ checkpoint

Jim Fulton jim at zope.com
Sat May 26 10:23:43 EDT 2007


Log message for revision 75967:
  checkpoint

Changed:
  U   zc.buildout/branches/jim-logging/src/zc/buildout/buildout.py
  U   zc.buildout/branches/jim-logging/src/zc/buildout/buildout.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/debugging.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/downloadcache.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.py
  U   zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/repeatable.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/runsetup.txt
  U   zc.buildout/branches/jim-logging/src/zc/buildout/tests.py
  U   zc.buildout/branches/jim-logging/src/zc/buildout/update.txt

-=-
Modified: zc.buildout/branches/jim-logging/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/buildout.py	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/buildout.py	2007-05-26 14:23:42 UTC (rev 75967)
@@ -61,7 +61,7 @@
     'python': 'buildout',
     'executable': sys.executable,
     'log-level': 'INFO',
-    'log-format': '%(name)s: %(message)s',
+    'log-format': '',
     }
 
 class Buildout(UserDict.DictMixin):
@@ -69,7 +69,7 @@
     def __init__(self, config_file, cloptions,
                  user_defaults=True, windows_restart=False, command=None):
 
-        __doing__ = 'Initializing'
+        __doing__ = 'Initializing.'
         
         self.__windows_restart = windows_restart
 
@@ -81,7 +81,7 @@
             base = os.path.dirname(config_file)
             if not os.path.exists(config_file):
                 if command == 'init':
-                    print 'Creating', config_file
+                    print 'Creating %r.' % config_file
                     open(config_file, 'w').write('[buildout]\nparts = \n')
                 else:
                     raise zc.buildout.UserError(
@@ -185,7 +185,7 @@
         return os.path.join(self._buildout_dir, *names)
 
     def bootstrap(self, args):
-        __doing__ = 'Bootstraping'
+        __doing__ = 'Bootstraping.'
 
         self._setup_directories()
 
@@ -219,7 +219,7 @@
     init = bootstrap
 
     def install(self, install_args):
-        __doing__ = 'Installing'
+        __doing__ = 'Installing.'
 
         self._load_extensions()
         self._setup_directories()
@@ -268,7 +268,7 @@
         if not install_args:
             install_parts = self._parts
 
-        if self._log_level <= logging.DEBUG:
+        if self._log_level < logging.DEBUG:
             sections = list(self)
             sections.sort()
             print    
@@ -301,19 +301,20 @@
                         continue
 
                 # output debugging info
-                for k in old_options:
-                    if k not in new_options:
-                        self._logger.debug("Part: %s, dropped option %s",
-                                           part, k)
-                    elif old_options[k] != new_options[k]:
-                        self._logger.debug(
-                            "Part: %s, option %s, %r != %r",
-                            part, k, new_options[k], old_options[k],
-                            )
-                for k in new_options:
-                    if k not in old_options:
-                        self._logger.debug("Part: %s, new option %s",
-                                           part, k)
+                if self._logger.getEffectiveLevel() < logging.DEBUG:
+                    for k in old_options:
+                        if k not in new_options:
+                            self._logger.debug("Part %s, dropped option %s.",
+                                               part, k)
+                        elif old_options[k] != new_options[k]:
+                            self._logger.debug(
+                                "Part %s, option %s changed:\n%r != %r",
+                                part, k, new_options[k], old_options[k],
+                                )
+                    for k in new_options:
+                        if k not in old_options:
+                            self._logger.debug("Part %s, new option %s.",
+                                               part, k)
 
             elif not uninstall_missing:
                 continue
@@ -334,7 +335,7 @@
             recipe = self[part].recipe
             if part in installed_parts: # update
                 need_to_save_installed = False
-                __doing__ = 'Updating %s', part
+                __doing__ = 'Updating %s.', part
                 self._logger.info(*__doing__)
                 old_options = installed_part_options[part]
                 old_installed_files = old_options['__buildout_installed__']
@@ -377,7 +378,7 @@
 
             else: # install
                 need_to_save_installed = True
-                __doing__ = 'Installing %s', part
+                __doing__ = 'Installing %s.', part
                 self._logger.info(*__doing__)
                 installed_files = self[part]._call(recipe.install)
                 if installed_files is None:
@@ -425,7 +426,7 @@
 
     def _uninstall_part(self, part, installed_part_options):
         # ununstall part
-        __doing__ = 'Uninstalling %s', part
+        __doing__ = 'Uninstalling %s.', part
         self._logger.info(*__doing__)
 
         # run uinstall recipe
@@ -433,7 +434,7 @@
         try:
             uninstaller = _install_and_load(
                 recipe, 'zc.buildout.uninstall', entry, self)
-            self._logger.info('Running uninstall recipe')
+            self._logger.info('Running uninstall recipe.')
             uninstaller(part, installed_part_options[part])
         except (ImportError, pkg_resources.DistributionNotFound), v:
             pass
@@ -450,7 +451,7 @@
         for name in ('bin', 'parts', 'eggs', 'develop-eggs'):
             d = self['buildout'][name+'-directory']
             if not os.path.exists(d):
-                self._logger.info('Creating directory %s', d)
+                self._logger.info('Creating directory %r.', d)
                 os.mkdir(d)
 
     def _develop(self):
@@ -471,8 +472,8 @@
             try:
                 for setup in develop.split():
                     setup = self._buildout_path(setup)
-                    self._logger.info("Develop: %s", setup)
-                    __doing__ = 'Processing develop directory %s', setup
+                    self._logger.info("Develop: %r", setup)
+                    __doing__ = 'Processing develop directory %r.', setup
                     zc.buildout.easy_install.develop(setup, dest)
             except:
                 # if we had an error, we need to roll back changes, by
@@ -503,7 +504,7 @@
             if not (os.path.isfile(os.path.join(dest, f))
                     and f.endswith('.egg-link')):
                 self._logger.warning(
-                    "Unexpected entry, %s, in develop-eggs directory", f)
+                    "Unexpected entry, %r, in develop-eggs directory.", f)
 
     def _compute_part_signatures(self, parts):
         # Compute recipe signature and add to options
@@ -580,10 +581,21 @@
 
     def _setup_logging(self):
         root_logger = logging.getLogger()
+        self._logger = logging.getLogger('zc.buildout')
         handler = logging.StreamHandler(sys.stdout)
-        handler.setFormatter(logging.Formatter(self['buildout']['log-format']))
+        log_format = self['buildout']['log-format']
+        if not log_format:
+            # No format specified. Use different formatter for buildout
+            # and other modules, showing logger name except for buildout
+            log_format = '%(name)s: %(message)s'
+            buildout_handler = logging.StreamHandler(sys.stdout)
+            buildout_handler.setFormatter(logging.Formatter('%(message)s'))
+            self._logger.propagate = False
+            self._logger.addHandler(buildout_handler)
+            
+        handler.setFormatter(logging.Formatter(log_format))
         root_logger.addHandler(handler)
-        self._logger = logging.getLogger('buildout')
+
         level = self['buildout']['log-level']
         if level in ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'):
             level = getattr(logging, level)
@@ -605,7 +617,7 @@
     def _maybe_upgrade(self):
         # See if buildout or setuptools need to be upgraded.
         # If they do, do the upgrade and restart the buildout process.
-        __doing__ = 'Checking for upgrades'
+        __doing__ = 'Checking for upgrades.'
 
         if not self.newest:
             return
@@ -630,7 +642,7 @@
         if not upgraded:
             return
 
-        __doing__ = 'Upgrading'
+        __doing__ = 'Upgrading.'
 
         should_run = realpath(
             os.path.join(os.path.abspath(self['buildout']['bin-directory']),
@@ -640,10 +652,10 @@
             should_run += '-script.py'
 
         if (realpath(os.path.abspath(sys.argv[0])) != should_run):
-            self._logger.debug("Running %r", realpath(sys.argv[0]))
-            self._logger.debug("Local buildout is %r", should_run)
+            self._logger.debug("Running %r.", realpath(sys.argv[0]))
+            self._logger.debug("Local buildout is %r.", should_run)
             self._logger.warn("Not upgrading because not running a local "
-                              "buildout command")
+                              "buildout command.")
             return
 
         if sys.platform == 'win32' and not self.__windows_restart:
@@ -678,7 +690,7 @@
         sys.exit(os.spawnv(os.P_WAIT, sys.executable, args))
 
     def _load_extensions(self):
-        __doing__ = 'Loading extensions'
+        __doing__ = 'Loading extensions.'
         specs = self['buildout'].get('extensions', '').split()
         if specs:
             path = [self['buildout']['develop-eggs-directory']]
@@ -688,7 +700,7 @@
             else:
                 dest = self['buildout']['eggs-directory']
                 if not os.path.exists(dest):
-                    self._logger.info('Creating directory %s', dest)
+                    self._logger.info('Creating directory %r.', dest)
                     os.mkdir(dest)
 
             zc.buildout.easy_install.install(
@@ -703,7 +715,7 @@
         if os.path.isdir(setup):
             setup = os.path.join(setup, 'setup.py')
 
-        self._logger.info("Running setup script %s", setup)
+        self._logger.info("Running setup script %r.", setup)
         setup = os.path.abspath(setup)
 
         fd, tsetup = tempfile.mkstemp()
@@ -724,7 +736,7 @@
     runsetup = setup # backward compat.
 
     def __getitem__(self, section):
-        __doing__ = 'Getting section %s', section
+        __doing__ = 'Getting section %s.', section
         try:
             return self._data[section]
         except KeyError:
@@ -754,13 +766,13 @@
 
 
 def _install_and_load(spec, group, entry, buildout):
-    __doing__ = 'Loading recipe %s', spec
+    __doing__ = 'Loading recipe %r.', spec
     try:
         req = pkg_resources.Requirement.parse(spec)
 
         buildout_options = buildout['buildout']
         if pkg_resources.working_set.find(req) is None:
-            __doing__ = 'Installing recipe %s', spec
+            __doing__ = 'Installing recipe %s.', spec
             if buildout.offline:
                 dest = None
                 path = [buildout_options['develop-eggs-directory'],
@@ -779,7 +791,7 @@
                 newest=buildout.newest,
                 )
 
-        __doing__ = 'Loading %s recipe entry %s:%s', group, spec, entry
+        __doing__ = 'Loading %s recipe entry %s:%s.', group, spec, entry
         return pkg_resources.load_entry_point(
             req.project_name, group, entry)
 
@@ -801,7 +813,7 @@
 
     def _initialize(self):
         name = self.name
-        __doing__ = 'Initializing section %s', name
+        __doing__ = 'Initializing section %s.', name
         
         # force substitutions
         for k, v in self._raw.items():
@@ -819,12 +831,12 @@
         buildout = self.buildout
         recipe_class = _install_and_load(reqs, 'zc.buildout', entry, buildout)
 
-        __doing__ = 'Initializing part %s', name
+        __doing__ = 'Initializing part %s.', name
         self.recipe = recipe_class(buildout, name, self)
         buildout._parts.append(name)
 
     def _dosub(self, option, v):
-        __doing__ = 'Getting option %s:%s', self.name, option
+        __doing__ = 'Getting option %s:%s.', self.name, option
         seen = [(self.name, option)]
         v = '$$'.join([self._sub(s, seen) for s in v.split('$$')])
         self._cooked[option] = v
@@ -841,7 +853,7 @@
             if v is None:
                 return default
 
-        __doing__ = 'Getting option %s:%s', self.name, option
+        __doing__ = 'Getting option %s:%s.', self.name, option
 
         if '${' in v:
             key = self.name, option
@@ -947,7 +959,7 @@
                     elif os.path.isfile(p):
                         os.remove(p)
                     else:
-                        self._buildout._logger.warn("Couldn't clean up %s", p)
+                        self._buildout._logger.warn("Couldn't clean up %r.", p)
                 raise
         finally:
             self._created = None

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/buildout.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/buildout.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/buildout.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -285,8 +285,8 @@
     >>> os.chdir(sample_buildout)
     >>> buildout = os.path.join(sample_buildout, 'bin', 'buildout')
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Installing data-dir.
     data-dir: Creating directory mystuff
 
 We see that the recipe created the directory, as expected:
@@ -334,9 +334,9 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling data-dir
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Uninstalling data-dir.
+    Installing data-dir.
     data-dir: Creating directory mydata
 
     >>> ls(sample_buildout)
@@ -354,9 +354,9 @@
 
     >>> rmdir(sample_buildout, 'mydata')
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling data-dir
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Uninstalling data-dir.
+    Installing data-dir.
     data-dir: Creating directory mydata
 
 Error reporting
@@ -385,12 +385,12 @@
 We'll get a user error, not a traceback.
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
+    Develop: '/sample-buildout/recipes'
     data-dir: Cannot create /xxx/mydata. /xxx is not a directory.
     While:
-      Installing
-      Getting section data-dir
-      Initializing part data-dir
+      Installing.
+      Getting section data-dir.
+      Initializing part data-dir.
     Error: Invalid Path
 
 
@@ -450,13 +450,13 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling data-dir
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Uninstalling data-dir.
+    Installing data-dir.
     data-dir: Creating directory foo
     data-dir: Creating directory bin
     While:
-      Installing data-dir
+      Installing data-dir.
     <BLANKLINE>
     An internal error occured due to a bug in either zc.buildout or in a
     recipe being used:
@@ -484,11 +484,11 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Installing data-dir.
     data-dir: Creating directory foo
     While:
-      Installing data-dir
+      Installing data-dir.
     <BLANKLINE>
     An internal error occured due to a bug in either zc.buildout or in a
     recipe being used:
@@ -560,12 +560,12 @@
 When we rerun the buildout:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Installing data-dir.
     data-dir: Creating directory foo
     data-dir: Creating directory bin
     While:
-      Installing data-dir
+      Installing data-dir.
     <BLANKLINE>
     An internal error occured due to a bug in either zc.buildout or in a
     recipe being used:
@@ -636,12 +636,12 @@
 directiories will be created:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Installing data-dir.
     data-dir: Creating directory foo
     data-dir: Creating directory bin
     While:
-      Installing data-dir
+      Installing data-dir.
     <BLANKLINE>
     An internal error occured due to a bug in either zc.buildout or in a
     recipe being used:
@@ -666,8 +666,8 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Installing data-dir.
     data-dir: Creating directory foo
     data-dir: Creating directory bins
 
@@ -782,11 +782,11 @@
 substituted. 
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling data-dir
-    buildout: Installing data-dir
+    Develop: '/sample-buildout/recipes'
+    Uninstalling data-dir.
+    Installing data-dir.
     data-dir: Creating directory mydata
-    buildout: Installing debug
+    Installing debug.
     File 1 /sample-buildout/mydata/file
     File 2 /sample-buildout/mydata/file/log
     recipe recipes:debug
@@ -801,9 +801,9 @@
 the buildout:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating data-dir
-    buildout: Updating debug
+    Develop: '/sample-buildout/recipes'
+    Updating data-dir.
+    Updating debug.
     File 1 /sample-buildout/mydata/file
     File 2 /sample-buildout/mydata/file/log
     recipe recipes:debug
@@ -847,9 +847,9 @@
 It will still be treated as a part:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating data-dir
-    buildout: Updating debug
+    Develop: '/sample-buildout/recipes'
+    Updating data-dir.
+    Updating debug.
     File 1 /sample-buildout/mydata/file
     File 2 /sample-buildout/mydata/file/log
     recipe recipes:debug
@@ -885,9 +885,9 @@
 It will still be treated as a part:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating data-dir
-    buildout: Updating debug
+    Develop: '/sample-buildout/recipes'
+    Updating data-dir.
+    Updating debug.
     File 1 /sample-buildout/mydata/file
     File 2 /sample-buildout/mydata/file/log
     recipe recipes:debug
@@ -932,10 +932,10 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Uninstalling data-dir
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Uninstalling data-dir.
+    Installing debug.
     op buildout
     recipe recipes:debug
 
@@ -1004,9 +1004,9 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     name base
     op buildout
     op1 b1 1
@@ -1066,9 +1066,9 @@
 
 
     >>> print system(buildout+ ' -c client.cfg'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     name base
     op1 r1 1
     op2 r2 2
@@ -1098,7 +1098,7 @@
 
     >>> print system(buildout + ' -c ' + server_url + '/remote.cfg'),
     While:
-      Initializing
+      Initializing.
     Error: Missing option: buildout:directory
 
 Normally, the buildout directory defaults to directory
@@ -1110,9 +1110,9 @@
     ...              + ' -c ' + server_url + '/remote.cfg'
     ...              + ' buildout:directory=' + sample_buildout
     ...              ),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     name remote
     op1 r1 1
     op2 r2 2
@@ -1138,9 +1138,9 @@
 
     >>> os.environ['HOME'] = home
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     name base
     op buildout
     op1 b1 1
@@ -1155,9 +1155,9 @@
 user defaults:
 
     >>> print system(buildout + ' -U'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     name base
     op buildout
     op1 b1 1
@@ -1274,9 +1274,9 @@
 When the buildout is run the service will be installed
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing service
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing service.
     chkconfig --add /path/to/script
     <BLANKLINE>
 
@@ -1284,8 +1284,8 @@
 changes, the serivce shouldn't be changed.
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating service
+    Develop: '/sample-buildout/recipes'
+    Updating service.
     <BLANKLINE>
 
 Now we change the service part to trigger uninstallation and
@@ -1303,11 +1303,11 @@
     ... """)
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling service
-    buildout: Running uninstall recipe
+    Develop: '/sample-buildout/recipes'
+    Uninstalling service.
+    Running uninstall recipe.
     chkconfig --del /path/to/script
-    buildout: Installing service
+    Installing service.
     chkconfig --add /path/to/a/different/script
     <BLANKLINE>
 
@@ -1324,11 +1324,11 @@
     ... """)
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling service
-    buildout: Running uninstall recipe
+    Develop: '/sample-buildout/recipes'
+    Uninstalling service.
+    Running uninstall recipe.
     chkconfig --del /path/to/a/different/script
-    buildout: Installing debug
+    Installing debug.
     recipe recipes:debug
     <BLANKLINE>
 
@@ -1391,11 +1391,11 @@
 Run the buildout to install the part.
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing dir
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing dir.
     dir: Creating directory my_directory
-    buildout: Installing debug
+    Installing debug.
     recipe recipes:debug
     <BLANKLINE>
 
@@ -1415,11 +1415,11 @@
 is run before the directory is deleted.
 
     >>> print system(buildout)
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling dir
-    buildout: Running uninstall recipe
+    Develop: '/sample-buildout/recipes'
+    Uninstalling dir.
+    Running uninstall recipe.
     backing up directory /sample-buildout/my_directory of size 0
-    buildout: Updating debug
+    Updating debug.
     recipe recipes:debug
     <BLANKLINE>
 
@@ -1515,8 +1515,8 @@
 alternate file to store information about installed parts.
     
     >>> print system(buildout+' -c other.cfg debug:op1=foo -v'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Installing debug.
     name other
     op1 foo
     recipe recipes:debug
@@ -1528,8 +1528,8 @@
 Options can also be combined in the usual Unix way, as in:
     
     >>> print system(buildout+' -vcother.cfg debug:op1=foo'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating debug
+    Develop: '/sample-buildout/recipes'
+    Updating debug.
     name other
     op1 foo
     recipe recipes:debug
@@ -1569,15 +1569,15 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling debug.
+    Installing debug.
     recipe recipes:debug
-    buildout: Installing d1
+    Installing d1.
     d1: Creating directory d1
-    buildout: Installing d2
+    Installing d2.
     d2: Creating directory d2
-    buildout: Installing d3
+    Installing d3.
     d3: Creating directory d3
     
     >>> ls(sample_buildout)
@@ -1651,11 +1651,11 @@
 and run the buildout specifying just d3 and d4:
 
     >>> print system(buildout+' install d3 d4'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling d3
-    buildout: Installing d3
+    Develop: '/sample-buildout/recipes'
+    Uninstalling d3.
+    Installing d3.
     d3: Creating directory data3
-    buildout: Installing d4
+    Installing d4.
     d4: Creating directory data2-extra
     
     >>> ls(sample_buildout)
@@ -1720,17 +1720,17 @@
 Now, if we run the buildout without the install command:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling d2
-    buildout: Uninstalling d1
-    buildout: Uninstalling debug
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Uninstalling d2.
+    Uninstalling d1.
+    Uninstalling debug.
+    Installing debug.
     recipe recipes:debug
     x 1
-    buildout: Installing d2
+    Installing d2.
     d2: Creating directory data2
-    buildout: Updating d3
-    buildout: Updating d4
+    Updating d3.
+    Updating d4.
 
 We see the output of the debug recipe and that data2 was created.  We
 also see that d1 and d2 have gone away:
@@ -1776,15 +1776,15 @@
     ... ))
 
     >>> print system(buildout),
-    buildout: Creating directory /sample-alt/scripts
-    buildout: Creating directory /sample-alt/work
-    buildout: Creating directory /sample-alt/basket
-    buildout: Creating directory /sample-alt/developbasket
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling d4
-    buildout: Uninstalling d3
-    buildout: Uninstalling d2
-    buildout: Uninstalling debug
+    Creating directory '/sample-alt/scripts'.
+    Creating directory '/sample-alt/work'.
+    Creating directory '/sample-alt/basket'.
+    Creating directory '/sample-alt/developbasket'.
+    Develop: '/sample-buildout/recipes'
+    Uninstalling d4.
+    Uninstalling d3.
+    Uninstalling d2.
+    Uninstalling debug.
 
     >>> ls(alt)
     d  basket
@@ -1812,11 +1812,11 @@
     ...    ))
  
     >>> print system(buildout),
-    buildout: Creating directory /sample-alt/bin
-    buildout: Creating directory /sample-alt/parts
-    buildout: Creating directory /sample-alt/eggs
-    buildout: Creating directory /sample-alt/develop-eggs
-    buildout: Develop: /sample-buildout/recipes
+    Creating directory '/sample-alt/bin'.
+    Creating directory '/sample-alt/parts'.
+    Creating directory '/sample-alt/eggs'.
+    Creating directory '/sample-alt/develop-eggs'.
+    Develop: '/sample-buildout/recipes'
 
     >>> ls(alt)
     -  .installed.cfg
@@ -1864,7 +1864,7 @@
 level, we get a final log level of 20, which is the INFO level.
 
     >>> print system(buildout),
-    INFO Develop: /sample-buildout/recipes
+    INFO Develop: '/sample-buildout/recipes'
 
 Predefined buildout options
 ---------------------------
@@ -1881,12 +1881,11 @@
     ... parts =
     ... """)
 
-    >>> print system(buildout+' -v'),
-    zc.buildout.easy_install: Installing ['zc.buildout', 'setuptools']
-    zc.buildout.easy_install: We have a develop egg for zc.buildout
-    zc.buildout.easy_install: We have the best distribution that satisfies
-    setuptools
-    zc.buildout.easy_install.picked: setuptools = 0.6
+    >>> print system(buildout+' -vv'),
+    Installing 'zc.buildout', 'setuptools'.
+    We have a develop egg: zc.buildout 1.0.0.
+    We have the best distribution that satisfies 'setuptools'.
+    Picked: setuptools = 0.6
     <BLANKLINE>
     Configuration data:
     [buildout]
@@ -1896,14 +1895,14 @@
     eggs-directory = /sample-buildout/eggs
     executable = /usr/local/bin/python2.3
     installed = /sample-buildout/.installed.cfg
-    log-format = %(name)s: %(message)s
+    log-format = 
     log-level = INFO
     newest = true
     offline = false
     parts = 
     parts-directory = /sample-buildout/parts
     python = buildout
-    verbosity = 10
+    verbosity = 20
     <BLANKLINE>
  
 All of these options can be overridden by configuration files or by
@@ -1975,17 +1974,17 @@
 with it's own local copies of zc.buildout and setuptools and with
 local buildout scripts. 
 
-   >>> sample_bootstrapped = tmpdir('sample-bootstrapped')
+    >>> sample_bootstrapped = tmpdir('sample-bootstrapped')
 
-   >>> print system(buildout
-   ...              +' -c'+os.path.join(sample_bootstrapped, 'setup.cfg')
-   ...              +' init'),
-   Creating /sample-bootstrapped/setup.cfg
-   buildout: Creating directory /sample-bootstrapped/bin
-   buildout: Creating directory /sample-bootstrapped/parts
-   buildout: Creating directory /sample-bootstrapped/eggs
-   buildout: Creating directory /sample-bootstrapped/develop-eggs
-   zc.buildout.easy_install: Generated script /sample-bootstrapped/bin/buildout.
+    >>> print system(buildout
+    ...              +' -c'+os.path.join(sample_bootstrapped, 'setup.cfg')
+    ...              +' init'),
+    Creating '/sample-bootstrapped/setup.cfg'.
+    Creating directory '/sample-bootstrapped/bin'.
+    Creating directory '/sample-bootstrapped/parts'.
+    Creating directory '/sample-bootstrapped/eggs'.
+    Creating directory '/sample-bootstrapped/develop-eggs'.
+    Generated script '/sample-bootstrapped/bin/buildout'.
 
 Note that a basic setup.cfg was created for us.
 
@@ -2016,32 +2015,31 @@
 normally use the bootstrap command instead of init.  It will complain
 if there isn't a configuration file:
 
-    >>> sample_bootstrapped2 = tmpdir('sample-bootstrapped2')
+     >>> sample_bootstrapped2 = tmpdir('sample-bootstrapped2')
 
+     >>> print system(buildout
+     ...              +' -c'+os.path.join(sample_bootstrapped2, 'setup.cfg')
+     ...              +' bootstrap'),
+     While:
+       Initializing.
+     Error: Couldn't open /sample-bootstrapped2/setup.cfg
+
+     >>> write(sample_bootstrapped2, 'setup.cfg',
+     ... """
+     ... [buildout]
+     ... parts =
+     ... """)
+
     >>> print system(buildout
     ...              +' -c'+os.path.join(sample_bootstrapped2, 'setup.cfg')
     ...              +' bootstrap'),
-    While:
-      Initializing
-    Error: Couldn't open /sample-bootstrapped2/setup.cfg
+    Creating directory '/sample-bootstrapped2/bin'.
+    Creating directory '/sample-bootstrapped2/parts'.
+    Creating directory '/sample-bootstrapped2/eggs'.
+    Creating directory '/sample-bootstrapped2/develop-eggs'.
+    Generated script '/sample-bootstrapped2/bin/buildout'.
 
-    >>> write(sample_bootstrapped2, 'setup.cfg',
-    ... """
-    ... [buildout]
-    ... parts =
-    ... """)
 
-   >>> print system(buildout
-   ...              +' -c'+os.path.join(sample_bootstrapped2, 'setup.cfg')
-   ...              +' bootstrap'),
-   buildout: Creating directory /sample-bootstrapped2/bin
-   buildout: Creating directory /sample-bootstrapped2/parts
-   buildout: Creating directory /sample-bootstrapped2/eggs
-   buildout: Creating directory /sample-bootstrapped2/develop-eggs
-   zc.buildout.easy_install: Generated script /sample-bootstrapped2/bin/buildout.
-
-
-
 Newest and Offline Modes
 ------------------------
 
@@ -2080,8 +2078,8 @@
     ... """)
 
     >>> print system(buildout+' buildout:installed=inst.cfg'),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Installing debug.
     recipe recipes:debug
 
     >>> ls(sample_buildout)
@@ -2101,8 +2099,8 @@
 
     >>> os.remove('inst.cfg')
     >>> print system(buildout+' buildout:installed='),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing debug
+    Develop: '/sample-buildout/recipes'
+    Installing debug.
     recipe recipes:debug
 
     >>> ls(sample_buildout)
@@ -2188,7 +2186,7 @@
 
     >>> os.chdir(sample_bootstrapped)
     >>> print system(os.path.join(sample_bootstrapped, 'bin', 'buildout')),
-    buildout: Develop: /sample-bootstrapped/demo
+    Develop: '/sample-bootstrapped/demo'
 
 Now we can add the extensions option.  We were a bit tricly and ran
 the buildout once with the demo develop egg defined but without the
@@ -2209,7 +2207,7 @@
 
     >>> print system(os.path.join(sample_bootstrapped, 'bin', 'buildout')),
     ext ['buildout']
-    buildout: Develop: /sample-bootstrapped/demo
+    Develop: '/sample-bootstrapped/demo'
 
 
 

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/debugging.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/debugging.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/debugging.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -57,8 +57,8 @@
 If we run the buildout, we'll get an error:
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: /sample-buildout/recipes
+    Installing data-dir
     While:
       Installing data-dir
     Error: Missing option: data-dir:directory
@@ -72,8 +72,8 @@
     ... p self.options.keys()
     ... q
     ... """),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing data-dir
+    Develop: /sample-buildout/recipes
+    Installing data-dir
     While:
       Installing data-dir
     Traceback (most recent call last):

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/downloadcache.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/downloadcache.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/downloadcache.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -59,12 +59,12 @@
     GET 200 /
     GET 200 /demo-0.2-py2.4.egg
     GET 200 /demoneeded-1.1.zip
-    buildout: Installing eggs
-    zc.buildout.easy_install: Getting new distribution for demo==0.2
-    zc.buildout.easy_install: Got demo 0.2
-    zc.buildout.easy_install: Getting new distribution for demoneeded
-    zc.buildout.easy_install: Got demoneeded 1.1
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/demo.
+    Installing eggs
+    Getting new distribution for demo==0.2
+    Got demo 0.2
+    Getting new distribution for demoneeded
+    Got demoneeded 1.1
+    Generated script /sample-buildout/bin/demo.
 
 We'll also get the download cache populated.  The buildout doesn't put
 files in the cache directly.  It creates an intermediate directory,
@@ -87,12 +87,12 @@
    
     >>> print system(buildout),
     GET 200 /
-    buildout: Updating eggs
-    zc.buildout.easy_install: Getting new distribution for demo==0.2
-    zc.buildout.easy_install: Got demo 0.2
-    zc.buildout.easy_install: Getting new distribution for demoneeded
-    zc.buildout.easy_install: Got demoneeded 1.1
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/demo.
+    Updating eggs
+    Getting new distribution for demo==0.2
+    Got demo 0.2
+    Getting new distribution for demoneeded
+    Got demoneeded 1.1
+    Generated script /sample-buildout/bin/demo.
 
 We see that the distributions aren't downloaded, because they're
 downloaded from the cache.
@@ -130,10 +130,10 @@
     ... ''' % globals())
 
     >>> print system(buildout),
-    buildout: Uninstalling eggs
-    buildout: Installing eggs
-    zc.buildout.easy_install: Getting new distribution for demo
-    zc.buildout.easy_install: Got demo 0.2
-    zc.buildout.easy_install: Getting new distribution for demoneeded
-    zc.buildout.easy_install: Got demoneeded 1.1
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/demo.
+    Uninstalling eggs
+    Installing eggs
+    Getting new distribution for demo
+    Got demo 0.2
+    Getting new distribution for demoneeded
+    Got demoneeded 1.1
+    Generated script /sample-buildout/bin/demo.

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.py
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.py	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.py	2007-05-26 14:23:42 UTC (rev 75967)
@@ -37,7 +37,6 @@
 default_index_url = os.environ.get('buildout-testing-index-url')
 
 logger = logging.getLogger('zc.buildout.easy_install')
-picked = logging.getLogger('zc.buildout.easy_install.picked')
 
 url_match = re.compile('[a-z0-9+.-]+://').match
 
@@ -161,8 +160,8 @@
     def _satisfied(self, req, source=None):
         dists = [dist for dist in self._env[req.project_name] if dist in req]
         if not dists:
-            logger.debug('We have no distributions for %s that satisfies %s.',
-                         req.project_name, req)
+            logger.debug('We have no distributions for %s that satisfies %r.',
+                         req.project_name, str(req))
             return None, self._obtain(req, source)
 
         # Note that dists are sorted from best to worst, as promised by
@@ -170,7 +169,7 @@
 
         for dist in dists:
             if (dist.precedence == pkg_resources.DEVELOP_DIST):
-                logger.debug('We have a develop egg for %s', req)
+                logger.debug('We have a develop egg: %s', dist)
                 return dist, None
 
         if not self._newest:
@@ -210,8 +209,8 @@
 
         # Check if we have the upper limit
         if maxv is not None and best_we_have.version == maxv:
-            logger.debug('We have the best distribution that satisfies\n%s',
-                         req)
+            logger.debug('We have the best distribution that satisfies %r.',
+                         str(req))
             return best_we_have, None
 
         # We have some installed distros.  There might, theoretically, be
@@ -229,16 +228,17 @@
             # That's a bit odd.  There aren't any distros available.
             # We should use the best one we have that meets the requirement.
             logger.debug(
-                'There are no distros available that meet %s. Using our best.',
-                req)
+                'There are no distros available that meet %r.\n'
+                'Using our best, %s.',
+                str(req), best_available)
             return best_we_have, None
         else:
             # Let's find out if we already have the best available:
             if best_we_have.parsed_version >= best_available.parsed_version:
                 # Yup. Use it.
                 logger.debug(
-                    'We have the best distribution that satisfies\n%s',
-                    req)
+                    'We have the best distribution that satisfies %r.',
+                    str(req))
                 return best_we_have, None
 
         return None, best_available
@@ -381,7 +381,7 @@
 
     def _get_dist(self, requirement, ws, always_unzip):
 
-        __doing__ = 'Getting distribution for %s', requirement
+        __doing__ = 'Getting distribution for %s.', str(requirement)
 
         # Maybe an existing dist is already the best dist that satisfies the
         # requirement
@@ -389,7 +389,8 @@
 
         if dist is None:
             if self._dest is not None:
-                logger.info("Getting new distribution for %s", requirement)
+                logger.info("Getting new distribution for %r",
+                            str(requirement))
 
             # Retrieve the dist:
             if avail is None:
@@ -490,7 +491,8 @@
                  and
                  requirement.specs[0][0] == '==')
                 ):
-                picked.debug('%s = %s', dist.project_name, dist.version)
+                logger.debug('Picked: %s = %s',
+                             dist.project_name, dist.version)
 
         return dists
 
@@ -503,7 +505,7 @@
                 # We have a namespace package but no requirement for setuptools
                 if dist.precedence == pkg_resources.DEVELOP_DIST:
                     logger.warn(
-                        "Develop distribution for %s\n"
+                        "Develop distribution: %s\n"
                         "uses namespace packages but the distribution "
                         "does not require setuptools.",
                         dist)
@@ -520,7 +522,7 @@
         if version:
             if version not in requirement:
                 logger.error("The version, %s, is not consistent with the "
-                             "requirement, %s", version, requirement)
+                             "requirement, %r.", version, str(requirement))
                 raise IncompatibleVersionError("Bad version", version)
             
             requirement = pkg_resources.Requirement.parse(
@@ -530,7 +532,7 @@
 
     def install(self, specs, working_set=None):
 
-        logger.debug('Installing %r', specs)
+        logger.debug('Installing %s.', repr(specs)[1:-1])
 
         path = self._path
         dest = self._dest
@@ -567,9 +569,14 @@
                 [requirement] = err
                 requirement = self._constrain(requirement)
                 if dest:
-                    logger.debug('Getting required %s', requirement)
+                    logger.debug('Getting required %r.', str(requirement))
+                else:
+                    logger.debug('Adding required %r.', str(requirement))
+                _log_requirement(ws, requirement)
+                    
                 for dist in self._get_dist(requirement, ws, self._always_unzip
                                            ):
+                        
                     ws.add(dist)
                     self._maybe_add_setuptools(ws, dist)
             except pkg_resources.VersionConflict, err:
@@ -760,7 +767,8 @@
                 del args[1]
             else:
                 args[1] == '-v'
-        logger.debug("in: %s\n%r", directory, args)
+        if logger.getEffectiveLevel < logging.DEBUG:
+            logger.debug("in: %r\n%s", directory, ' '.join(args))
 
         assert os.spawnl(os.P_WAIT, executable, executable, *args) == 0
 
@@ -833,27 +841,34 @@
     generated = []
     script = dest
     if sys.platform == 'win32':
-        # generate exe file and give the script a magic name:
-        open(dest+'.exe', 'wb').write(
-            pkg_resources.resource_string('setuptools', 'cli.exe')
-            )
-        generated.append(dest+'.exe')
         dest += '-script.py'
-        
-    open(dest, 'w').write(script_template % dict(
+    contents = script_template % dict(
         python = executable,
         path = path,
         module_name = module_name,
         attrs = attrs,
         arguments = arguments,
         initialization = initialization,
-        ))
-    try:
-        os.chmod(dest, 0755)
-    except (AttributeError, os.error):
-        pass
+        )
+    changed = not (os.path.exists(dest) and open(dest).read() == contents)
+
+    if sys.platform == 'win32':
+        # generate exe file and give the script a magic name:
+        open(dest+'.exe', 'wb').write(
+            pkg_resources.resource_string('setuptools', 'cli.exe')
+            )
+        generated.append(dest+'.exe')
+        
+    if changed:
+        open(dest, 'w').write(contents)
+        logger.info("Generated script %r.", script)
+
+        try:
+            os.chmod(dest, 0755)
+        except (AttributeError, os.error):
+            pass
+        
     generated.append(dest)
-    logger.info("Generated script %s.", script)
     return generated
 
 script_template = '''\
@@ -875,23 +890,30 @@
     generated = []
     script = dest
     if sys.platform == 'win32':
+        dest += '-script.py'
+
+    contents = py_script_template % dict(
+        python = executable,
+        path = path,
+        )
+    changed = not (os.path.exists(dest) and open(dest).read() == contents)
+
+    if sys.platform == 'win32':
         # generate exe file and give the script a magic name:
         open(dest+'.exe', 'wb').write(
             pkg_resources.resource_string('setuptools', 'cli.exe')
             )
         generated.append(dest+'.exe')
-        dest += '-script.py'
 
-    open(dest, 'w').write(py_script_template % dict(
-        python = executable,
-        path = path,
-        ))
-    try:
-        os.chmod(dest,0755)
-    except (AttributeError, os.error):
-        pass
+    if changed:
+        open(dest, 'w').write(contents)
+        try:
+            os.chmod(dest,0755)
+        except (AttributeError, os.error):
+            pass
+        logger.info("Generated interpreter %r.", script)
+
     generated.append(dest)
-    logger.info("Generated interpreter %s.", script)
     return generated
 
 py_script_template = '''\
@@ -937,6 +959,8 @@
 class VersionConflict(zc.buildout.UserError):
 
     def __init__(self, err, ws):
+        ws = list(ws)
+        ws.sort()
         self.err, self.ws = err, ws
 
     def __str__(self):
@@ -947,35 +971,26 @@
         for dist in self.ws:
             if req in dist.requires():
                 result.append("but %s requires %s." % (dist, req))
-                _needed(self.ws, dist, result.append, [dist])
         return '\n'.join(result)
 
 class MissingDistribution(zc.buildout.UserError):
 
     def __init__(self, req, ws):
+        ws = list(ws)
+        ws.sort()
         self.data = req, ws
 
     def __str__(self):
         req, ws = self.data
-        result = ["Couldn't find a distribution for %s." % req]
-        for dist in ws:
-            if req in dist.requires():
-                result.append("%s is required by %s." % (req, dist))
-                _needed(ws, dist, result.append, [dist])
-        return '\n'.join(result)
+        return "Couldn't find a distribution for %s." % req
 
-        
-def _needed(ws, needed_dist, write, seen):
+def _log_requirement(ws, req):
+    ws = list(ws)
+    ws.sort()
     for dist in ws:
-        if dist in seen:
-            continue
-        for req in dist.requires():
-            if needed_dist in req:
-                write("%s is required by %s." % (needed_dist, dist))
-                seen.append(dist)
-                _needed(ws, dist, write, seen)
-                seen.pop()
-
+        if req in dist.requires():
+            logger.debug("  required by %s." % dist)
+    
 def _fix_file_links(links):
     for link in links:
         if link.startswith('file://') and link[-1] != '/':
@@ -983,3 +998,6 @@
                 # work around excessive restriction in setuptools:
                 link += '/'
         yield link
+
+
+

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/easy_install.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -228,9 +228,9 @@
 
     >>> print handler
     zc.buildout.easy_install DEBUG
-      Installing ['demo >0.2']
+      Installing 'demo >0.2'.
     zc.buildout.easy_install ERROR
-      The version, 0.2, is not consistent with the requirement, demo>0.2
+      The version, 0.2, is not consistent with the requirement, 'demo>0.2'.
 
     >>> handler.clear()
 
@@ -243,19 +243,19 @@
 
     >>> print handler
     zc.buildout.easy_install DEBUG
-      Installing ['demo']
+      Installing 'demo'.
     zc.buildout.easy_install DEBUG
-      We have the best distribution that satisfies
-    demo
-    zc.buildout.easy_install.picked DEBUG
-      demo = 0.3
+      We have the best distribution that satisfies 'demo'.
     zc.buildout.easy_install DEBUG
-      Getting required demoneeded
+      Picked: demo = 0.3
     zc.buildout.easy_install DEBUG
-      We have the best distribution that satisfies
-    demoneeded
-    zc.buildout.easy_install.picked DEBUG
-      demoneeded = 1.1
+      Getting required 'demoneeded'.
+    zc.buildout.easy_install DEBUG
+        required by demo 0.3.
+    zc.buildout.easy_install DEBUG
+      We have the best distribution that satisfies 'demoneeded'.
+    zc.buildout.easy_install DEBUG
+      Picked: demoneeded = 1.1
 
     >>> handler.uninstall()
     >>> logging.getLogger('zc.buildout.easy_install').propagate = True

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/repeatable.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/repeatable.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/repeatable.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -40,7 +40,7 @@
     >>> write('recipe', 'README', '')
 
     >>> print system(buildout+' setup recipe bdist_egg'), # doctest: +ELLIPSIS
-    buildout: Running setup script recipe/setup.py
+    Running setup script recipe/setup.py
     ...
 
     >>> rmdir('recipe', 'build')
@@ -65,7 +65,7 @@
 
 
     >>> print system(buildout+' setup recipe bdist_egg'), # doctest: +ELLIPSIS
-    buildout: Running setup script recipe/setup.py
+    Running setup script recipe/setup.py
     ...
 
 and we'll configure a buildout to use it:
@@ -83,9 +83,9 @@
 If we run the buildout, it will use version 2:
 
     >>> print system(buildout),
-    zc.buildout.easy_install: Getting new distribution for spam
-    zc.buildout.easy_install: Got spam 2
-    buildout: Installing foo
+    Getting new distribution for spam
+    Got spam 2
+    Installing foo
     recipe v2
 
 We can specify a versions section that lists our recipe and name it in
@@ -113,10 +113,10 @@
 Now, if we run the buildout, we'll use version 1 of the spam recipe:
 
     >>> print system(buildout),
-    zc.buildout.easy_install: Getting new distribution for spam==1
-    zc.buildout.easy_install: Got spam 1
-    buildout: Uninstalling foo
-    buildout: Installing foo
+    Getting new distribution for spam==1
+    Got spam 1
+    Uninstalling foo
+    Installing foo
     recipe v1
 
 Running the buildout in verbose mode will help us get information
@@ -124,18 +124,17 @@
 specifying a versions section:
 
     >>> print system(buildout+' buildout:versions= -v'), # doctest: +ELLIPSIS
-    zc.buildout.easy_install: Installing ['zc.buildout', 'setuptools']
-    zc.buildout.easy_install: We have a develop egg for zc.buildout
-    zc.buildout.easy_install: We have the best distribution that satisfies
+    Installing 'zc.buildout', 'setuptools'
+    We have a develop egg for zc.buildout
+    We have the best distribution that satisfies
     setuptools
-    zc.buildout.easy_install.picked: setuptools = 0.6
-    zc.buildout.easy_install: Installing ['spam']
-    zc.buildout.easy_install: We have the best distribution that satisfies
+    Picked: setuptools = 0.6
+    Installing 'spam'
+    We have the best distribution that satisfies
     spam
-    zc.buildout.easy_install.picked: spam = 2
-    ...
-    buildout: Uninstalling foo
-    buildout: Installing foo
+    Picked: spam = 2
+    Uninstalling foo
+    Installing foo
     recipe v2
 
 We'll get output that includes lines that tell us what versions
@@ -149,17 +148,16 @@
 If we run the buildout with the versions section:
 
     >>> print system(buildout+' -v'), # doctest: +ELLIPSIS
-    zc.buildout.easy_install: Installing ['zc.buildout', 'setuptools']
-    zc.buildout.easy_install: We have a develop egg for zc.buildout
-    zc.buildout.easy_install: We have the best distribution that satisfies
+    Installing 'zc.buildout', 'setuptools'
+    We have a develop egg for zc.buildout
+    We have the best distribution that satisfies
     setuptools
-    zc.buildout.easy_install.picked: setuptools = 0.6
-    zc.buildout.easy_install: Installing ['spam']
-    zc.buildout.easy_install: We have the best distribution that satisfies
+    Picked: setuptools = 0.6
+    Installing 'spam'
+    We have the best distribution that satisfies
     spam==1
-    ...
-    buildout: Uninstalling foo
-    buildout: Installing foo
+    Uninstalling foo
+    Installing foo
     recipe v1
 
 We won't get output for the spam distribution, which we didn't pick,

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/runsetup.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/runsetup.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/runsetup.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -33,7 +33,7 @@
 We can use the buildout command to generate the hello egg:
 
     >>> print system(buildout +' setup hello -q bdist_egg'),
-    buildout: Running setup script hello/setup.py
+    Running setup script hello/setup.py
     zip_safe flag not set; analyzing archive contents...
 
 The hello directory now has a hello egg in it's dist directory:

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/tests.py	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/tests.py	2007-05-26 14:23:42 UTC (rev 75967)
@@ -45,7 +45,7 @@
     ... ''')
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/foo
+    Develop: /sample-buildout/foo
 
     >>> ls('develop-eggs')
     -  foo.egg-link
@@ -73,7 +73,7 @@
 
     >>> print system(join('bin', 'buildout')+' -vv'), # doctest: +ELLIPSIS
     zc.buildout...
-    buildout: Develop: /sample-buildout/foo
+    Develop: /sample-buildout/foo
     ...
     Installed /sample-buildout/foo
     ...
@@ -276,11 +276,11 @@
     ... ''' % globals())
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/sampley
-    buildout: Develop: /sample-buildout/samplez
-    buildout: Installing eggs
-    zc.buildout.easy_install: Getting new distribution for demoneeded==1.1
-    zc.buildout.easy_install: Got demoneeded 1.1
+    Develop: /sample-buildout/sampley
+    Develop: /sample-buildout/samplez
+    Installing eggs
+    Getting new distribution for demoneeded==1.1
+    Got demoneeded 1.1
     While:
       Installing eggs
     Error: There is a version conflict.
@@ -307,11 +307,11 @@
     ... ''' % globals())
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/sampley
-    buildout: Develop: /sample-buildout/samplez
-    buildout: Develop: /sample-buildout/samplea
-    buildout: Develop: /sample-buildout/sampleb
-    buildout: Installing eggs
+    Develop: /sample-buildout/sampley
+    Develop: /sample-buildout/samplez
+    Develop: /sample-buildout/samplea
+    Develop: /sample-buildout/sampleb
+    Installing eggs
     While:
       Installing eggs
     Error: There is a version conflict.
@@ -345,12 +345,12 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/sampley
-    buildout: Develop: /sample-buildout/samplea
-    buildout: Develop: /sample-buildout/sampleb
-    buildout: Installing eggs
+    Develop: /sample-buildout/sampley
+    Develop: /sample-buildout/samplea
+    Develop: /sample-buildout/sampleb
+    Installing eggs
     Couldn't find index page for 'demoneeded' (maybe misspelled?)
-    zc.buildout.easy_install: Getting new distribution for demoneeded
+    Getting new distribution for demoneeded
     While:
       Installing eggs
       Getting distribution for demoneeded
@@ -426,15 +426,15 @@
     >>> buildout = os.path.join(sample_buildout, 'bin', 'buildout')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing debug
+    Develop: /sample-buildout/recipes
+    Installing debug
 
 If we run the buildout again, we shoudn't get a message about
 uninstalling anything because the configuration hasn't changed.
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating debug
+    Develop: /sample-buildout/recipes
+    Updating debug
 """
 
 def finding_eggs_as_local_directories():
@@ -507,7 +507,7 @@
     ... ''')
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/demo
+    Develop: /sample-buildout/demo
 
     >>> import zc.buildout.easy_install
     >>> ws = zc.buildout.easy_install.working_set(
@@ -536,7 +536,7 @@
     ... ''')
 
     >>> print system(buildout + ' foo:bar=1 -vD'), # doctest: +ELLIPSIS
-    zc.buildout.easy_install: Installing ['zc.buildout', 'setuptools']
+    Installing ['zc.buildout', 'setuptools']
     ...
     [foo]
     bar = 1
@@ -580,11 +580,11 @@
     >>> print system(sys.executable+' '+'bootstrap.py'), # doctest: +ELLIPSIS
     Downloading ...
     Warning: creating ...buildout.cfg
-    buildout: Creating directory ...bin
-    buildout: Creating directory ...parts
-    buildout: Creating directory ...eggs
-    buildout: Creating directory ...develop-eggs
-    zc.buildout.easy_install: Generated script /sample/bin/buildout.
+    Creating directory ...bin
+    Creating directory ...parts
+    Creating directory ...eggs
+    Creating directory ...develop-eggs
+    Generated script /sample/bin/buildout.
 
     >>> ls(sample_buildout)
     d  bin
@@ -644,11 +644,11 @@
     >>> os.chdir(d)
     >>> print system(os.path.join(sample_buildout, 'bin', 'buildout')
     ...              + ' bootstrap'),
-    buildout: Creating directory /sample-bootstrap/bin
-    buildout: Creating directory /sample-bootstrap/parts
-    buildout: Creating directory /sample-bootstrap/eggs
-    buildout: Creating directory /sample-bootstrap/develop-eggs
-    zc.buildout.easy_install: Generated script /sample-bootstrap/bin/buildout.
+    Creating directory /sample-bootstrap/bin
+    Creating directory /sample-bootstrap/parts
+    Creating directory /sample-bootstrap/eggs
+    Creating directory /sample-bootstrap/develop-eggs
+    Generated script /sample-bootstrap/bin/buildout.
     """
 
 
@@ -671,14 +671,14 @@
     >>> os.chdir(d)
     >>> print system(os.path.join(sample_buildout, 'bin', 'buildout')
     ...              + ' bootstrap'),
-    buildout: Creating directory /sample-bootstrap/bin
-    buildout: Creating directory /sample-bootstrap/parts
-    buildout: Creating directory /sample-bootstrap/eggs
-    buildout: Creating directory /sample-bootstrap/develop-eggs
-    zc.buildout.easy_install: Generated script /sample-bootstrap/bin/buildout.
+    Creating directory /sample-bootstrap/bin
+    Creating directory /sample-bootstrap/parts
+    Creating directory /sample-bootstrap/eggs
+    Creating directory /sample-bootstrap/develop-eggs
+    Generated script /sample-bootstrap/bin/buildout.
 
     >>> print system(os.path.join('bin', 'buildout')),
-    buildout: Unused options for buildout: 'scripts' 'eggs'
+    Unused options for buildout: 'scripts' 'eggs'
 
     """
 
@@ -702,7 +702,7 @@
     ... """)
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/foo
+    Develop: /sample-buildout/foo
 
     >>> ls('develop-eggs')
     -  foox.egg-link
@@ -724,8 +724,8 @@
     ... """)
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/foo
-    buildout: Develop: /sample-buildout/bar
+    Develop: /sample-buildout/foo
+    Develop: /sample-buildout/bar
 
     >>> ls('develop-eggs')
     -  foox.egg-link
@@ -741,7 +741,7 @@
     ... parts =
     ... """)
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/bar
+    Develop: /sample-buildout/bar
 
 It is gone
 
@@ -802,7 +802,7 @@
     ... """)
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/foo
+    Develop: /sample-buildout/foo
 
 Now, if we generate a working set using the egg link, we will get a warning
 and we will get setuptools included in the working set.
@@ -873,8 +873,8 @@
     ... """)
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/foo
-    buildout: Develop: /sample-buildout/bar
+    Develop: /sample-buildout/foo
+    Develop: /sample-buildout/bar
 
     >>> [dist.project_name
     ...  for dist in zc.buildout.easy_install.working_set(
@@ -974,8 +974,8 @@
     ... ''')
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing demo
+    Develop: /sample-buildout/recipes
+    Installing demo
     installing
 
 
@@ -989,11 +989,11 @@
     ... ''')
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling demo
-    buildout: Running uninstall recipe
+    Develop: /sample-buildout/recipes
+    Uninstalling demo
+    Running uninstall recipe
     uninstalling
-    buildout: Installing demo
+    Installing demo
     installing
 
 
@@ -1004,9 +1004,9 @@
     ... ''')
 
     >>> print system(join('bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling demo
-    buildout: Running uninstall recipe
+    Develop: /sample-buildout/recipes
+    Uninstalling demo
+    Running uninstall recipe
     uninstalling
 
 """
@@ -1082,21 +1082,21 @@
 
 
     >>> print system(join(sample_buildout, 'bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipe
-    buildout: Installing foo
+    Develop: /sample-buildout/recipe
+    Installing foo
 
     >>> mkdir('recipe', '.svn')
     >>> mkdir('recipe', 'CVS')
     >>> print system(join(sample_buildout, 'bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipe
-    buildout: Updating foo
+    Develop: /sample-buildout/recipe
+    Updating foo
 
     >>> write('recipe', '.svn', 'x', '1')
     >>> write('recipe', 'CVS', 'x', '1')
 
     >>> print system(join(sample_buildout, 'bin', 'buildout')),
-    buildout: Develop: /sample-buildout/recipe
-    buildout: Updating foo
+    Develop: /sample-buildout/recipe
+    Updating foo
 
     """
 
@@ -1139,7 +1139,7 @@
     >>> write('recipe', 'README', '')
 
     >>> print system(buildout+' setup recipe bdist_egg'), # doctest: +ELLIPSIS
-    buildout: Running setup script recipe/setup.py
+    Running setup script recipe/setup.py
     ...
 
     >>> rmdir('recipe', 'build')
@@ -1157,9 +1157,9 @@
     ... ''' % join('recipe', 'dist'))
 
     >>> print system(buildout),
-    zc.buildout.easy_install: Getting new distribution for recipe
-    zc.buildout.easy_install: Got recipe 1
-    buildout: Installing foo
+    Getting new distribution for recipe
+    Got recipe 1
+    Installing foo
     recipe v1
 
 Now, if we update the recipe egg:
@@ -1184,28 +1184,28 @@
 
 
     >>> print system(buildout+' setup recipe bdist_egg'), # doctest: +ELLIPSIS
-    buildout: Running setup script recipe/setup.py
+    Running setup script recipe/setup.py
     ...
 
 We won't get the update if we specify -N:
 
     >>> print system(buildout+' -N'),
-    buildout: Updating foo
+    Updating foo
     recipe v1
 
 or if we use -o:
 
     >>> print system(buildout+' -o'),
-    buildout: Updating foo
+    Updating foo
     recipe v1
 
 But we will if we use neither of these:
 
     >>> print system(buildout),
-    zc.buildout.easy_install: Getting new distribution for recipe
-    zc.buildout.easy_install: Got recipe 2
-    buildout: Uninstalling foo
-    buildout: Installing foo
+    Getting new distribution for recipe
+    Got recipe 2
+    Uninstalling foo
+    Installing foo
     recipe v2
 
 We can also select a particular recipe version:
@@ -1221,8 +1221,8 @@
     ... ''' % join('recipe', 'dist'))
 
     >>> print system(buildout),
-    buildout: Uninstalling foo
-    buildout: Installing foo
+    Uninstalling foo
+    Installing foo
     recipe v1
     
     """
@@ -1270,12 +1270,12 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /tmp/tmpbHOHnU/_TEST_/sample-buildout/recipe
-    buildout: Installing foo
+    Develop: /tmp/tmpbHOHnU/_TEST_/sample-buildout/recipe
+    Installing foo
 
     >>> print system(buildout),
-    buildout: Develop: /tmp/tmpbHOHnU/_TEST_/sample-buildout/recipe
-    buildout: Updating foo
+    Develop: /tmp/tmpbHOHnU/_TEST_/sample-buildout/recipe
+    Updating foo
 
     >>> cat('.installed.cfg') # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
     [buildout]
@@ -1352,7 +1352,7 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
+    Develop: /sample-buildout/recipes
     While:
       Installing
       Getting section data-dir
@@ -1421,10 +1421,10 @@
     ... """)
 
     >>> print system(buildout),
-    buildout: Develop: /tmp/tmpsueWpG/_TEST_/sample-buildout/.
-    buildout: Unused options for buildout: 'a'
-    buildout: Installing foo
-    buildout: Unused options for foo: 'z'
+    Develop: /tmp/tmpsueWpG/_TEST_/sample-buildout/.
+    Unused options for buildout: 'a'
+    Installing foo
+    Unused options for foo: 'z'
     '''
 
 def abnormal_exit():
@@ -1489,21 +1489,21 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing p1
-    buildout: Installing p2
-    buildout: Installing p3
+    Develop: /sample-buildout/recipes
+    Installing p1
+    Installing p2
+    Installing p3
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating p1
-    buildout: Updating p2
-    buildout: Installing p3
+    Develop: /sample-buildout/recipes
+    Updating p1
+    Updating p2
+    Installing p3
 
     >>> print system(buildout+' buildout:parts='),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling p2
-    buildout: Uninstalling p1
+    Develop: /sample-buildout/recipes
+    Uninstalling p2
+    Uninstalling p1
 
 2. We exit while updating:
 
@@ -1527,24 +1527,24 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing p1
-    buildout: Installing p2
-    buildout: Installing p3
-    buildout: Installing p4
+    Develop: /sample-buildout/recipes
+    Installing p1
+    Installing p2
+    Installing p3
+    Installing p4
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Updating p1
-    buildout: Updating p2
-    buildout: Updating p3
+    Develop: /sample-buildout/recipes
+    Updating p1
+    Updating p2
+    Updating p3
 
     >>> print system(buildout+' buildout:parts='),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling p2
-    buildout: Uninstalling p1
-    buildout: Uninstalling p4
-    buildout: Uninstalling p3
+    Develop: /sample-buildout/recipes
+    Uninstalling p2
+    Uninstalling p1
+    Uninstalling p4
+    Uninstalling p3
 
 3. We exit while installing or updating after uninstalling:
 
@@ -1568,11 +1568,11 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Installing p1
-    buildout: Installing p2
-    buildout: Installing p3
-    buildout: Installing p4
+    Develop: /sample-buildout/recipes
+    Installing p1
+    Installing p2
+    Installing p3
+    Installing p4
 
     >>> write('buildout.cfg',
     ... '''
@@ -1595,9 +1595,9 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling p4
-    buildout: Updating p1
+    Develop: /sample-buildout/recipes
+    Uninstalling p4
+    Updating p1
 
     >>> write('buildout.cfg',
     ... '''
@@ -1619,12 +1619,12 @@
     ... ''')
 
     >>> print system(buildout),
-    buildout: Develop: /sample-buildout/recipes
-    buildout: Uninstalling p1
-    buildout: Installing p1
-    buildout: Updating p2
-    buildout: Updating p3
-    buildout: Installing p4
+    Develop: /sample-buildout/recipes
+    Uninstalling p1
+    Installing p1
+    Updating p2
+    Updating p3
+    Installing p4
 
     """
 
@@ -1652,7 +1652,7 @@
     ... ''')
 
     >>> print system(buildout+' setup badegg sdist'), # doctest: +ELLIPSIS
-    buildout: Running setup script badegg/setup.py
+    Running setup script badegg/setup.py
     ...
     
     >>> dist = join('badegg', 'dist')
@@ -1674,17 +1674,17 @@
     ... ''' % globals())
 
     >>> print system('buildout'),
-    buildout: Not upgrading because not running a local buildout command
-    buildout: Installing eggs
-    zc.buildout.easy_install: Getting new distribution for badegg
+    Not upgrading because not running a local buildout command
+    Installing eggs
+    Getting new distribution for badegg
       File "build/bdist.linux-i686/egg/badegg/scripts/one.py", line 2
         return 1
     SyntaxError: 'return' outside function
       File "/sample-buildout/eggs/badegg-1-py2.4.egg/badegg/scripts/one.py", line 2
         return 1
     SyntaxError: 'return' outside function
-    zc.buildout.easy_install: Got badegg 1
-    buildout: Installing bo
+    Got badegg 1
+    Installing bo
 
     >>> ls('eggs') # doctest: +ELLIPSIS
     d  badegg-1-py2.4.egg
@@ -1738,12 +1738,12 @@
     ... ''' % globals())
 
     >>> print system(buildout),
-    buildout: Installing x
-    zc.buildout.easy_install: Getting new distribution for demo
-    zc.buildout.easy_install: Got demo 0.3
-    zc.buildout.easy_install: Getting new distribution for demoneeded
-    zc.buildout.easy_install: Got demoneeded 1.1
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/demo.
+    Installing x
+    Getting new distribution for demo
+    Got demo 0.3
+    Getting new distribution for demoneeded
+    Got demoneeded 1.1
+    Generated script /sample-buildout/bin/demo.
 
     >>> print system(join('bin', 'demo')),
     3 1
@@ -1760,11 +1760,11 @@
     ... ''' % globals())
     
     >>> print system(buildout),
-    buildout: Uninstalling x
-    buildout: Installing x
-    zc.buildout.easy_install: Getting new distribution for demo==0.1
-    zc.buildout.easy_install: Got demo 0.1
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/demo.
+    Uninstalling x
+    Installing x
+    Getting new distribution for demo==0.1
+    Got demo 0.1
+    Generated script /sample-buildout/bin/demo.
 
     >>> print system(join('bin', 'demo')),
     1 1
@@ -1878,13 +1878,13 @@
     >>> os.chdir('bad_start')
     >>> print system(join(sample_buildout, 'bin', 'buildout')
     ...              +' -c '+join(sample_buildout, 'buildout.cfg')),
-    buildout: Develop: /tmp/tmpV9ptXUbuildoutSetUp/_TEST_/sample-buildout/.
+    Develop: /tmp/tmpV9ptXUbuildoutSetUp/_TEST_/sample-buildout/.
     /sample-buildout
     /sample-buildout
-    buildout: Installing b1
+    Installing b1
     /sample-buildout
     /sample-buildout/bad_start
-    buildout: Installing b2
+    Installing b2
     /sample-buildout
     /sample-buildout/bad_start
     
@@ -1927,6 +1927,60 @@
     
     """
 
+def dealing_with_extremely_insane_dependencies():
+    r"""
+    
+    There was a problem with analysis of dependencies taking a long
+    time, in part because the analysis would get repeated every time a
+    package was encountered in a dependency list.  Now, we don't do
+    the analysis any more:
+
+    >>> import os
+    >>> for i in range(5):
+    ...     p = 'pack%s' % i
+    ...     deps = [('pack%s' % j) for j in range(5) if j is not i]
+    ...     if i == 4:
+    ...         deps.append('pack5')
+    ...     mkdir(p)
+    ...     write(p, 'setup.py',
+    ...           'from setuptools import setup\n'
+    ...           'setup(name=%r, install_requires=%r,\n'
+    ...           '      url="u", author="a", author_email="e")\n'
+    ...           % (p, deps))
+
+    >>> write('buildout.cfg',
+    ... '''
+    ... [buildout]
+    ... develop = pack0 pack1 pack2 pack3 pack4 
+    ... parts = pack1
+    ...
+    ... [pack1]
+    ... recipe = zc.recipe.egg:eggs
+    ... eggs = pack0
+    ... ''')
+
+    >>> print system(buildout),
+    Develop: /sample-buildout/pack0
+    Develop: /sample-buildout/pack1
+    Develop: /sample-buildout/pack2
+    Develop: /sample-buildout/pack3
+    Develop: /sample-buildout/pack4
+    Installing pack1
+    Couldn't find index page for 'pack5' (maybe misspelled?)
+    Getting new distribution for pack5
+    While:
+      Installing pack1
+      Getting distribution for pack5
+    Error: Couldn't find a distribution for pack5.
+
+    However, if we run in verbose mode, we can see why packages were included:
+
+    >>> print system(buildout+' -v'),
+    
+    
+    """
+
+
 ######################################################################
     
 def create_sample_eggs(test, executable=sys.executable):
@@ -2130,8 +2184,11 @@
                 'zc.buildout.egg'),
                (re.compile('creating \S*setup.cfg'), 'creating setup.cfg'),
                (re.compile('hello\%ssetup' % os.path.sep), 'hello/setup'),
-               (re.compile('zc.buildout.easy_install.picked: (\S+) = \S+'),
-                'picked \\1 = V.V'),
+               (re.compile('Picked: (\S+) = \S+'),
+                'Picked: \\1 = V.V'),
+               (re.compile(r'We have a develop egg: zc.buildout (\S+)'),
+                'We have a develop egg: zc.buildout X.X.'),
+               
                ])
             ),
         doctest.DocFileSuite(

Modified: zc.buildout/branches/jim-logging/src/zc/buildout/update.txt
===================================================================
--- zc.buildout/branches/jim-logging/src/zc/buildout/update.txt	2007-05-26 14:23:07 UTC (rev 75966)
+++ zc.buildout/branches/jim-logging/src/zc/buildout/update.txt	2007-05-26 14:23:42 UTC (rev 75967)
@@ -64,17 +64,17 @@
 new versions found in new releases:
 
     >>> print system(buildout),
-    zc.buildout.easy_install: Getting new distribution for zc.buildout
-    zc.buildout.easy_install: Got zc.buildout 99.99
-    zc.buildout.easy_install: Getting new distribution for setuptools
-    zc.buildout.easy_install: Got setuptools 99.99
-    buildout: Upgraded:
+    Getting new distribution for zc.buildout
+    Got zc.buildout 99.99
+    Getting new distribution for setuptools
+    Got setuptools 99.99
+    Upgraded:
       zc.buildout version 99.99,
       setuptools version 99.99;
     restarting.
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/buildout.
-    buildout: Develop: /sample-buildout/showversions
-    buildout: Installing show-versions
+    Generated script /sample-buildout/bin/buildout.
+    Develop: /sample-buildout/showversions
+    Installing show-versions
     zc.buildout 99.99
     setuptools 99.99
 
@@ -117,13 +117,13 @@
 We'll actually "upgrade" to an earlier version.
 
     >>> print system(buildout),
-    buildout: Upgraded:
+    Upgraded:
       zc.buildout version 1.0.0,
       setuptools version 0.6;
     restarting.
-    zc.buildout.easy_install: Generated script /sample-buildout/bin/buildout.
-    buildout: Develop: /sample-buildout/showversions
-    buildout: Updating show-versions
+    Generated script /sample-buildout/bin/buildout.
+    Develop: /sample-buildout/showversions
+    Updating show-versions
     zc.buildout 1.0.0
     setuptools 0.6
 
@@ -142,16 +142,16 @@
     ... """ % dict(new_releases=new_releases))
 
     >>> print system(buildout+' -o'),
-    buildout: Develop: /sample-buildout/showversions
-    buildout: Updating show-versions
+    Develop: /sample-buildout/showversions
+    Updating show-versions
     zc.buildout 1.0.0
     setuptools 0.6
 
 Or in non-newest mode:
 
     >>> print system(buildout+' -N'),
-    buildout: Develop: /sample-buildout/showversions
-    buildout: Updating show-versions
+    Develop: /sample-buildout/showversions
+    Updating show-versions
     zc.buildout 1.0.0
     setuptools 0.6
 
@@ -170,14 +170,14 @@
     
     >>> cd(sample_buildout2)
     >>> print system(buildout),
-    buildout: Creating directory /sample_buildout2/bin
-    buildout: Creating directory /sample_buildout2/parts
-    buildout: Creating directory /sample_buildout2/eggs
-    buildout: Creating directory /sample_buildout2/develop-eggs
-    zc.buildout.easy_install: Getting new distribution for zc.buildout
-    zc.buildout.easy_install: Got zc.buildout 99.99
-    zc.buildout.easy_install: Getting new distribution for setuptools
-    zc.buildout.easy_install: Got setuptools 99.99
-    buildout: Not upgrading because not running a local buildout command
+    Creating directory /sample_buildout2/bin
+    Creating directory /sample_buildout2/parts
+    Creating directory /sample_buildout2/eggs
+    Creating directory /sample_buildout2/develop-eggs
+    Getting new distribution for zc.buildout
+    Got zc.buildout 99.99
+    Getting new distribution for setuptools
+    Got setuptools 99.99
+    Not upgrading because not running a local buildout command
 
     >>> ls('bin')



More information about the Checkins mailing list