cdrtools/conf/setup.sh

244 lines
6.1 KiB
Bash
Raw Normal View History

2025-06-15 04:19:58 +08:00
#!/bin/sh
# @(#)setup.sh 1.18 14/12/09 Copyright 2005 J. Schilling
###########################################################################
# Written 2005 by J. Schilling
###########################################################################
# Set up bins/<archdir>/{bzip2}!{gzip}!{patch}!{smake}!{star}!{wget}
###########################################################################
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# See the file CDDL.Schily.txt in this distribution for details.
# A copy of the CDDL is also available via the Internet at
# http://www.opensource.org/licenses/cddl1.txt
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file CDDL.Schily.txt from this distribution.
###########################################################################
# Benoetigte Kommandos:
#
# makefiles http://sourceforge.net/projects/schilytools/files/makefiles/
# makefiles http://sourceforge.net/projects/schilytools/files/makefiles/testing/makefiles.tar
# smake http://sourceforge.net/projects/s-make/files/alpha/
# star http://sourceforge.net/projects/s-tar/files/alpha/
# gzip ftp://wuarchive.wustl.edu/mirrors/gnu/gzip/gzip-1.2.4.tar
# wget ftp://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz
# wget http://sourceforge.net/projects/schilytools/files/makefiles/testing/wget-1.9.1-2.tar
# gzip http://www.gzip.org/gzip-1.3.3.tar.gz
# gzip http://sourceforge.net/projects/schilytools/files/makefiles/testing/gzip-1.3.3.tar.gz
# bzip2 ftp://sources.redhat.com/pub/bzip2/v102/bzip2-1.0.2.tar.gz
# bzip2 http://www.bzip.org/1.0.3/bzip2-1.0.3.tar.gz
# bzip2 http://sourceforge.net/projects/schilytools/files/makefiles/testing/bzip2-1.0.3.tar.gz
# patch ftp://ftp.gnu.org/pub/gnu/patch/patch-2.5.4.tar.gz
# patch http://sourceforge.net/projects/schilytools/files/makefiles/testing/patch-2.5.4-1.tar.bz2
trap 'if [ -f ./$xfile ]; then rm -f ./$xfile; fi; rm -rf /tmp/i.$$/; exit 1' 1 2 15
SRCROOT=.
loop=1
while [ $loop -lt 100 ]; do
#echo "$SRCROOT"
if [ ! -d $SRCROOT ]; then
# Abort on ENAMETOOLONG
break
fi
if [ -r $SRCROOT/RULES/rules.top ]; then
break
fi
if [ "$SRCROOT" = . ]; then
SRCROOT=".."
else
SRCROOT="$SRCROOT/.."
fi
loop="`expr $loop + 1`"
done
if [ ! -r $SRCROOT/RULES/rules.top ]; then
echo "Cannot find SRCROOT" 1>&2
exit 1
fi
cd "$SRCROOT"
if [ ! -r RULES/rules.top ]; then
echo "Cannot chdir to SRCROOT" 1>&2
exit 1
fi
OARCH=`conf/oarch.sh`
BINS=bins/"$OARCH"
PWD=`pwd`
mkdir -p "$BINS"
PATH="${PWD}/${BINS}:${PATH}"
export PATH
MAKE="make"
if [ -r ${BINS}/bzip2 -a \
-r ${BINS}/gzip -a \
-r ${BINS}/lndir -a \
-r ${BINS}/patch -a \
-r ${BINS}/smake -a \
-r ${BINS}/star -a \
-r ${BINS}/wget ]; then
echo "Setup for $OARCH already done." 1>&2
exit
fi
CC="${CC-`conf/oarch.sh -c`}"
ZIP_SUFFIX=
ZIP=cat
UNZIP=cat
if bzip2 --help > /dev/null 2>&1; then
UNZIP="bzip2 -d"
ZIP=bzip2
ZIP_SUFFIX=.bz2
elif gzip --help > /dev/null 2>&1; then
UNZIP="gzip -d"
ZIP=gzip
ZIP_SUFFIX=.gz
fi
WGET="${WGET-sh conf/wget.sh}"
do_wget() {
URL="$1"
while true; do
xfile=`echo "$URL" | sed -e 's,.*/,,'`
$WGET "$URL"
if [ -f "$xfile" ]; then
break
fi
echo
echo Retrying in 10 seconds
sleep 10
done
xfile=
}
do_wget ftp://ftp.berlios.de/pub/smake/testing/smake.tar${ZIP_SUFFIX}
${UNZIP} < smake.tar${ZIP_SUFFIX} | tar xf -
#
# tar on HP-UX-10.x does not like tar xpf
#
cd smake-*/psmake/.
sh ./MAKE-all
cd ..
psmake/smake -r DESTDIR=/tmp/i.$$/ COPTX=-DDEFAULTS_PATH_SEARCH_FIRST install
cd ..
echo "Configuring Makefile system"
cd conf
/tmp/i.$$/opt/schily/bin/smake -r
cd ..
cd inc
/tmp/i.$$/opt/schily/bin/smake -r
cd ..
strip /tmp/i.$$/opt/schily/bin/smake
rm -f "$BINS"/smake
cp -p /tmp/i.$$/opt/schily/bin/smake "$BINS"
mkdir -p "$BINS"/lib
rm -f "$BINS"/lib/defaults.smk
cp -p /tmp/i.$$/opt/schily/lib/defaults.smk "$BINS"/lib
rm -rf smake-* smake.tar*
MAKE="${PWD}/${BINS}/smake"
if [ $ZIP = cat ]; then
#do_wget ftp://wuarchive.wustl.edu/mirrors/gnu/gzip/gzip-1.2.4.tar
do_wget ftp://ftp.berlios.de/pub/makefiles/testing/gzip-1.2.4.tar
tar xf gzip-1.2.4.tar
#
# tar on HP-UX-10.x does not like tar xpf
#
cd gzip-1.2.4
CC="$CC" MAKE="$MAKE" CFLAGS=-O ./configure
smake
cd ..
strip gzip-1.2.4/gzip
rm -f "${BINS}"/gzip
cp -p gzip-1.2.4/gzip "${BINS}"
rm -rf gzip-1.2.4*
UNZIP="gzip -d"
ZIP=gzip
ZIP_SUFFIX=.gz
fi
do_wget ftp://ftp.berlios.de/pub/star/testing/star.tar${ZIP_SUFFIX}
${UNZIP} < star.tar${ZIP_SUFFIX} | tar xf -
#
# tar on HP-UX-10.x does not like tar xpf
#
cd star-*/.
smake DESTDIR=/tmp/i.$$/ install
cd ..
strip /tmp/i.$$/opt/schily/bin/star
rm -f "${BINS}"/star
cp -p /tmp/i.$$/opt/schily/bin/star "$BINS"
rm -rf star-* star.tar*
do_compile() {
url="$1"
dir="$2"
binpath="$3"
fname=`echo "$url" | sed -e 's,.*/,,'`
do_wget "$url"
star xpf "$fname"
cd "$dir"
if [ -r ./configure ]; then
CC="$CC" MAKE="$MAKE" CFLAGS=-O ./configure
elif [ -r ./Configure ]; then
CC="$CC" MAKE="$MAKE" CFLAGS=-O ./Configure
fi
smake CC="$CC" CFLAGS=-O
cd ..
if [ ! -r "$binpath" ]; then
echo "Cound not make $binpath" 1>&2
fi
fname=`echo "$binpath" | sed -e 's,.*/,,'`
strip "$binpath"
rm -f "${BINS}"/"$fname"
cp -p "$binpath" "${BINS}"
rm -rf "$dir"*
}
do_install() {
url="$1"
dir="$2"
fname=`echo "$url" | sed -e 's,.*/,,'`
do_wget "$url"
star xpf "$fname"
cd "$dir"
smake
smake ibins
cd ..
rm -rf "$dir"*
}
do_compile ftp://ftp.berlios.de/pub/makefiles/testing/wget-1.9.1-2.tar${ZIP_SUFFIX} \
wget-1.9.1 \
wget-1.9.1/src/wget
WGET="${BINS}/wget --passive-ftp"
do_compile ftp://ftp.berlios.de/pub/makefiles/testing/gzip-1.3.3.tar.gz \
gzip-1.3.3 \
gzip-1.3.3/gzip
do_compile ftp://ftp.berlios.de/pub/makefiles/testing/bzip2-1.0.3.tar.gz \
bzip2-1.0.3 \
bzip2-1.0.3/bzip2
do_compile ftp://ftp.berlios.de/pub/makefiles/testing/patch-2.5.4-1.tar.bz2 \
patch-2.5.4 \
patch-2.5.4/patch
ln -s patch ${BINS}/gpatch
do_install ftp://ftp.berlios.de/pub/makefiles/testing/lndir.tar.bz2 \
lndir
rm -rf /tmp/i.$$/