Skip to content

fix(install): auto-install missing unzip/curl via host package manager#102

Merged
edgarriba merged 1 commit into
mainfrom
fix/install-auto-deps
May 19, 2026
Merged

fix(install): auto-install missing unzip/curl via host package manager#102
edgarriba merged 1 commit into
mainfrom
fix/install-auto-deps

Conversation

@edgarriba

Copy link
Copy Markdown
Member

Bug

Running the v0.0.14 install one-liner on a stock Ubuntu 24.04 (or any minimal Debian-based image) bails out immediately:

[INFO] Platform: linux (aarch64-unknown-linux-gnu)
[ERROR] Missing required dependencies: unzip

unzip isn't installed by default on minimal Ubuntu/Debian images, so every fresh-box install hits this on first attempt.

Reproduction

docker run --rm --network host --platform linux/arm64 ubuntu:24.04 bash -c '
  apt-get update -qq && apt-get install -y -qq curl ca-certificates
  curl -fsSL https://github.com/kornia/bubbaloop/releases/download/v0.0.14/install.sh | bash
'

Fix

check_deps() now probes for the host's package manager (apt-get, dnf, yum, apk, pacman) and runs an unattended install of the missing packages, using sudo when not running as root. Falls back to the original explicit-install error (now with per-distro install commands) if no PM is detected or sudo is unavailable.

End-to-end test on fresh Ubuntu 24.04

Before fix:

[ERROR] Missing required dependencies: unzip

After fix:

[INFO] Missing dependencies: unzip — attempting to install...
[INFO] Installing unzip via apt-get...
[INFO] Installed unzip
[STEP] Installing Zenoh 1.7.1...
...
=== bubbaloop --version ===
bubbaloop 0.0.14

The two other warnings in container testing (No dashboard release found, skipping bubbaloop-dash and systemctl: command not found) are container-only artifacts — the first is benign (dashboard is published separately via release-dash.yml) and the second only fires inside containers without an init system. Both are out of scope for this PR.

🤖 Generated with Claude Code

The install script bailed on fresh Ubuntu/Debian boxes with
'Missing required dependencies: unzip' — verified by running
'curl ... install.sh | sh' inside a stock ubuntu:24.04 container.

Now check_deps() probes for apt-get / dnf / yum / apk / pacman and
attempts an unattended install of the missing package (with sudo if
not root). Falls back to the original explicit-install error message
if no recognized package manager is found or sudo is unavailable —
so we never silently fail, and the error includes the right command
for each distro family.

Tested end-to-end in a fresh ubuntu:24.04 arm64 container:
  before fix: ERROR Missing required dependencies: unzip
  after fix : INFO Installing unzip via apt-get... → bubbaloop 0.0.14

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@edgarriba edgarriba merged commit ed1b85d into main May 19, 2026
1 check passed
@edgarriba edgarriba deleted the fix/install-auto-deps branch May 19, 2026 13:37
@edgarriba edgarriba mentioned this pull request May 19, 2026
2 tasks
edgarriba added a commit that referenced this pull request May 19, 2026
Patch release: install script auto-installs missing unzip/curl on
fresh Ubuntu/Debian/Fedora/Alpine/Arch boxes, instead of bailing
out. Verified against a stock ubuntu:24.04 arm64 container (#102).

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant