Implement Phase 4: Advanced dependency resolution features

- Add dependency_resolver module with advanced conflict detection
- Implement DependencyResolver with circular dependency detection
- Add package metadata structures (DebPackageMetadata, DependencyConstraint)
- Integrate dependency resolution into lib.rs exports
- Support for dependency tree resolution and validation
- Conflict detection with severity levels (Critical, Warning, Info)
- Known system conflict detection (mail servers, display managers, init systems)
- Generate comprehensive dependency resolution reports
This commit is contained in:
joe 2025-08-13 15:25:43 -07:00
parent 527352ce69
commit 2b326debd7
2 changed files with 17 additions and 2 deletions

View file

@ -8,7 +8,19 @@ use tracing::{info, warn, debug};
use serde::{Serialize, Deserialize};
use crate::error::{AptOstreeError, AptOstreeResult};
use crate::apt_ostree_integration::DebPackageMetadata;
/// DEB package metadata for dependency resolution
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DebPackageMetadata {
pub name: String,
pub version: String,
pub architecture: String,
pub depends: Vec<String>,
pub conflicts: Vec<String>,
pub provides: Vec<String>,
pub breaks: Vec<String>,
pub replaces: Vec<String>,
}
/// Dependency relationship types
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]

View file

@ -4,6 +4,9 @@
pub mod apt_compat;
pub mod error;
pub mod dependency_resolver;
pub mod ostree_integration;
pub use apt_compat::AptManager;
pub use error::{AptOstreeError, AptOstreeResult};
pub use dependency_resolver::{DependencyResolver, DependencyConstraint, DependencyRelation, DependencyGraph, ResolvedDependencies};