mixer.build

Build varioius pieces of OS content

Copyright

(C) 2018 Intel Corporation, CC-BY-SA-3.0

Manual section

1

SYNOPSIS

mixer build [command] [flags]

DESCRIPTION

Builds various pieces of OS content and output update metadata to <mixer/workspace>/update/www/<version>/. This metadata can be published directly to a web-server and consumed by client update systems via the swupd(1) update tool. All steps can be run at once using build all or the steps can be run individually using the subcommands.

OPTIONS

In addition to the globally recognized mixer flags (see mixer(1) for more details), the following options are recognized across all build subcommands.

  • --bundle-workers

    Number of parallel workers when building bundles, passing 0 or omitting this flag defaults the number of workers to the number of CPUs on the system.

  • --delta-workers

    Number of parallel workers when creating deltas, passing 0 or omitting this flag defaults the number of workers to the number of CPUs on the system.

  • --fullfile-workers

    Number of parallel workers when creating fullfiles, passing 0 or omitting this flag defaults the number of workers to the number of CPUs on the system.

  • --skip-format-check

    Skip check for compatible upstream format when building on top of a new upstream.

  • -h, --help

    Display build help information and exit.

SUBCOMMANDS

all

Build all content for the mix. Implicitly runs build bundles followed by build update. In addition to the global options mixer build all takes the following options.

  • -c, --config {path}

    Optionally tell mixer to use the configuration file at path. Uses the default builder.conf in the mixer workspace if this option is not provided.

  • --format {number}

    Supply the format number to use for the build.

  • -h, --help

    Display build all help information and exit.

  • --increment

    Automatically increment the mix version post build.

  • --min-version {version}

    Supply minimum version for mixer to use old content from. This option tells mixer to regenerate all mix content starting from a certain version. mixer will not use any OS content from a version older than the min-version passed here.

  • --no-signing

    Do not generate a certificate and do not sign the Manifest.MoM

  • --prefix {path}

    Supply the path to the file system where the swupd binaries live.

bundles

Build the bundles for your mix. This is done by extracting dependency information and file lists for each package in each bundle definition for the mix. In addition to the global options mixer build bundles takes the following options.

  • -c, --config {path}

    Optionally tell mixer to use the configuration file at path. Uses the default builder.conf in the mixer workspace if this option is not provided.

  • -h, --help

    Display build bundles help information and exit.

  • --no-signing

    Do not generate a certificate and do not sign the Manifest.MoM

delta-packs

Build packs to optimize swupd updates between versions. When a swupd client updates a bundle it looks for a pack file from its current version to the new version. If available swupd will download and apply the pack content to the file system. Delta packs contain binary diff files that describe changes between updates whenever possible and full files only when necessary. Because of this delta packs are a significant performance optimization for client updates. Because the client can fall back to full files if a pack is not available, delta packs are not necessary for a functional update. In addition to the global options mixer build delta-packs takes the following options.

  • -c, --config {path}

    Optionally tell mixer to use the configuration file at path. Uses the default builder.conf in the mixer workspace if this option is not provided.

  • --from {version}

    Generate packs from the specified version.

  • -h, --help

    Display build delta-packs help information and exit.

  • --previous-versions {number}

    Generate packs for number of previous versions.

  • --report

    Report reason each file in the to manifest was packed in the delta pack or not.

  • --to {version}

    Generate packs targeting a specific to version.

delta-manifests

Build manifest deltas to optimize swupd updates between versions. When a swupd client update runs, it will first try to get a delta manifest file if it exists and apply that on the bundle manifest file for the version installed on their system (if it exists). This can save a large amount of content being downloaded in the case of few files changing in a manifest. Because the client can fall back to the full manifest file if a delta is not available, delta manifests are not necessary for a functional update. In addition to the global options mixer build delta-manifests takes the following options.

  • --from {version}

    Generate packs from the specified version.

  • -h, --help

    Display build delta-manifests help information and exit.

  • --previous-versions {number}

    Generate packs for number of previous versions.

  • --to {version}

    Generate packs targeting a specific to version.

image

Build an image from the mix content. In addition to the global options mixer build image takes the following options.

  • -c, --config {path}

    Optionally tell mixer to use the configuration file at path. Uses the default builder.conf in the mixer workspace if this option is not provided.

  • --format {number}

    Supply the format number used for the mix.

  • -h, --help

    Display build image help information and exit.

  • --template {path}

    Provide the path to the image template file to use.

update

Build the update content for the mix. This command builds the actual update metadata (manifests) and content (full files and zero packs) necessary for swupd to perform updates on client systems. update relies on the output of build bundles as the input for this step and expects the output of build bundles to exist in the <mixer/workspace>/update/image/<version> directory. In addition to the global options mixer build update takes the following options.

  • -c, --config {path}

    Optionally tell mixer to use the configuration file at path. Uses the default builder.conf in the mixer workspace if this option is not provided.

  • --format {number}

    Supply the format number used for the mix.

  • -h, --help

    Display build update help information and exit.

  • --increment

    Automatically increment the mix version post build.

  • --min-version {version}

    Supply minimum version for mixer to use old content from. This option tells mixer to regenerate all mix content starting from a certain version. mixer will not use any OS content from a version older than the min-version passed here.

  • --no-signing

    Do not generate a certificate and do not sign the Manifest.MoM

  • --prefix {path}

    Supply the path to the file system where the swupd binaries live.

validate

Compare two versions to validate that manifest file changes align with corresponding package changes. Inconsistencies between manifest entries and package contents are reported as errors. When no errors occur, package update statistics are displayed.

  • --from {version}

    Compare manifests from a specific version

  • --to {version}

    Compare manifests to a specific version

  • --from-repo-url {repo}={URL}

    Overrides the baseurl value for the provided repo in the DNF config file for the from version

  • --to-repo-url {repo}={URL}

    Overrides the baseurl value for the provided repo in the DNF config file for the to version

  • --table-width {width}

    Max width of package statistics table, defaults to terminal width and disabled by negative numbers

  • -h, --help

    Display build validate help information and exit.

EXIT STATUS

On success, 0 is returned. A non-zero return code indicates a failure.

SEE ALSO