old_contents: """distutils.command.install_egg_info
  
  Implements the Distutils 'install_egg_info' command, for installing
  a package's PKG-INFO metadata."""
  
  
  from distutils.cmd import Command
  from distutils import log, dir_util
  import os, sys, re
  
  class install_egg_info(Command):
      """Install an .egg-info file for the package"""
  
      description = "Install package's PKG-INFO metadata as an .egg-info file"
      user_options = [
          ('install-dir=', 'd', "directory to install to"),
      ]
  
      def initialize_options(self):
          self.install_dir = None
  
      def finalize_options(self):
          self.set_undefined_options('install_lib',('install_dir','install_dir'))
          basename = "%s-%s-py%s.egg-info" % (
              to_filename(safe_name(self.distribution.get_name())),
              to_filename(safe_version(self.distribution.get_version())),
              sys.version[:3]
          )
          self.target = os.path.join(self.install_dir, basename)
          self.outputs = [self.target]
  
      def run(self):
          target = self.target
          if os.path.isdir(target) and not os.path.islink(target):
              dir_util.remove_tree(target, dry_run=self.dry_run)
          elif os.path.exists(target):
              self.execute(os.unlink,(self.target,),"Removing "+target)
          log.info("Writing %s", target)
          if not self.dry_run:
              f = open(target, 'w')
              self.distribution.metadata.write_pkg_file(f)
              f.close()
  
      def get_outputs(self):
          return self.outputs
  
  
  # The following routines are taken from setuptools' pkg_resources module and
  # can be replaced by importing them from pkg_resources once it is included
  # in the stdlib.
  
  def safe_name(name):
      """Convert an arbitrary string to a standard distribution name
  
      Any runs of non-alphanumeric/. characters are replaced with a single '-'.
      """
      return re.sub('[^A-Za-z0-9.]+', '-', name)
  
  
  def safe_version(version):
      """Convert an arbitrary string to a standard version string
  
      Spaces become dots, and all other non-alphanumeric characters become
      dashes, with runs of multiple dashes condensed to a single dash.
      """
      version = version.replace(' ','.')
      return re.sub('[^A-Za-z0-9.]+', '-', version)
  
  
  def to_filename(name):
      """Convert a project or version name to its filename-escaped form
  
      Any '-' characters are currently replaced with '_'.
      """
      return name.replace('-','_')
  
new_contents: """distutils.command.install_egg_info
  
  Implements the Distutils 'install_egg_info' command, for installing
  a package's PKG-INFO metadata."""
  
  
  from distutils.cmd import Command
  from distutils import log, dir_util
  import os, sys, re
  
  class install_egg_info(Command):
      """Install an .egg-info file for the package"""
  
      description = "Install package's PKG-INFO metadata as an .egg-info file"
      user_options = [
          ('install-dir=', 'd', "directory to install to"),
      ]
  
      def initialize_options(self):
          self.install_dir = None
  
      def finalize_options(self):
          self.set_undefined_options('install_lib',('install_dir','install_dir'))
          basename = "%s-%s-py%s.egg-info" % (
              to_filename(safe_name(self.distribution.get_name())),
              to_filename(safe_version(self.distribution.get_version())),
              sys.version[:3]
          )
          self.target = os.path.join(self.install_dir, basename)
          self.outputs = [self.target]
  
      def run(self):
          target = self.target
          if os.path.isdir(target) and not os.path.islink(target):
              dir_util.remove_tree(target, dry_run=self.dry_run)
          elif os.path.exists(target):
              self.execute(os.unlink,(self.target,),"Removing "+target)
          elif not os.path.isdir(self.install_dir):
              self.execute(os.makedirs, (self.install_dir,),
                           "Creating "+self.install_dir)
          log.info("Writing %s", target)
          if not self.dry_run:
              f = open(target, 'w')
              self.distribution.metadata.write_pkg_file(f)
              f.close()
  
      def get_outputs(self):
          return self.outputs
  
  
  # The following routines are taken from setuptools' pkg_resources module and
  # can be replaced by importing them from pkg_resources once it is included
  # in the stdlib.
  
  def safe_name(name):
      """Convert an arbitrary string to a standard distribution name
  
      Any runs of non-alphanumeric/. characters are replaced with a single '-'.
      """
      return re.sub('[^A-Za-z0-9.]+', '-', name)
  
  
  def safe_version(version):
      """Convert an arbitrary string to a standard version string
  
      Spaces become dots, and all other non-alphanumeric characters become
      dashes, with runs of multiple dashes condensed to a single dash.
      """
      version = version.replace(' ','.')
      return re.sub('[^A-Za-z0-9.]+', '-', version)
  
  
  def to_filename(name):
      """Convert a project or version name to its filename-escaped form
  
      Any '-' characters are currently replaced with '_'.
      """
      return name.replace('-','_')
  
subject: Fix SF#1566719: not creating site-packages (or other target directory) when installing .egg-info for a project that contains no modules or packages, while using --root (as in bdist_rpm).