Public bug reported: 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) ** Affects: software-properties (Ubuntu) Importance: Undecided Status: New ** Tags: amd64 apport-bug vivid -- 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: New 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 -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp