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