OS4 DepotLogo by Nickman 
(anonymous IP: 216.73.217.117,2501) 
 HomeRecentStatsSearchSubmitUploadsMirrorsContactInfoDisclaimerConfigAdmin
 Menu

 Features
   Crashlogs
   Bug tracker
   Locale browser
 

 Categories

   o Audio (351)
   o Datatype (51)
   o Demo (206)
   o Development (625)
   o Document (24)
   o Driver (102)
   o Emulation (155)
   o Game (1045)
   o Graphics (516)
   o Library (121)
   o Network (241)
   o Office (69)
   o Utility (957)
   o Video (74)

Total files: 4537

Full index file
Recent index file

 Links

  Amigans.net
  Aminet
  IntuitionBase
  Hyperion Entertainment
  A-Eon
  Amiga Future


Support the site


 Readme for:  Utility » Misc » amistaller.lha

Amistaller

Description: A package installer
Download: amistaller.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 236kb
Version: 1.0
Date: 15 Aug 2026
Author: George Sokianos
Submitter: George Sokianos
Homepage: https://pms.walkero.gr/projects/amistaller
Requirements: xadmaster.library, AmiSSL 5
Category: utility/misc
License: Other
Distribute: yes
Min OS Version: 4.1
FileID: 14007
 
 
Comments: 0
Snapshots: 0
Videos: 0
Downloads: 17  (Current version)
17  (Accumulated)
Votes: 0 (0/0)  (30 days/7 days)

Show comments Show snapshots Show videos Show content Show crashlogs Replace file 
amistaller is an AmigaOS 4.1 FE package installer and orchestrator designed
to install software packages defined in a YAML manifest. It supports
downloading archives over HTTP or HTTPS (with SHA256 verification), extracting
a variety of archive formats via xadmaster.library, running pre/post install
scripts, and resolving package installation order based on declared
dependencies.

Who this is for
----------------

- AmigaOS developers and maintainers who want an unattended package
  installer for collections of software.
- System integrators preparing curated application bundles for AmigaOS
  environments.
- Developers who need reproducible package installation flows with
  validation, dependency handling and custom pre/post install steps.

What it does
------------

- Parses a YAML package definition file describing packages, metadata,
  dependencies and scripts.
- Validates the manifest: schema checks, required fields (title and
  either url or file), dependency resolution and cycle detection.
- Downloads package archives over HTTP or HTTPS, using AmiSSL for secure
  connections, with optional SHA256 verification and caching in T: or Ram:.
- Extracts archives using xadmaster.library (supports multiple formats
  such as LHA, ZIP, LZX, etc.).
- Runs pre-install and post-install shell scripts with variable
  substitution (%TARGETDIR%) and error logging.
- Displays progress via a GUI and automatically logs to a file (if LOG
  argument is provided via CLI). **All installation activity** (including
  downloads, extractions, and scripts) is captured in the log file.
- Lets users choose the installation destination with a folder requester or by
  dragging a target folder from Workbench onto the installer window.
  Works in both Workbench mode (double-click icon) and CLI mode (shell
  arguments).

How it works (architecture)
---------------------------

- YAML Parser: reads the manifest and maps packages into an internal
  AmistallerPackage structure (id, title, url/file, sha256, deps,
  scripts).

- Validation: checks that each package has required fields (title and
  either url or file). Resolves relative local archive paths against the
  YAML directory. If a local file cannot be accessed, a warning is issued
  and the package is hidden from the installer screens. Verifies dependencies
  (unknown or circular dependencies cause validation errors).

- Installer/Orchestrator:

  For each package it:
  1. Runs preinstall scripts (if any) with %TARGETDIR% substitution.
     Errors are logged but don't stop installation.
  2. Acquires the archive: for local files, locates them relative to the YAML
     directory (using the same path resolution as licence and header files).
     For remote URLs, downloads and caches in T: or Ram:.
     SHA256 is calculated when verification is requested.
  3. Extracts the archive using xadmaster, preserving directories and
     file metadata. Extraction progress is logged per-file.
  4. Runs postinstall scripts with %TARGETDIR% substitution.
     Errors are logged but installation continues.

- Logging: messages from installation, download, extraction, and scripts
  are written to both the GUI progress screen and optional log file via
  a shared logging utility (src/utils/logging.c) with error detection
  (disk full warnings).

- Extraction: uses xadmaster.library proper API: call xadGetInfo() to
  enumerate entries and xadFileUnArc() with XAD_ENTRYNUMBER to extract
  each file. This supports multi-archive formats transparently.

- Downloading: uses OSSL_HTTP_get(); HTTPS connections add TLS through a
  callback. Downloads are streamed to disk while computing SHA256 when
  requested.


Copyright © 2004-2026 by Björn Hagström All Rights Reserved