Image Packaging System in Rust - mirror
Find a file
Till Wegmueller 5d13eaa936
fix: FMRI URL routing and drop Pico.css for custom dark theme
Fix package detail 404: FMRI in URL paths now uses just name@version
instead of the full pkg://publisher/name@version, since the publisher
is already a separate path segment. This affected package detail,
manifest loading, dependency links, and search result links.

Drop Pico.css CDN dependency — it was fighting the custom dark theme
causing visual issues. Replaced with a complete standalone stylesheet
with proper reset, giving full control over the design.
2026-03-15 22:42:51 +01:00
.github Update OmniOS workflows and Vagrantfile to replace library/lz4 with compress/lz4 2026-01-18 17:27:54 +01:00
.idea Add comprehensive documentation for IPS search index design and implementation 2025-12-08 20:10:30 +01:00
.junie Add search functionality to repository and route handlers (currently disabled) 2026-01-18 12:29:44 +01:00
.solstice Add comment for testing in Solstice CI workflow configuration 2026-01-25 22:02:03 +01:00
.vscode Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
doc Add comprehensive documentation for IPS search index design and implementation 2025-12-08 20:10:30 +01:00
docker feat: Add Docker deployment for pkg.solstice-ci.org 2026-03-14 22:56:32 +01:00
docs/ai Add detailed documentation for Redb-based IPS Search Index schema and encoding plans 2025-12-08 20:10:04 +01:00
libips fix: Deduplicate payload downloads to prevent parallel rename races 2026-03-15 21:14:35 +01:00
pkg6 Refactor: Remove LZ4 compression utilities and clean up obsolete catalog functions 2026-02-04 23:03:20 +01:00
pkg6depotd fix: FMRI URL routing and drop Pico.css for custom dark theme 2026-03-15 22:42:51 +01:00
pkg6recv Refactor: Introduce resolve_packages for wildcard handling and enhance repository package resolution 2026-02-06 00:04:23 +01:00
pkg6repo Add signature handling for manifests 2026-02-05 22:26:53 +01:00
pkgtree chore(format): format code 2026-01-25 23:17:49 +01:00
ports chore: Release {{version}} 2026-01-19 00:27:43 +01:00
specfile chore: Release {{version}} 2026-01-19 00:27:43 +01:00
testing/manual Add manual testing setup for pkg6depotd 2026-01-20 17:44:36 +01:00
userland Standardize description, version, authors, and edition fields across packages using workspace inheritance. 2026-01-19 00:25:47 +01:00
xtask chore(format): format code 2026-01-25 23:17:49 +01:00
.dockerignore feat: Add Docker deployment for pkg.solstice-ci.org 2026-03-14 22:56:32 +01:00
.gitignore feat: Add Docker deployment for pkg.solstice-ci.org 2026-03-14 22:56:32 +01:00
Cargo.lock feat: Add web UI for browsing packages in pkg6depotd 2026-03-15 21:55:10 +01:00
Cargo.toml Add pkg6recv package for receiving IPS repositories. 2026-01-20 20:16:58 +01:00
CLAUDE.md docs: Add comprehensive CLAUDE.md with project overview and guidelines 2026-02-04 22:42:46 +01:00
docker-compose.yml Update docker-compose for test deployment 2026-03-14 23:08:44 +01:00
Dockerfile feat: Add Docker deployment for pkg.solstice-ci.org 2026-03-14 22:56:32 +01:00
IMPLEMENTATION_STATUS.md fixup catalog locations and import. Add end2end test for that. (ignored by default) 2025-08-13 19:09:22 +02:00
LICENSE Add MPL V2 license 2020-05-17 21:52:39 +02:00
Makefile Update binaries and workflows for pkg6 rename 2026-01-18 14:30:05 +01:00
pkg6depotd.kdl Introduce foundational structure for pkg6depotd 2025-12-08 20:11:05 +01:00
ports.spec Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
README.md Update readme and remove old info 2026-02-07 14:51:09 +01:00
rebuild_test_repo.sh Add rebuild_test_repo.sh script for rebuilding test repositories with PostgreSQL packages 2025-12-23 12:33:31 +01:00
run_local_import_test.sh Simplify pkg5_import.rs by removing redundant directory creation logic; delegate to Transaction.commit() for handling. 2025-07-27 12:19:38 +02:00
run_openindiana_image_import.sh fixup catalog locations and import. Add end2end test for that. (ignored by default) 2025-08-13 19:09:22 +02:00
run_sample_install.sh Refactor solver and manifest handling 2025-08-21 23:52:11 +02:00
test_repo_operations.sh Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +02:00
Vagrantfile Update OmniOS workflows and Vagrantfile to replace library/lz4 with compress/lz4 2026-01-18 17:27:54 +01:00

Image Packaging System for illumos

libips

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.

  1. Ensure you have cargo-release installed: cargo install cargo-release
  2. Prepare the release (dry-run): cargo release [level] --dry-run (e.g., cargo release patch --dry-run)
  3. Execute the release: cargo release [level] --execute
  4. 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.