summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Vacek <patrickvacek@gmail.com>2019-02-25 15:35:08 +0100
committerGitHub <noreply@github.com>2019-02-25 15:35:08 +0100
commite4984df43817ce12bd3929f6704235f27750e3af (patch)
treecf00354ab07d5606d2a05f6ef0753c7b4807725f
parent210f4f3e8f7779b4321af619252974d81a6f4f33 (diff)
parent202a8c70ba8cdcfb39cf8e2b19a08b5f8850a0f9 (diff)
downloadmeta-updater-e4984df43817ce12bd3929f6704235f27750e3af.tar.gz
Merge pull request #489 from advancedtelematic/fix/OTA-2211/simultaneous-bitbaking
image_types_ostree: Add a unique ref to fix simultaneous bitbaking.
-rw-r--r--classes/image_types_ostree.bbclass12
-rw-r--r--classes/image_types_ota.bbclass2
2 files changed, 11 insertions, 3 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index 29da78e..41327e1 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -148,6 +148,13 @@ IMAGE_CMD_ostreecommit () {
148 if [ "${OSTREE_UPDATE_SUMMARY}" = "1" ]; then 148 if [ "${OSTREE_UPDATE_SUMMARY}" = "1" ]; then
149 ostree --repo=${OSTREE_REPO} summary -u 149 ostree --repo=${OSTREE_REPO} summary -u
150 fi 150 fi
151
152 # To enable simultaneous bitbaking of two images with the same branch name,
153 # create a new ref in the repo using the basename of the image. (This first
154 # requires deleting it if it already exists.) Fixes OTA-2211.
155 ostree --repo=${OSTREE_REPO} refs --delete ${OSTREE_BRANCHNAME}-${IMAGE_BASENAME}
156 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME})
157 ostree --repo=${OSTREE_REPO} refs --create=${OSTREE_BRANCHNAME}-${IMAGE_BASENAME} ${ostree_target_hash}
151} 158}
152 159
153IMAGE_TYPEDEP_ostreepush = "ostreecommit" 160IMAGE_TYPEDEP_ostreepush = "ostreecommit"
@@ -190,7 +197,7 @@ IMAGE_CMD_garagesign () {
190 --home-dir ${GARAGE_SIGN_REPO} \ 197 --home-dir ${GARAGE_SIGN_REPO} \
191 --credentials ${SOTA_PACKED_CREDENTIALS} 198 --credentials ${SOTA_PACKED_CREDENTIALS}
192 199
193 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}) 200 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}-${IMAGE_BASENAME})
194 201
195 # Use OSTree target hash as version if none was provided by the user 202 # Use OSTree target hash as version if none was provided by the user
196 target_version=${ostree_target_hash} 203 target_version=${ostree_target_hash}
@@ -243,7 +250,8 @@ IMAGE_CMD_garagecheck () {
243 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then 250 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then
244 # if credentials are issued by a server that doesn't support offline signing, exit silently 251 # if credentials are issued by a server that doesn't support offline signing, exit silently
245 unzip -p ${SOTA_PACKED_CREDENTIALS} root.json targets.pub targets.sec tufrepo.url 2>&1 >/dev/null || exit 0 252 unzip -p ${SOTA_PACKED_CREDENTIALS} root.json targets.pub targets.sec tufrepo.url 2>&1 >/dev/null || exit 0
246 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}) 253
254 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}-${IMAGE_BASENAME})
247 255
248 garage-check --ref=${ostree_target_hash} \ 256 garage-check --ref=${ostree_target_hash} \
249 --credentials=${SOTA_PACKED_CREDENTIALS} \ 257 --credentials=${SOTA_PACKED_CREDENTIALS} \
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass
index a31cbd1..12375ec 100644
--- a/classes/image_types_ota.bbclass
+++ b/classes/image_types_ota.bbclass
@@ -59,7 +59,7 @@ IMAGE_CMD_ota () {
59 bbfatal "Invalid bootloader: ${OSTREE_BOOTLOADER}" 59 bbfatal "Invalid bootloader: ${OSTREE_BOOTLOADER}"
60 fi 60 fi
61 61
62 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}) 62 ostree_target_hash=$(cat ${OSTREE_REPO}/refs/heads/${OSTREE_BRANCHNAME}-${IMAGE_BASENAME})
63 63
64 ostree --repo=${OTA_SYSROOT}/ostree/repo pull-local --remote=${OSTREE_OSNAME} ${OSTREE_REPO} ${ostree_target_hash} 64 ostree --repo=${OTA_SYSROOT}/ostree/repo pull-local --remote=${OSTREE_OSNAME} ${OSTREE_REPO} ${ostree_target_hash}
65 kargs_list="" 65 kargs_list=""