diff options
author | Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> | 2018-03-04 03:25:34 +0100 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2018-03-03 18:37:09 -0800 |
commit | ad72389ed8067d740dd0e3f975a33f0c1cbfd8b5 (patch) | |
tree | e1859c7cd010053dcbe03af96c8743a51cd5736d /pym/portage/util/movefile.py | |
parent | _spawn_actionmap: simplify nosandbox logic (diff) | |
download | portage-ad72389ed8067d740dd0e3f975a33f0c1cbfd8b5.tar.gz portage-ad72389ed8067d740dd0e3f975a33f0c1cbfd8b5.tar.bz2 portage-ad72389ed8067d740dd0e3f975a33f0c1cbfd8b5.zip |
movefile: Fix preservation of security.capability xattr
Call _apply_stat() before copying extended attributes, because
_apply_stat() calls os.chown() which results in deleting
security.capability extended attribute.
Bug: https://bugs.gentoo.org/649418
Diffstat (limited to 'pym/portage/util/movefile.py')
-rw-r--r-- | pym/portage/util/movefile.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pym/portage/util/movefile.py b/pym/portage/util/movefile.py index 37c809eb5..5477a669f 100644 --- a/pym/portage/util/movefile.py +++ b/pym/portage/util/movefile.py @@ -1,4 +1,4 @@ -# Copyright 2010-2013 Gentoo Foundation +# Copyright 2010-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 from __future__ import absolute_import, unicode_literals @@ -272,6 +272,7 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, errors='strict') try: # For safety copy then move it over. _copyfile(src_bytes, dest_tmp_bytes) + _apply_stat(sstat, dest_tmp_bytes) if xattr_enabled: try: _copyxattr(src_bytes, dest_tmp_bytes, @@ -286,7 +287,6 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None, for line in msg: writemsg("!!! %s\n" % (line,), noiselevel=-1) raise - _apply_stat(sstat, dest_tmp_bytes) _rename(dest_tmp_bytes, dest_bytes) _os.unlink(src_bytes) except SystemExit as e: |