Bug #390691: Be careful about cp call to coreutils with --no-preserve option that...
authorRobin H. Johnson <robbat2@gentoo.org>
Sun, 18 Dec 2011 23:38:11 +0000 (23:38 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Sun, 18 Dec 2011 23:38:11 +0000 (23:38 +0000)
eclass/ChangeLog
eclass/python.eclass

index 0ced77e8ce26231ed87cf3684da9379285f3c990..84b5542bea67d9470c679165a5bb8987912fcc57 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.49 2011/12/18 21:33:50 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.50 2011/12/18 23:38:11 robbat2 Exp $
+
+  18 Dec 2011; Robin H. Johnson <robbat2@gentoo.org> python.eclass:
+  Bug #390691: Be careful about cp call to coreutils with --no-preserve option
+  that might not be available until later in an upgrade.
 
   18 Dec 2011; Diego E. Pettenò <flameeyes@gentoo.org> ruby-ng.eclass:
   Reorder setting of REQUIRED_USE to stay near IUSE setting; also use
index 51b76075ade31795acc39efe5057e77a343a426e..0c0707aaac9ec29a20078293b851bc66dde6e45b 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.141 2011/11/30 08:55:18 djc Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.142 2011/12/18 23:38:11 robbat2 Exp $
 
 # @ECLASS: python.eclass
 # @MAINTAINER:
@@ -1592,8 +1592,14 @@ for file in sorted(files_set):
 
                popd > /dev/null || die "popd failed"
 
-               if ROOT="/" has_version sys-apps/coreutils; then
+               # This is per bug #390691, without the duplication refactor, and with
+               # the 3-way structure per comment #6. This enable users with old
+               # coreutils to upgrade a lot easier (you need to upgrade python+portage
+               # before coreutils can be upgraded).
+               if ROOT="/" has_version >=sys-apps/coreutils-6.9.90; then
                        cp -fr --preserve=all --no-preserve=context "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"
+               elif ROOT="/" has_version sys-apps/coreutils; then
+                       cp -fr --preserve=all "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"
                else
                        cp -fpr "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"
                fi