Magellan Linux

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

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

revision 369 by niro, Wed Mar 22 17:43:59 2006 UTC revision 370 by niro, Thu Apr 27 11:52:59 2006 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.17 2006-03-22 17:43:59 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.18 2006-04-27 11:52:53 niro Exp $
4    
5  mage_setup()  mage_setup()
6  {  {
# Line 1286  pname2pcat() Line 1286  pname2pcat()
1286  # returns 0=stable 1=unstable  # returns 0=stable 1=unstable
1287  check_stable_package()  check_stable_package()
1288  {  {
1289     # first check if this magefile is not blacklisted
1290     blacklisted "$1" || return 1
1291    
1292   local STATE   local STATE
1293   STATE="$(get_value_from_magefile STATE "$1")"   STATE="$(get_value_from_magefile STATE "$1")"
1294    
# Line 1337  get_highest_magefile() Line 1340  get_highest_magefile()
1340   fi   fi
1341   done   done
1342    
1343   # stop here if HIGHEST_MAGEFILE is zero  # do not so anything
1344   # this package must be unstable or old  # # stop here if HIGHEST_MAGEFILE is zero
1345   if [ -z "${HIGHEST_MAGEFILE}" ]  # # this package must be unstable or old
1346   then  # if [ -z "${HIGHEST_MAGEFILE}" ]
1347   echo  # then
1348   echo -n "All packages named "  # echo
1349   echo -en ${COLRED}\""${PKGNAME%-*-*-*}\""${COLDEFAULT}  # echo -n "All packages named "
1350   echo -n " are marked "  # echo -en ${COLRED}\""${PKGNAME%-*-*-*}\""${COLDEFAULT}
1351   echo -en ${COLRED}"*UNSTABLE*"${COLDEFAULT}  # echo -n " are marked "
1352   echo "."  # echo -en ${COLRED}"*UNSTABLE*"${COLDEFAULT}
1353   echo "You need to declare USE_UNSTABLE=true to install this."  # echo "."
1354   echo  # echo "You need to declare USE_UNSTABLE=true to install this."
1355   echo "Example:"  # echo
1356   echo "         USE_UNSTABLE=true mage install ${PKGNAME%-*-*-*}"  # echo "Example:"
1357   echo  # echo "         USE_UNSTABLE=true mage install ${PKGNAME%-*-*-*}"
1358   echo "Be warned that these packages are not stable and may cause serious problems."  # echo
1359   echo "You should know what you are doing, so don't complain about any damage."  # echo "Be warned that these packages are not stable and may cause serious problems."
1360   echo  # echo "You should know what you are doing, so don't complain about any damage."
1361   return 1  # echo
1362   fi  # return 1
1363    # fi
1364    
1365   echo "${HIGHEST_MAGEFILE}"   echo "${HIGHEST_MAGEFILE}"
1366   return 0   return 0
# Line 2031  get_value_from_magefile() Line 2035  get_value_from_magefile()
2035   local magefile="$2"   local magefile="$2"
2036   local value   local value
2037    
2038     [[ -z ${var} ]] && return 1
2039     [[ -z ${magefile} ]] && return 1
2040    
2041   # local all possible vars of a mage file   # local all possible vars of a mage file
2042   # to prevent bad issues   # to prevent bad issues
2043   local PKGNAME   local PKGNAME
# Line 2636  mlibdir() Line 2643  mlibdir()
2643    
2644   echo "${libdir}"   echo "${libdir}"
2645  }  }
2646    
2647    ## blacklisted ${magefile}
2648    blacklisted()
2649    {
2650     [[ -z ${MAGE_DISTRIBUTION} ]] && local MAGE_DISTRIBUTION=stable
2651    
2652     # compat
2653     [[ ${USE_UNSTABLE} = true ]] && local MAGE_DISTRIBUTION=unstable
2654     [[ ${USE_TESTING} = true ]] && local MAGE_DISTRIBUTION=testing
2655    
2656     local EXCLUDED="${MROOT}/etc/mage-profile/package.blacklist-${ARCH}-${MAGE_DISTRIBUTION}"
2657    
2658     # return 0 if the list not exist; nothin is masked
2659     [[ ! -f ${EXCLUDED} ]] && return 0
2660    
2661     local MAGEFILE="$1"
2662    
2663     local PCAT="$(magename2pcat ${MAGEFILE})"
2664     local PNAME="$(magename2pname ${MAGEFILE})"
2665     local PVER="$(magename2pver ${MAGEFILE})"
2666     local PBUILD="$(magename2pbuild ${MAGEFILE})"
2667    
2668     local EXPCAT EXPNAME EXPVER EXPBUILD
2669     while read EXPCAT EXPNAME EXPVER EXPBUILD
2670     do
2671     # ignore spaces and comments
2672             case "${EXPCAT}" in
2673                     \#*|"") continue ;;
2674             esac
2675    
2676     # exclude full pver
2677     if [[ -n ${PCAT} ]] && [[ -n ${PNAME} ]] &&
2678     [[ -n ${EXPCAT} ]] && [[ -n ${EXPNAME} ]] &&
2679     [[ -n ${PVER} ]] && [[ -n ${PBUILD} ]] &&
2680     [[ -n ${EXPVER} ]] && [[ -n ${EXPBUILD} ]]
2681     then
2682     [[ ${EXPCAT}/${EXPNAME}-${EXPVER}-${EXPBUILD} = ${PCAT}/${PNAME}-${PVER}-${PBUILD} ]] && return 1
2683     fi
2684    
2685     # exclude pcat/pname only
2686     if [[ -n ${PCAT} ]] && [[ -n ${PNAME} ]] &&
2687     [[ -n ${EXPCAT} ]] && [[ -n ${EXPNAME} ]] &&
2688     [[ -z ${EXPVER} ]] && [[ -z ${EXPBUILD} ]]
2689     then
2690     [[ ${EXPCAT}/${EXPNAME} = ${PCAT}/${PNAME} ]] && return 1
2691     fi
2692     done << EOF
2693    $( cat ${EXCLUDED}; echo)
2694    EOF
2695    
2696     return 0
2697    }
2698    

Legend:
Removed from v.369  
changed lines
  Added in v.370