amipkg - install, update and remove software on your Amiga
=========================================================
amipkg is a package manager for classic AmigaOS 3.x - think "apt" or
"Homebrew" for your Amiga. It installs, updates and removes software
from a curated catalog of 200+ freely-distributable classics and tools:
players, commodities, internet apps, development tools and games. It
resolves and downloads everything straight on the Amiga.
WHAT MAKES IT DIFFERENT
-----------------------
Signed catalog, verified on the Amiga
The package index is Ed25519-signed offline, and your Amiga checks
that signature before it will use the index. Every download is then
checked against a SHA-256 recorded inside it. A tampered index or a
tampered archive is refused. No other Amiga tool does this.
It cleans up after itself
A receipt database records every file written and every boot-script
change made. "amipkg remove" deletes only what it installed and
strips its own User-Startup blocks - nothing else. "amipkg doctor"
audits your installs against those receipts.
It knows what a package needs
Dependencies are installed first, and the right CPU build is picked
for your machine (68000 to 68060, via AttnFlags).
FEATURES
--------
* Three front-ends, one implementation:
- a fast CLI: avail, info, install, upgrade, remove, update,
list and doctor, with a DRYRUN preview
- a GadTools GUI needing no extra dependencies
- a MUI GUI (3.8+)
Both GUIs offer browsing, search, category filter, newest-first
sorting, one-click install with live progress, Run and Adopt.
* Multiple repositories. Install from the curated catalog, from your
club's, or from your own. A repository is just two static files on
any web server. Sign yours and your users get exactly the same
on-Amiga verification the official catalog gets. Repository order
decides which one wins a package name, and "repo:package" asks a
specific one. See HOSTING.md in the source repository.
* Adopt an app you already have: "amipkg adopt" takes over managing an
existing installation, so updates land where you already keep it.
* Self-updating: "amipkg upgrade amipkg".
* Runs on a stock 68000 under AmigaOS 3.0+, with a guaranteed 128 KB
stack via StackSwap - whatever your Shell happens to be set to.
REQUIREMENTS
------------
Needed AmigaOS 3.0 or newer, and C:lha (present on almost every
system).
Downloads A TCP/IP stack providing bsdsocket.library - Roadshow,
AmiTCP, Miami, or an emulator's built-in one. Browsing the
bundled catalog works offline.
Optional AmiSSL 5.x, which enables downloads from https-only hosts
such as GitHub. Everything on Aminet works without it.
INSTALLATION
------------
Extract into a drawer of your choice. amipkg LIVES in that drawer, the
way MUI: does, with the signed catalog seeded for offline browsing.
Install Self-contained. Nothing outside the drawer is ever
touched, and uninstalling means deleting the drawer.
Install-System The same, plus an AMIPKG: assign and a Shell path
added to S:User-Startup as one clearly marked block.
QUICK START
-----------
amipkg avail mod search the catalog
amipkg install hippoplayer install a package
amipkg check anything outdated?
amipkg upgrade update everything
amipkg repo list your repositories
CONTRIBUTING
------------
Package submissions are pull requests, reviewed and signed by a
maintainer - Homebrew-style. The tooling is pure Python, so neither an
Amiga nor a Mac is needed to add a package:
https://github.com/thomas-luebker/amiga-pkg
You can also submit straight from the Amiga with "amipkg submit".
amipkg is part of the Amiga Imager project (https://amiga-imager.com),
but it runs on ANY AmigaOS 3.x system - Amiga Imager is not required.
|