##
## ksh.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2004 The OpenPKG Project
## Copyright (c) 2000-2004 Ralf S. Engelschall
## Copyright (c) 2000-2004 Cable & Wireless
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package versions
%define V_pkg 20041225
%define V_ksh 2004-12-25
%define V_init 2004-12-25
# package information
Name: ksh
Summary: The Original AT&T Korn Shell
URL: http://www.kornshell.com/
Vendor: David G. Korn, AT&T Bell Labs
Packager: The OpenPKG Project
Distribution: OpenPKG
Class: BASE
Group: Shell
License: AT&T
Version: %{V_pkg}
Release: 20041230
# list of sources
# you can't download this automatically anymore, as you will have to sign with
# user/password a license agreement (tho, 30.12.2004)
Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{V_ksh}.tgz
Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{V_init}.tgz
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20040130, gcc
PreReq: OpenPKG, openpkg >= 20040130
AutoReq: no
AutoReqProv: no
Provides: KSH
Conflicts: pdksh
%description
The KornShell language was designed and developed by David G. Korn
at AT&T Bell Laboratories. It is an interactive command language
that provides access to the UNIX system and to many other systems,
on the many different computers and workstations on which it is
implemented. This is Ksh93 which is intended to conform to the Shell
Language Standard developed by the IEEE POSIX 1003.2 Shell and
Utilities Language Committee.
%track
prog ksh = {
version = %{V_init}
url = http://www.research.att.com/~gsf/cgi-bin/download.cgi?action=list&name=ast-ksh
regex = ast-ksh\.([\d-]+)\.tgz
}
prog ksh:init = {
version = %{V_init}
url = http://www.research.att.com/~gsf/cgi-bin/download.cgi?action=list&name=INIT
regex = INIT\.([\d-]+)\.tgz
}
%prep
%setup -q -c
%setup -q -T -D -a 1
%build
# the supplied Mamfiles work only for standard UNIX environment
# because they are no regenerated by us (no "nmake" available)
case "%{l_platform -t}" in
*-sunos5.6* ) ;;
*-sunos* )
%{l_shtool} subst \
-e '/^exec.*-o ksh/s/\(\${mam_libm}\)/\1 -lsecdb/' \
src/cmd/ksh93/Mamfile
;;
sparc*-linux* )
%{l_shtool} subst \
-e '/^exec.*-o ksh/s/\(\${mam_libm}\)/\1 -ldll/' \
src/cmd/ksh93/Mamfile
;;
sparc64-netbsd* )
%{l_shtool} subst \
-e '/^probe_pic=/s/-fpic/-fPIC -fpic/' \
-e '/^probe_PIC=/s/-fpic -fPIC/-fPIC -fpic/' \
src/cmd/INIT/make.probe
;;
esac
./bin/package "read" || true
./bin/package "make" CC="%{l_cc}"
%install
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/man/man1
%{l_shtool} install -c -s -m 755 \
arch/*/bin/ksh $RPM_BUILD_ROOT%{l_prefix}/bin/ksh
%{l_shtool} install -c -m 644 \
arch/*/man/man1/sh.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ksh.1
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ ".$1" = .1 ]; then
if [ -f /etc/shells ]; then
if [ ".`grep $RPM_INSTALL_PREFIX/bin/ksh /etc/shells`" = . ]; then
( echo "Hint: To use $RPM_INSTALL_PREFIX/bin/ksh as the login"
echo "shell for users, please add this path to /etc/shells."
) | %{l_rpmtool} msg -b -t notice
fi
fi
fi