Skip to content

Are there any plugin quality requirements? #1159

@tspearconquest

Description

@tspearconquest

Describe the Bug

Hi, I was looking for a tool to reduce the file size of a statically compiled binary, and Copilot recommended I used upx, so I told it to install it with asdf, which it did, but then I noticed it was trying to run from a homebrew path. So I stopped it, uninstalled it via homebrew, told it to install via asdf again and figure out what went wrong.

After a quick look, it discovered that the plugin here just wraps homebrew.

The download script for the asdf-upx plugin does appear to pull a tarball, for what it's worth; so only the install command is an issue. I understand that the plugins are community contributed so I'll ask on the plugin maintainer's repo if they would accept a PR to move away from brew install for this plugin but I wanted to ask if there are any acceptance standards (like -- don't make a plugin where the install command just runs homebrew), and if there are, does this meet them? I checked the contributing doc and didn't find any mention.

Steps to Reproduce

N/A - general question.

And I am aware that the third party plugin repo could change after the plugin was accepted here; the quality could go down after the fact; that's out of your hands. Potentially that's even what happened here. Not sure, mainly just wanted to highlight the issue and see if anything is done, and how it's handled, and open a discussion about it if this hasn't been discussed before.

Expected Behaviour

asdf plugins shouldn't install packages via homebrew, imho. For one, users might not have homebrew installed

Actual Behaviour

In fact, the install script in this case doesn't appear to check if homebrew is even installed, it just runs the brew install command. So for users who don't have homebrew installed, asdf fails to install upx with a clear error that homebrew is missing, which will lead to confusion.

Environment

MacOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions