From f2cf964b132f0ab462264daaf017a9a533dbd667 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 2 Nov 2018 10:46:38 +0100 Subject: classes: image_types_ostree: check OSTree repo existence using ostree Currently we assume if the OSTree repo exists, that there is a OSTree repo in it. This does not need to be true in general, and when using lockfiles bitbake will create the directory before the do_image_ostree task is executed the first time. Use ostree refs to detect whether the target directory contains a OSTree repo. Signed-off-by: Stefan Agner --- classes/image_types_ostree.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'classes') diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index 3bf2d0e..d74b7ae 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass @@ -155,7 +155,7 @@ IMAGE_CMD_ostree () { rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 ln -s ${IMAGE_NAME}.rootfs.ostree.tar.bz2 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 - if [ ! -d ${OSTREE_REPO} ]; then + if ! ostree --repo=${OSTREE_REPO} refs 2>&1 > /dev/null; then ostree --repo=${OSTREE_REPO} init --mode=archive-z2 fi -- cgit v1.2.3-54-g00ecf From 7dfa63e7ee47e23f41e1f0a5dce30cf642b95457 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 31 Oct 2018 19:10:23 +0100 Subject: classes: image_types_ostree: use locking during OSTree repo update The OSTree repository might be shared accross several individual OSTree builders. Use bitbakes lockfiles mechanism to lock the OSTree for exclusive use. Signed-off-by: Stefan Agner --- classes/image_types_ostree.bbclass | 1 + 1 file changed, 1 insertion(+) (limited to 'classes') diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass index d74b7ae..d2feb50 100644 --- a/classes/image_types_ostree.bbclass +++ b/classes/image_types_ostree.bbclass @@ -7,6 +7,7 @@ do_image_ostree[depends] += "ostree-native:do_populate_sysroot \ virtual/kernel:do_deploy \ ${INITRAMFS_IMAGE}:do_image_complete \ " +do_image_ostree[lockfiles] += "${OSTREE_REPO}/ostree.lock" export OSTREE_REPO export OSTREE_BRANCHNAME -- cgit v1.2.3-54-g00ecf