vapor / toolbox

Simplifies common command line tasks when using Vapor
MIT License
291 stars 86 forks source link

macOS packaging should offer alternatives to HomeBrew #398

Open ygini opened 2 years ago

ygini commented 2 years ago

Is your feature request related to a problem? Please describe.

Current distribution method on macOS rely on HomeBrew.

This distribution solution as a long history of vulnerabilities, design weaknesses, poor respect of macOS development guidelines and is usually really slow to adopt new macOS major releases.

Plus, HomeBrew does not provide any scalable deployment method for a managed fleets.

macOS in enterprises are managed by MDM, even for developers, and the fleet management can be used to ensure toolbox consistency across developers endpoints. Which cannot be done with HomeBrew.

Describe the solution you'd like

Vapor, as any solution working on macOS, should provide official release as a standard pkg, ideally over a versioned release API such as the GitHub release system.

Such an evolution would allow update automation for all managed fleets (MDM via some fleet automation tools can download GH Releases and distribute them automatically).

As an optional method aside the direct pkg, it could be also great to support MacPorts, which is a more mature and robust port system for macOS.

Describe alternatives you've considered

Alternative would be for us to download the sources and generate our custom pkg each time. And handle the signature ourselves.

Additional context

Product adoption are also made via the help of the IT team that will deal with product distribution on a fleet. Helping them with state of the art distribution method will make them more prone to push Vapor in a discussion.

neilt commented 1 year ago

I would also like to see this. I absolutely refuse to install HomeBrew on any machines that I manage. It writes all over the place and is not disciplined enough with respect to packages vulnerabilities to be safe. It is great for developers because anyone can produce a brew, but that is exactly the problem.

I would like to see the linux instructions adapted to macOS as an alternative.

neilt commented 1 year ago

Turns out if you have any reasonable MacPorts packages installed the Linux instructions seem to work fine. There are probably some dependency issues, but I did not have any problems.

willtemperley commented 1 year ago

I also don't use Homebrew - but it's trivial to build and install Vapor without:

git clone https://github.com/vapor/toolbox
cd toolbox
make
sudo make install

Job done. I don't know why they don't have this in the MacOS installation docs.

ygini commented 1 year ago

I also don't use Homebrew - but it's trivial to build and install Vapor without:


git clone https://github.com/vapor/toolbox

cd toolbox

make

sudo make install

Job done. I don't know why they don't have this in the MacOS installation docs.

Indeed, if it is that simple it should be in the doc.

With the use of homebrew I was expecting complex dependencies needs.

If it is just a make install it could even be a simple pkg create by CI/CD.