diff --git a/.cvsignore b/.cvsignore index e69de29..666d7ed 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +zsh-3.0.8.tar.gz diff --git a/sources b/sources index e69de29..51468d6 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +6c4c62da23d2b9d8d7599768193cc782 zsh-3.0.8.tar.gz diff --git a/zlogin.rhs b/zlogin.rhs new file mode 100644 index 0000000..dd8a889 --- /dev/null +++ b/zlogin.rhs @@ -0,0 +1,9 @@ +# +# /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). +# + + diff --git a/zlogout.rhs b/zlogout.rhs new file mode 100644 index 0000000..3e78094 --- /dev/null +++ b/zlogout.rhs @@ -0,0 +1,7 @@ +# +# +# /etc/zlogout and ~/.zlogout are run when an interactive session ends +# +# + +clear diff --git a/zprofile.rhs b/zprofile.rhs new file mode 100644 index 0000000..679ea75 --- /dev/null +++ b/zprofile.rhs @@ -0,0 +1,20 @@ +# +# /etc/zprofile and ~/.zprofile are run for login shells +# + +# +# all bourne shells should source /etc/profile +source /etc/profile + +# +# run other components -- zsh is a bourne shell +#for i in /etc/profile.d/*.sh +#do +# source $i +#done +# +#if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then +# umask 002 +#else +# umask 022 +#fi diff --git a/zsh.spec b/zsh.spec new file mode 100644 index 0000000..01906f5 --- /dev/null +++ b/zsh.spec @@ -0,0 +1,191 @@ +Summary: A shell similar to ksh, but with improvements. +Name: zsh +Version: 3.0.8 +Release: 3 +Copyright: GPL +Group: System Environment/Shells +Source0: ftp://ftp.zsh.org/pub/zsh-%{version}.tar.gz +Source1: zlogin.rhs +Source2: zlogout.rhs +Source3: zprofile.rhs +Source4: zshrc.rhs +Source5: zshenv.rhs +Patch0: zsh-3.0.8-doc.patch +Prereq: fileutils grep /sbin/install-info +Buildroot: %{_tmppath}/%{name}-%{version}-root + +%description +The zsh shell is a command interpreter usable as an interactive login +shell and as a shell script command processor. Zsh resembles the ksh +shell (the Korn shell), but includes many enhancements. Zsh supports +command line editing, built-in spelling correction, programmable +command completion, shell functions (with autoloading), a history +mechanism and more. + +Install the zsh package if you'd like to try out a different shell. + +%prep + +%setup -q +%patch0 -p1 + +%build + +autoconf +%configure --bindir=/bin --enable-etcdir=/etc + +make + +%install + +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/etc +%makeinstall install.man install.info bindir=$RPM_BUILD_ROOT/bin + +gzip -9 $RPM_BUILD_ROOT/%{_infodir}/* + +chmod 755 ${RPM_BUILD_ROOT}/bin/zsh + +cp Etc/{BUGS,FAQ,CONTRIBUTORS,FEATURES,NEWS} . + +for I in zshrc zlogin zlogout zshenv zprofile; do + cp $RPM_SOURCE_DIR/${I}.rhs ${RPM_BUILD_ROOT}/etc/$I +done + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +if [ ! -f /etc/shells ] ; then + echo "/bin/zsh" > /etc/shells +else + echo "/bin/zsh" >> /etc/shells +fi + +/sbin/install-info %{_infodir}/zsh.info.gz %{_infodir}/dir \ + --entry="* zsh: (zsh). An enhanced bourne shell." + +%preun +if [ "$1" = 0 ] ; then + /sbin/install-info --delete %{_infodir}/zsh.info.gz %{_infodir}/dir \ + --entry="* zsh: (zsh). An enhanced bourne shell." +fi + +%postun +if [ "$1" = 0 ] ; then + if [ -f /etc/shells ] ; then + TmpFile=`/bin/mktemp /tmp/.zshrpmXXXXXX` + grep -v '^/bin/zsh$' /etc/shells > $TmpFile + cp -f $TmpFile /etc/shells + rm -f $TmpFile + chmod 644 /etc/shells + fi +fi + +%triggerpostun -- zsh <= 3.0.7-2 +if [ ! -f /etc/shells ] ; then + echo "/bin/zsh" > /etc/shells +else + echo "/bin/zsh" >> /etc/shells +fi + + +%files +%defattr(-,root,root) +%doc BUGS CONTRIBUTORS ChangeLog FAQ FEATURES META-FAQ NEWS README +%doc Etc Util Functions +/bin/zsh +/bin/zsh-%{version} +%{_mandir}/*/* +%{_infodir}/* +%config /etc/* + +%changelog +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Sun Jul 02 2000 Trond Eivind Glomsrød +- rebuild + +* Tue Jun 06 2000 Trond Eivind Glomsrød +- 3.0.8 +- use %%configure and %%makeinstall +- updated URL +- disable old patches +- add better patch for texi source +- use %%{_mandir} and %%{_infodir} +- use %%{_tmppath} + +* Tue May 02 2000 Trond Eivind Glomsrød +- patched to recognize export in .zshrc (bug #11169) + +* Tue Mar 7 2000 Jeff Johnson +- rebuild for sparc baud rates > 38400. + +* Fri Mar 03 2000 Cristian Gafton +- fix postun script so that we don't remove ourselves on every update + doh... +- add a trigger to fix old versions of the package + +* Mon Jan 31 2000 Cristian Gafton +- rebuild to fix dependencies + +* Thu Jan 13 2000 Jeff Johnson +- update to 3.0.7. +- source /etc/profile so that USER gets set correctly (#5655). + +* Fri Sep 24 1999 Michael K. Johnson +- source /etc/profile.d/*.sh in zprofile + +* Tue Sep 07 1999 Cristian Gafton +- fix zshenv and zprofile scripts - foxed versions from HJLu. + +* Thu Jul 29 1999 Bill Nottingham +- clean up init files some. (#4055) + +* Tue May 18 1999 Jeff Johnson +- Make sure that env variable TmpFile is evaluated. (#2898) + +* Sun May 9 1999 Jeff Johnson +- fix select timeval initialization (#2688). + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 10) +- fix the texi source +- patch to detect & link against nsl + +* Wed Mar 10 1999 Cristian Gafton +- use mktemp to handle temporary files. + +* Thu Feb 11 1999 Michael Maher +- fixed bug #365 + +* Thu Dec 17 1998 Cristian Gafton +- build for glibc 2.1 + +* Thu Sep 10 1998 Jeff Johnson +- compile for 5.2 + +* Sat Jun 06 1998 Prospector System +- translations modified for de + +* Sat Jun 6 1998 Jeff Johnson +- Eliminate incorrect info page removal. + +* Fri May 08 1998 Prospector System +- translations modified for de, fr, tr + +* Sat Apr 11 1998 Cristian Gafton +- manhattan build +- moved profile.d handling from zshrc to zprofile + +* Wed Oct 21 1997 Cristian Gafton +- Upgraded to 3.0.5 +- Install-info handling + +* Thu Jul 31 1997 Erik Troan +- built against glibc + +* Thu Apr 10 1997 Michael Fulbright +- Upgraded to 3.0.2 +- Added 'reasonable' default startup files in /etc diff --git a/zshenv.rhs b/zshenv.rhs new file mode 100644 index 0000000..fca7e72 --- /dev/null +++ b/zshenv.rhs @@ -0,0 +1,19 @@ +# +# /etc/zshenv is sourced on all invocations of the +# shell, unless the -f option is set. It should +# contain commands to set the command search path, +# plus other important environment variables. +# .zshenv should not contain commands that product +# output or assume the shell is attached to a tty. +# + +export X11HOME=/usr/X11R6 + +if [ `id -u` -eq 0 ]; then + path=(/sbin /usr/sbin) +fi + +echo $PATH | /bin/grep -q "\W$X11HOME/bin:" || path=($path $X11HOME/bin) +echo $PATH | /bin/grep -q "\W/bin:" || path=($path /bin) +echo $PATH | /bin/grep -q "\W/usr/bin:" || path=($path /usr/bin) +echo $PATH | /bin/grep -q "\W/usr/local/bin:" || path=($path /usr/local/bin) diff --git a/zshrc.rhs b/zshrc.rhs new file mode 100644 index 0000000..f422ba7 --- /dev/null +++ b/zshrc.rhs @@ -0,0 +1,27 @@ +# +# /etc/zshrc is sourced in interactive shells. It +# should contain commands to set up aliases, functions, +# options, key bindings, etc. +# + +# Set up aliases +alias mv='nocorrect mv' # no spelling correction on mv +alias cp='nocorrect cp' # no spelling correction on cp +alias mkdir='nocorrect mkdir' # no spelling correction on mkdir + +# Shell functions +setenv() { export $1=$2 } # csh compatibility + +# Set prompts +PROMPT='%m%# ' # default prompt +#RPROMPT=' %~' # prompt for right side of screen + +# Some environment variables +export HOSTNAME=`/bin/hostname` +export MAIL=/var/spool/mail/$USER + +path=($path $HOME/bin) + +# bindkey -v # vi key bindings +# bindkey -e # emacs key bindings +bindkey ' ' magic-space # also do history expansino on space