SWUGENERATOR(1)
π NAME π
okay bestie, meet swugenerator β section 1 of the manual, host-side icon behavior only β¨
swugenerator β generate SWUpdate bundles from a manifest
π Name π
swugenerator β
A host tool to generate SWU update package for SWUpdate. fr fr that's the whole job description and she does it gorgeously π
πΈ SYNOPSIS πΈ
here's the whole vibe at a glance:
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β the thing you're telling her to do, and you gotta pick one:{create,sign}β command to be executedcreateβ creates a SWU filesignβ signs an existing SWU file provided by-i
π optional arguments π
-h,--helpβ show this help message and exit. the classic. she's always there for u π«Ά-K ENCRYPTION_KEY_FILE,--encryption-key-file ENCRYPTION_KEY_FILEβ AES Key to encrypt artifacts-n,--no-compressβ Do not compress files-e,--no-encryptβ Do not encrypt files-x,--no-ivtβ Do not generate IV when encrypting-y,--no-hashβ Do not store sha256 hash in sw-description-k SIGN,--sign SIGNβ RSA key or certificate to sign the SWU-s SW_DESCRIPTION,--sw-description SW_DESCRIPTIONβ sw-description template for thecreatecommand-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-i,--swu-in-file SWU_IN_FILEβ SWU input file to be signed for thesigncommand-c CONFIG,--config CONFIGβ configuration file
β¨ Description β¨
so swugenerator is a tool running on host to create and modify SWUpdate's Update files (SWU). An 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. not her being the main character solving everyone's problems ππ
The tool signs the SWU and can encrypt the artifacts. The tool parses the libconf based sw-description and provides the following features:
β οΈ heads up bestie: tool does not work for JSON based sw-description β libconf only, no cap π
- 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-descriptionwith one of the methods accepted by SWUpdate - pack all artifacts into a SWU file
It maybe run in two steps to create an unsigned swu file and then sign it later in a second call:
swugenerator -o output.swu -a . -s sw-description.in create
swugenerator -o signed_output.swu -i output.swu -k CMS,key.pem,ca.crt sign
two-step era, the way that she lets you split create and sign is honestly so considerate π
π§ Installation π§
To install swugenerator clone the repository, and from the main project folder run pip (pip3 required): For new Linux distributions, replace it with pipx. π
pip install .
To uninstall:
pip uninstall swugenerator
and that's the whole page bestie, hope it slayed π shine on β the source/version slot and the date slot on this page are literally just sitting there as swugenerator() with nothing in them, staying mysterious, and honestly? iconic. β¨π
π¦ where this page comes from
- ubuntu stonking: swugenerator 0.6-9ubuntu1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms