Package init
This commit is contained in:
commit
a71fa0cdf6
34
dotzshrc
Normal file
34
dotzshrc
Normal file
@ -0,0 +1,34 @@
|
||||
#
|
||||
# .zshrc is sourced in interactive shells.
|
||||
# It should contain commands to set up aliases,
|
||||
# functions, options, key bindings, etc.
|
||||
#
|
||||
|
||||
autoload -U compinit
|
||||
compinit
|
||||
|
||||
#allow tab completion in the middle of a word
|
||||
setopt COMPLETE_IN_WORD
|
||||
|
||||
## keep background processes at full speed
|
||||
#setopt NOBGNICE
|
||||
## restart running processes on exit
|
||||
#setopt HUP
|
||||
|
||||
## history
|
||||
#setopt APPEND_HISTORY
|
||||
## for sharing history between zsh processes
|
||||
#setopt INC_APPEND_HISTORY
|
||||
#setopt SHARE_HISTORY
|
||||
|
||||
## never ever beep ever
|
||||
#setopt NO_BEEP
|
||||
|
||||
## automatically decide when to page a list of completions
|
||||
#LISTMAX=0
|
||||
|
||||
## disable mail checking
|
||||
#MAILCHECK=0
|
||||
|
||||
# autoload -U colors
|
||||
#colors
|
||||
8
zlogin.rhs
Normal file
8
zlogin.rhs
Normal file
@ -0,0 +1,8 @@
|
||||
#
|
||||
# /etc/zlogin and .zlogin are sourced in login shells. It should
|
||||
# contain commands that should be executed only in
|
||||
# login shells. It should be used to set the terminal
|
||||
# type and run a series of external commands (fortune,
|
||||
# msgs, from, etc).
|
||||
#
|
||||
|
||||
7
zlogout.rhs
Normal file
7
zlogout.rhs
Normal file
@ -0,0 +1,7 @@
|
||||
#
|
||||
#
|
||||
# /etc/zlogout and ~/.zlogout are run when an interactive session ends
|
||||
#
|
||||
#
|
||||
|
||||
clear
|
||||
22
zprofile.rhs
Normal file
22
zprofile.rhs
Normal file
@ -0,0 +1,22 @@
|
||||
#
|
||||
# /etc/zprofile and ~/.zprofile are run for login shells
|
||||
#
|
||||
|
||||
PATH="$PATH:$HOME/bin"
|
||||
export PATH
|
||||
|
||||
_src_etc_profile()
|
||||
{
|
||||
# Make /etc/profile happier, and have possible ~/.zshenv options like
|
||||
# NOMATCH ignored.
|
||||
#
|
||||
emulate -L ksh
|
||||
|
||||
# source profile
|
||||
if [ -f /etc/profile ]; then
|
||||
source /etc/profile
|
||||
fi
|
||||
}
|
||||
_src_etc_profile
|
||||
|
||||
unset -f _src_etc_profile
|
||||
BIN
zsh-5.6.2.tar.xz
Normal file
BIN
zsh-5.6.2.tar.xz
Normal file
Binary file not shown.
131
zsh.spec
Normal file
131
zsh.spec
Normal file
@ -0,0 +1,131 @@
|
||||
%define _bindir /bin
|
||||
|
||||
Name: zsh
|
||||
Version: 5.6.2
|
||||
Release: 2
|
||||
Summary: A shell designed for interactive use
|
||||
License: MIT
|
||||
URL: http://zsh.sourceforge.net
|
||||
Source0: https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.xz
|
||||
|
||||
# Source1 to Source6 get from fedora
|
||||
Source1: zlogin.rhs
|
||||
Source2: zlogout.rhs
|
||||
Source3: zprofile.rhs
|
||||
Source4: zshrc.rhs
|
||||
Source5: zshenv.rhs
|
||||
Source6: dotzshrc
|
||||
|
||||
BuildRequires: autoconf coreutils gawk gdbm-devel libcap-devel
|
||||
BuildRequires: ncurses-devel pcre-devel sed texi2html texinfo hostname
|
||||
|
||||
Requires(post): info grep
|
||||
Requires(preun): info
|
||||
Requires(postun): coreutils grep
|
||||
|
||||
Provides: /bin/zsh
|
||||
|
||||
%description
|
||||
The zsh is a shell designed for interactive use, and it is also a powerful scripting language. Many of
|
||||
the useful features of bash, ksh, and tcsh were incorporated into zsh. It can match files by file extension
|
||||
without running an external program, share command history with any shell, and more.
|
||||
|
||||
%package help
|
||||
Summary: zsh shell manual in html format
|
||||
BuildArch: noarch
|
||||
|
||||
Provides: zsh-html
|
||||
Obsoletes: zsh-html
|
||||
|
||||
%description help
|
||||
This package contains the zsh manual in html format.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
autoreconf -fiv
|
||||
|
||||
sed -e 's|^\.NOTPARALLEL|#.NOTPARALLEL|' -i 'Config/defs.mk.in'
|
||||
|
||||
%build
|
||||
%undefine _strict_symbol_defs_build
|
||||
|
||||
export LIBLDFLAGS='-z lazy'
|
||||
|
||||
%configure --enable-etcdir=%{_sysconfdir} --with-tcsetpgrp --enable-maildir-support --enable-pcre
|
||||
|
||||
make -C Src headers
|
||||
make -C Src -f Makemod zsh{path,xmod}s.h version.h
|
||||
%make_build all html
|
||||
|
||||
%check
|
||||
make check
|
||||
|
||||
%install
|
||||
%make_install install.info fndir=%{_datadir}/%{name}/%{version}/functions sitefndir=%{_datadir}/%{name}/site-functions \
|
||||
scriptdir=%{_datadir}/%{name}/%{version}/scripts sitescriptdir=%{_datadir}/%{name}/scripts \
|
||||
runhelpdir=%{_datadir}/%{name}/%{version}/help
|
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/zsh-%{version}
|
||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
|
||||
|
||||
install -d ${RPM_BUILD_ROOT}%{_sysconfdir}
|
||||
for i in %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5}; do
|
||||
install -m 644 $i $RPM_BUILD_ROOT%{_sysconfdir}/"$(basename $i .rhs)"
|
||||
done
|
||||
|
||||
install -d $RPM_BUILD_ROOT%{_sysconfdir}/skel
|
||||
install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/skel/.zshrc
|
||||
|
||||
for i in checkmail harden run-help zcalc zkbd; do
|
||||
sed -i -e 's!/usr/local/bin/zsh!%{_bindir}/zsh!' $RPM_BUILD_ROOT%{_datadir}/zsh/%{version}/functions/$i
|
||||
chmod +x $RPM_BUILD_ROOT%{_datadir}/zsh/%{version}/functions/$i
|
||||
done
|
||||
|
||||
%post
|
||||
if [ "$1" = 1 ]; then
|
||||
if [ ! -f %{_sysconfdir}/shells ] ; then
|
||||
echo "%{_bindir}/%{name}" > %{_sysconfdir}/shells
|
||||
echo "/bin/%{name}" >> %{_sysconfdir}/shells
|
||||
else
|
||||
grep -q "^%{_bindir}/%{name}$" %{_sysconfdir}/shells || echo "%{_bindir}/%{name}" >> %{_sysconfdir}/shells
|
||||
grep -q "^/bin/%{name}$" %{_sysconfdir}/shells || echo "/bin/%{name}" >> %{_sysconfdir}/shells
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f %{_infodir}/zsh.info.gz ]; then
|
||||
/sbin/install-info %{_infodir}/zsh.info.gz %{_infodir}/dir \
|
||||
--entry="* zsh: (zsh). An enhanced bourne shell."
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ "$1" = 0 ] ; then
|
||||
if [ -f %{_infodir}/zsh.info.gz ]; then
|
||||
/sbin/install-info --delete %{_infodir}/zsh.info.gz %{_infodir}/dir \
|
||||
--entry="* zsh: (zsh). An enhanced bourne shell."
|
||||
fi
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ "$1" = 0 ] && [ -f %{_sysconfdir}/shells ] ; then
|
||||
sed -i '\!^%{_bindir}/%{name}$!d' %{_sysconfdir}/shells
|
||||
sed -i '\!^/bin/%{name}$!d' %{_sysconfdir}/shells
|
||||
fi
|
||||
|
||||
%files
|
||||
%doc README LICENCE Etc/* FEATURES MACHINES NEWS
|
||||
%attr(755,root,root) %{_bindir}/zsh
|
||||
|
||||
%{_libdir}/zsh
|
||||
|
||||
%config(noreplace) %{_sysconfdir}/skel/.z*
|
||||
%config(noreplace) %{_sysconfdir}/z*
|
||||
|
||||
%files help
|
||||
%doc Doc/*.html
|
||||
%{_mandir}/*/*
|
||||
%{_infodir}/*
|
||||
%{_datadir}/zsh
|
||||
|
||||
%changelog
|
||||
* Wed Sep 18 2019 dongjian <dongjian13@huawei.com> - 5.6.2-2
|
||||
- modify summary
|
||||
14
zshenv.rhs
Normal file
14
zshenv.rhs
Normal file
@ -0,0 +1,14 @@
|
||||
# /etc/zsh/zshenv: system-wide .zshenv file for zsh(1).
|
||||
#
|
||||
# This file is sourced on all invocations of the shell.
|
||||
# If the -f flag is present or if the NO_RCS option is
|
||||
# set within this file, all other initialization files
|
||||
# are skipped.
|
||||
#
|
||||
# This file should contain commands to set the command
|
||||
# search path, plus other important environment variables.
|
||||
# This file should not contain commands that produce
|
||||
# output or assume the shell is attached to a tty.
|
||||
#
|
||||
# Global Order: zshenv, zprofile, zshrc, zlogin
|
||||
|
||||
50
zshrc.rhs
Normal file
50
zshrc.rhs
Normal file
@ -0,0 +1,50 @@
|
||||
#
|
||||
# /etc/zshrc is sourced in interactive shells. It
|
||||
# should contain commands to set up aliases, functions,
|
||||
# options, key bindings, etc.
|
||||
#
|
||||
|
||||
## shell functions
|
||||
#setenv() { export $1=$2 } # csh compatibility
|
||||
|
||||
# Set prompts
|
||||
PROMPT='[%n@%m]%~%# ' # default prompt
|
||||
#RPROMPT=' %~' # prompt for right side of screen
|
||||
|
||||
# bindkey -v # vi key bindings
|
||||
# bindkey -e # emacs key bindings
|
||||
bindkey ' ' magic-space # also do history expansion on space
|
||||
|
||||
# Provide pathmunge for /etc/profile.d scripts
|
||||
pathmunge()
|
||||
{
|
||||
if ! echo $PATH | /bin/grep -qE "(^|:)$1($|:)" ; then
|
||||
if [ "$2" = "after" ] ; then
|
||||
PATH=$PATH:$1
|
||||
else
|
||||
PATH=$1:$PATH
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
_src_etc_profile_d()
|
||||
{
|
||||
# Make the *.sh things happier, and have possible ~/.zshenv options like
|
||||
# NOMATCH ignored.
|
||||
emulate -L ksh
|
||||
|
||||
|
||||
# from bashrc, with zsh fixes
|
||||
if [[ ! -o login ]]; then # We're not a login shell
|
||||
for i in /etc/profile.d/*.sh; do
|
||||
if [ -r "$i" ]; then
|
||||
. $i
|
||||
fi
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
}
|
||||
_src_etc_profile_d
|
||||
|
||||
unset -f pathmunge _src_etc_profile_d
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user