diff --git a/Lib/distutils/command/bdist_dumb.py b/Lib/distutils/command/bdist_dumb.py
index 7f498c8..5943551 100644
--- a/Lib/distutils/command/bdist_dumb.py
+++ b/Lib/distutils/command/bdist_dumb.py
@@ -117,8 +117,9 @@
                                    ensure_relative(install.install_base))
 
         # Make the archive
-        self.make_archive(pseudoinstall_root,
-                          self.format, root_dir=archive_root)
+        filename = self.make_archive(pseudoinstall_root,
+                                     self.format, root_dir=archive_root)
+        self.distribution.dist_files.append(('bdist_dumb', filename))
 
         if not self.keep_temp:
             remove_tree(self.bdist_dir, dry_run=self.dry_run)
diff --git a/Lib/distutils/command/bdist_rpm.py b/Lib/distutils/command/bdist_rpm.py
index 8eaaff3..09bfa43 100644
--- a/Lib/distutils/command/bdist_rpm.py
+++ b/Lib/distutils/command/bdist_rpm.py
@@ -297,12 +297,14 @@
 
         # Make a source distribution and copy to SOURCES directory with
         # optional icon.
+        saved_dist_files = self.distributuion.dist_files[:]
         sdist = self.reinitialize_command('sdist')
         if self.use_bzip2:
             sdist.formats = ['bztar']
         else:
             sdist.formats = ['gztar']
         self.run_command('sdist')
+        self.distribution.dist_files = saved_dist_files
 
         source = sdist.get_archive_files()[0]
         source_dir = rpm_dir['SOURCES']
@@ -355,6 +357,7 @@
                 assert len(rpms) == 1, \
                        "unexpected number of RPM files found: %s" % rpms
                 self.move_file(rpms[0], self.dist_dir)
+                self.distribution.dist_files.append(('bdist_rpm', rpms[0]))
                 if debuginfo:
                     self.move_file(debuginfo[0], self.dist_dir)
     # run()
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py
index 9b45cf3..a0335fe 100644
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
@@ -162,6 +162,8 @@
                                     root_dir=self.bdist_dir)
         # create an exe containing the zip-file
         self.create_exe(arcname, fullname, self.bitmap)
+        self.distribution.dist_files.append(('bdist_wininst', 
+                                             self.get_installer_filename()))
         # remove the zip-file again
         log.debug("removing temporary file '%s'", arcname)
         os.remove(arcname)
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index fe6c913..8b88f22 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -449,6 +449,7 @@
         for fmt in self.formats:
             file = self.make_archive(base_name, fmt, base_dir=base_dir)
             archive_files.append(file)
+            self.distribution.dist_files.append(('sdist',file))
 
         self.archive_files = archive_files
 
diff --git a/Lib/distutils/command/upload.py b/Lib/distutils/command/upload.py
new file mode 100644
index 0000000..d14f177
--- /dev/null
+++ b/Lib/distutils/command/upload.py
@@ -0,0 +1,4 @@
+"""distutils.command.upload
+
+Implements the Distutils 'upload' subcommand (upload package to PyPI)."""
+
diff --git a/Lib/distutils/dist.py b/Lib/distutils/dist.py
index f015874..c7ec383 100644
--- a/Lib/distutils/dist.py
+++ b/Lib/distutils/dist.py
@@ -177,6 +177,11 @@
         #   command_options = { command_name : { option : (source, value) } }
         self.command_options = {}
 
+        # 'dist_files' is the list of (command, file) that have been created
+        # by any dist commands run so far. This is filled regardless
+        # of whether the run is dry or not.
+        self.dist_files = []
+
         # These options are really the business of various commands, rather
         # than of the Distribution itself.  We provide aliases for them in
         # Distribution as a convenience to the developer.
