Skip to content

fix: install keybase binary directly from deb to bypass unresolvable GUI dependencies on Ubuntu 24.04+#131

Merged
sebst merged 4 commits intomainfrom
copilot/fix-keybase-installation-issue
Mar 19, 2026
Merged

fix: install keybase binary directly from deb to bypass unresolvable GUI dependencies on Ubuntu 24.04+#131
sebst merged 4 commits intomainfrom
copilot/fix-keybase-installation-issue

Conversation

Copy link
Contributor

Copilot AI commented Mar 19, 2026

The keybase .deb package declares GUI dependencies (libayatana-appindicator3-1, fuse, libasound2, libxss1, libxtst6, libgtk-3-0) that are renamed or absent in Ubuntu 24.04+, causing apt-get install to abort entirely. The package also bundles a large Electron GUI app at /opt/keybase/Keybase which exhausts the container's available disk space when extracted.

Changes

  • src/keybase.io/install.sh: Replace apt-get install /tmp/keybase.deb with a streaming pipeline that extracts only the keybase CLI binary from the deb's embedded tar — without writing the large Electron GUI app or any other package contents to disk.
# Before — fails on Ubuntu 24.04+
DEBIAN_FRONTEND=noninteractive apt-get install -y "/tmp/${deb_file}"

# After — streams only the keybase binary, no dependency resolution, no disk exhaustion
dpkg-deb --fsys-tarfile "/tmp/${deb_file}" \
    | tar -xO ./usr/bin/keybase \
    | install -m 0755 /dev/stdin /usr/local/bin/keybase

The GUI libraries are irrelevant for CLI usage in a headless devcontainer. The Electron GUI app (/opt/keybase/Keybase) and all other package assets are discarded in the stream and never written to disk. KBFS/fuse-based features remain non-functional in containers regardless, so there is no regression. Pipeline failures (e.g. binary missing from the deb) are caught by the existing set -o pipefail at the top of the script.

Original prompt

This section details on the original issue you should resolve

<issue_title>Bug: feature keybase.io is not installable on Ubuntu</issue_title>
<issue_description>See:

https://github.com/devcontainer-community/devcontainer-features/actions/runs/23292760248/job/67741145094

Error:

devcontainer-community/devcontainer-features#13 2.211  keybase : Depends: libayatana-appindicator3-1 but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: fuse but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: libasound2 but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: libnss3 but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: libxss1 but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: libxtst6 but it is not installable
devcontainer-community/devcontainer-features#13 2.211            Depends: libgtk-3-0 but it is not installable
devcontainer-community/devcontainer-features#13 2.211 E: Unable to correct problems, you have held broken packages.
devcontainer-community/devcontainer-features#13 2.227 ERROR: Feature "keybase.io" (Unknown) failed to install! Look at the documentation at https://github.com/devcontainer-community/devcontainer-features/tree/main/src/keybase.io for help troubleshooting this error.
```</issue_description>

## Comments on the Issue (you are @copilot in this section)

<comments>
</comments>


📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

…tu 24.04+

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix bug where keybase.io is not installable on Ubuntu fix: install keybase binary directly from deb to bypass unresolvable GUI dependencies on Ubuntu 24.04+ Mar 19, 2026
Copilot AI requested a review from sebst March 19, 2026 12:48
@sebst sebst marked this pull request as ready for review March 19, 2026 12:49
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests still failing:

[2026-03-19T12:50:20.871Z] #14 4.030 Setting up ca-certificates (20250419) ...
[2026-03-19T12:50:21.193Z] #14 4.502 Updating certificates in /etc/ssl/certs...
[2026-03-19T12:50:21.781Z] #14 5.090 150 added, 0 removed; done.
[2026-03-19T12:50:21.978Z] #14 5.104 Setting up libp11-kit0:amd64 (0.25.5-3) ...
#14 5.107 Setting up libgssapi-krb5-2:amd64 (1.21.3-5) ...
#14 5.110 Setting up libgnutls30t64:amd64 (3.8.9-3+deb13u2) ...
#14 5.112 Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ...
#14 5.115 Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
#14 5.118 Setting up libcurl4t64:amd64 (8.14.1-2+deb13u2) ...
#14 5.120 Setting up curl (8.14.1-2+deb13u2) ...
#14 5.123 Processing triggers for libc-bin (2.41-12+deb13u2) ...
[2026-03-19T12:50:21.978Z] 
#14 5.133 Processing triggers for ca-certificates (20250419) ...
#14 5.137 Updating certificates in /etc/ssl/certs...
[2026-03-19T12:50:22.299Z] #14 5.608 0 added, 0 removed; done.
#14 5.608 Running hooks in /etc/ca-certificates/update.d...
[2026-03-19T12:50:22.450Z] #14 5.609 done.
[2026-03-19T12:58:56.105Z] #14 519.4 tar: ./opt/keybase/Keybase: Wrote only 9216 of 10240 bytes

…extraction

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

Tests still failing:

The tar: ./opt/keybase/Keybase: Wrote only 9216 of 10240 bytes error was caused by dpkg-deb -x extracting the entire deb to disk — including the large Electron GUI app at /opt/keybase/Keybase — which exhausts the container's disk space.

Fixed in 8bef42e by piping dpkg-deb --fsys-tarfile through tar -xO ./usr/bin/keybase to stream only the keybase CLI binary out, never writing anything else to disk. The Electron app and all GUI assets are discarded in the stream before reaching storage.

Copilot AI requested a review from sebst March 19, 2026 13:03
Copy link
Member

@sebst sebst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to bump minor version in devcontainer-feature.json

Co-authored-by: sebst <592313+sebst@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

need to bump minor version in devcontainer-feature.json

Done in a14bc9c — bumped version from 1.0.0 to 1.1.0.

Copilot AI requested a review from sebst March 19, 2026 13:12
@sebst sebst merged commit e59b0b8 into main Mar 19, 2026
@sebst sebst deleted the copilot/fix-keybase-installation-issue branch March 19, 2026 13:13
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.

Bug: feature keybase.io is not installable on Ubuntu

2 participants