summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2006-10-02 09:34:05 +0000
committerKoen Kooi <koen@openembedded.org>2006-10-02 09:34:05 +0000
commit594be13fcc486e79bdbe5bcaf7a8d892b41ca82e (patch)
tree593509d70bede0dd210dfba4a6ad918ec2f3663e
parent15016a995a6d3cdde57924abda65e93755d38209 (diff)
downloadopenembedded-594be13fcc486e79bdbe5bcaf7a8d892b41ca82e.tar.gz
classes/packaged-staging.bbclass: use stage-manager helper script to manage moving around staging/ and cross/
-rw-r--r--classes/packaged-staging.bbclass114
1 files changed, 53 insertions, 61 deletions
diff --git a/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass
index c7ff2aef5e..d2e22a9079 100644
--- a/classes/packaged-staging.bbclass
+++ b/classes/packaged-staging.bbclass
@@ -36,6 +36,9 @@ PCROSS_PKGNAME = "cross-${PN}_${PV}-${PR}_${BUILD_ARCH}.ipk"
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,19 +88,9 @@ do_clean_append() {
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
-
-#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 ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u
+stage-manager -p ${CROSS_DIR} -c ${DEPLOY_DIR_PSTAGE}/cross-stamp-cache -u
if [ ! -e ${STAGING_BASEDIR} ]; then
mkdir -p ${STAGING_BASEDIR}
@@ -166,13 +159,6 @@ if [ ${PN} != "glibc-intermediate" ] ; then
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}
@@ -189,56 +175,62 @@ mkdir -p ${DEPLOY_DIR_PSTAGE}
# 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
- #make a package for staging
- mkdir -p ${STAGING_DIR}/CONTROL
-
- 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
-
- ${PSTAGE_BUILD_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}
- rm -rf ${STAGING_DIR}
-
-
- #make a package for cross
- if [ -e ${CROSS_DIR} ] ; then
- mkdir -p ${CROSS_DIR}/CONTROL
-
- 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_STAGE}
+ stage-manager -p ${STAGING_DIR} -c ${DEPLOY_DIR_PSTAGE}/staging-stamp-cache -u -d ${PSTAGE_TMPDIR_STAGE}
+ rc=$?
+ set -e
+
+ if [ $rc == 5 ]; then
+
+ echo $?
+ echo "Trying Cross"
+ #make a package for staging
+ mkdir -p ${PSTAGE_TMPDIR_STAGE}/CONTROL
+
+ 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_INSTALL_CMD} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
- fi # if -e CROSS_DIR
+ ${PSTAGE_BUILD_CMD} ${PSTAGE_TMPDIR_STAGE} ${DEPLOY_DIR_PSTAGE}
- if [ -e ${TMPDIR}/moved-cross ] ; then
- rm -rf ${CROSS_DIR}
- mv ${TMPDIR}/pcross ${CROSS_DIR}
- rm ${TMPDIR}/moved-cross
+ ${PSTAGE_INSTALL_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
fi
- #move back stagingdir so we can install packages
- mv ${TMPDIR}/pstage ${STAGING_DIR}
- rm ${TMPDIR}/moved-staging
+ 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
+
+ if [ $rc == 5 ]; then
+
+ #make a package for cross
+ mkdir -p ${PSTAGE_TMPDIR_CROSS}/CONTROL
+
+ 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} ${CROSS_DIR} ${DEPLOY_DIR_PSTAGE}/${PCROSS_PKGNAME}
+ fi
- ${PSTAGE_INSTALL_CMD} ${STAGING_DIR} ${DEPLOY_DIR_PSTAGE}/${PSTAGE_PKGNAME}
else
oenote "Glibc-intermediate detected (again)"
fi #if !glibc-intermediate