[oe-commits] org.oe.packaged-staging classes/packaged-staging.bbclass: use stage-manager helper script to manage moving around staging/ and cross/

rpurdie commit openembedded-commits at lists.openembedded.org
Mon Oct 2 09:41:10 UTC 2006


classes/packaged-staging.bbclass: use stage-manager helper script to manage moving around staging/ and cross/

Author: rpurdie at rpsys.net
Branch: org.openembedded.packaged-staging
Revision: 986d9bc3bcbf18d7890f3892aaad433e9f808fa2
ViewMTN: http://monotone.openembedded.org/revision.psp?id=986d9bc3bcbf18d7890f3892aaad433e9f808fa2
Files:
1
classes/packaged-staging.bbclass
Diffs:

#
# mt diff -r397db3df54500e41ea6b07cc3ac1f60a34488918 -r986d9bc3bcbf18d7890f3892aaad433e9f808fa2
#
# 
# 
# patch "classes/packaged-staging.bbclass"
#  from [deac2e8db37baf61e012f3677a30573e76d949e5]
#    to [53655f4ce0e43ac810babf1910082d1899b3148f]
# 
============================================================
--- classes/packaged-staging.bbclass	deac2e8db37baf61e012f3677a30573e76d949e5
+++ classes/packaged-staging.bbclass	53655f4ce0e43ac810babf1910082d1899b3148f
@@ -36,6 +36,9 @@ SPAWNIPK                = ${spawn}
 SPAWNFILE 		= "${STAGING_DIR}/pkgmaps/${P}-${PR}.spawn"
 SPAWNIPK                = ${spawn}
 
+PSTAGE_TMPDIR_STAGE     = ${TMPDIR}/tmp-staging
+PSTAGE_TMPDIR_CROSS     = ${TMPDIR}/tmp-cross
+
 STAGING_BASEDIR		= "${STAGING_LIBDIR}/.."
 
 PACKAGEFUNCS += "do_write_ipk_list"
