diff options
| author | Anton Gerasimov <anton.gerasimov@here.com> | 2018-09-04 16:56:01 +0200 |
|---|---|---|
| committer | Patrick Vacek <patrickvacek@gmail.com> | 2018-10-30 13:39:51 +0100 |
| commit | 824e5a7c9c4241d0f32ee777768b00249b47ad8a (patch) | |
| tree | 5789b2fbf595b5de8da0848a828d131abee761a5 /classes | |
| parent | 0efe3823ea039213a1640d469d35d56fc68be60f (diff) | |
| download | meta-updater-824e5a7c9c4241d0f32ee777768b00249b47ad8a.tar.gz | |
Provide example for setting UPTANE target version automatically
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/image_types_ostree.bbclass | 4 | ||||
| -rw-r--r-- | classes/image_types_ota.bbclass | 2 | ||||
| -rw-r--r-- | classes/target_version_example.bbclass | 11 |
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 | ||
| 195 | IMAGE_TYPEDEP_garagesign = "ostreepush" | 195 | IMAGE_TYPEDEP_garagesign = "ostreepush" |
| 196 | do_image_garage_sign[depends] += "aktualizr-native:do_populate_sysroot" | 196 | do_image_garagesign[depends] += "aktualizr-native:do_populate_sysroot" |
| 197 | IMAGE_CMD_garagesign () { | 197 | IMAGE_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 | |||
| 4 | HOSTTOOLS += " git " | ||
| 5 | |||
| 6 | deploy_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 | |||
| 11 | IMAGE_PREPROCESS_COMMAND += "deploy_target_version;" | ||
