diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-12-09 16:47:52 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-12-09 16:47:52 -0800 |
commit | 9f090f6397574e83198d6929b24561949aff8802 (patch) | |
tree | 18026dcfef746354306fd531196c500f7ec2dd57 /pym/portage/util/movefile.py | |
parent | 4df21a13440d36a94e34ba421d1fb8bc77d35be0 (diff) | |
download | portage-9f090f6397574e83198d6929b24561949aff8802.tar.gz portage-9f090f6397574e83198d6929b24561949aff8802.tar.bz2 portage-9f090f6397574e83198d6929b24561949aff8802.zip |
Support FEATURES=xattr.
Diffstat (limited to 'pym/portage/util/movefile.py')
-rw-r--r-- | pym/portage/util/movefile.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/portage/util/movefile.py b/pym/portage/util/movefile.py index c777b24ba..e1dfa429f 100644 --- a/pym/portage/util/movefile.py +++ b/pym/portage/util/movefile.py @@ -70,6 +70,7 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, mysettings = portage.settings src_bytes = _unicode_encode(src, encoding=encoding, errors='strict') + xattr_enabled = "xattr" in mysettings.features selinux_enabled = mysettings.selinux_enabled() if selinux_enabled: selinux = _unicode_module_wrapper(_selinux, encoding=encoding) @@ -208,12 +209,14 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, try: # For safety copy then move it over. if selinux_enabled: selinux.copyfile(src, dest_tmp) - _copyxattr(src_bytes, dest_tmp_bytes) + if xattr_enabled: + _copyxattr(src_bytes, dest_tmp_bytes) _apply_stat(sstat, dest_tmp_bytes) selinux.rename(dest_tmp, dest) else: shutil.copyfile(src, dest_tmp) - _copyxattr(src_bytes, dest_tmp_bytes) + if xattr_enabled: + _copyxattr(src_bytes, dest_tmp_bytes) _apply_stat(sstat, dest_tmp_bytes) os.rename(dest_tmp, dest) os.unlink(src) |