From eafc518c08faa2f6ee4ced1f60f0ff8b38e91bb5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 12:43:52 +0000 Subject: [PATCH 1/4] Initial plan From 5844b255466c66dc6bf1e801294244de473e633f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 12:47:02 +0000 Subject: [PATCH 2/4] fix: install keybase binary from deb without GUI dependencies on Ubuntu 24.04+ Co-authored-by: sebst <592313+sebst@users.noreply.github.com> --- src/keybase.io/install.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/keybase.io/install.sh b/src/keybase.io/install.sh index 6e529ea..47537a5 100755 --- a/src/keybase.io/install.sh +++ b/src/keybase.io/install.sh @@ -43,8 +43,18 @@ install() { esac local deb_file="keybase_${arch_suffix}.deb" curl -fsSL "https://prerelease.keybase.io/${deb_file}" -o "/tmp/${deb_file}" - DEBIAN_FRONTEND=noninteractive apt-get install -y "/tmp/${deb_file}" - rm "/tmp/${deb_file}" + # Extract binaries directly to avoid unresolvable GUI dependencies (e.g. fuse, + # libasound2, libgtk-3-0) that are renamed or unavailable in Ubuntu 24.04+. + local extract_dir + extract_dir="$(mktemp -d)" + dpkg-deb -x "/tmp/${deb_file}" "${extract_dir}" + if [ ! -f "${extract_dir}/usr/bin/keybase" ]; then + echo "ERROR: keybase binary not found in extracted package at ${extract_dir}/usr/bin/keybase" + rm -rf "${extract_dir}" "/tmp/${deb_file}" + exit 1 + fi + install -m 0755 "${extract_dir}/usr/bin/keybase" /usr/local/bin/keybase + rm -rf "${extract_dir}" "/tmp/${deb_file}" apt_get_cleanup } From 8bef42e4cc0c54803d3baebfb6243fce688087e2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 13:02:22 +0000 Subject: [PATCH 3/4] fix: stream only keybase binary from deb to avoid disk exhaustion on extraction Co-authored-by: sebst <592313+sebst@users.noreply.github.com> --- src/keybase.io/install.sh | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/keybase.io/install.sh b/src/keybase.io/install.sh index 47537a5..bd9dde0 100755 --- a/src/keybase.io/install.sh +++ b/src/keybase.io/install.sh @@ -43,18 +43,14 @@ install() { esac local deb_file="keybase_${arch_suffix}.deb" curl -fsSL "https://prerelease.keybase.io/${deb_file}" -o "/tmp/${deb_file}" - # Extract binaries directly to avoid unresolvable GUI dependencies (e.g. fuse, - # libasound2, libgtk-3-0) that are renamed or unavailable in Ubuntu 24.04+. - local extract_dir - extract_dir="$(mktemp -d)" - dpkg-deb -x "/tmp/${deb_file}" "${extract_dir}" - if [ ! -f "${extract_dir}/usr/bin/keybase" ]; then - echo "ERROR: keybase binary not found in extracted package at ${extract_dir}/usr/bin/keybase" - rm -rf "${extract_dir}" "/tmp/${deb_file}" - exit 1 - fi - install -m 0755 "${extract_dir}/usr/bin/keybase" /usr/local/bin/keybase - rm -rf "${extract_dir}" "/tmp/${deb_file}" + # Stream only the keybase CLI binary out of the deb's embedded tar, discarding + # the large Electron GUI app (/opt/keybase/Keybase) so the container does not + # run out of disk space. This also bypasses the unresolvable GUI package + # dependencies (fuse, libasound2, libgtk-3-0, …) on Ubuntu 24.04+. + dpkg-deb --fsys-tarfile "/tmp/${deb_file}" \ + | tar -xO ./usr/bin/keybase \ + | install -m 0755 /dev/stdin /usr/local/bin/keybase + rm "/tmp/${deb_file}" apt_get_cleanup } From a14bc9c563fd2bd47d7525389170223fb39f4ee4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 19 Mar 2026 13:11:43 +0000 Subject: [PATCH 4/4] chore: bump keybase.io feature version to 1.1.0 Co-authored-by: sebst <592313+sebst@users.noreply.github.com> --- src/keybase.io/devcontainer-feature.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keybase.io/devcontainer-feature.json b/src/keybase.io/devcontainer-feature.json index f6ac492..76cfbf0 100644 --- a/src/keybase.io/devcontainer-feature.json +++ b/src/keybase.io/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "keybase.io", "id": "keybase.io", - "version": "1.0.0", + "version": "1.1.0", "description": "Install \"keybase\" binary", "documentationURL": "https://github.com/devcontainer-community/devcontainer-features/tree/main/src/keybase.io", "options": {