Releases: clearlinux/mixer-tools
Releases · clearlinux/mixer-tools
Release v6.2.0
This release includes support for building 3rd party content along with
other enhancements and bug fixes.
New features (beta) for 3rd party support:
- Create a minimal mix using just an os-core bundle that can be empty.
- Add BUILD_ID field in os-release file that specifies the upstream
version from which the mix is created.
- Build bundles from contents by providing the content path using a new
keyword "content()" in the bundle definition.
- Introduce a new export flag "x" in bundle manifests to indicate exportable
files in "/bin/", "/usr/bin/" and "/usr/local/bin/".
The user can override this flag by specifying the files using a new
keyword "un-export()" in the bundle definition.
Other changes:
- Fix error to handle bundles that contain only optional bundles.
- Fix build errors due to stale dnf cache by cleaning the dnf cache before using it.
- Clean mix workspace before building bundles.
- Add --local flag for bundle creation that skips the upstream check and
creates empty local bundles.
- Improve performance by writing mixbundles file just once for the resolved bundle set.
- Make bundle messages consistent.
- Print delta pack results together to prevent interleaved results.
Release v6.1.7
This release includes minor enhancements and bug fixes.
Changes:
- Add root permission check to inform the user when certain commands
require root permission.
- Refactor error handling in go channels to prevent potential hanging of
the application in certain scenarios.
Release v6.1.6
This release includes transitioning to `go mod` to manage dependencies along with
minor enhancements and bug fixes.
Changes:
- vendor: Use `go mod` to manage dependencies.
- Makefile: Remove unused local gopath and set default gopath.
- Makefile: Install go linters if it's not present.
- MCA: Refactor diff results analysis section to make it easier to handle
special case manifest files.
- MCA: Add support for bundle tracking file.
- swupd: Retain previously deleted file entries when the previous manifest's
filelist is longer than the new manifest's list.
- repo: Add the option to set a repo’s priority using the `set-priority` repo command.
- Detect deprecated bundles when crossing an upstream format bump in a downstream mix.
- When packages cannot be resolved during `build bundles`, indicate the unresolved
packages in the error message.
Release v6.1.4
This release includes improved MCA output format along with improved
performance for repos with multiple sub directories.
Changes:
- vendor: Add tablewriter.
- MCA: Refactor statistics table.
- repo: Improve performance for multiple repo subdir.
- Fix lint errors.
Release v6.1.3
This release includes improved MCA performance along with other bug fixes.
With all the bundles and package repositories on the local system,
the execution time for MCA (mixer build validate) has improved
from ~106 min to ~15 min.
Changes:
- MCA: Instead of querying packages downloaded by `dnf install`,
the packages are resolved and queried with `rpm`.
When the packages are in local repos, the query operation
is much faster.
- MCA: Added support to resolve packages that do not follow NVRA name format.
- MCA: Suppress verbose Mixer output.
- Return more package metadata during package resolution.
- Remove creation of `os-packages` file as it is empty and not being
used.
- repo: Added support to handle packages within sub directories of a
repo baseurl. Although, for better performance, it is still recommended
to store the packages directly within the repo baseurl for local repos.
Release v6.1.2
This release includes bug fixes to maintain feature parity with v5.9.1
along with the MCA change to take into account sha256 hashes.
Changes:
- Skip hash comparisons between md5 and sha256 during `build validate`
to avoid incorrect hash mismatches. rpm 4.12 used md5 file hashes
by default and rpm 4.14 switched the default to sha256.
- Stop building bundles and exit if package dependencies are not resolved.
This re-enables feature parity with v5.9.1.
- Allow users to set multiple repos correctly by removing the
constraint to use only "clear" and "local" repos. This re-enables
feature parity with v5.9.1.
- Fix the incorrect error message when trying to remove a non-existent repo.
Release v6.1.1
This release includes a minor bug fix in the zero pack creation.
Changes:
- Remove shared variable in the zero pack go routine.
The err variable was being shared and updated in the zero pack go routine.
This could cause race conditions and undesirable results including segmentation fault.
This fix creates a local variable within the zero pack go routine.
Release v6.1.0
This release includes bug fixes and improved logging along with
replacing ister with clr-installer to build images.
Changes:
- Replace ister with clr-installer to build images.
Also generates an iso image.
- Preserve config filename during conversion.
- Use "dnf repoquery" to determine rpm filename instead of assuming the
naming convention.
- Identify missing rpms early on instead of waiting till extraction.
- Fix array out of bounds exception while downloading rpms.
- Fix incorrect logging during rpm extraction.
- Improve logging.
Release v6.0.0
This release includes major performance improvements to mixer build
process and removes some of its legacy systems.
On the performance side, RPM extraction is now performed by rpm2archive
and tar instead of dnf. This cuts a significant amount of time from the
overall build. Selective compression for fullfiles have also been
introduced and the default compression method is set to xz only. This
change reduces fullfiles generation time to 30% of the previous time at
the cost of 0.3% increase in build size for a mix with all upstream
packages. Lastly, zero packs creation have been parallelized to further
reduce build time.
Iterative manifests are now gone. Our tests showed that they didn't
present any performance advantage in comparison with delta manifests
which are already being used in production. The 'bundle index' bundle
has also been removed. This feature was never used for its intended
purpose and caused builds to fail frequently due to hash mismatches
during its generation. Existing mixes with this bundle will just have it
propagated as a empty bundle until the next format bump. At that point,
the bundle will be automatically removed.
Built in support for Docker has also been removed. The `--native` flag
has been deprecated and all commands now run in a native setup. Docker
support was introduced to allow auto-format-bump feature to be
implemented, but current mixer implementation does not require it
anymore to work. External docker images, like mixer-ci, should be used
as a replacement in use cases where the built-in docker support was used
to create mix in incompatible host OSes.
Mixer now provides the possibility of customizing the URL where the
bundles are downloaded from. Previously that was hardcoded to upstream
bundles, which prevented mixes from being created based of downstream
releases. This option can be configured in 'builder.conf'.
Release v5.9.1
This release includes a fix to delta pack generation and adds signing
support to the `latest` and `latest_version` files.
Changes:
- Return error instead of panic while generating delta
- Signing the latest file in version/formatXX dir