@@ -85,20 +88,10 @@ do_stage_prepend() {
 
 do_stage_prepend() {
 
-#detect aborted staging attempts
-if [ -e ${TMPDIR}/moved-staging ]; then
-        oenote "Detected a moved staging, moving it back"
-	rm -rf ${STAGING_DIR} && mv ${TMPDIR}/pstage ${STAGING_DIR} && rm ${TMPDIR}/moved-staging
-fi
+stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u
 
-#detect aborted staging attempts into cross/
-if [ -e ${TMPDIR}/moved-cross ]; then
-        oenote "Detected a moved cross/, moving it back"
-        rm -rf ${CROSS_DIR} && mv ${TMPDIR}/pcross ${CROSS_DIR} && rm ${TMPDIR}/moved-cross
-fi
+stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/cross-stamp-cache -u
 
-
-
 if [ ! -e ${STAGING_BASEDIR} ]; then
 	mkdir -p ${STAGING_BASEDIR}
 fi
@@ -166,14 +159,7 @@ if [ ${PN} != "glibc-intermediate" ] ; t
 		exit 0      
 	fi
 
-	touch ${TMPDIR}/moved-staging
-	mv ${STAGING_DIR} ${TMPDIR}/pstage
 
-	if [ -e ${CROSS_DIR} ]; then
-		mv ${CROSS_DIR} ${TMPDIR}/pcross
-		touch ${TMPDIR}/moved-cross
-	fi
-
 	mkdir -p ${STAGING_BINDIR}
 	mkdir -p ${STAGING_LIBDIR}
 	mkdir -p ${STAGING_INCDIR}
@@ -189,56 +175,62 @@ ${PSTAGE_LIST_CMD} ${STAGING_BASEDIR} | 
 
 # list the packages currently installed in staging
 ${PSTAGE_LIST_CMD} ${STAGING_BASEDIR} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-staging_list         
-${PSTAGE_LIST_CMD} ${CROSSDIR} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-cross_list
+${PSTAGE_LIST_CMD} ${CROSS_DIR} | awk '{print $1}' > ${DEPLOY_DIR_PSTAGE}/installed-cross_list
 
+if [ ${PN} != "glibc-intermediate" ] ; then
 
-if [ ${PN} != "glibc-intermediate" ] ; then
+	set +e
+	rm -rf ${PSTAGE_TMPDIR_STAGE}
+	stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u -d ${PSTAGE_TMPDIR_STAGE}
+	rc=$?
+	set -e
 
-	#make a package for staging
-	mkdir -p ${STAGING_DIR}/CONTROL
+	if [ $rc == 5 ]; then
 
-	echo "Package: staging-${PN}"           >  ${STAGING_DIR}/CONTROL/control
-	echo "Version: ${PV}-${PR}"             >> ${STAGING_DIR}/CONTROL/control
-	echo "Description: ${DESCRIPTION}"      >> ${STAGING_DIR}/CONTROL/control
-	echo "Section: ${SECTION}"              >> ${STAGING_DIR}/CONTROL/control
-	echo "Priority: Optional"               >> ${STAGING_DIR}/CONTROL/control
-	echo "Maintainer: ${MAINTAINER}"        >> ${STAGING_DIR}/CONTROL/control
-	echo "Architecture: ${PACKAGE_ARCH}"    >> ${STAGING_DIR}/CONTROL/control
-	echo "Source: ${SRC_URI}"               >> ${STAGING_DIR}/CONTROL/control
+                echo $?
+                echo "Trying Cross" 
+		#make a package for staging
+		mkdir -p ${PSTAGE_TMPDIR_STAGE}/CONTROL
 
-        ${PSTAGE_BUILD_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}
-        rm -rf ${STAGING_DIR}
+		echo "Package: staging-${PN}"           >  ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Version: ${PV}-${PR}"             >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Description: ${DESCRIPTION}"      >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Section: ${SECTION}"              >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Priority: Optional"               >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Maintainer: ${MAINTAINER}"        >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Architecture: ${PACKAGE_ARCH}"    >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
+		echo "Source: ${SRC_URI}"               >> ${PSTAGE_TMPDIR_STAGE}/CONTROL/control
 
+	        ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${DEPLOY_DIR_PSTAGE}
 
-	#make a package for cross
-	if [ -e ${CROSS_DIR} ] ; then
-	        mkdir -p ${CROSS_DIR}/CONTROL
+		${PSTAGE_INSTALL_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
+	fi
 
-	        echo "Package: cross-${PN}"           	>  ${CROSS_DIR}/CONTROL/control
-	        echo "Version: ${PV}-${PR}"             >> ${CROSS_DIR}/CONTROL/control
-	        echo "Description: ${DESCRIPTION}"      >> ${CROSS_DIR}/CONTROL/control
-	        echo "Section: ${SECTION}"              >> ${CROSS_DIR}/CONTROL/control
-	        echo "Priority: Optional"               >> ${CROSS_DIR}/CONTROL/control
-	        echo "Maintainer: ${MAINTAINER}"        >> ${CROSS_DIR}/CONTROL/control
-	        echo "Architecture: ${BUILD_ARCH}"    	>> ${CROSS_DIR}/CONTROL/control
-	        echo "Source: ${SRC_URI}"               >> ${CROSS_DIR}/CONTROL/control
-	
-		${PSTAGE_BUILD_CMD} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}
+	set +e
+	rm -rf ${PSTAGE_TMPDIR_CROSS}
+	stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/cross-stamp-cache -u -d ${PSTAGE_TMPDIR_CROSS}
+	rc=$?
+	set -e
 
-		${PSTAGE_INSTALL_CMD} ${CROSS_DIR}  ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
-	fi # if -e CROSS_DIR
+	if [ $rc == 5 ]; then
 
-	if [ -e ${TMPDIR}/moved-cross ] ; then  
-		rm -rf ${CROSS_DIR}
-	        mv ${TMPDIR}/pcross ${CROSS_DIR}
-		rm ${TMPDIR}/moved-cross
-	fi
+		#make a package for cross
+	        mkdir -p ${PSTAGE_TMPDIR_CROSS}/CONTROL
 
-	#move back stagingdir so we can install packages   
-	mv ${TMPDIR}/pstage ${STAGING_DIR}
-	rm ${TMPDIR}/moved-staging
+	        echo "Package: cross-${PN}"           	>  ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Version: ${PV}-${PR}"             >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Description: ${DESCRIPTION}"      >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Section: ${SECTION}"              >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Priority: Optional"               >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Maintainer: ${MAINTAINER}"        >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Architecture: ${BUILD_ARCH}"    	>> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	        echo "Source: ${SRC_URI}"               >> ${PSTAGE_TMPDIR_CROSS}/CONTROL/control
+	
+		${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_CROSS} ${DEPLOY_DIR_PSTAGE}
 
-	${PSTAGE_INSTALL_CMD} ${STAGING_DIR}  ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
+		${PSTAGE_INSTALL_CMD} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
+	fi
+
 else
 	oenote "Glibc-intermediate detected (again)"
 fi #if !glibc-intermediate






More information about the Openembedded-commits mailing list