Image Packaging System in Rust - mirror
Find a file
Till Wegmueller 7f4ecf6346
Organize repository files into hierarchical directory structure for improved scalability
- Update `FileBackend` to store files in a multi-level directory structure (`xx/yy/hash`) based on hash prefixes.
- Adjust method signatures and logic across `FileBackend`, `pkg6dev`, and `pkg6repo` to support mutable repository operations.
- Add test cases and scripts (`test_file_structure.rs`, `test_repo_operations.sh`) to validate the new file structure.
- Refactor catalog manager to use `RefCell` for interior mutability to enable lazy initialization.
- Clean up redundant and dead code, enhance comments, and replace outdated logic for file handling and metadata operations.
2025-07-27 13:15:52 +02:00
.github Update GitHub Actions workflows: upgrade actions/checkout and cache to v4, replace actions-rs/toolchain with dtolnay/rust-toolchain, and simplify toolchain setup. 2025-07-26 23:49:57 +02:00
.idea Disable RsMainFunctionNotFound inspection in project default settings. 2025-07-26 17:50:08 +02:00
.junie Add xtask for build and test automation, replacing legacy scripts, and integrate commands for environment setup, build, test, and formatting. Update documentation for cargo-xtask usage. 2025-07-26 14:18:30 +02:00
.vscode Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
crates/pkg6 chore(fmt): format with cargo fmt 2025-07-26 12:54:01 +02:00
doc Add comprehensive project guidelines for Junie, detailing structure, dependencies, error handling, testing, build process, code style, and workflow. 2025-07-26 13:33:56 +02:00
libips Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +02:00
oi-userland@ca81f7dcc5 Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
pkg6depotd merging all ips packages into one repo 2021-03-21 14:12:03 -03:00
pkg6dev Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +02:00
pkg6repo Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +02:00
ports Fix unneeded reference 2023-03-25 17:48:33 +01:00
specfile chore(fmt): format with cargo fmt 2025-07-26 12:54:01 +02:00
userland fix clippy 2023-03-25 17:33:40 +01:00
xtask Replace legacy setup_test_env.sh script with xtask for environment setup, refactor e2e tests to use pre-built binaries, and update xtask commands and documentation for improved automation and reliability. 2025-07-26 17:49:56 +02:00
.gitignore Replace anyhow with custom RepositoryError for improved error specificity and consistency. Remove anyhow dependency. 2025-07-26 16:50:10 +02:00
.gitmodules Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
.replit Add run on repl.it badge to README 2020-07-03 09:24:40 +00:00
Cargo.lock Update workspace structure, unify metadata, enhance logging, and expand error handling 2025-07-27 11:08:39 +02:00
Cargo.toml Update workspace structure, unify metadata, enhance logging, and expand error handling 2025-07-27 11:08:39 +02:00
Jenkinsfile Integrate GitHub Actions workflows for CI, replacing legacy scripts with xtask automation for formatting, linting, builds, tests, and documentation. Update Jenkinsfile to clarify its restricted usage for illumos builds. 2025-07-26 17:58:11 +02:00
LICENSE Add MPL V2 license 2020-05-17 21:52:39 +02:00
Makefile Add Publishing metadata 2021-05-01 16:26:04 -03:00
ports.spec Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
README.md Fixup build scripts 2022-09-04 15:23:10 -03: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
test_file_structure.rs Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +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 Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02: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.

Includes Python bindings with PyO3.

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.