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:
parent
527352ce69
commit
2b326debd7
2 changed files with 17 additions and 2 deletions
|
|
@ -8,7 +8,19 @@ use tracing::{info, warn, debug};
|
||||||
use serde::{Serialize, Deserialize};
|
use serde::{Serialize, Deserialize};
|
||||||
|
|
||||||
use crate::error::{AptOstreeError, AptOstreeResult};
|
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
|
/// Dependency relationship types
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,9 @@
|
||||||
|
|
||||||
pub mod apt_compat;
|
pub mod apt_compat;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
|
pub mod dependency_resolver;
|
||||||
|
pub mod ostree_integration;
|
||||||
|
|
||||||
pub use apt_compat::AptManager;
|
pub use apt_compat::AptManager;
|
||||||
pub use error::{AptOstreeError, AptOstreeResult};
|
pub use error::{AptOstreeError, AptOstreeResult};
|
||||||
|
pub use dependency_resolver::{DependencyResolver, DependencyConstraint, DependencyRelation, DependencyGraph, ResolvedDependencies};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue