Skip to content

Installer doesn't select the executable from archive unless name matches #135

@QaidVoid

Description

@QaidVoid

Problem

When the executable file in the archive doesn't match exactly to the package name, it fails to install the package.

Steps to reproduce

Add to packages.toml

trenchbroom = { url = "https://github.com/TrenchBroom/TrenchBroom/releases/download/v2025.3/TrenchBroom-Linux-x86_64-v2025.3-Release.zip" }

and soar apply

Since the file in the archive is named TrenchBroom.AppImage, it fails.
Naming package as TrenchBroom.AppImage doesn't work either since it's normalized to lowercase.

Expected behavior

The installer should first check whether an executable with the exact package name exists.
If not, it should compare against normalized filenames and use a match if found.
If neither succeeds, it should recursively search for other executable files within the package directory.

Executable discovery should prioritize the following directories, in order:

  1. bin/
  2. usr/bin/
  3. usr/local/bin/

Soar version (soar -V)

0.9.1

Operating system (if issue is related to OS)

No response

Installation

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions