--- trunk/mage/usr/lib/mage/smage2.sh 2007/01/19 23:15:04 413 +++ trunk/mage/usr/lib/mage/smage2.sh 2007/03/19 19:09:59 439 @@ -4,12 +4,15 @@ # needs pkgbuild_dir (mage) # SMAGE2 -# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.50 2007-01-19 23:15:04 niro Exp $ +# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.53 2007-03-19 19:09:59 niro Exp $ #01.10.2004 # added ccache support # added distcc support +# set default user mage.rc +: ${MAGERC="/etc/mage.rc"} + ## setup ## PKGSUFFIX="mpk" SRCPKGSUFFIX="mpks" @@ -45,7 +48,8 @@ # export default C locale export LC_ALL=C -source /etc/mage.rc +source /etc/mage.rc.global +source ${MAGERC} # set PKGDIR and BUILDDIR and BINDIR to MROOT if [[ -n ${MROOT} ]] @@ -145,7 +149,7 @@ ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null ) if [[ $? = 0 ]] then - # md5's ok, not fetching needed + # md5's ok, no fetching needed FETCHING=false else FETCHING=true @@ -168,7 +172,7 @@ fi # if an mirrored file than replace first the mirror uri - if [ -n "$(echo ${my_SRC_URI} | grep 'mirror://')" ] + if [[ -n $(echo ${my_SRC_URI} | grep 'mirror://') ]] then for mirror in ${MIRRORS} do @@ -176,7 +180,55 @@ if [[ ${FETCHING} = true ]] then - echo "==> fetching ${my_SRC_URI_MIRROR}" + echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}" + wget \ + --passive-ftp \ + --tries 3 \ + --continue \ + --progress bar \ + --directory-prefix="${my_SOURCEDIR}" \ + "${my_SRC_URI_MIRROR}" + if [[ $? = 0 ]] + then + break + else + continue + fi + fi + done + elif [[ -n $(echo ${my_SRC_URI} | grep 'sourceforge://') ]] + then + for mirror in ${SOURCEFORGE_MIRRORS} + do + my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|sourceforge:/|${mirror}|g")" + + if [[ ${FETCHING} = true ]] + then + echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}" + wget \ + --passive-ftp \ + --tries 3 \ + --continue \ + --progress bar \ + --directory-prefix="${my_SOURCEDIR}" \ + "${my_SRC_URI_MIRROR}" + if [[ $? = 0 ]] + then + break + else + continue + fi + fi + done + elif [[ -n $(echo ${my_SRC_URI} | grep 'gnu://') ]] + then + for mirror in ${GNU_MIRRORS} + do + my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|gnu:/|${mirror}|g")" + + if [[ ${FETCHING} = true ]] + then + echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}" wget \ --passive-ftp \ --tries 3 \ @@ -195,7 +247,7 @@ else if [[ ${FETCHING} = true ]] then - echo "==> fetching ${my_SRC_URI}" + echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI}${COLDEFAULT}" wget \ --passive-ftp \ --tries 3 \ @@ -215,7 +267,7 @@ # recheck md5 sums echo - echo ">== Checking MD5 sums:" + echo -e "${COLBLUE}===${COLGREEN} Checking MD5 sums:${COLDEFAULT}" ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} ) || die "md5 failed" echo @@ -448,6 +500,9 @@ # fix DEPEND while read sym dep do + # ignore empty lines + [[ -z ${dep} ]] && continue + cat="$(dirname ${dep})" # change if not virtual if [[ ${cat} = virtual ]] @@ -528,15 +583,15 @@ dest="${MAGE_TREE_DEST}/${PCATEGORIE}/${PNAME}${target}/${magefile}" # show what we are doing - echo "Generating Mage file:" - echo " ${dest}" + echo -e "${COLBLUE}===${COLGREEN} generating mage file:${COLDEFAULT}" + echo "${dest}" install -d "$(dirname ${dest})" # now build the mage file > ${dest} # header - echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.50 2007-01-19 23:15:04 niro Exp $' >> ${dest} + echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.53 2007-03-19 19:09:59 niro Exp $' >> ${dest} echo >> ${dest} # pgkname and state @@ -735,12 +790,12 @@ # build pkg-md5-sum only if requested if [[ ${REGEN_MAGE_TREE} = true ]] then - echo -n "Generating a md5sum for ${pkgname}.${PKGSUFFIX} ... " + echo -ne "${COLBLUE}===${COLGREEN} generating md5's for ${pkgname}.${PKGSUFFIX} ... ${COLDEFAULT}" # abort if not exist if [ ! -f ${PKGDIR}/${pkgname}.${PKGSUFFIX} ] then - echo "! exists" + echo -e "${COLRED}! exists${COLDEFAULT}" return 0 fi @@ -754,7 +809,7 @@ # gen md5sum ( cd ${PKGDIR}; md5sum "${pkgname}.${PKGSUFFIX}" ) \ > ${dest}/${pkgname}.md5 - echo "done" + echo -e "${COLGREEN}done${COLDEFAULT}" fi } @@ -772,7 +827,7 @@ return 0 fi - [ -z "${SRCPKGDIR}" ] && die "\$SRCPKGDIR not found. Please setup your mage.rc correctly." + [ -z "${SRCPKGDIR}" ] && die "\$SRCPKGDIR not found. Please setup your ${MAGERC} correctly." echo -e "${COLGREEN}Creating source package tarball ... ${COLDEFAULT}" @@ -967,20 +1022,20 @@ [ ! -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" +[ -z "${SOURCEDIR}" ] && die "\$SOURCEDIR not found. Please setup your ${MAGERC} correctly." +[ -z "${SMAGESCRIPTSDIR}" ] && die "\$SMAGESCRIPTSDIR not found. Please setup your ${MAGERC} correctly." +[ -z "${SMAGE2RSYNC}" ] && die "\$SMAGE2RSYNC not found. Please setup your ${MAGERC} correctly." +[ -z "${BINDIR}" ] && die "no BINDIR variable found in ${MAGERC}" +[ -z "${CHOST}" ] && die "no CHOST variable found in ${MAGERC}" +[ -z "${CFLAGS}" ] && die "no CFLAGS variable found in ${MAGERC}" +[ -z "${CXXFLAGS}" ] && die "no CXXFLAGS variable found in ${MAGERC}" source ${SMAGENAME} || die "source failed" PKGNAME="${PNAME}-${PVER}-${ARCH}-${PBUILD}" MD5DIR="$(dirname ${SMAGENAME})/md5" xtitle "Compiling ${PKGNAME}" -echo "Compiling ${PKGNAME}" +echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}" # auto regen mage tree if requested regen_mage_tree @@ -1058,15 +1113,15 @@ # compressing doc, info & man files -echo -e "Compressing man-pages ..." if [ -d ${BUILDDIR}/builded/usr/share/man ] then + echo -e "${COLBLUE}===${COLGREEN} compressing man-pages ...${COLDEFAULT}" ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/man fi -echo -e "Compressing info-pages ..." if [ -d ${BUILDDIR}/builded/usr/share/info ] then + echo -e "${COLBLUE}===${COLGREEN} compressing info-pages ...${COLDEFAULT}" ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info fi @@ -1076,9 +1131,9 @@ echo -e "NOSTRIP=true detected; Package will not be stripped ..." ;; *) - echo -e "Stripping binaries ..." + echo -e "${COLBLUE}===${COLGREEN} stripping binaries ...${COLDEFAULT}" mstripbins ${BINDIR} - echo -e "Stripping libraries ..." + echo -e "${COLBLUE}===${COLGREEN} stripping libraries ...${COLDEFAULT}" mstriplibs ${BINDIR} ;; esac @@ -1114,7 +1169,7 @@ --parch "${ARCH}" \ --target "${target}" - echo -e "\nPackage ${PNAME}-${target}-${PVER}-${ARCH}-${PBUILD} successfully builded.\n" + echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}-${PBUILD} successfully builded.\n${COLDEFAULT}" done else ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed" @@ -1127,7 +1182,7 @@ --pbuild "${PBUILD}" \ --parch "${ARCH}" - echo -e "\nPackage ${PKGNAME} successfully builded.\n" + echo -e "${COLGREEN}\nPackage ${PKGNAME} successfully builded.\n${COLDEFAULT}" fi # build src-pkg-tarball if requested