Revert r62998 as it broke the build (seems distutils.config is missing).
diff --git a/Lib/distutils/command/register.py b/Lib/distutils/command/register.py
index a9ab361..5c588ef 100644
--- a/Lib/distutils/command/register.py
+++ b/Lib/distutils/command/register.py
@@ -8,29 +8,37 @@
 __revision__ = "$Id$"
 
 import os, string, urllib2, getpass, urlparse
-import StringIO
+import StringIO, ConfigParser
 
-from distutils.core import PyPIRCCommand
+from distutils.core import Command
 from distutils.errors import *
-from distutils import log
 
-class register(PyPIRCCommand):
+class register(Command):
 
     description = ("register the distribution with the Python package index")
-    user_options = PyPIRCCommand.user_options + [
+
+    DEFAULT_REPOSITORY = 'http://pypi.python.org/pypi'
+
+    user_options = [
+        ('repository=', 'r',
+         "url of repository [default: %s]"%DEFAULT_REPOSITORY),
         ('list-classifiers', None,
          'list the valid Trove classifiers'),
+        ('show-response', None,
+         'display full response text from server'),
         ]
-    boolean_options = PyPIRCCommand.boolean_options + [
-        'verify', 'list-classifiers']
+    boolean_options = ['verify', 'show-response', 'list-classifiers']
 
     def initialize_options(self):
-        PyPIRCCommand.initialize_options(self)
+        self.repository = None
+        self.show_response = 0
         self.list_classifiers = 0
 
+    def finalize_options(self):
+        if self.repository is None:
+            self.repository = self.DEFAULT_REPOSITORY
+
     def run(self):
-        self.finalize_options()
-        self._set_config()
         self.check_metadata()
         if self.dry_run:
             self.verify_metadata()
@@ -69,23 +77,6 @@
                       "or (maintainer and maintainer_email) " +
                       "must be supplied")
 
-    def _set_config(self):
-        ''' Reads the configuration file and set attributes.
-        '''
-        config = self._read_pypirc()
-        if config != {}:
-            self.username = config['username']
-            self.password = config['password']
-            self.repository = config['repository']
-            self.realm = config['realm']
-            self.has_config = True
-        else:
-            if self.repository not in ('pypi', self.DEFAULT_REPOSITORY):
-                raise ValueError('%s not found in .pypirc' % self.repository)
-            if self.repository == 'pypi':
-                self.repository = self.DEFAULT_REPOSITORY
-            self.has_config = False
-
     def classifiers(self):
         ''' Fetch the list of classifiers from the server.
         '''
@@ -99,7 +90,6 @@
         (code, result) = self.post_to_server(self.build_post_data('verify'))
         print 'Server response (%s): %s'%(code, result)
 
-
     def send_metadata(self):
         ''' Send the metadata to the package index server.
 
@@ -109,14 +99,10 @@
 
             First we try to read the username/password from $HOME/.pypirc,
             which is a ConfigParser-formatted file with a section
-            [distutils] containing username and password entries (both
+            [server-login] containing username and password entries (both
             in clear text). Eg:
 
-                [distutils]
-                index-servers =
-                    pypi
-
-                [pypi]
+                [server-login]
                 username: fred
                 password: sekrit
 
@@ -128,15 +114,21 @@
              3. set the password to a random string and email the user.
 
         '''
+        choice = 'x'
+        username = password = ''
+
         # see if we can short-cut and get the username/password from the
         # config
-        if self.has_config:
-            choice = '1'
-            username = self.username
-            password = self.password
-        else:
-            choice = 'x'
-            username = password = ''
+        config = None
+        if 'HOME' in os.environ:
+            rc = os.path.join(os.environ['HOME'], '.pypirc')
+            if os.path.exists(rc):
+                print 'Using PyPI login from %s'%rc
+                config = ConfigParser.ConfigParser()
+                config.read(rc)
+                username = config.get('server-login', 'username')
+                password = config.get('server-login', 'password')
+                choice = '1'
 
         # get the user's login info
         choices = '1 2 3 4'.split()
@@ -163,24 +155,32 @@
             # set up the authentication
             auth = urllib2.HTTPPasswordMgr()
             host = urlparse.urlparse(self.repository)[1]
