Skip to content

Releases: clearlinux/mixer-tools

Release v4.3.0

12 Apr 20:48
Compare
Choose a tag to compare

This release moves the new swupd and chroot functionality out from
behind --new-swupd and --new-chroots, making it the standard behavior
for all users. The flags are left as deprecated to not break scripts,
but they should be removed by users going forward.

Additional improvements in this release include clearing out DNF state
files from the internal chroot representation, and removing an error
response from the delta pack generation in the case that --to == --from.

Release v4.2.1

03 Apr 18:03
Compare
Choose a tag to compare
This release refactors the BAT tests and adds new tests for the bundle
command, fixes a bug where the version URL was set to the content URL,
reports packages as part of bundle list, and cleans up temp dirs.

Release v4.2.0

22 Mar 18:13
Compare
Choose a tag to compare
This release contains four major additions:

1) Support for package-level bundles. A new local and upstream package
list has been introduced, which mixer parses to automatically generate
single-package bundles.

2) The bundle building algorithm has been significantly optimized. This
step now runs approximately three times faster than the previous version.

3) New TOML configuration support. Mixer now has an optional
'--new-config' flag that adds support for TOML-based configuration. A
new 'mixer config' command has been added to validate existing
builder.conf files, as well as convert legacy (INI) files into the new
TOML format.

4) Update to how mixer generates the DNF conf file used during bundle
building. This removes the dependency on m4.

Release v4.1.2

15 Mar 16:36
Compare
Choose a tag to compare
This release adds an os-packages file to list all package/srpms in
the build, which can be useful for determining more information on
packages and their corresponding SRPM name.

Release v4.1.1

13 Mar 18:41
Compare
Choose a tag to compare
This release fixes the following bugs:
- Resolve /lib to /usr/lib instead of /usr/lib64
- Install DirectPackages to full chroot instead of AllPackages
        - DirectPackage is the fully resolved list for the bundle(s)
- Skip continued lines in dnf install output causing missing lines in parsing
- Clear cache before DNF install to full chroot causing dnf tracebacks

Smaller fixes such as adding trailing newline to mixbundles, parsing
versions numbers on init, normalizing bundle name output, and updating
all (currently possible) yum references to dnf were also added.

Release v4.1.0

09 Mar 20:11
Compare
Choose a tag to compare
This release includes a significant change to the way chroots are built.
Rather than building individual chroots for each bundle, a single full
chroot is generated, and JSON metadata files are created for each bundle.
This allows us to scale much more easily on machines with limited disk
space. Because chroots are now decoupled from manifest creation, this
also makes it possible in the future to move to bundle builds on
distributed machines.

Additionally, a change was made to allow developers to add extra files
to a bundle in addition to those included by the bundle packages.

A change was included that fails when the manifest cannot be parsed.

Minor bug fixes are also included.

Release v4.0.3

08 Mar 00:45
Compare
Choose a tag to compare
This release fixes:

- Travis: add workaround to failing clrtrust
- build-deltas: Do not fail on missing previous versions
- Update 'mixer bundle add' to skip existing bundles

Release v4.0.2

02 Mar 09:15
Compare
Choose a tag to compare
Release v4.0.2

This release changes basic bundle validation to support previously
non-passing bundles in upstream so mixes with previous versions are not
so strictly filtered. Hardlinking only happens if --keep-chroots is
passed to avoid race conditions and wasting time hardlinking when it
does not need to happen. Issues with bundle list were fixed, offline
mode was added for mixer to skip caching upstream bundle definitions, a
default value for local-bundle directory was added, and other updates to
variables to match the new naming schemes 4.0.* introduced.

Release v4.0.1

26 Feb 20:56
Compare
Choose a tag to compare
This release fixes the mixer-completion to install to a given optional prefix
so it can be built in different environments.

Release v4.0.0

26 Feb 19:06
Compare
Choose a tag to compare
This release introduces a major version update with several new features
and package additions.

The original C swupd-server https://github.com/clearlinux/swupd-server and
bundle-chroot-builder https://github.com/clearlinux/bundle-chroot-builder
are now integrated into mixer itself under the swupd/ and builder/ packages,
and used as libraries instead of standalone binaries. The rewrite closely ties
the swupd-server and chroot-builder functionality directly into mixer, while
providing the benefits of the Go language. The new functionality lives side
by side with the original implementation for the time being, until further
testing is completed to guarantee consistent, stable behaviour. However,
the new features may (and should) be used by providing --new-swupd and
--new-chroots with the appropriate mixer subcommands. They will become the
default as the old standalone build programs are deprecated.

The second major update is a new CLI written using the Cobra framework.
Existing commands are only subtly different:
old                     new
----                    ----
mixer build-chroots     mixer build chroots
mixer build-update      mixer build update
mixer init-mix          mixer init

-flags                  --flags

In short, the command hierarchy is changed such that things like 'build'
are top level commands, and the things they build are exposed under them,
rather than making many hyphenated commands. Flags are implemented as
regular short and long options, where long options use two hyphens
instead of one.
New commands have been added to make bundle lifecycle management easier,
and to ensure bundles are manipulated correctly without manually copying
things in specific folders. See all new commands by typing "mixer" *enter*.

Miscellaneous fixes to things such as init creating the builder.conf and
doing more upfront work for the user have also been implemented. The
goal of these updates is to streamline the operation of mixer and
improve usability.

Many tests were added for the code base; unit tests for the new
swupd and chroot libraries, BAT tests to cover the interface and
functionality of the Mixer itself, and extensive linting were added to
catch regressions and enforce cleaner code.