Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hi!

macOS is a bit peculiar. Applications are in `Foobar.app` folders. There's nothing special about these folders, except they need to have a specific structure (with a `Contents` subfolder, an `Info.plist` file, etc.)

butler lets you upload the contents of a folder as an upload, and then the app installs that into an install location. The problem you're seeing here is that:

  • butler push FooBar.app somewhere
    • Uploads *the contents of FooBar.app*
  • Installing that upload
    • Installs *the contents of FooBar.app* to a location like `~/Games/foo-bar` - a folder that doesn't end in `.app`
    • that's not an app bundle as far as macOS is concerned
  • .app bundles contain executables, which can be executed normally...

Here's how you can work around it right now:

  • Instead of doing butler push FooBar.app somewhere, create a folder named foobar, put the .app in it, and push that foobar folder.

Here's what I'm planning to do to make sure that problem doesn't happen again:

  • Whenever a folder that ends in `.app` is passed to butler, act as if it was wrapped in another folder already.
  • Fix issue 2131 mentioned above, so that even if isn't pushed "correctly", it will still launch with the app.

As for ~/.bash_history not already existing on your machine, that's expected behavior if you're on a fresh macOS install / haven't used the command-line there in a while. I think that:

  • The docs should mention that you may need to create that file
  • We should release a drag & drop graphical interface for butler soon, which will avoid a lot of confusion

Hopefully that addresses your questions!

Update:

  • I've adjusted the docs to mention that you might have to create `~/.bash_profile` if it doesn't exist
  • I've added the auto-wrapping behavior I've mentioned before.

What that means is that, as of butler v14.3.0, if you push an app bundle directly, it'll push this:

The old behavior is still available under the `--no-auto-wrap` flag:


If you downloaded butler directly, you can run `butler upgrade`. If you installed it via the app, it'll update it automatically.