Make bin/setup work on Ubuntu, which is what the host runs
The first version checked for pacman and refused anything else, so it would have declined to run on the actual repository host. Nothing about that host needs to be Arch: makepkg, repo-add and signing all happen inside containers. Setup now detects apt or pacman and installs the right names for each -- bsdtar is libarchive-tools on Debian and libarchive on Arch. The requirement list drops gnupg and the Arch build tools, which the host never runs directly, leaving Docker, rclone, bsdtar, jq, git and rsync. Docker is checked before being installed. A host may be running a version from Docker's own repository, and replacing that underneath a working builder would be a poor trade for consistency; setup starts it if stopped and otherwise leaves it alone. Verified both paths: apt installs the five dependencies and docker.io on a bare Ubuntu 24.04 container, and an Arch host with Docker already running is left untouched. A missing systemctl now reports that a container cannot be a repository host instead of failing on an unknown command. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
f8c1cbb072
commit
daf98026bc
@@ -563,9 +563,15 @@ State files are stored in `/root/.state/`:
|
||||
ssh root@<host> 'cd /root/omarchy-pkgs && bin/setup'
|
||||
```
|
||||
|
||||
`bin/setup` installs the dependencies, enables Docker, creates the state
|
||||
directory, and installs and enables the release timers. It is idempotent, so
|
||||
run it again whenever a dependency is added.
|
||||
`bin/setup` installs the dependencies, ensures Docker is running, creates the
|
||||
state directory, and installs and enables the release timers. It works on
|
||||
Debian/Ubuntu and on Arch, and is idempotent, so run it again whenever a
|
||||
dependency is added.
|
||||
|
||||
The host does not need to be Arch: makepkg, repo-add and package signing all
|
||||
run inside containers, so it needs only Docker, rclone, bsdtar, jq, git and
|
||||
rsync. Docker is left alone when it already works, rather than replacing a
|
||||
working installation from Docker's own repository with the distribution's.
|
||||
|
||||
```bash
|
||||
bin/repo setup --check # Report what is missing, change nothing
|
||||
|
||||
Reference in New Issue
Block a user