#!/bin/ksh # $Id: Build.sh,v 1.7 2007/08/21 00:19:03 elkner Exp $ # source: http://www.research.att.com/sw/download # http://www.research.att.com/~gsf/download/tgz/INIT.2004-02-29.linux.i386.tgz # http://www.research.att.com/~gsf/download/tgz/INIT.2004-02-29.tgz # http://www.research.att.com/~gsf/download/tgz/ast-ksh.2004-02-29.tgz # license: http://www.research.att.com/~gsf/download/licenses.html VERSION=2006-02-14 #VERSION=2004-12-25 SDIR=`dirname $0` if [ "$SDIR" == "." ]; then SDIR=`pwd` fi SCRIPTDIR=${SDIR}/../../../etc . ${SCRIPTDIR}/buildfunctions.sh SRC=$SOURCE/shells TMPBUILD=$BUILD/ksh.static KSHPATH=${TMPBUILD}/arch/linux.i386/src/cmd/ksh93 LIBPATH=${TMPBUILD}/arch/linux.i386/lib KPATH=${TMPBUILD}/arch/linux.i386 doPrepare() { REQUIRED="" . ${SCRIPTDIR}/root4build cd $TMPBUILD tar xzvf $SRC/INIT.${VERSION}.tgz for p in ${SDIR}/init_*.patch ; do patch -p1 -b -z .orig <$p done bin/package make mkdir lib/package/tgz cp $SRC/ast-ksh.${VERSION}.tgz lib/package/tgz/ bin/package read for p in ${SDIR}/ksh_*.patch ; do patch -p1 -b -z .orig <$p done } doMake() { cd $TMPBUILD echo "make log goes to $MAKELOG" export PATH=${TMPBUILD}/arch/linux.i386/bin:$PATH CC=gcc export CFLAGS="$L_CFLAGS" LDFLAGS="$L_LDFLAGS" CPPFLAGS="$L_CPPFLAGS" bin/package make SHELL=/bin/sh >$MAKELOG cd $KSHPATH cc -O -static -L. -L${LIBPATH} -o ksh.static pmain.o \ -lshell -ldll -ldl -lcmd -last -lm >>$MAKELOG } doPackage() { # clean_dst $PROTO cd $TMPBUILD strip -R .comment ${KSHPATH}/ksh.static >>$MAKELOG cd src/cmd/ksh93 groff -mm -Tps sh.memo >sh.ps groff -mm -Tps builtins.mm >builtins.ps groff -mm -Tps PROMO.mm >PROMO.ps ps2pdf sh.ps ps2pdf builtins.ps ps2pdf PROMO.ps $STRIP $KPATH/bin/* $STRIP $KPATH/fun/* [ -f $KPATH/man/man1/sh.1.gz ] || gzip -9 $KPATH/man/man1/sh.1 cat<${TMPBUILD}/prototype.lnf i pkginfo=${SDIR}/pkginfo.ksh i copyright=${SDIR}/copyright d none bin ? ? ? f none bin/ksh=$KPATH/bin/ksh 0755 bin bin f none bin/suid_exec=$KPATH/bin/suid_exec 0755 bin bin f none bin/shcomp=$KPATH/bin/shcomp 0755 bin bin f none bin/pushd=$KPATH/fun/pushd 0755 bin bin f none bin/popd=$KPATH/fun/popd 0755 bin bin f none bin/dirs=$KPATH/fun/dirs 0755 bin bin d none man ? ? ? d none man/man1 ? ? ? f none man/man1/ksh.1.gz=$KPATH/man/man1/sh.1.gz 0644 bin bin EOF cat<${TMPBUILD}/prototype.doc.lnf i pkginfo=${SDIR}/pkginfo.doc d none ksh-93 0755 bin bin EOF for f in COMPATIBILITY DESIGN OBSOLETE README RELEASE RELEASE88 RELEASE93 sh.pdf builtins.pdf PROMO.pdf ; do echo "f none ksh-93/$f=${TMPBUILD}/src/cmd/ksh93/$f 0644 bin bin" \ >>${TMPBUILD}/prototype.doc.lnf done cat<${TMPBUILD}/prototype.static.lnf i pkginfo=${SDIR}/pkginfo i copyright=${SDIR}/copyright d none /sbin ? ? ? f none /sbin/ksh=${KSHPATH}/ksh.static 0755 root sys s none /sbin/sh=ksh EOF echo " " echo " ################################################################" echo " You are required to read and agree with the Source Licences:" echo " $TMPBUILD/lib/package/LICENSES/ast" echo " ################################################################" echo " " echo "calling ${TMPBUILD}/prototype.doc.lnf" call_pkgmk ${TMPBUILD}/prototype.doc.lnf echo "calling ${TMPBUILD}/prototype.lnf" call_pkgmk ${TMPBUILD}/prototype.lnf echo "calling ${TMPBUILD}/prototype.static.lnf" call_pkgmk ${TMPBUILD}/prototype.static.lnf } doBuild "$1"