msg50263 - (view) |
Author: M. Levinson (levinsm) |
Date: 2006-05-17 11:45 |
The return value from os.stat() includes st_flags on some systems, but currently there's not much that can be done with the value; this patch aims to make st_flags useful by adding some associated constants to stat.py and the corresponding chflags() and lchflags() functions in posixmodule. For completeness, shutil.copystat() is also updated to call os.chflags() where it's available. |
|
|
msg50264 - (view) |
Author: Georg Brandl (georg.brandl) *  |
Date: 2006-05-17 14:24 |
Logged In: YES user_id=849994 Patch looks good. Do we want to include it? |
|
|
msg50265 - (view) |
Author: Neal Norwitz (nnorwitz) *  |
Date: 2006-05-19 07:31 |
Logged In: YES user_id=33168 What operating systems is this available on? The only one I've found is OS X. The man page says it's from BSD 4.4. I tried on Linux of various flavors (4+), Solaris, and Tru64. None of them had chflags. I also could only find some of the flags in my sys/stat.h that were added to stat.py. stat.h didn't have UF_NOUNLINK, SF_NOUNLINK, SF_SNAPSHOT. As far as the patch itself, it looks good. There are a couple of changes if this should be accepted though: doc needs \versionadded{2.5}, I would prefer flags as the var name rather than i in posixmodule.c (btw you shouldn't need to init path). Also would need to update Misc/NEWS and ACKS if accepted. |
|
|
msg50266 - (view) |
Author: M. Levinson (levinsm) |
Date: 2006-05-19 11:47 |
Logged In: YES user_id=1522893 In addition to MacOS, chflags(2) is available on FreeBSD, OpenBSD, and NetBSD. The flags in Lib/stat.py are the full set of available values although, as you noted, MacOS hasn't (yet) implemented several of them. Thanks for the comments - I've attached an updated version of the patch incorporating your suggestions. |
|
|
msg50267 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2007-02-19 10:56 |
Thanks for the patch. Committed as r53826. |
|
|
msg50268 - (view) |
Author: Neal Norwitz (nnorwitz) *  |
Date: 2007-03-20 06:42 |
It looks like Tru64 does have some version of chflags, however, it is undocumented and apparently causes python to exit. It is at least one of the reasons for the recent buildbot failures: http://python.org/dev/buildbot/all/alpha%20Tru64%205.1%20trunk/builds/1550/step-test/0 That doesn't really tell the whole story, but I logged on to the machine and ran the test, after modifying unittest to flush the stream, sigh :-( and got this: ringneck:/net/cci/nnorwitz/python/trunk.norwitz-tru64/nn-work-build % ./python -E -tt ./Lib/test/regrtest.py -v test_posix test_posix testNoArgFunctions (test.test_posix.PosixTester) ... ok test_access (test.test_posix.PosixTester) ... ok test_chdir (test.test_posix.PosixTester) ... ok test_chflags (test.test_posix.PosixTester) ... Bad system call |
|
|
msg50269 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2007-03-21 16:46 |
nnorwitz, can you please report whether the attached patch fixes it? File Added: chflags.diff |
|
|
msg56988 - (view) |
Author: Neal Norwitz (nnorwitz) *  |
Date: 2007-10-31 06:03 |
Martin's patch from 2007-03-21 fixed the problem with test_posix. It now passes all the tests (test_posix and rest of test suite). The tests/interpreter do not exit prematurely. I think it is good to apply this patch. |
|
|
msg58179 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2007-12-04 08:38 |
Committed chflags.diff as r59317. |
|
|