Skip to content

fix: clean up patchelf-failure tmp binary in install.sh; enforce install.sh/migrate.sh sync#11

Closed
doomcrew328 wants to merge 3 commits into
ferrumclaudepilgrim:mainfrom
doomcrew328:main
Closed

fix: clean up patchelf-failure tmp binary in install.sh; enforce install.sh/migrate.sh sync#11
doomcrew328 wants to merge 3 commits into
ferrumclaudepilgrim:mainfrom
doomcrew328:main

Conversation

@doomcrew328

Copy link
Copy Markdown
Contributor

Summary

  • install.sh left the downloaded 233 MB .tmp binary behind if patchelf failed to set the ELF interpreter; migrate.sh already cleaned it up on the same failure. This brings install.sh in line. Verified on-device by reproducing the patchelf failure path with the real glibc-runner patchelf against a bogus binary and confirming the .tmp file is now removed.
  • The npm-version resolve/download/checksum/patchelf block and the emitted wrapper heredoc are documented (SYNC NOTE) as required to stay byte-identical between install.sh and migrate.sh, but nothing enforced that. Added matching # SYNC:BEGIN <name> / # SYNC:END <name> markers around both sections plus scripts/check-sync.sh, which diffs the marked blocks and fails on drift. Wired into the ShellCheck CI workflow.

Test plan

  • bash -n syntax check on install.sh, migrate.sh, scripts/check-sync.sh
  • bash scripts/check-sync.sh passes clean; verified it actually catches drift (injected a one-line change, confirmed failure, reverted, confirmed pass again)
  • Reproduced the patchelf-failure path on-device with the real glibc-runner patchelf against an invalid ELF file; confirmed the .tmp file is removed after the fix (previously it was not)
  • Not verified across the device compatibility matrix (this repo's normal release bar) -- this is a small, isolated failure-path fix, not a release

🤖 Generated with Claude Code

doomcrew328 and others added 3 commits July 16, 2026 04:55
…all.sh/migrate.sh sync

install.sh left the downloaded 233 MB .tmp binary behind if patchelf failed
to set the ELF interpreter; migrate.sh already cleaned it up on the same
failure. Match migrate.sh's behavior. Verified on-device: reproduced the
patchelf failure path with the real glibc-runner patchelf against a bogus
binary and confirmed the .tmp file is removed after the fix (previously it
was not).

The npm-version resolve/download/checksum/patchelf block and the emitted
wrapper heredoc are meant to stay byte-identical between install.sh and
migrate.sh (per the existing SYNC NOTE), but nothing enforced that. Wrap
both sections in matching "# SYNC:BEGIN <name>" / "# SYNC:END <name>"
markers and add scripts/check-sync.sh, which diffs the marked blocks and
fails on drift. Wired into the ShellCheck CI workflow so future edits to
one file that forget the other are caught automatically instead of
silently diverging.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…he original push)

No content change. GitHub disables Actions by default on newly created
forks; the original push landed before that was enabled, so no workflow
run exists yet for it. This empty commit re-triggers the push event now
that Actions are confirmed enabled on doomcrew328/claude-code-android.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…a API

The previous empty commit still produced zero workflow runs even though
GET /actions/permissions already reported enabled:true. Explicitly PUT
the permissions endpoint and PUT-enabled each workflow individually
(/actions/workflows/{id}/enable), which forks apparently need beyond
what the GET-reported state suggested. This commit re-triggers the push
event to confirm.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ferrumclaudepilgrim

Copy link
Copy Markdown
Owner

Hey! I am taking my first look at this and like where its going.

I have actually been battling with finding the time to dedicate to doing something very similar.

Coming into the weekend I have one main goal and that's to get an update pushed I have queued.

I will definitely add this to the checklist. I appreciate you taking the time to look into this!

If I run into any hurdles/ questions ill drop em back here.

ferrumclaudepilgrim added a commit that referenced this pull request Jul 27, 2026
Records doomcrew328's pull request as merged. The work itself shipped in v2.9.4
as commit a3084cd, applied on top of launcher changes from the same release,
which is why the marker placement differs from the branch. This merge changes no
files; it exists so the contribution reads as what it is.

install.sh and migrate.sh now carry SYNC:BEGIN and SYNC:END markers around the
sections that must stay byte-identical, scripts/check-sync.sh fails when they
drift, and CI runs it on every push. install.sh also removes the staged binary
when patching fails, matching migrate.sh.
@ferrumclaudepilgrim

Copy link
Copy Markdown
Owner

Hey so it is merged. I know the PR shows closed but the commit history, your contribution badge etc all show.

I made an error when going thru squashing and commting that made the PR not show the purple merge badge. Rookie mistake by me. I definitely appreciate the time and effort you put in and hooe the repo serves you well!

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.

2 participants