| #!/bin/bash | |
| # Build Zsh from sources on Ubuntu. | |
| # From http://zsh.sourceforge.net/Arc/git.html and sources INSTALL file. | |
| # Make script gives up on any error | |
| set -e | |
| # Some packages may be missing | |
| sudo apt-get install -y git-core gcc make autoconf yodl libncursesw5-dev texinfo checkinstall | |
| # Clone zsh repo and change to it | |
| git clone git://git.code.sf.net/p/zsh/code zsh | |
| cd zsh | |
| # Get lastest stable version, but you can change to any valid branch/tag/commit id | |
| BRANCH=$(git describe --abbrev=0 --tags) | |
| # Get version number, and revision/commit id when this is available | |
| ZSH_VERSION=$(echo $BRANCH | cut -d '-' -f2,3,4) | |
| # Go to desired branch | |
| git checkout $BRANCH | |
| # Make configure | |
| ./Util/preconfig | |
| # Options from Ubuntu Zsh package rules file (http://launchpad.net/ubuntu/+source/zsh) | |
| # Updated to zsh 5.0.2 on Trusty Tahr (pre-release) | |
| ./configure --prefix=/usr \ | |
| --mandir=/usr/share/man \ | |
| --bindir=/bin \ | |
| --infodir=/usr/share/info \ | |
| --enable-maildir-support \ | |
| --enable-max-jobtable-size=256 \ | |
| --enable-etcdir=/etc/zsh \ | |
| --enable-function-subdirs \ | |
| --enable-site-fndir=/usr/local/share/zsh/site-functions \ | |
| --enable-fndir=/usr/share/zsh/functions \ | |
| --with-tcsetpgrp \ | |
| --with-term-lib="ncursesw tinfo" \ | |
| --enable-cap \ | |
| --enable-pcre \ | |
| --enable-readnullcmd=pager \ | |
| --enable-custom-patchlevel=Debian \ | |
| --enable-additional-fpath=/usr/share/zsh/vendor-functions,/usr/share/zsh/vendor-completions \ | |
| LDFLAGS="-Wl,--as-needed -g -Wl,-Bsymbolic-functions -Wl,-z,relro" | |
| # Compile, test and install | |
| make -j5 | |
| make check | |
| sudo checkinstall -y --pkgname=zsh --pkgversion=$ZSH_VERSION --pkglicense=MIT make install install.info | |
| # Make zsh the default shell | |
| sudo sh -c "echo /bin/zsh >> /etc/shells" | |
| chsh -s /bin/zsh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment