From: Max Vilimpoc Date: Mon, 31 Aug 2026 09:20:55 +0000 (+0200) Subject: dotfiles: install AGI from setup-linux.sh, on Ubuntu and on CachyOS X-Git-Url: https://vilimpoc.org/repos/dotfiles/commitdiff_plain/03b846cd7abe33973416d13f981462969bce4507?ds=inline;hp=03b846cd7abe33973416d13f981462969bce4507 dotfiles: install AGI from setup-linux.sh, on Ubuntu and on CachyOS The script died on anything without apt-get, which is most of the machines it now has to run on, so the package layer is a two-line wrapper over apt-get and pacman and the rsync lists gained their Arch spellings -- base-devel, pkgconf, and the libraries without the -dev half Arch does not split out. AGI ships a .deb and a .zip per release; Debian and Ubuntu get the .deb, Arch and CachyOS the .zip unpacked to /opt/agi, since there is no AUR package for it (the AUR RPC knows no agi, agi-bin or android-graphics-inspector). The .zip route replays the .desktop and MIME files the .deb installs, so both routes leave the same system behind, and only ever replaces a /opt/agi that carries a build.properties. The .deb cannot be installed as it stands. It declares "Depends: openjdk-22-jre, libgtk-3-0, libwebkit2gtk-4.1-0" and Ubuntu has never packaged openjdk-22 -- jammy through resolute ship 11, 17, 21 and 25 -- so apt has nothing to resolve that against. Nothing in the package needs 22 either: it bundles no JRE, the Go launcher settles for >= 11, and the highest class file version in gapic.jar is 63, i.e. Java 19. openjdk-21-jre satisfies both and exists on every release from 22.04 on, so the install picks a JRE that is actually in the archive and rewrites that one control field to name it. Only the control member is rebuilt, with ar; dpkg-deb -R/-b would unpack and recompress 230MB of payload for a one-line edit. Verified against the real 84MB package: member order preserved, Depends retargeted, and dpkg-deb still parses the result. Should any of that fail, the zip installer is the fallback, so the .deb path can only cost time. libgtk-3-0 became libgtk-3-0t64 in 24.04 and SWT wants webkit 4.1 rather than the 4.0 only jammy has, so both are chosen by asking the archive rather than by name. adb is installed too: it is not a hard dependency, but gapis carries the string "adb could not be found from ANDROID_HOME or PATH", which is all AGI can do without one. --agi-only and --no-agi split the two halves; --minimal implies --no-agi. AGI_VERSION pins a release, otherwise the version comes from the releases API with the last-checked 3.3.3 as the offline fallback, and a re-run whose /opt/agi/build.properties already matches skips the 85MB download. No pacman -Sy anywhere -- refreshing the database without upgrading is how an Arch box ends up half-broken -- so a stale database is reported rather than worked around. Exercised on CachyOS: every --dry-run path, the version lookup, and AGI 3.3.3 itself starting against the installed JRE with gtk3 and webkit2gtk-4.1. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01PqwcPKuLX7xML2DZqHnNJY ---