Commit graph

10 commits

Author SHA1 Message Date
Till Wegmueller
6ed8bb5b5b
Improve dependency constraint extraction and branch locking logic
- Updated `extract_constraint` to derive constraints from both optional properties and dependency FMRI version strings.
- Ensured child dependencies inherit parent's branch when not explicitly constrained, mirroring solver behavior.
2025-08-26 21:51:05 +02:00
Till Wegmueller
d77e61f90f
Add solver advice system for user-focused installation guidance
- Introduced a new `advice` module in the solver to provide user-oriented guidance for resolving dependency issues.
- Added structured failure details to `SolverError` for improved diagnosis and advice generation.
- Updated `pkg6` to display actionable advice when dependency resolution fails, including catalog refresh, publisher verification, and incorporation constraints.
- Enhanced CLI tools with a dangling dependency scan to identify and output unresolved stems.
- Improved modularity and caching mechanisms for catalog and manifest handling to support the advice system.
- Refined error messages and logging for better user feedback during installation errors.
2025-08-26 21:09:06 +02:00
Till Wegmueller
9ac8f98b38
Refactor solver and manifest handling
- Replaced `CatalogProvider` with database-backed solution, improving manifest retrieval logic.
- Added fallback and LZ4 decoding support for catalog-stored manifests.
- Enhanced incorporation lock handling with direct database queries.
- Updated sample install script to use `debug` logging for better traceability.
2025-08-21 23:52:11 +02:00
Till Wegmueller
e4bd9a748a
Refactor ImageCatalog and apply manifest logic
- Added support for obsoleted package database with separate handling in `ImageCatalog`.
- Enhanced apply manifest functionality with progress callback support and processing statistics.
- Introduced LZ4 compression for manifest storage in `ImageCatalog`.
- Removed debugging eprintln statements, replaced with structured logging.
- Updated `pkg6` image creation and installation logic to improve user feedback and error handling.
- Updated database initialization and build processes to handle new obsoleted logic.
2025-08-19 22:43:50 +02:00
Till Wegmueller
77147999b3
Add incorporation lock support and update dependencies across the project
- Implemented incorporation lock functionality for packages, including pre-checks, addition, and retrieval methods.
- Enhanced package installation logic to handle incorporation constraints.
- Updated dependency versions in `Cargo.toml` and `Cargo.lock`, aligning with latest compatible releases.
- Introduced new tests to verify incorporation lock behavior, including scenarios with and without locks.
- Refactored code for improved readability and added error handling improvements.
- Fixed minor typos and inconsistencies in comments and log messages.
2025-08-19 14:30:55 +02:00
Till Wegmueller
39124f9df4
Refactor imports and remove unused ActionOrder implementation
- Cleaned up imports across multiple modules for better organization and removed unused dependencies.
- Eliminated `ActionOrder` implementation from `executors` as it's no longer being utilized.
- Simplified error handling in `get_dependencies` using `unwrap_or_else`.
- Optimized test setups with consistent use of `tempdir` helper function.
2025-08-19 11:10:36 +02:00
Till Wegmueller
a2645749b1
Add action executors, action plans, and sample install script
- Implemented `executors` module for applying manifests with support for directories, files, and links.
- Added `action_plan` module to merge and execute install plans from manifests.
- Introduced `run_sample_install.sh` script for testing installations, including dry-run and real execution.
- Enhanced `pkg6` install logic to resolve and apply action plans.
- Improved manifest management with `save_manifest` and repository-based fetching.
2025-08-19 11:06:48 +02:00
Till Wegmueller
d483e2a995
implement manifest fetching and fix CI errors 2025-08-13 23:23:45 +02:00
Till Wegmueller
abf294f38c
remove legacy resolver. 2025-08-13 22:20:21 +02:00
Till Wegmueller
28a18c088a
implement dependency solver based on resolvo 2025-08-13 22:09:19 +02:00