Conceptual use for remote update

Hi @colinbes,

Indeed this seems like a basic use case that it would be nice to have some better documentation / tutorials around.

As you mention there are many ways to achieve this. How is the software itself packaged (inside the tar file)? Is it simply an executable, or several executables? If several, should they end up in the same directory?

For the simplest case (single executable and need for scripting), you can do this:

  • Use the Single File Update Module. Your executable is the “Single File” that you will package.
  • Your script(s) should be packaged as State scripts. If it’s simply a post-install script, you can use the ArtifactInstall_Leave state, e.g. call your script ArtifactInstall_Leave_01_postinstall

To include your state script(s) with an Artifact using an Update Module, you can pass them to the Artifact generator in this way:

./single-file-artifact-gen -n ${ARTIFACT_NAME} -t ${DEVICE_TYPE} -d ${DEST_DIR} -o ${OUTPUT_PATH} ${FILE} -- -s ArtifactInstall_Leave_01_postinstall

Was this along the lines of what you were thinking?