--- trunk/mage/usr/lib/mage/smage2.sh 2005/10/03 21:02:31 256 +++ trunk/mage/usr/lib/mage/smage2.sh 2005/12/26 23:16:38 306 @@ -4,7 +4,7 @@ # needs pkgbuild_dir (mage) # SMAGE2 -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.39 2005-10-03 21:02:31 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.40 2005-12-26 23:16:38 niro Exp $ #01.10.2004 # added ccache support @@ -25,34 +25,39 @@ source /etc/mage.rc -showversion() { +showversion() +{ echo -en "Magellan Source Install v${SMAGEVERSION} " echo -e "-- Niels Rogalla (niro@magellan-linux.de)" } -die() { +die() +{ xtitleclean echo "SMAGE failed: $@" exit 1 } -xtitle() { - if [ ${TERM} == "xterm" ] +xtitle() +{ + if [[ ${TERM} = xterm ]] then echo -ne "\033]0;[sMage: $@]\007" fi return 0 } -xtitleclean() { - if [ ${TERM} == "xterm" ] +xtitleclean() +{ + if [[ ${TERM} = xterm ]] then echo -ne "\033]0;\007" fi return 0 } -syncsmage2() { +syncsmage2() +{ xtitle "Updating smage2-script tree ..." local i for i in ${SMAGE2RSYNC} @@ -71,24 +76,25 @@ --delete \ --delete-after \ ${i} ${SMAGESCRIPTSDIR} - - if [ "$?" == "0" ] + + if [[ $? = 0 ]] then break else continue fi - + done - - #clean up backup files (foo~) + + # clean up backup files (foo~) find ${SMAGESCRIPTSDIR} -name *~ -exec rm '{}' ';' - + xtitleclean } # $1 filename -get_db_md5_sum() { +get_db_md5_sum() +{ local DB_FILE local MD5_FILE local i @@ -101,7 +107,8 @@ echo "${i}" } -download_sources() { +download_sources() +{ [ -z "${SRC_URI}" ] && echo -e "\nNothing declared to download.\n" && return 0 @@ -113,21 +120,21 @@ local DB_MD5_SUM_FILE="${MD5DIR}/$(basename ${SMAGENAME} .${SMAGESUFFIX}).md5" local FETCHING local i mirror - - #install SRCDIR/PNAME if not exist + + # install SRCDIR/PNAME if not exist [ ! -d ${SOURCEDIR}/${PNAME} ] && install -d ${SOURCEDIR}/${PNAME} # check if FETCHING is needed ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null ) - if [[ $? == 0 ]] + if [[ $? = 0 ]] then # md5's ok, not fetching needed FETCHING=false else FETCHING=true fi - + for ((i=0; i < EOA; i++)) do # url to file @@ -152,7 +159,7 @@ my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|mirror:/|${mirror}/sources|g")" #echo "DEBUG: ${MY_SRC_URI}" - if [[ ${FETCHING} == true ]] + if [[ ${FETCHING} = true ]] then echo "==> fetching ${my_SRC_URI_MIRROR}" wget \ @@ -162,7 +169,7 @@ --progress bar \ --directory-prefix="${my_SOURCEDIR}" \ "${my_SRC_URI_MIRROR}" - if [ "$?" == "0" ] + if [[ $? = 0 ]] then break else @@ -172,7 +179,7 @@ done else #echo "DEBUG: ${SRC_URI[${i}]}" - if [[ ${FETCHING} == true ]] + if [[ ${FETCHING} = true ]] then echo "==> fetching ${my_SRC_URI}" wget \ @@ -191,7 +198,7 @@ # fi fi fi - + # unset them to be shure unset my_SRC_URI unset my_SRC_URI_DEST @@ -210,46 +217,52 @@ } # dummy function, used if that not exist in smage file -src_prepare() { +src_prepare() +{ echo "no src_prepare defined" sleep 2 return 0 } # dummy function, used if that not exist in smage file -src_compile() { +src_compile() +{ echo "no src_compile defined" sleep 2 return 0 } # dummy function, used if that not exist in smage file -src_install() { +src_install() +{ echo "no src_install defined" sleep 2 return 0 } -mconfigure() { +mconfigure() +{ if [ -x ./configure ] then - ./configure \ - --prefix=/usr \ - --host=${CHOST} \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --datadir=/usr/share \ - --sysconfdir=/etc \ - --localstatedir=/var/lib \ - "$@" || die "mconfigure failed" + ./configure \ + --prefix=/usr \ + --host=${CHOST} \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --datadir=/usr/share \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + "$@" || die "mconfigure failed" else echo "configure is not an executable ..." exit 1 fi } -minstall() { - if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then +minstall() +{ + if [ -f ./[mM]akefile -o -f ./GNUmakefile ] + then make prefix=${BINDIR}/usr \ datadir=${BINDIR}/usr/share \ infodir=${BINDIR}/usr/share/info \ @@ -262,29 +275,31 @@ fi } -mmake() { +mmake() +{ make ${MAKEOPTS} ${EXTRA_EMAKE} "$@" } -munpack() { +munpack() +{ local SRCFILE local IFTAR local DEST SRCFILE=$1 - + if [ -z "$2" ] then DEST=${BUILDDIR} else DEST=$2 fi - + case "${SRCFILE##*.}" in bz2) IFTAR="$(basename $SRCFILE .bz2)" IFTAR="${IFTAR##*.}" - if [ "${IFTAR}" == "tar" ] + if [[ ${IFTAR} = tar ]] then tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} fi @@ -292,7 +307,7 @@ gz) IFTAR="$(basename $SRCFILE .gz)" IFTAR="${IFTAR##*.}" - if [ "${IFTAR}" == "tar" ] + if [[ ${IFTAR} = tar ]] then tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} fi @@ -309,7 +324,8 @@ esac } -mpatch() { +mpatch() +{ local PATCHOPTS local PATCHFILE @@ -320,16 +336,16 @@ } -minstalldocs() { +minstalldocs() +{ local docfiles - docfiles="$@" - + if [ ! -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER} ] then install -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER} || die "creating doc dirs." fi - + for i in ${docfiles} do cat ${i} | gzip -9c > ${i}.gz || die "gzipping docs." @@ -338,21 +354,24 @@ done } -mstriplibs() { +mstriplibs() +{ local stripdir="$@" [ -z "${stripdir}" ] && stripdir=${BINDIR} find ${stripdir} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null } -mstripbins() { +mstripbins() +{ local stripdir="$@" [ -z "${stripdir}" ] && stripdir=${BINDIR} find ${stripdir} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null } -sminclude() { +sminclude() +{ local i if [[ -n "$@" ]] @@ -366,21 +385,21 @@ fi } -setup_distcc_environment(){ +setup_distcc_environment() +{ if [ -x /usr/bin/distcc ] then echo "Using DistCC for compilation ..." export PATH=/usr/lib/distcc/bin:${PATH} || die "distcc: could not export new $PATH" - #export distcc as compiler + # export distcc as compiler # export CC="distcc" # export CXX=distcc export DISTCC_DIR="${DISTCC_DIR}" || die "distcc_dir export failed" - - #ccache + distcc together - if [ "${SMAGE_USE_CCACHE}" == "true" ] + # ccache + distcc together + if [[ ${SMAGE_USE_CCACHE} = true ]] then if [ -x /usr/bin/ccache ] then @@ -391,13 +410,14 @@ fi fi - #creating distcc tempdir + # creating distcc tempdir install -o distcc -g daemon -d ${DISTCC_DIR} chmod 1777 ${DISTCC_DIR} fi } -setup_ccache_environment(){ +setup_ccache_environment() +{ if [ -x /usr/bin/ccache ] then echo "Using CCache for compilation ..." @@ -409,7 +429,8 @@ # fixes given dependencies to match a MAGE_TARGET # fix_mage_deps -target s/depend # <-- note -target ! -fix_mage_deps() { +fix_mage_deps() +{ local target="$1" local depend="$2" local NDEPEND @@ -512,7 +533,7 @@ > ${dest} # header - echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.39 2005-10-03 21:02:31 niro Exp $' >> ${dest} + echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.40 2005-12-26 23:16:38 niro Exp $' >> ${dest} echo >> ${dest} # pgkname and state @@ -746,7 +767,7 @@ fi # updating smage2-scripts -if [ "$1" == "update" ] +if [[ $1 = update ]] then if [ ! -d ${SOURCEDIR} ] then @@ -757,7 +778,7 @@ fi # creates md5sums for smages to given dir -if [ "$1" == "calcmd5" ] +if [[ $1 = calcmd5 ]] then if [ $# -ge 3 ] then @@ -809,7 +830,7 @@ unset my_SRC_URI_MIRROR unset my_SOURCEDIR done - + echo echo "Calculating of md5 sums for '$(basename ${SMAGENAME} .${SMAGESUFFIX})' done." echo @@ -822,7 +843,7 @@ echo exit 1 fi - + exit 0 fi @@ -865,52 +886,16 @@ exit 0 fi -if [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ] -then - die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting." -fi - -if [ -z "`basename ${SMAGENAME}|grep .${SMAGESUFFIX}`" ] -then - die "File '`basename ${SMAGENAME}`' is not a sMage v${SMAGEVERSION} file. Aborting." -fi - -if [ -z "${SOURCEDIR}" ] -then - die "\$SOURCEDIR not found. Please setup your mage.rc correctly." -fi - -if [ -z "${SMAGESCRIPTSDIR}" ] -then - die "\$SMAGESCRIPTSDIR not found. Please setup your mage.rc correctly." -fi - -if [ -z "${SMAGE2RSYNC}" ] -then - echo "\$SMAGE2RSYNC not found. Please setup your mage.rc correctly." - exit 1 -fi - -if [ -z "${BINDIR}" ] -then - die "no BINDIR variable found in /etc/mage.rc" -fi - -if [ -z "${CHOST}" ] -then - die "no CHOST variable found in /etc/mage.rc" -fi - -if [ -z "${CFLAGS}" ] -then - die "no CFLAGS variable found in /etc/mage.rc" -fi - -if [ -z "${CXXFLAGS}" ] -then - die "no CXXFLAGS variable found in /etc/mage.rc" -fi - +[ ! -e ${MLIBDIR}/pkgbuild_dir.sh ] && die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting." +[ -z "$(basename ${SMAGENAME} | grep .${SMAGESUFFIX})" ] && + die "File '$(basename ${SMAGENAME})' is not a sMage v${SMAGEVERSION} file. Aborting." +[ -z "${SOURCEDIR}" ] && die "\$SOURCEDIR not found. Please setup your mage.rc correctly." +[ -z "${SMAGESCRIPTSDIR}" ] && die "\$SMAGESCRIPTSDIR not found. Please setup your mage.rc correctly." +[ -z "${SMAGE2RSYNC}" ] && die "\$SMAGE2RSYNC not found. Please setup your mage.rc correctly." +[ -z "${BINDIR}" ] && die "no BINDIR variable found in /etc/mage.rc" +[ -z "${CHOST}" ] && die "no CHOST variable found in /etc/mage.rc" +[ -z "${CFLAGS}" ] && die "no CFLAGS variable found in /etc/mage.rc" +[ -z "${CXXFLAGS}" ] && die "no CXXFLAGS variable found in /etc/mage.rc" source ${SMAGENAME} || die "source failed" PKGNAME="${PNAME}-${PVER}-${ARCH}-${PBUILD}" @@ -940,17 +925,10 @@ # setup distcc # distcc mus be setup *before* ccache, as ccache need to be before distcc in path -if [ "${SMAGE_USE_DISTCC}" == "true" ] -then - setup_distcc_environment -fi +[[ ${SMAGE_USE_DISTCC} = true ]] && setup_distcc_environment # setup ccache -if [ "${SMAGE_USE_CCACHE}" == "true" ] -then - setup_ccache_environment -fi - +[[ ${SMAGE_USE_CCACHE} = true ]] && setup_ccache_environment # small sleep to show our settings sleep 1 @@ -1035,7 +1013,7 @@ echo -e "NOPGKBUILD=true detected; Package will not be build ..." ;; *) - # build serveral targets + # build several targets if [ -n "${MAGE_TARGETS}" ] then for target in ${MAGE_TARGETS}