hg is aborting when I try to update, even with a clean install.
smeagolthellama opened this issue · 6 comments
Steps to reproduce (for me): update.sh or autogen.sh
affected version: latest git
hg version: 4.8.2
the problem:
$ ./autogen.sh
abort: error: Permission denied
I have narrowed it down to the line that ends up calling the following:
$ hg clone https://keep.imfreedom.org/pidgin/pidgin/
abort: error: Permission denied
The previous command doesn't seem to work in any directory on my machine, so it doesn't appear to be a problem with my folder permissions. Also, I have plenty of space on the disk so it isn't that either.
No idea. Works for me. I'm not very familiar with mercurial, try to get more debugging info out of it?
Found some debugging options, output is below.
$ hg -v --traceback --debug clone https://keep.imfreedom.org/pidgin/pidgin/
using https://keep.imfreedom.org/pidgin/pidgin/
sending capabilities command
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line 166, in callcatch
return func()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 354, in _runcatchfunc
return _dispatch(req)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 994, in _dispatch
cmdpats, cmdoptions)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 737, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 1003, in _runcommand
return cmdfunc()
File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line 991, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1646, in check
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line 1557, in clone
depth=opts.get('depth') or None)
File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 536, in clone
srcpeer = peer(ui, peeropts, source)
File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 200, in peer
createopts=createopts).peer()
File "/usr/lib/python2.7/dist-packages/mercurial/hg.py", line 161, in _peerorrepo
createopts=createopts)
File "/usr/lib/python2.7/dist-packages/mercurial/httppeer.py", line 997, in instance
inst = makepeer(ui, path)
File "/usr/lib/python2.7/dist-packages/mercurial/httppeer.py", line 961, in makepeer
respurl, info = performhandshake(ui, url, opener, requestbuilder)
File "/usr/lib/python2.7/dist-packages/mercurial/httppeer.py", line 881, in performhandshake
resp = sendrequest(ui, opener, req)
File "/usr/lib/python2.7/dist-packages/mercurial/httppeer.py", line 275, in sendrequest
res = opener.open(req)
File "/usr/lib/python2.7/urllib2.py", line 429, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 447, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/dist-packages/mercurial/url.py", line 391, in https_open
return self.do_open(self._makeconnection, req)
File "/usr/lib/python2.7/dist-packages/mercurial/keepalive.py", line 251, in do_open
raise urlerr.urlerror(err)
URLError: <urlopen error [Errno 13] Permission denied>
abort: error: Permission denied
It says it's selinux nonsense. Probably a bug in your distro, if you installed mercurial from your distro's packages.
As far as I can tell, I don't have any selinux stuff, so none of that is helping.
The only things I can imagine that would throw permission denied when opening a network connection are system-call level security enhancements of that sort. So either selinux or something equivalent. Anyway - really not my area of expertise, more likely to be about your distro.
working workaround: use the release tarballs.