How yassine-jemi01/yspm works
yspm is a Linux system package manager. Its principal workflow starts at the CLI, resolves package requests, obtains and verifies package artifacts, stages and validates them, commits filesystem changes, runs hooks and service/trigger actions, and saves installed state. The map also preserves documented capabilities whose implementation was not sampled; those connections are documented rather than inferred from unseen code.
Main entry points: manager.go Package manager · main.go Command CLI · repo.go Repository index · local.go Local package install
Components 22
CLI and orchestration
- Command CLI
cmd/yspm/main.go - Package manager
internal/manager/manager.go
Packages and repositories
- Repository index
internal/repo/repo.go - Stable releases
internal/repo/release.go - Package formats
internal/repo/package.go - HardcoreLinux support
internal/repo/hardcore.go - Security audit
internal/manager - Package building
internal/repo/package.go - Repository administration
internal/repo
Install transactions
- Dependency resolver
internal/manager/manager.go - Transaction lifecycle
internal/manager/manager.go - Local package install
internal/manager/local.go
System integration
- Package hooks
internal/manager/manager.go - Services and triggers
internal/manager/service.go - Btrfs snapshots
internal/manager/snapshot.go
State and compatibility
- Paths and settings
internal/config/config.go - Package and transaction data
internal/model/model.go - Installed state
internal/store/store.go - Operation lock
internal/manager/lock.go
Other components
- Operator
- Package repository
- Init systems and tools
Connections 30
- Operator → Command CLI: runs commands
README.md - Command CLI → Package manager: dispatches operations
cmd/yspm/main.go - Package manager → Paths and settings: selects paths
internal/manager/manager.go - Package manager → Repository index: loads index
internal/manager/manager.go - Package manager → Installed state: reads and writes
internal/manager/manager.go - Package manager → Dependency resolver: resolves requests
README.md - Dependency resolver → Package and transaction data: uses package metadata
internal/manager/manager.go - Repository index → Package repository: fetches metadata
internal/repo/repo.go - Repository index → Stable releases: validates release
internal/repo/repo.go - Package manager → Transaction lifecycle: runs install and upgrade
internal/manager/manager.go - Transaction lifecycle → Repository index: downloads artifacts
README.md - Transaction lifecycle → Package formats: stages packages
README.md - Transaction lifecycle → Package hooks: runs lifecycle hooks
README.md - Transaction lifecycle → Services and triggers: applies services and triggers
README.md - Transaction lifecycle → Installed state: saves package state
README.md - Command CLI → Local package install: installs local packages
cmd/yspm/main.go - Local package install → Package formats: reads package archives
internal/manager/local.go - Local package install → Installed state: saves installed state
internal/manager/local.go - Local package install → Services and triggers: applies services and triggers
internal/manager/local.go - Package manager → HardcoreLinux support: imports legacy packages
- Command CLI → Btrfs snapshots: dispatches snapshot commands
cmd/yspm/main.go - Btrfs snapshots → Installed state: stores snapshot records
internal/manager/snapshot.go - Btrfs snapshots → Init systems and tools: runs Btrfs operations
internal/manager/snapshot.go - Services and triggers → Init systems and tools: invokes init tools
internal/manager/service.go - Command CLI → Security audit: dispatches audit
README.md - Command CLI → Package building: builds packages
README.md - Command CLI → Repository administration: indexes and signs metadata
README.md - Transaction lifecycle → Operation lock: locks state changes
README.md - Package manager → Package and transaction data: uses package and transaction data
internal/manager/manager.go - Repository index → Package and transaction data: parses index data
internal/repo/repo.go