Skip to content

Handle both 'Luca' and 'luca' binary names for case-sensitive filesystems#10

Merged
albertodebortoli merged 1 commit intomainfrom
allow-for-casing-differences
Mar 27, 2026
Merged

Handle both 'Luca' and 'luca' binary names for case-sensitive filesystems#10
albertodebortoli merged 1 commit intomainfrom
allow-for-casing-differences

Conversation

@albertodebortoli
Copy link
Copy Markdown
Member

Why

On Linux, filesystems are case-sensitive. The binary inside the release zip has historically been named Luca (uppercase), but LucaTools/Luca#44 changes it to luca (lowercase). This means:

  • install.sh was doing mv Luca /usr/local/bin/luca — which fails on Linux when the extracted file is luca
  • uninstall.sh was looking for the executable at $INSTALL_DIR/Luca — which would miss an installation at $INSTALL_DIR/luca

On macOS the filesystem is case-insensitive by default, so this never surfaced there.

What changed

install.sh: after extracting the zip, the script now checks for Luca first, then falls back to luca, and moves whichever is found. If neither exists, it exits with a clear error.

uninstall.sh: the executable path is now resolved at runtime by checking for luca first, then Luca, ensuring the correct file is removed regardless of which casing was used at install time.

Backwards compatibility

This change is backwards-compatible: installations that used the old uppercase Luca binary continue to work, while installations using the new lowercase luca binary (introduced in LucaTools/Luca#44) are also handled correctly.

This PR goes hand-in-hand with LucaTools/Luca#44.

…cripts

The Linux zip may extract the binary as either 'luca' (lowercase) or 'Luca'
(uppercase) depending on the release. On case-sensitive Linux filesystems this
caused the mv to fail. Both scripts now detect whichever name is present.
@albertodebortoli albertodebortoli merged commit 4142de5 into main Mar 27, 2026
2 checks passed
@albertodebortoli albertodebortoli deleted the allow-for-casing-differences branch March 27, 2026 16:22
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