[oe-commits] Martin Jansa : Revert "Revert "package.bbclass: Change to operate on a copy of the install directory instead of directly. Also take the opportunity to rename the temp directories so their function is clear (from Poky)""

git version control git at git.openembedded.org
Sat Nov 14 06:25:14 UTC 2009


Module: openembedded.git
Branch: shr/merge
Commit: 1c2ca2ac0258b0001c0668dc9ff63d168678413e
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=1c2ca2ac0258b0001c0668dc9ff63d168678413e

Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Sat Nov 14 07:23:44 2009 +0100

Revert "Revert "package.bbclass: Change to operate on a copy of the install directory instead of directly. Also take the opportunity to rename the temp directories so their function is clear (from Poky)""

This reverts commit 9ed817afcf96bb86bb38483cc9c836e8462d0574.

---

 classes/package.bbclass |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/classes/package.bbclass b/classes/package.bbclass
index 064c43c..1c14908 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -2,7 +2,8 @@
 # General packaging help functions
 #
 
-PKGDEST = "${WORKDIR}/install"
+PKGD    = "${WORKDIR}/package"
+PKGDEST = "${WORKDIR}/packages-split"
 
 def legitimize_package_name(s):
 	"""
@@ -28,7 +29,7 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
 	"""
 	import os, os.path, bb
 
-	dvar = bb.data.getVar('D', d, True)
+	dvar = bb.data.getVar('PKGD', d, True)
 
 	packages = bb.data.getVar('PACKAGES', d, True).split()
 
@@ -299,7 +300,7 @@ python package_do_split_locales() {
 		bb.note("datadir not defined")
 		return
 
-	dvar = bb.data.getVar('D', d, True)
+	dvar = bb.data.getVar('PKGD', d, True)
 	pn = bb.data.getVar('PN', d, True)
 
 	if pn + '-locale' in packages:
@@ -333,19 +334,29 @@ python package_do_split_locales() {
 	bb.data.setVar('PACKAGES', ' '.join(packages), d)
 }
 
+python perform_packagecopy () {
+	import os
+
+	dest = bb.data.getVar('D', d, True)
+	dvar = bb.data.getVar('PKGD', d, True)
+
+	bb.mkdirhier(dvar)
+
+	# Start by package population by taking a copy of the installed 
+	# files to operate on
+	os.system('cp -pPR %s/* %s/' % (dest, dvar))
+}
+
 python populate_packages () {
 	import os, glob, stat, errno, re
 
 	workdir = bb.data.getVar('WORKDIR', d, True)
 	outdir = bb.data.getVar('DEPLOY_DIR', d, True)
-	dvar = bb.data.getVar('D', d, True)
+	dvar = bb.data.getVar('PKGD', d, True)
 	packages = bb.data.getVar('PACKAGES', d, True)
 	pn = bb.data.getVar('PN', d, True)
 
 	bb.mkdirhier(outdir)
-	bb.mkdirhier(dvar)
-
-
 	os.chdir(dvar)
 
 	def isexec(path):
@@ -1031,11 +1042,12 @@ python package_do_package () {
 
 	workdir = bb.data.getVar('WORKDIR', d, True)
 	outdir = bb.data.getVar('DEPLOY_DIR', d, True)
-	dvar = bb.data.getVar('D', d, True)
+	dest = bb.data.getVar('D', d, True)
+	dvar = bb.data.getVar('PKGD', d, True)
 	pn = bb.data.getVar('PN', d, True)
 
-	if not workdir or not outdir or not dvar or not pn or not packages:
-		bb.error("WORKDIR, DEPLOY_DIR, D, and PN all must be defined, unable to package")
+	if not workdir or not outdir or not dest or not dvar or not pn or not packages:
+		bb.error("WORKDIR, DEPLOY_DIR, D, PN and PKGD all must be defined, unable to package")
 		return
 
 	for f in (bb.data.getVar('PACKAGEFUNCS', d, True) or '').split():





More information about the Openembedded-commits mailing list