← Back to team overview

touch-packages team mailing list archive

[Bug 1405951] Re: apt-add-repository with non-existing or mistyped user name results in exceptions

 

** Changed in: software-properties (Ubuntu)
       Status: New => Triaged

** Changed in: software-properties (Ubuntu)
   Importance: Undecided => Medium

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to software-properties in
Ubuntu.
https://bugs.launchpad.net/bugs/1405951

Title:
  apt-add-repository with non-existing or mistyped user name results in
  exceptions

Status in software-properties package in Ubuntu:
  Triaged

Bug description:
  Using a non-existing Launchpad user as an example. The same error
  messages will occur if a user mistypes the ppa username when
  attempting to add the repo.

  $ sudo apt-add-repository ppa:doesntexist
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 101, in _get_https_content_py3
      lp_page = urllib.request.urlopen(request, cafile=LAUNCHPAD_PPA_CERT)
    File "/usr/lib/python3.4/urllib/request.py", line 161, in urlopen
      return opener.open(url, data, timeout)
    File "/usr/lib/python3.4/urllib/request.py", line 469, in open
      response = meth(req, response)
    File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response
      'http', request, response, code, msg, hdrs)
    File "/usr/lib/python3.4/urllib/request.py", line 507, in error
      return self._call_chain(*args)
    File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain
      result = func(*args)
    File "/usr/lib/python3.4/urllib/request.py", line 587, in http_error_default
      raise HTTPError(req.full_url, code, msg, hdrs, fp)
  urllib.error.HTTPError: HTTP Error 404: Not Found

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 321, in get_ppa_info
      ret = get_ppa_info_from_lp(user, ppa)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 91, in get_ppa_info_from_lp
      return get_info_from_lp(lp_url)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 87, in get_info_from_lp
      return _get_https_content_py3(lp_url)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 107, in _get_https_content_py3
      raise PPAException("Error reading %s: %s" % (lp_url, reason), e)
  softwareproperties.ppa.PPAException: 'Error reading https://launchpad.net/api/1.0/~doesntexist/+archive/ubuntu/ppa: Not Found'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 101, in _get_https_content_py3
      lp_page = urllib.request.urlopen(request, cafile=LAUNCHPAD_PPA_CERT)
    File "/usr/lib/python3.4/urllib/request.py", line 161, in urlopen
      return opener.open(url, data, timeout)
    File "/usr/lib/python3.4/urllib/request.py", line 469, in open
      response = meth(req, response)
    File "/usr/lib/python3.4/urllib/request.py", line 579, in http_response
      'http', request, response, code, msg, hdrs)
    File "/usr/lib/python3.4/urllib/request.py", line 507, in error
      return self._call_chain(*args)
    File "/usr/lib/python3.4/urllib/request.py", line 441, in _call_chain
      result = func(*args)
    File "/usr/lib/python3.4/urllib/request.py", line 587, in http_error_default
      raise HTTPError(req.full_url, code, msg, hdrs, fp)
  urllib.error.HTTPError: HTTP Error 404: Not Found

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/usr/bin/apt-add-repository", line 119, in <module>
      shortcut = shortcut_handler(line)
    File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 837, in shortcut_handler
      ret = factory(shortcut)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 382, in shortcut_handler
      return PPAShortcutHandler(shortcut)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 346, in __init__
      info = get_ppa_info(self.shortcut)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 333, in get_ppa_info
      _get_suggested_ppa_message(user, ppa))
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 292, in _get_suggested_ppa_message
      lp_user = get_info_from_lp(LAUNCHPAD_USER_API % user)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 87, in get_info_from_lp
      return _get_https_content_py3(lp_url)
    File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 107, in _get_https_content_py3
      raise PPAException("Error reading %s: %s" % (lp_url, reason), e)
  softwareproperties.ppa.PPAException: 'Error reading https://launchpad.net/api/1.0/~doesntexist: Not Found'

  
  If I attempt to add a PPA entering a real username but a repo which doesn't belong to that user, I get a list of which repos that user provides. I realize it is not possible to list every existing username on Launchpad, but I believe this should be handled more gracefully. For instance the user may get a simple error message saying the user 'doesntexist' is not on Launchpad with suggestions to doublecheck the name for potential typos.

  (See also bug 1405950 which is unrelated but similar)

  ProblemType: Bug
  DistroRelease: Ubuntu 15.04
  Package: software-properties-common 0.96.1
  ProcVersionSignature: Ubuntu 3.16.0-28.38-generic 3.16.7-ckt1
  Uname: Linux 3.16.0-28-generic x86_64
  ApportVersion: 2.15.1-0ubuntu1
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Sat Dec 27 15:16:32 2014
  InstallationDate: Installed on 2014-12-19 (7 days ago)
  InstallationMedia: Ubuntu 15.04 "Vivid Vervet" - Alpha amd64 (20141211)
  PackageArchitecture: all
  SourcePackage: software-properties
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1405951/+subscriptions


References