summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Gerasimov <anton.gerasimov@here.com>2018-09-04 16:56:01 +0200
committerPatrick Vacek <patrickvacek@gmail.com>2018-10-30 13:39:51 +0100
commit824e5a7c9c4241d0f32ee777768b00249b47ad8a (patch)
tree5789b2fbf595b5de8da0848a828d131abee761a5
parent0efe3823ea039213a1640d469d35d56fc68be60f (diff)
downloadmeta-updater-824e5a7c9c4241d0f32ee777768b00249b47ad8a.tar.gz
Provide example for setting UPTANE target version automatically
-rw-r--r--classes/image_types_ostree.bbclass4
-rw-r--r--classes/image_types_ota.bbclass2
-rw-r--r--classes/target_version_example.bbclass11
3 files changed, 16 insertions, 1 deletions
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index 3bf2d0e..bcbb648 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -193,7 +193,7 @@ IMAGE_CMD_ostreepush () {
193} 193}
194 194
195IMAGE_TYPEDEP_garagesign = "ostreepush" 195IMAGE_TYPEDEP_garagesign = "ostreepush"
196do_image_garage_sign[depends] += "aktualizr-native:do_populate_sysroot" 196do_image_garagesign[depends] += "aktualizr-native:do_populate_sysroot"
197IMAGE_CMD_garagesign () { 197IMAGE_CMD_garagesign () {
198 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then 198 if [ -n "${SOTA_PACKED_CREDENTIALS}" ]; then
199 # if credentials are issued by a server that doesn't support offline signing, exit silently 199 # if credentials are issued by a server that doesn't support offline signing, exit silently
@@ -219,6 +219,8 @@ IMAGE_CMD_garagesign () {
219 target_version=${ostree_target_hash} 219 target_version=${ostree_target_hash}
220 if [ -n "${GARAGE_TARGET_VERSION}" ]; then 220 if [ -n "${GARAGE_TARGET_VERSION}" ]; then
221 target_version=${GARAGE_TARGET_VERSION} 221 target_version=${GARAGE_TARGET_VERSION}
222 elif [ -e "${STAGING_DATADIR_NATIVE}/target_version" ]; then
223 target_version=$(cat "${STAGING_DATADIR_NATIVE}/target_version")
222 fi 224 fi
223 225
224 # Push may fail due to race condition when multiple build machines try to push simultaneously 226 # Push may fail due to race condition when multiple build machines try to push simultaneously
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass
index ed1d579..03fe8d8 100644
--- a/classes/image_types_ota.bbclass
+++ b/classes/image_types_ota.bbclass
@@ -115,6 +115,8 @@ fakeroot do_otasetup () {
115 target_version=${ostree_target_hash} 115 target_version=${ostree_target_hash}
116 if [ -n "${GARAGE_TARGET_VERSION}" ]; then 116 if [ -n "${GARAGE_TARGET_VERSION}" ]; then
117 target_version=${GARAGE_TARGET_VERSION} 117 target_version=${GARAGE_TARGET_VERSION}
118 elif [ -e "${STAGING_DATADIR_NATIVE}/target_version" ]; then
119 target_version=$(cat "${STAGING_DATADIR_NATIVE}/target_version")
118 fi 120 fi
119 mkdir -p ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota/import 121 mkdir -p ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota/import
120 echo "{\"${ostree_target_hash}\":\"${GARAGE_TARGET_NAME}-${target_version}\"}" > ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota/import/installed_versions 122 echo "{\"${ostree_target_hash}\":\"${GARAGE_TARGET_NAME}-${target_version}\"}" > ${OTA_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/sota/import/installed_versions
diff --git a/classes/target_version_example.bbclass b/classes/target_version_example.bbclass
new file mode 100644
index 0000000..5adf159
--- /dev/null
+++ b/classes/target_version_example.bbclass
@@ -0,0 +1,11 @@
1# Writes uses repo manifest version as a target version
2#
3
4HOSTTOOLS += " git "
5
6deploy_target_version () {
7 version=$(git --git-dir=${METADIR}/.repo/manifests/.git/ rev-parse HEAD)
8 echo -n ${version} > ${STAGING_DATADIR_NATIVE}/target_version
9}
10
11IMAGE_PREPROCESS_COMMAND += "deploy_target_version;"