Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 479060

Summary: sys-apps/portage: ftp binhost TypeError: %d format: a number is required, not error_perm
Product: Portage Development Reporter: Jack Morgan (RETIRED) <jmorgan>
Component: CoreAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://bugs.python.org/issue17933
Whiteboard:
Package list:
Runtime testing required: ---

Description Jack Morgan (RETIRED) gentoo-dev 2013-07-31 02:59:42 UTC
Summary:

I'm testing the latest stage3 tarball. I've got FEATURES=getbinpkgs. The default python is set to python3.2. I've can produce the following errors:


livecd ~ # emerge -pv ccache
Traceback (most recent call last):
  File "/usr/lib64/python3.2/urllib/request.py", line 2195, in retrfile
    self.ftp.cwd(file)
  File "/usr/lib64/python3.2/ftplib.py", line 561, in cwd
    return self.voidcmd(cmd)
  File "/usr/lib64/python3.2/ftplib.py", line 260, in voidcmd
    return self.voidresp()
  File "/usr/lib64/python3.2/ftplib.py", line 234, in voidresp
    resp = self.getresp()
  File "/usr/lib64/python3.2/ftplib.py", line 229, in getresp
    raise error_perm(resp)
ftplib.error_perm: 550 Failed to change directory.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/emerge", line 50, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1052, in emerge_main
    gc_locals=locals().clear)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 3625, in run_action
    getbinpkgs="--getbinpkg" in myopts)
  File "/usr/lib64/portage/pym/portage/dbapi/bintree.py", line 624, in populate
    self._populate(getbinpkgs)
  File "/usr/lib64/portage/pym/portage/dbapi/bintree.py", line 894, in _populate
    f = _urlopen(url, if_modified_since=local_timestamp)
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 31, in __call__
    return result(*args, **kwargs)
  File "/usr/lib64/portage/pym/portage/util/_urlopen.py", line 31, in urlopen
    return _urlopen(url)
  File "/usr/lib64/python3.2/urllib/request.py", line 139, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib64/python3.2/urllib/request.py", line 370, in open
    response = self._open(req, data)
  File "/usr/lib64/python3.2/urllib/request.py", line 388, in _open
    '_open', req)
  File "/usr/lib64/python3.2/urllib/request.py", line 348, in _call_chain
    result = func(*args)
  File "/usr/lib64/python3.2/urllib/request.py", line 1355, in ftp_open
    fp, retrlen = fw.retrfile(file, type)
  File "/usr/lib64/python3.2/urllib/request.py", line 2197, in retrfile
    raise URLError('ftp error: %d' % reason) from reason
TypeError: %d format: a number is required, not error_perm

Workarounds:

1) change python version from python3.2 to python2.7
2) remove FEATURES=getbinpkgs
Comment 1 dwfreed 2013-07-31 03:05:47 UTC
This looks more like a portage problem than a problem with a stage3.  You should go yell at Zac instead :).