+ #
+ # ffmpeg and adb are here for the same reason: they are common across the
+ # projects on these machines rather than specific to any one of them, so
+ # installing them once here means a per-project setup script only has to
+ # CHECK for them instead of carrying its own package-manager logic. What
+ # stays out of this script on purpose is anything project-shaped -- no
+ # virtualenvs, no per-repo Python packages, no test tooling. Those belong
+ # next to the repo that needs them (e.g. RAWcorder's setup-linux-tests.sh).
+ #
+ # ffmpeg ffmpeg + ffprobe, for building and probing test media
+ # adb reaches Android devices. AGI installs it too, but only
+ # on an --agi run, and it is worth having either way.
+ # python3-venv Debian and Ubuntu split venv and ensurepip out of python3,
+ # so `python3 -m venv` fails on a stock Ubuntu without it.
+ # Arch bundles both into `python`, so there is nothing to add.
+ OPTIONAL+=(shellcheck ffmpeg)
+ case "$PM" in
+ apt)
+ COMMON_PKG=$(pick_pkg python3-venv) && OPTIONAL+=("$COMMON_PKG")
+ COMMON_PKG=$(pick_pkg adb android-sdk-platform-tools) && OPTIONAL+=("$COMMON_PKG")
+ ;;
+ pacman)
+ COMMON_PKG=$(pick_pkg android-tools) && OPTIONAL+=("$COMMON_PKG")
+ ;;
+ esac