From: Greg Ward <gward@python.net>
Date: Mon, 17 Jan 2000 20:23:34 +0000 (+0000)
Subject: Added missing import.
X-Git-Tag: v1.6a1~544
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1b3a9af5cf4827ff8248a69ef01468044ae67f25;p=python

Added missing import.
Fixed 'make_release_tree()' to copy files if 'os.link()' doesn't exist.
---

diff --git a/Lib/distutils/command/dist.py b/Lib/distutils/command/dist.py
index b588fe95a9..2d05f17447 100644
--- a/Lib/distutils/command/dist.py
+++ b/Lib/distutils/command/dist.py
@@ -13,6 +13,7 @@ from glob import glob
 from shutil import rmtree
 from distutils.core import Command
 from distutils.text_file import TextFile
+from distutils.errors import DistutilsExecError
 
 
 # Possible modes of operation:
@@ -388,16 +389,30 @@ class Dist (Command):
         for dir in need_dirs:
             self.mkpath (dir)
 
-        # And walk over the list of files, making a hard link for
-        # each one that doesn't already exist in its corresponding
-        # location under 'base_dir'
+        # And walk over the list of files, either making a hard link (if
+        # os.link exists) to each one that doesn't already exist in its
+        # corresponding location under 'base_dir', or copying each file
+        # that's out-of-date in 'base_dir'.  (Usually, all files will be
+        # out-of-date, because by default we blow away 'base_dir' when
+        # we're done making the distribution archives.)
     
-        self.announce ("making hard links in %s..." % base_dir)
+        try:
+            link = os.link
+            msg = "making hard links in %s..." % base_dir
+        except AttributeError:
+            link = 0
+            msg = "copying files to %s..." % base_dir
+
+        self.announce (msg)
         for file in files:
             dest = os.path.join (base_dir, file)
-            if not os.path.exists (dest):
-                self.execute (os.link, (file, dest),
-                              "linking %s -> %s" % (file, dest))
+            if link:
+                if not os.path.exists (dest):
+                    self.execute (os.link, (file, dest),
+                                  "linking %s -> %s" % (file, dest))
+            else:
+                self.copy_file (file, dest)
+
     # make_release_tree ()
 
 
@@ -453,7 +468,7 @@ class Dist (Command):
                 import zipfile
             except ImportError:
                 raise DistutilsExecError, \
-                      ("unable to create zip file '%s.zip':" + 
+                      ("unable to create zip file '%s.zip': " + 
                        "could neither find a standalone zip utility nor " +
                        "import the 'zipfile' module") % base_dir