Build the 'outfiles' list so 'get_outputs()' has something to return.
(Bug spotted and originally fixed by Rene Liebscher; fix redone by me.)
diff --git a/Lib/distutils/command/install_data.py b/Lib/distutils/command/install_data.py
index 5481dab..f8ed0a7 100644
--- a/Lib/distutils/command/install_data.py
+++ b/Lib/distutils/command/install_data.py
@@ -25,7 +25,7 @@
 
     def initialize_options (self):
         self.install_dir = None
-        self.outfiles = None
+        self.outfiles = []
         self.root = None
         self.data_files = self.distribution.data_files
 
@@ -40,7 +40,8 @@
         for f in self.data_files:
             if type(f) == StringType:
                 # its a simple file, so copy it
-                self.copy_file(f, self.install_dir)
+                out = self.copy_file(f, self.install_dir)
+                self.outfiles.append(out)
             else:
                 # its a tuple with path to install to and a list of files
                 dir = f[0]
@@ -50,10 +51,11 @@
                     dir = change_root(self.root, dir)
                 self.mkpath(dir)
                 for data in f[1]:
-                    self.copy_file(data, dir)
+                    out = self.copy_file(data, dir)
+                    self.outfiles.append(out)
 
     def get_inputs (self):
         return self.data_files or []
 
     def get_outputs (self):
-        return self.outfiles or []
+        return self.outfiles
diff --git a/Lib/distutils/command/install_headers.py b/Lib/distutils/command/install_headers.py
index 33edb94..afcc887 100644
--- a/Lib/distutils/command/install_headers.py
+++ b/Lib/distutils/command/install_headers.py
@@ -7,6 +7,7 @@
 
 __revision__ = "$Id$"
 
+import os
 from distutils.core import Command
 
 
@@ -21,6 +22,7 @@
 
     def initialize_options (self):
         self.install_dir = None
+	self.outfiles = []
 
     def finalize_options (self):
         self.set_undefined_options('install',
@@ -33,8 +35,14 @@
 
         self.mkpath(self.install_dir)
         for header in headers:
-            self.copy_file(header, self.install_dir)
+            out = self.copy_file(header, self.install_dir)
+            self.outfiles.append(out)
 
+    def get_inputs (self):
+        return self.distribution.headers or []
+
+    def get_outputs (self):
+        return self.outfiles
     # run()
 
 # class install_headers