diff --git a/README.md b/README.md index e5ef3d0..036e687 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# zsh custom build +# zsh Custom Build > @@ -10,4 +10,49 @@ ## Table of Contents -- [Installation](#installation) +- [Building](#building) + +## Building + +building on debian sistem + + +- From root shell: + +apt install dpkg-dev devscripts + +cat /etc/apt/source.list + +if not enabled add additional line for source packages ( deb-src ) + +apt update + +apt build-dep zsh + +- From build user shell: + +apt source zsh + +cd to zsh source dir + +wget -O .env "" + +adjusting .env + +wget -O .env.lib "" + +adjusting .env.lib + +wget -O configure.gen "" + +chmod +x configure.gen + +./configure.gen > configure.own.tmp + +cat configure.own.tmp (checking configure.own.tmp) + +bash configure.own.tmp + +make + +make install ( make DESTDIR=path install ) diff --git a/config/configure.gen b/config/configure.gen new file mode 100755 index 0000000..113c883 --- /dev/null +++ b/config/configure.gen @@ -0,0 +1,8 @@ +#!/bin/sh +source .env +source .env.lib +CONFIG="--prefix=$PREFIX --datarootdir=$ZSH_DATA --bindir=$ZSH_BIN --enable-etcdir=$ZSH_ETC --enable-zshenv=$ZSH_ENV --enable-zlogin=$ZSH_LOGIN --enable-zlogout=$ZSH_LOGOUT --enable-zprofile=$ZSH_PROFILE --enable-zshrc=$ZSH_ZSHRC --enable-fndir=$ZSH_FUNCTIONS --enable-site-fndir=$ZSH_SITE_FUNCTIONS --enable-scriptdir=$ZSH_SCRIPT --enable-runhelpdir=$ZSH_HELP --infodir=$ZSH_INFO --docdir=$ZSH_DOC" +ENABLED_OPT="--enable-multibyte --enable-zsh-secure-free --enable-maildir-support --with-tcsetpgrp --enable-cap --enable-pcre --enable-readnullcmd=pager --enable-unicode9 --enable-zsh-valgrind" +DISABLED_OPT="--disable-ansi2knr" +TERMLIB='--with-term-lib="ncursesw tinfo"' +echo ./configure $CONFIG $ENABLED_OPT $DISABLED_OPT $TERMLIB $LIBRARY diff --git a/config/env.android b/config/env.android new file mode 100644 index 0000000..54507a3 --- /dev/null +++ b/config/env.android @@ -0,0 +1,14 @@ +PREFIX=/data/zsh +ZSH_BIN=/system/bin.d +ZSH_ETC=/etc/zsh +ZSH_ENV=$ZSH_ETC/zshenv +ZSH_LOGIN=$ZSH_ETC/zlogin +ZSH_LOGOUT=$ZSH_ETC/zlogout +ZSH_PROFILE=ZSH_ETC/zprofile +ZSH_ZSHRC=$ZSH_ETC/zshrc +ZSH_SCRIPT=$PREFIX/script +ZSH_FUNCTIONS=$PREFIX/functions +ZSH_SITE_FUNCTIONS=$PREFIX/site-functions +ZSH_HELP=$PREFIX/help +ZSH_INFO=$PREFIX/info +ZSH_DOC=$PREFIX/doc diff --git a/config/env.empty b/config/env.empty new file mode 100644 index 0000000..32503e5 --- /dev/null +++ b/config/env.empty @@ -0,0 +1,14 @@ +PREFIX= +ZSH_BIN= +ZSH_ETC= +ZSH_ENV=$ZSH_ETC/zshenv +ZSH_LOGIN=$ZSH_ETC/zlogin +ZSH_LOGOUT=$ZSH_ETC/zlogout +ZSH_PROFILE=ZSH_ETC/zprofile +ZSH_ZSHRC=$ZSH_ETC/zshrc +ZSH_SCRIPT= +ZSH_FUNCTIONS= +ZSH_SITE_FUNCTIONS= +ZSH_HELP= +ZSH_INFO= +ZSH_DOC= diff --git a/config/env.lib b/config/env.lib new file mode 100644 index 0000000..7d3e377 --- /dev/null +++ b/config/env.lib @@ -0,0 +1,4 @@ +STATIC="--disable-dynamic --disable-dynamic-nss --enable-ldflags=-static" +SHARED="--disable-static" +#LIBRARY=$STATIC +LIBRARY=$SHARED