-            auth.add_password(self.realm, host, username, password)
+            auth.add_password('pypi', host, username, password)
+
             # send the info to the server and report the result
             code, result = self.post_to_server(self.build_post_data('submit'),
                 auth)
-            print 'Server response (%s): %s' % (code, result)
+            print 'Server response (%s): %s'%(code, result)
 
             # possibly save the login
-            if not self.has_config and code == 200:
+            if 'HOME' in os.environ and config is None and code == 200:
+                rc = os.path.join(os.environ['HOME'], '.pypirc')
                 print 'I can store your PyPI login so future submissions will be faster.'
-                print '(the login will be stored in %s)' % self._get_rc_file()
+                print '(the login will be stored in %s)'%rc
                 choice = 'X'
                 while choice.lower() not in 'yn':
                     choice = raw_input('Save your login (y/N)?')
                     if not choice:
                         choice = 'n'
                 if choice.lower() == 'y':
-                    self._store_pypirc(username, password)
-
+                    f = open(rc, 'w')
+                    f.write('[server-login]\nusername:%s\npassword:%s\n'%(
+                        username, password))
+                    f.close()
+                    try:
+                        os.chmod(rc, 0600)
+                    except:
+                        pass
         elif choice == '2':
             data = {':action': 'user'}
             data['name'] = data['password'] = data['email'] = ''
@@ -243,8 +243,7 @@
     def post_to_server(self, data, auth=None):
         ''' Post a query to the server, and return a string response.
         '''
-        self.announce('Registering %s to %s' % (data['name'],
-                                                self.repository), log.INFO)
+
         # Build up the MIME payload for the urllib2 POST data
         boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254'
         sep_boundary = '\n--' + boundary
diff --git a/Lib/distutils/command/upload.py b/Lib/distutils/command/upload.py
index daf6811..301a159 100644
--- a/Lib/distutils/command/upload.py
+++ b/Lib/distutils/command/upload.py
@@ -3,7 +3,7 @@
 Implements the Distutils 'upload' subcommand (upload package to PyPI)."""
 
 from distutils.errors import *
-from distutils.core import PyPIRCCommand
+from distutils.core import Command
 from distutils.spawn import spawn
 from distutils import log
 from hashlib import md5
@@ -16,38 +16,53 @@
 import urlparse
 import cStringIO as StringIO
 
-class upload(PyPIRCCommand):
+class upload(Command):
 
     description = "upload binary package to PyPI"
 
-    user_options = PyPIRCCommand.user_options + [
+    DEFAULT_REPOSITORY = 'http://pypi.python.org/pypi'
+
+    user_options = [
+        ('repository=', 'r',
+         "url of repository [default: %s]" % DEFAULT_REPOSITORY),
+        ('show-response', None,
+         'display full response text from server'),
         ('sign', 's',
          'sign files to upload using gpg'),
         ('identity=', 'i', 'GPG identity used to sign files'),
         ]
-
-    boolean_options = PyPIRCCommand.boolean_options + ['sign']
+    boolean_options = ['show-response', 'sign']
 
     def initialize_options(self):
-        PyPIRCCommand.initialize_options(self)
         self.username = ''
         self.password = ''
+        self.repository = ''
         self.show_response = 0
         self.sign = False
         self.identity = None
 
     def finalize_options(self):
-        PyPIRCCommand.finalize_options(self)
         if self.identity and not self.sign:
             raise DistutilsOptionError(
                 "Must use --sign for --identity to have meaning"
             )
-        config = self._read_pypirc()
-        if config != {}:
-            self.username = config['username']
-            self.password = config['password']
-            self.repository = config['repository']
-            self.realm = config['realm']
+        if 'HOME' in os.environ:
+            rc = os.path.join(os.environ['HOME'], '.pypirc')
+            if os.path.exists(rc):
+                self.announce('Using PyPI login from %s' % rc)
+                config = ConfigParser.ConfigParser({
+                        'username':'',
+                        'password':'',
+                        'repository':''})
+                config.read(rc)
+                if not self.repository:
+                    self.repository = config.get('server-login', 'repository')
+                if not self.username:
+                    self.username = config.get('server-login', 'username')
+                if not self.password:
+                    self.password = config.get('server-login', 'password')
+        if not self.repository:
+            self.repository = self.DEFAULT_REPOSITORY
 
     def run(self):
         if not self.distribution.dist_files: