Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [ANN] zsh-bin: statically-linked, hermetic, relocatable zsh

On Sat, Mar 28, 2020 at 1:24 AM Ray Andrews <rayandrews@xxxxxxxxxxx> wrote:
> What is 'hermetic'?

It means Zsh from zsh-bin doesn't require any files from outside of
its installation directory to function. Perhaps "self-contained" would
be a better word.

> Does relocatable mean that I can just move the target directory
> to anything/anywhere and so long as 'zsh' if found, all else will
> work?

Relocatable means you can install Zsh from zsh-bin into any directory.
This isn't the case for other distributions. Usually, after Zsh is
compiled, it can work only when placed in a specific directory.

You can find more details in https://github.com/romkatv/zsh-bin/#how-it-works.

> Which of the three methods below would be recommended?

Installation with the install script is the easiest by far. It's also
safer thanks to signature verification and extra care to avoid
clobbering an existing installation.

Manual installation is for those who like to tinker. It also serves as
an explanation of what `install` does.

The option to build your own archive is for those who like to tinker
even more. Note that you can also use the install script to install
Zsh from an archive you've built yourself.

> I'm running Debian 'amd64' so which image?
> I'm thinking: zsh-5.8-linux-x86_64.tar.gz

That's right. The manual installation instructions show the basic
algorithm for deriving the name of the archive from the OS kernel name
and CPU architecture.

  kernel=$(uname -s | tr '[A-Z]' '[a-z]')
  arch=$(uname -m | tr '[A-Z]' '[a-z]')

See https://github.com/romkatv/zsh-bin#manual-installation. The
install script is a bit smarter than this.

Since the name of your OS kernel is Linux and CPU architecture is
x86_64, zsh-5.8-linux-x86_64.tar.gz will work.

> And do I understand that the whole thing will be in one subdirectory?

Yes. You can simply remove this directory to "uninstall".

On Sat, Mar 28, 2020 at 11:37 AM Sebastian Gniazdowski
<sgniazdowski@xxxxxxxxx> wrote:
> I've ran the script and the resulting zsh seems to not support dynamic
> loading at all.

Indeed. I've added this limitation to the documentation:

  Zsh from zsh-bin cannot load user-defined compiled modules. There
  no way to guarantee that user-defined modules have been linked
  with the same libc as `zsh`, so it's unsafe to load them. This
  limitation likely cannot be removed.


Messages sorted by: Reverse Date, Date, Thread, Author