# swugenerator **Repository Path**: sunbiao0998/swugenerator ## Basic Information - **Project Name**: swugenerator - **Description**: A host tool to generate SWU update package for SWUpdate - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-27 - **Last Updated**: 2023-12-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ============ 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