155 lines
3.9 KiB
Markdown
155 lines
3.9 KiB
Markdown
# Homebrew Cask for Termix
|
|
|
|
This directory contains the Homebrew Cask formula for installing Termix on macOS.
|
|
|
|
## Files
|
|
|
|
- **termix.rb** - Homebrew Cask formula
|
|
|
|
## What is a Homebrew Cask?
|
|
|
|
Homebrew Casks are used to install GUI macOS applications. Unlike formulae (which are for command-line tools), casks handle:
|
|
|
|
- Downloading DMG/PKG installers
|
|
- Installing .app bundles to /Applications
|
|
- Managing application preferences and cache cleanup
|
|
|
|
## Submission Options
|
|
|
|
You have two options for distributing Termix via Homebrew:
|
|
|
|
### Option 1: Submit to Official Homebrew Cask (Recommended)
|
|
|
|
Submit to the official homebrew-cask repository for maximum visibility.
|
|
|
|
**Advantages:**
|
|
|
|
- Discoverable by all Homebrew users
|
|
- Built-in update checking
|
|
- Official Homebrew support
|
|
|
|
**Process:**
|
|
|
|
1. Download the `homebrew-submission` artifact from GitHub Actions (when using "submit" option)
|
|
2. Fork https://github.com/Homebrew/homebrew-cask
|
|
3. Create a new branch: `git checkout -b termix`
|
|
4. Add the cask file: `Casks/t/termix.rb` (note the subdirectory by first letter)
|
|
5. Test locally: `brew install --cask ./Casks/t/termix.rb`
|
|
6. Run audit: `brew audit --cask --online ./Casks/t/termix.rb`
|
|
7. Commit and push to your fork
|
|
8. Create a PR to Homebrew/homebrew-cask
|
|
|
|
**Requirements for acceptance:**
|
|
|
|
- App must be stable (not beta/alpha)
|
|
- Source code must be public
|
|
- No analytics/tracking without opt-in
|
|
- Pass all brew audit checks
|
|
|
|
### Option 2: Create Your Own Tap
|
|
|
|
Create a custom Homebrew tap for more control and faster updates.
|
|
|
|
**Advantages:**
|
|
|
|
- Full control over updates
|
|
- No approval process
|
|
- Can include beta/alpha releases
|
|
|
|
**Process:**
|
|
|
|
1. Create a new repository: `Termix-SSH/homebrew-termix`
|
|
2. Add the cask file to: `Casks/termix.rb`
|
|
3. Users install with: `brew install --cask termix-ssh/termix/termix`
|
|
|
|
## Installation (for users)
|
|
|
|
### From Official Homebrew Cask (after approval):
|
|
|
|
```bash
|
|
brew install --cask termix
|
|
```
|
|
|
|
### From Custom Tap:
|
|
|
|
```bash
|
|
# Add the tap
|
|
brew tap termix-ssh/termix
|
|
|
|
# Install the cask
|
|
brew install --cask termix
|
|
```
|
|
|
|
## Updating the Cask
|
|
|
|
When you release a new version:
|
|
|
|
### For Official Homebrew Cask:
|
|
|
|
1. Homebrew bot usually auto-updates within hours
|
|
2. Or manually submit a PR with the new version/checksum
|
|
|
|
### For Custom Tap:
|
|
|
|
1. Update the version and sha256 in termix.rb
|
|
2. Commit and push to your tap repository
|
|
3. Users run: `brew upgrade --cask termix`
|
|
|
|
## Testing Locally
|
|
|
|
Before submitting, test the cask:
|
|
|
|
```bash
|
|
# Install from local file
|
|
brew install --cask ./homebrew/termix.rb
|
|
|
|
# Verify it works
|
|
open /Applications/Termix.app
|
|
|
|
# Uninstall
|
|
brew uninstall --cask termix
|
|
|
|
# Run audit checks
|
|
brew audit --cask --online ./homebrew/termix.rb
|
|
|
|
# Style check
|
|
brew style ./homebrew/termix.rb
|
|
```
|
|
|
|
## Automated Submission Preparation
|
|
|
|
The GitHub Actions workflow automatically prepares the Homebrew submission when you select "submit":
|
|
|
|
1. Builds macOS universal DMG
|
|
2. Calculates SHA256 checksum
|
|
3. Updates the cask file with version and checksum
|
|
4. Creates a `homebrew-submission` artifact
|
|
|
|
Download the artifact and follow the submission instructions included.
|
|
|
|
## Cask File Structure
|
|
|
|
The cask file (`termix.rb`) includes:
|
|
|
|
- **version** - Automatically set from package.json
|
|
- **sha256** - Checksum of the universal DMG for security
|
|
- **url** - Download URL from GitHub releases
|
|
- **name** - Display name
|
|
- **desc** - Short description
|
|
- **homepage** - Project homepage
|
|
- **livecheck** - Automatic update detection
|
|
- **app** - The .app bundle to install
|
|
- **zap** - Files to remove on complete uninstall
|
|
|
|
## Requirements
|
|
|
|
- macOS 10.15 (Catalina) or later
|
|
- Homebrew 4.0.0 or later
|
|
- Universal DMG must be code-signed and notarized (already handled by your build process)
|
|
|
|
## Resources
|
|
|
|
- [Homebrew Cask Documentation](https://docs.brew.sh/Cask-Cookbook)
|
|
- [Cask Submission Guidelines](https://github.com/Homebrew/homebrew-cask/blob/master/CONTRIBUTING.md)
|
|
- [Homebrew Formula Cookbook](https://docs.brew.sh/Formula-Cookbook)
|