mgorny      14/04/10 16:43:25

  Modified:             ChangeLog multibuild.eclass
  Log:
  Use a more portable and clobbering "cp" call for multibuild_merge_root().

Revision  Changes    Path
1.1203               eclass/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1203&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1203&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1202&r2=1.1203

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1202
retrieving revision 1.1203
diff -u -r1.1202 -r1.1203
--- ChangeLog   9 Apr 2014 21:55:12 -0000       1.1202
+++ ChangeLog   10 Apr 2014 16:43:25 -0000      1.1203
@@ -1,6 +1,9 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1202 2014/04/09 
21:55:12 radhermit Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1203 2014/04/10 
16:43:25 mgorny Exp $
+
+  10 Apr 2014; Michał Górny <mgo...@gentoo.org> multibuild.eclass:
+  Use a more portable and clobbering "cp" call for multibuild_merge_root().
 
   09 Apr 2014; Tim Harder <radher...@gentoo.org> java-utils-2.eclass:
   Only refer to DESTTREE within the src_install phase.



1.15                 eclass/multibuild.eclass

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multibuild.eclass?rev=1.15&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multibuild.eclass?rev=1.15&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multibuild.eclass?r1=1.14&r2=1.15

Index: multibuild.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/multibuild.eclass,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- multibuild.eclass   18 Sep 2013 08:49:33 -0000      1.14
+++ multibuild.eclass   10 Apr 2014 16:43:25 -0000      1.15
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/multibuild.eclass,v 1.14 2013/09/18 
08:49:33 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/multibuild.eclass,v 1.15 2014/04/10 
16:43:25 mgorny Exp $
 
 # @ECLASS: multibuild
 # @MAINTAINER:
@@ -265,24 +265,22 @@
        done
        rm "${lockfile_l}" || die
 
-       if use userland_BSD; then
-               # 'cp -a -n' is broken:
-               # http://www.freebsd.org/cgi/query-pr.cgi?pr=174489
-               # using tar instead which is universal but terribly slow.
-
-               tar -C "${src}" -f - -c . \
-                       | tar -x -f - -C "${dest}"
-               [[ ${PIPESTATUS[*]} == '0 0' ]]
-               ret=${?}
-       elif use userland_GNU; then
-               # cp works with '-a -n'.
+       local cp_args=()
 
-               cp -a -l -n "${src}"/. "${dest}"/
-               ret=${?}
+       if cp -a --version &>/dev/null; then
+               cp_args+=( -a )
        else
-               die "Unsupported userland (${USERLAND}), please report."
+               cp_args+=( -P -R -p )
        fi
 
+       if cp --reflink=auto --version &>/dev/null; then
+               # enable reflinking if possible to make this faster
+               cp_args+=( --reflink=auto )
+       fi
+
+       cp "${cp_args[@]}" "${src}"/. "${dest}"/
+       ret=${?}
+
        # Remove the lock.
        rm "${lockfile}" || die
 




Reply via email to