[oe-commits] Michael Smith : package.bbclass: copy dotfiles in root D to PKGD

git version control git at git.openembedded.org
Tue Oct 12 19:50:11 UTC 2010


Module: openembedded.git
Branch: master
Commit: 5fc5e69f026bccc43cb5e5a46da63e3dd148be3d
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=5fc5e69f026bccc43cb5e5a46da63e3dd148be3d

Author: Michael Smith <msmith at cbnco.com>
Date:   Fri Sep 24 12:50:00 2010 -0400

package.bbclass: copy dotfiles in root D to PKGD

Use shutil.copytree() to copy D ("image") to PKGD ("package"). The
previous system("cp %s/* ...") missed dotfiles/dirs at the top-level.

Signed-off-by: Michael Smith <msmith at cbnco.com>
Acked-by: Chris Larson <chris_larson at mentor.com>

---

 classes/package.bbclass |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/classes/package.bbclass b/classes/package.bbclass
index e2a61bf..6a290ee 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -356,15 +356,20 @@ python package_do_split_locales() {
 }
 
 python perform_packagecopy () {
-	dest = bb.data.getVar('D', d, True)
-	dvar = bb.data.getVar('PKGD', d, True)
+	import shutil
+
+	installdest = bb.data.getVar('D', d, True)
+	pkgcopy = bb.data.getVar('PKGD', d, True)
 
-	bb.mkdirhier(dvar)
+	# Start package population by taking a copy of the installed 
+	# files to operate on. Create missing parent directories of
+	# pkgcopy first (shutil.copytree() does this automatically but only
+	# in Python 2.5+).
+	bb.mkdirhier(pkgcopy)
+	shutil.rmtree(pkgcopy, True)
 
-	# Start by package population by taking a copy of the installed 
-	# files to operate on
-	os.system('rm -rf %s/*' % (dvar))
-	os.system('cp -pPR %s/* %s/' % (dest, dvar))
+	# Preserve symlinks.
+	shutil.copytree(installdest, pkgcopy, symlinks=True)
 }
 
 python populate_packages () {





More information about the Openembedded-commits mailing list