tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: python2.6 copystat and NFS, and mercurial



On Tue, Aug 18, 2009 at 12:20:47AM +1200, Mark Davies wrote:
 > Not sure the best way to deal with this:
 > 
 > In python 2.6 the copystat() function (in /usr/pkg/lib/python2.6/shutil.py)
 > has grown an extra part
 > 
 >     if hasattr(os, 'chflags') and hasattr(st, 'st_flags'):
 >         os.chflags(dst, st.st_flags)
 > 
 > 
 > This causes the function to die, on NetBSD at least, if the destination is 
 > on NFS with
 > OSError: [Errno 45] Operation not supported:
 > 
 > because - from the chflags(2) manual page
 >      [EOPNOTSUPP]       The named file resides on a file system that does
 >                         not support file flags.

This is now breaking Mercurial when built with Python 2.6, which is
now the default. Going to 2.5 avoids the problem but is not really an
adequate long-term solution.

Back in September I suggested this:

 : Maybe have os.chflags suppress the error if errno == EOPNOTSUPP and
 : the flags argument is 0?

Thoughts anyone?

We really don't want to ship a broken Mercurial with 2010Q1...

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index