build_shards() iterates all three catalog parts (base, dependency,
summary) and each lists the same packages, causing every stem to be
inserted into the FTS index 3 times. Track seen stems in a HashSet
and skip duplicates. Fixes#22.
The libips crate contains all modules and functions one needs to implement an Image Packaging System based utility.
Be that a server, client or other utilities.
This project is intended to gradually replace the
current python based implementation of IPS.
Most things are documented in the docs directory
but some things have been added over the years which has not been properly documented. Help is welcome
but be advised, this is mainly intended for use within the illumos community and it's distributions.
Big changes which are not in the current IPS will need to be carefully coordinated to not break the current
IPS.
Development and Release
Releasing
This project uses cargo-release for versioning and tagging.
Ensure you have cargo-release installed: cargo install cargo-release
Execute the release: cargo release [level] --execute
Push the changes and tags: git push --follow-tags
Pushing a tag starting with v (e.g., v0.5.1) will trigger the GitHub Actions release pipeline, which builds artifacts for Illumos (OpenIndiana) and Linux, and creates a GitHub Release.