summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Gerasimov <anton.gerasimov@here.com>2018-10-09 16:09:19 +0200
committerAnton Gerasimov <anton.gerasimov@here.com>2018-10-09 16:11:04 +0200
commitd2b431820b6caa496b772490ae02a7b9448789af (patch)
tree7d701d7f231d45190d2bcbacef4a3124a9c5ae17
parente2c03bd809ddefa9d164b5ba20f8d01957ce2f86 (diff)
downloadmeta-updater-d2b431820b6caa496b772490ae02a7b9448789af.tar.gz
Document version overriding and add warnings
-rw-r--r--README.adoc10
-rw-r--r--classes/image_types_ostree.bbclass2
-rw-r--r--classes/target_version_example.bbclass3
3 files changed, 13 insertions, 2 deletions
diff --git a/README.adoc b/README.adoc
index 8b761b6..01ec6d1 100644
--- a/README.adoc
+++ b/README.adoc
@@ -167,6 +167,16 @@ There are a few settings that can be controlled in `local.conf` to simplify the
167| `TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake "` | Use with `bitbake -c populate_sdk core-image-minimal` to build an SDK. See the https://github.com/advancedtelematic/aktualizr#developing-against-an-openembedded-system[aktualizr repo] for more information. 167| `TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake "` | Use with `bitbake -c populate_sdk core-image-minimal` to build an SDK. See the https://github.com/advancedtelematic/aktualizr#developing-against-an-openembedded-system[aktualizr repo] for more information.
168|====================== 168|======================
169 169
170=== Overriding target version
171*Warning: overriding target version is a dangerous operation, make sure you understand this section completely before doing it.*
172
173Every time you build an image with `SOTA_PACKED_CREDENTIALS` set, a new entry in your Uptane metadata is created and you can see it in the OTA Garage UI if you're using one. Normally this version will be equal to OSTree hash of your root file system. If you want it to be different though you can override is using one of two methods:
174
1751. Set `GARAGE_TARGET_VERSION` variable in your `local.conf`.
1762. Write a recipe or a bbclass to write the desired version to `${STAGING_DATADIR_NATIVE}/target_version`. An example of such bbclass can be found in `classes/target_version_example.bbclass`.
177
178Please note that [target name, target version] pairs are expected to be unique in the system. If you build a new target with the same target version as a previously build one, the old package will be overwritten on the update server. It can have unpredictable effect on devices that have this version installed, it is not guaranteed that information will be reported correctly for such devices or that you will be able to update them (we're doing our best though). The easiest way to avoid problems is to make sure that your overriding version is as unique as OSTree commit hash.
179
170== QA with oe-selftest 180== QA with oe-selftest
171 181
172This layer relies on the test framework oe-selftest for quality assurance. Follow the steps below to run the tests: 182This layer relies on the test framework oe-selftest for quality assurance. Follow the steps below to run the tests:
diff --git a/classes/image_types_ostree.bbclass b/classes/image_types_ostree.bbclass
index 1d43324..5a17096 100644
--- a/classes/image_types_ostree.bbclass
+++ b/classes/image_types_ostree.bbclass
@@ -210,8 +210,10 @@ IMAGE_CMD_garagesign () {
210 target_version=${ostree_target_hash} 210 target_version=${ostree_target_hash}
211 if [ -n "${GARAGE_TARGET_VERSION}" ]; then 211 if [ -n "${GARAGE_TARGET_VERSION}" ]; then
212 target_version=${GARAGE_TARGET_VERSION} 212 target_version=${GARAGE_TARGET_VERSION}
213 bbwarn "Target version is overriden with GARAGE_TARGET_VERSION variable. It is a dangerous operation, make sure you've read the respective secion in meta-updater/README.adoc"
213 elif [ -e "${STAGING_DATADIR_NATIVE}/target_version" ]; then 214 elif [ -e "${STAGING_DATADIR_NATIVE}/target_version" ]; then
214 target_version=$(cat "${STAGING_DATADIR_NATIVE}/target_version") 215 target_version=$(cat "${STAGING_DATADIR_NATIVE}/target_version")
216 bbwarn "Target version is overriden with target_version file. It is a dangerous operation, make sure you've read the respective secion in meta-updater/README.adoc"
215 fi 217 fi
216 218
217 # Push may fail due to race condition when multiple build machines try to push simultaneously 219 # Push may fail due to race condition when multiple build machines try to push simultaneously
diff --git a/classes/target_version_example.bbclass b/classes/target_version_example.bbclass
index 5adf159..ef119fb 100644
--- a/classes/target_version_example.bbclass
+++ b/classes/target_version_example.bbclass
@@ -1,5 +1,4 @@
1# Writes uses repo manifest version as a target version 1# Writes target version to be used by garage-sign
2#
3 2
4HOSTTOOLS += " git " 3HOSTTOOLS += " git "
5 4