Magellan Linux

Diff of /trunk/mage/usr/lib/mage/mage4.functions.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 499 by niro, Sat Jun 30 15:31:46 2007 UTC revision 776 by niro, Sun Oct 5 10:32:24 2008 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # Magellan Linux Installer Functions (mage.functions.sh)  # Magellan Linux Installer Functions (mage.functions.sh)
3  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.32 2007-06-30 15:31:46 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.38 2008-10-05 10:32:24 niro Exp $
4    
5  mage_setup()  mage_setup()
6  {  {
# Line 1203  syncmage() Line 1203  syncmage()
1203   is_newer_mage_version_available   is_newer_mage_version_available
1204  }  }
1205    
1206    syncmage_tarball()
1207    {
1208     local latest_tarball
1209     local temp="$(mktemp -d)"
1210     local mirr mymirr
1211    
1212     # try to get the tarball marked as latest on the server
1213     latest_tarball="mage-latest.tar.bz2"
1214    
1215     for mirr in ${MIRRORS}
1216     do
1217     # path without distribution
1218     mymirr="${mirr%/*}"
1219    
1220     echo -ne "${COLBLUE} --- ${COLDEFAULT}"
1221     echo "fetching latest tarball from ${mymirr} ..."
1222    
1223     wget \
1224     --passive-ftp \
1225     --tries 3 \
1226     --continue \
1227     --progress bar \
1228     --directory-prefix=${temp} \
1229     ${mymirr}/rsync/tarballs/${latest_tarball}
1230     if [[ $? = 0 ]]
1231     then
1232     break
1233     else
1234     continue
1235     fi
1236     done
1237    
1238     if [[ -f ${temp}/${latest_tarball} ]]
1239     then
1240     if [[ -d ${MAGEDIR} ]]
1241     then
1242     echo -ne "${COLBLUE} --- ${COLDEFAULT}"
1243     echo "cleaning old mage-tree ${MAGEDIR}..."
1244     rm -rf ${MAGEDIR}
1245     fi
1246    
1247     echo -ne "${COLBLUE} --- ${COLDEFAULT}"
1248     echo "updating mage-tree from tarball ..."
1249     # unpack in dirname of MAGEDIR, as the tarball has already the mage
1250     tar xjmf ${temp}/${latest_tarball} -C ${MAGEDIR%/*} || die "Unpacking tarball"
1251    
1252     if [[ -d ${temp} ]]
1253     then
1254     echo -ne "${COLBLUE} --- ${COLDEFAULT}"
1255     echo "clenaing temp-files ..."
1256     rm -rf ${temp}
1257     fi
1258     else
1259     die "Could not fetch the latest tarball ... aborting"
1260     fi
1261    }
1262    
1263  cleanpkg()  cleanpkg()
1264  {  {
1265   if [ -d "${PKGDIR}" ]   if [ -d "${PKGDIR}" ]
# Line 1315  get_highest_magefile() Line 1372  get_highest_magefile()
1372   local PNAME="$2"   local PNAME="$2"
1373   local magefile   local magefile
1374    
1375   for magefile in $(ls --format=single-column -v ${MAGEDIR}/${PCAT}/${PNAME}/*)   # do not list the content of a directory, only the name (-d)
1376     for magefile in $(ls --format=single-column -v -d ${MAGEDIR}/${PCAT}/${PNAME}/*)
1377   do   do
1378     [[ -z ${magefile} ]] && continue
1379   # we exclude subdirs (for stuff like a md5sum dir)   # we exclude subdirs (for stuff like a md5sum dir)
1380   [ -d ${magefile} ] && continue   [[ -d ${magefile} ]] && continue
1381   if check_stable_package ${magefile}   if check_stable_package ${magefile}
1382   then   then
1383   HIGHEST_MAGEFILE=${magefile}   HIGHEST_MAGEFILE=${magefile}
# Line 1430  is_config_protected() Line 1489  is_config_protected()
1489  ###################################################  ###################################################
1490  count_protected_files()  count_protected_files()
1491  {  {
1492   ${MLIBDIR}/writeprotected "$1"   local file="$1"
1493     local dirname="${file%/*}"
1494     local filename="${file##*/}"
1495     local count
1496     local output
1497     local i
1498    
1499     declare -i count=0
1500    
1501     # check if there are already protected files
1502     for oldpretected in $(find ${dirname} -iname "._cfg????_${filename}" |
1503     sed -e "s:\(^.*/\)\(._cfg*_\)\(/.*$\):\1\2\3\%\2\%\3:" |
1504     sort -t'%' -k3 -k2 | cut -f1 -d'%')
1505     do
1506     count=$(echo ${oldpretected} | cut -d_ -f2 | sed -e "s:cfg::")
1507     done
1508     (( count ++ ))
1509    
1510     # fill output up with zeros
1511     for (( i=${#count}; i < 4; i++ )); do output="${output}0"; done
1512     output="${output}${count}"
1513    
1514     echo "${output}"
1515  }  }
1516    
1517  # call with  # call with
# Line 2155  mage_install() Line 2236  mage_install()
2236   echo B:${pbuild}   echo B:${pbuild}
2237   fi   fi
2238    
2239   smage2file=${SMAGESCRIPTSDIR}/${pname}/${pname}-${pver}-${pbuild}.smage2   if [[ -z ${MAGE_TARGETS} ]]
2240     then
2241     smage2file=${SMAGESCRIPTSDIR}/${pname}/${pname}-${pver}-${pbuild}.smage2
2242     else
2243     smage2file=${SMAGESCRIPTSDIR}/${pname/${MAGE_TARGETS}/}/${pname/${MAGE_TARGETS}/}-${pver}-${pbuild}.smage2
2244     fi
2245   if [ -f "${smage2file}" ]   if [ -f "${smage2file}" ]
2246   then   then
2247   echo -e " ${COLBLUE}***${COLDEFAULT} building package from source ... "   echo -e " ${COLBLUE}***${COLDEFAULT} building package from source ... "
# Line 2340  uninstall_packages() Line 2426  uninstall_packages()
2426   echo -ne "${COLBLUE} --- ${COLDEFAULT}"   echo -ne "${COLBLUE} --- ${COLDEFAULT}"
2427   echo -ne "${COLBOLD}${can_pcat}/${can_pname}:${COLDEFAULT}"   echo -ne "${COLBOLD}${can_pcat}/${can_pname}:${COLDEFAULT}"
2428   echo -e "${COLRED} ${can_ver_list} ${COLDEFAULT}"   echo -e "${COLRED} ${can_ver_list} ${COLDEFAULT}"
2429   echo        [04] app-emulation/virtualbox-1.4.0-r3   echo
2430   if [ ${MAGE_UNINSTALL_TIMEOUT} -gt 0 ]   if [ ${MAGE_UNINSTALL_TIMEOUT} -gt 0 ]
2431   then   then
2432   echo -ne "${COLBLUE} --- ${COLDEFAULT}"   echo -ne "${COLBLUE} --- ${COLDEFAULT}"
# Line 2406  mage_uninstall() Line 2492  mage_uninstall()
2492   for i in $*   for i in $*
2493   do   do
2494   case $1 in   case $1 in
2495   --pcat|-c) shift; pcat="$1" ;;        [04] app-emulation/virtualbox-1.4.0-r3   --pcat|-c) shift; pcat="$1" ;;
2496   --pname|-n) shift; pname="$1" ;;   --pname|-n) shift; pname="$1" ;;
2497   --pver|-v) shift; pver="$1" ;;   --pver|-v) shift; pver="$1" ;;
2498   --pbuild|-b) shift; pbuild="$1" ;;        [04] app-emulation/virtualbox-1.4.0-r3   --pbuild|-b) shift; pbuild="$1" ;;
2499   esac   esac
2500   shift   shift
2501   done        [04] app-emulation/virtualbox-1.4.0-r3   done
2502    
2503   # sanity checks; abort if not given   # sanity checks; abort if not given
2504   [ -z "${pcat}" ] && die "mage_uninstall() \$pcat not given."        [04] app-emulation/virtualbox-1.4.0-r3   [ -z "${pcat}" ] && die "mage_uninstall() \$pcat not given."
2505   [ -z "${pname}" ] && die "mage_uninstall() \$pname not given."   [ -z "${pname}" ] && die "mage_uninstall() \$pname not given."
2506   [ -z "${pver}" ] && die "mage_uninstall() \$pver not given."   [ -z "${pver}" ] && die "mage_uninstall() \$pver not given."
2507   [ -z "${pbuild}" ] && die "mage_uninstall() \$pbuild not given."        [04] app-emulation/virtualbox-1.4.0-r3   [ -z "${pbuild}" ] && die "mage_uninstall() \$pbuild not given."
2508    
2509   # check needed global vars   # check needed global vars
2510   [ -z "${MAGEDIR}" ] && die "mage_uninstall() \$MAGEDIR not set."   [ -z "${MAGEDIR}" ] && die "mage_uninstall() \$MAGEDIR not set."
# Line 2684  blacklisted() Line 2770  blacklisted()
2770   [[ ${USE_UNSTABLE} = true ]] && local MAGE_DISTRIBUTION=unstable   [[ ${USE_UNSTABLE} = true ]] && local MAGE_DISTRIBUTION=unstable
2771   [[ ${USE_TESTING} = true ]] && local MAGE_DISTRIBUTION=testing   [[ ${USE_TESTING} = true ]] && local MAGE_DISTRIBUTION=testing
2772    
2773   local EXCLUDED="${MROOT}/etc/mage-profile/package.blacklist-${ARCH}-${MAGE_DISTRIBUTION}"   local EXCLUDED="/etc/mage-profile/package.blacklist-${ARCH}-${MAGE_DISTRIBUTION}"
2774    
2775   # return 0 if the list not exist; nothin is masked   # return 0 if the list not exist; nothin is masked
2776   [[ ! -f ${EXCLUDED} ]] && return 0   [[ ! -f ${EXCLUDED} ]] && return 0

Legend:
Removed from v.499  
changed lines
  Added in v.776