swugenerator
swugenerator copied to clipboard
A host tool to generate SWU update package for SWUpdate
============ swugenerator
A host tool to generate SWU update package for SWUpdate.
SYNOPSIS
usage: SWUGenerator [-h] [-K ENCRYPTION_KEY_FILE] [-k SIGN] -s SW_DESCRIPTION [-a ARTIFACTORY] -o SWU_FILE [-c CONFIG] command
Generator SWU Packages for SWUpdate
positional arguments: command command to be executed, one of : create
optional arguments: -h, --help show this help message and exit -K ENCRYPTION_KEY_FILE, --encryption-key-file ENCRYPTION_KEY_FILE AES Key to encrypt artifacts -n, --no-compress Do not compress files -k SIGN, --sign SIGN RSA key or certificate to sign the SWU -s SW_DESCRIPTION, --sw-description SW_DESCRIPTION sw-description template -t, --encrypt-swdesc Encrypt sw-description -a ARTIFACTORY, --artifactory ARTIFACTORY list of directories where artifacts are searched -o SWU_FILE, --swu-file SWU_FILE SWU output file -c CONFIG, --config CONFIG configuration file
Description
swugenerator is a tool running on host to create and modify SWUpdate's Update
files (SWU). SWU file contains a meta description of the release (sw-description),
and swugenerator adds components to a template passed from command line.
This tool requires openssl to run and to sign the SWU. It is goal of the tool to fill
the gap with Yocto/OE, where SWU generation is done by classes in the meta-swupdate layer,
but other buildsystems like Debian or Buildroot have no tools to create a SWU.
The tool signs the SWU and can encrypt the artifacts. The tool parses the libconf based sw-description (tool does not work for JSON based sw-description) and provides the following features:
- replace occurrencies of variables found in the CONFIG file
- add sha256 to each artifact
- check if an artifact should be encrypted and encrypts it
- sign sw-description with one of the methods accepted by SWUpdate
- pack all artifacts into a SWU file
Installation
To install swugenerator clone the repository, and from the main project folder run pip (pip3 required): ::
pip install .
To uninstall: ::
pip uninstall swugenerator