This repository contains a comprehensive system management suite for AmigaOS, consisting of a shared library and four specialized tools that work together to maintain system stability and provide intelligent software management.
The shared library that provides common functionality for all tools in the suite:
- CRC32 checksum calculation
- Version string parsing and comparison
- File type detection and validation
- Database management functions
- Common utility functions
Affirm creates and maintains the manifest database of system files.
Key Features:
- Scans directories for system files (libraries, devices, datatypes)
- Calculates checksums and file sizes
- Tracks version information and file origins
- Supports recursive directory scanning
- Handles file protection and backup operations
Usage:
Affirm FOLDER=<path> [ALL/S] [ORIGIN=<text>]
FOLDER: Required. Path to scan for filesALL: Optional. Enable recursive directory scanningORIGIN: Optional. Source identifier for new entries
Assert maintains system integrity through version checking and component management.
Key Features:
- GUI and CLI interfaces
- Version comparison and management
- Automatic backup of existing files
- Checksum verification
- Support for multiple file types:
- Libraries
- Devices
- Datatypes
- Classes
- Gadgets
- Resources
- MUI Custom Classes (MCC)
- MUI Control Panels (MCP)
- Workbench integration
- Interactive and non-interactive modes
Usage:
Assert FILE=<file> [NONINTERACTIVE/S] [QUIET/S] [FORCE/S]
FILE: Required. File to check/updateNONINTERACTIVE: Optional. Run without user promptsQUIET: Optional. Minimize outputFORCE: Optional. Force installation regardless of version
Potential assesses binary compatibility potential for hardened OS environments.
Key Features:
- Scans HUNK binaries for risky patterns
- Detects library calls via LVO (Library Vector Offset)
- Identifies potentially dangerous operations:
- Direct ExecBase access
- Chip memory references
- ROM references
- Vector patching
- Trap calls
- TCB access
- List manipulation
- Interrupt level manipulation
- VBR manipulation
- Self-modifying code
- Generates detailed compatibility reports
- Assigns risk scores to findings
Usage:
Potential <file1> [file2...]
Destiny is an intelligent package installer that analyzes LHA archives and installs their contents to appropriate system locations based on file type analysis and dependency checking.
Key Features:
- Analyzes LHA archive contents using heuristics
- Detects file types and determines optimal installation locations
- Handles multiple CPU versions of executables
- Manages localization files and catalog structures
- Integrates with existing tools (Potential, Assert, Affirm)
- Supports system-wide and application bundle installations
- Generates installation manifests for uninstallation
- Maintains system stability through intelligent decision making
Usage:
Destiny <lha_file> [OPTIONS]
lha_file: Required. LHA archive to install- Options to be defined based on implementation
All tools share some common characteristics:
- AmigaOS 3.x compatibility
- Robust error handling
- Memory-efficient operation
- Support for both Workbench and CLI environments
- Detailed logging and status reporting
- Integration with manifest.library for shared functionality
These tools are designed to be built with SAS/C 6.x or compatible Amiga C compilers. They require the following libraries:
- exec.library
- dos.library
- intuition.library (for GUI components)
- asl.library (for file requesters)
- utility.library
- gadtools.library
- manifest.library (shared functionality)
[Add appropriate license information here]
[Add contribution guidelines here]