iterm2-website icon indicating copy to clipboard operation
iterm2-website copied to clipboard

[Request] add tools and shell integration to Homebrew

Open andrewcrook opened this issue 3 years ago • 7 comments

Would be nice to have the option to install via Homebrew on macOS and perhaps other package managers on other OSs In order to keep these updated etc

andrewcrook avatar May 11 '21 14:05 andrewcrook

+1 for package managers on other OS. Because iTerm2 is more likely to be used against a remote non-OSX system (e.g. Linux).

And to be well accepted for packagers, it also needs:

  • more documentation (either simply individual .md for each program, so that man pages can be generated from those)
  • separate GitHub repo and thus versioning

A separate repo, seriously. Because the standard approach there is building packages off an official tarball. Otherwise, there is a need to download a 4GB(!) tarball to build the package for a handful of bash scripts...

dvershinin avatar May 28 '21 19:05 dvershinin

If someone is interested, I've built packages for RHEL 7, 8:

Subject to the free usage of the GetPageSpeed RPM repository.

dvershinin avatar May 29 '21 17:05 dvershinin

I have no idea how to do this but if someone wants to take this on I'll be glad to help however I can.

gnachman avatar Jun 06 '21 23:06 gnachman

@gnachman would be great if you could create another repo, e.g. gnachman/iterm2-server-integration and move both the source/utilities and source/shell_integration from here to the newly created repo.

Then tag a stable release version, e.g. v0.0.1 in the iterm2-server-integration repo.

dvershinin avatar Jun 22 '21 22:06 dvershinin

@gnachman would be great if you could create another repo, e.g. gnachman/iterm2-server-integration and move both the source/utilities and source/shell_integration from here to the newly created repo.

Then tag a stable release version, e.g. v0.0.1 in the iterm2-server-integration repo.

Why does it need to be in its own repo? I could certainly do that but in my experience a proliferation of repos eventually causes a lot of pain.

gnachman avatar Jun 26 '21 23:06 gnachman

Sorry if I wasn't clear enough.

Packages are created from official source tarballs.

If things stay in this single repo

  • It means that a package's source RPM (e.g. for CentOS), is very bloated, 4GB. The process of downloading and packaging those few scripts for utilities (which are less than a megabyte's worth) into an RPM is time-consuming and unnecessary bandwidth due to having to download the entire source tarball
  • What defines a release version for the shell/utility package? When you make an update on those scripts/integration and we want a new version released... We would have to resort to git snapshots, which makes automatic repackaging virtually impossible or very hard to accomplish. Because these utilities have no clear version.

If things are put in a separate repo

  • Packagers have a single-source reference to create the package from, with just what they need
  • A release version can be defined through standard mechanisms, e.g. looking at GitHub releases, and with appropriate tools, automatic packaging is possible when you tag a new version there.
  • As an added bonus, users can file tickets specifically against these utilities/integration. E.g. I do notice a somewhat sluggish typing behavior with the shell integration. It probably makes little "sense" to file that issue in gnachman/iterm2-website

dvershinin avatar Jun 27 '21 06:06 dvershinin

Thanks for clarifying. Considering I also need this code in the main iTerm2 repo this makes a lot of sense. I've created this repo:

https://github.com/gnachman/iTerm2-shell-integration

I don't think we need a tagging scheme because this is continuously deployed. Feel free to build off the main branch whenever it changes.

gnachman avatar Jun 27 '21 17:06 gnachman