Magellan Linux

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

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

revision 409 by niro, Sat Dec 30 11:39:32 2006 UTC revision 501 by niro, Sat Jun 30 15:38:50 2007 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.23 2006-12-30 11:39:32 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.33 2007-06-30 15:38:50 niro Exp $
4    
5  mage_setup()  mage_setup()
6  {  {
# Line 1106  fetch_packages() Line 1106  fetch_packages()
1106   local count_current   local count_current
1107   local count_total   local count_total
1108    
1109   [ -z "${MIRRORS}" ] && die "You have no mirrors defined. Please edit your /etc/mage.rc."   [ -z "${MIRRORS}" ] && die "You have no mirrors defined. Please edit your ${MAGERC}."
1110    
1111   # get count of total packages   # get count of total packages
1112   declare -i count_current=0   declare -i count_current=0
# Line 1181  syncmage() Line 1181  syncmage()
1181  {  {
1182   if [ -z "${RSYNC}" ]   if [ -z "${RSYNC}" ]
1183   then   then
1184   die "You have no rsync-mirrors defined. Please edit your /etc/mage.rc."   die "You have no rsync-mirrors defined. Please edit your ${MAGERC}."
1185   fi   fi
1186    
1187   local i   local i
# Line 1240  choppkgname() Line 1240  choppkgname()
1240   if [ -n "$(echo ${MAGENAME}|fgrep .mage)" ]   if [ -n "$(echo ${MAGENAME}|fgrep .mage)" ]
1241   then   then
1242   #cuts ARCH and PBUILD   #cuts ARCH and PBUILD
1243   #ARCH comes from /etc/mage.rc   #ARCH comes from ${MAGERC}
1244   MAGENAME=$(echo ${MAGENAME} |sed -e "s:-${ARCH}-r*.::g")   MAGENAME=$(echo ${MAGENAME} |sed -e "s:-${ARCH}-r*.::g")
1245    
1246   #cuts version number   #cuts version number
# Line 1375  is_config_protected() Line 1375  is_config_protected()
1375   EXPFILE="${MROOT}$1"   EXPFILE="${MROOT}$1"
1376    
1377   # file does not exist; it can be written   # file does not exist; it can be written
1378   [ ! -e ${EXPFILE} ] && return 0   [[ ! -e ${EXPFILE} ]] && return 0
1379    
1380   # to be safe; it may be '§'   # to be safe; it may be '§'
1381   IFS=' '   IFS=' '
# Line 1385  is_config_protected() Line 1385  is_config_protected()
1385   do   do
1386   # ersetzen von $i nur wenn am anfang der variable   # ersetzen von $i nur wenn am anfang der variable
1387   TEST="${EXPFILE/#${MROOT}${i}/Protected}"   TEST="${EXPFILE/#${MROOT}${i}/Protected}"
1388   if [ "${TEST}" != "${EXPFILE}" ]   if [[ ${TEST} != ${EXPFILE} ]]
1389   then   then
1390   # setzen das es protected ist   # setzen das es protected ist
1391   PROTECTED=TRUE   PROTECTED=TRUE
# Line 1394  is_config_protected() Line 1394  is_config_protected()
1394   for x in ${CONFIG_PROTECT_MASK}   for x in ${CONFIG_PROTECT_MASK}
1395   do   do
1396   TEST="${EXPFILE/#${MROOT}${x}/Protect_Masked}"   TEST="${EXPFILE/#${MROOT}${x}/Protect_Masked}"
1397   if [ "${TEST}" != "${EXPFILE}" ]   if [[ ${TEST} != ${EXPFILE} ]]
1398   then   then
1399   PROTECTED=MASKED   PROTECTED=MASKED
1400   fi   fi
# Line 1447  get_uninstall_candidates() Line 1447  get_uninstall_candidates()
1447   local list   local list
1448   local pcatdir   local pcatdir
1449   local protected   local protected
1450     local i
1451    
1452   # very basic getops   # very basic getops
1453   for i in $*   for i in $*
# Line 1708  minclude() Line 1709  minclude()
1709  {  {
1710   local i   local i
1711    
1712   if [[ -n $@ ]]   if [[ -n $* ]]
1713   then   then
1714   for i in $@   for i in $*
1715   do   do
1716   [[ ${MAGEDEBUG} = on ]] && \   [[ ${MAGEDEBUG} = on ]] && \
1717   echo "--- Including ${MAGEDIR}/include/${i}.minc"   echo "--- Including ${MAGEDIR}/include/${i}.minc"
# Line 1724  sminclude() Line 1725  sminclude()
1725  {  {
1726   local i   local i
1727    
1728   if [ -n "$@" ]   if [[ -n $* ]]
1729   then   then
1730   for i in $@   for i in $*
1731   do   do
1732   echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc"   echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc"
1733   source ${SMAGESCRIPTSDIR}/include/${i}.sminc   source ${SMAGESCRIPTSDIR}/include/${i}.sminc
# Line 2428  mage_uninstall() Line 2429  mage_uninstall()
2429   echo -ne "${COLBLUE} <<< ${COLDEFAULT}"   echo -ne "${COLBLUE} <<< ${COLDEFAULT}"
2430   echo -n "removing: "   echo -n "removing: "
2431   echo -ne "${COLBLUE}${pcat}/${COLDEFAULT}"   echo -ne "${COLBLUE}${pcat}/${COLDEFAULT}"
2432   echo -e "${COLGREEN}${pname}-${pver}-${pbuild}${COLDEFAULT}"   echo -e "${COLRED}${pname}-${pver}-${pbuild}${COLDEFAULT}"
2433    
2434   magefile="${INSTALLDB}/${pcat}/${pname}-${pver}-${pbuild}/${pname}-${pver}-${pbuild}.mage"   magefile="${MROOT}${INSTALLDB}/${pcat}/${pname}-${pver}-${pbuild}/${pname}-${pver}-${pbuild}.mage"
2435   source ${magefile}   source ${magefile}
2436    
2437   ## preremove scripts   ## preremove scripts
# Line 2528  pkgsearch() Line 2529  pkgsearch()
2529   local all_installed   local all_installed
2530   local ipver   local ipver
2531   local ipbuild   local ipbuild
2532     local latest_available
2533     local depsfull
2534     local sdepsfull
2535     local deps
2536     local sdeps
2537     local dep
2538     local sign
2539    
2540   # only names no versions   # only names no versions
2541   result="$(find ${MAGEDIR} -mindepth 2 -maxdepth 2 -type d -name '*'${string}'*'| sed '/profiles/d' | sed '/includes/d')"   result="$(find ${MAGEDIR} -mindepth 2 -maxdepth 2 -type d -name '*'${string}'*'| sed '/profiles/d' | sed '/includes/d')"
# Line 2545  pkgsearch() Line 2553  pkgsearch()
2553   # get highest version available   # get highest version available
2554   magefile=$(get_highest_magefile ${pcat} ${pname})   magefile=$(get_highest_magefile ${pcat} ${pname})
2555    
2556   # now get all needed infos to print a nice output   if [[ ! -z ${magefile} ]]
2557   pver="$(magename2pver ${magefile})"   then
2558   pbuild="$(magename2pbuild ${magefile})"   # now get all needed infos to print a nice output
2559   state="$(get_value_from_magefile STATE ${magefile})"   pver="$(magename2pver ${magefile})"
2560   description="$(get_value_from_magefile DESCRIPTION ${magefile})"   pbuild="$(magename2pbuild ${magefile})"
2561   homepage="$(get_value_from_magefile HOMEPAGE ${magefile})"   state="$(get_value_from_magefile STATE ${magefile})"
2562     description="$(get_value_from_magefile DESCRIPTION ${magefile})"
2563     homepage="$(get_value_from_magefile HOMEPAGE ${magefile})"
2564    
2565     # all installed
2566     for i in $(get_uninstall_candidates --pname ${pname} --pcat ${pcat})
2567     do
2568     ipver="$(magename2pver ${i})"
2569     ipbuild="$(magename2pbuild ${i})"
2570    
2571     if [[ -z ${all_installed} ]]
2572     then
2573     all_installed="${ipver}-${ipbuild}"
2574     else
2575     all_installed="${all_installed} ${ipver}-${ipbuild}"
2576     fi
2577     done
2578     [[ -z ${all_installed} ]] && all_installed="none"
2579    
2580     case ${state} in
2581     stable) state=${COLGREEN}"[s] ";;
2582     testing) state=${COLYELLOW}"[t] ";;
2583     unstable) state=${COLRED}"[u] ";;
2584     old) state=${COLGRAY}"[o] ";;
2585     esac
2586    
2587   # all installed   latest_available="${pver}-${pbuild}"
2588   for i in $(get_uninstall_candidates --pname ${pname} --pcat ${pcat})   else
2589   do   # package is masked
2590   ipver="$(magename2pver ${i})"   state="${COLRED}[m] "
2591   ipbuild="$(magename2pbuild ${i})"   latest_available="${COLRED}masked for this distribution.${COLDEFAULT}"
2592     fi
2593    
2594   if [[ -z ${all_installed} ]]   depsfull="$(get_value_from_magefile DEPEND ${magefile})"
2595   then   sdepsfull="$(get_value_from_magefile SDEPEND ${magefile})"
  all_installed="${ipver}-${ipbuild}"  
  else  
  all_installed="${all_installed} ${ipver}-${ipbuild}"  
  fi  
  done  
  [[ -z ${all_installed} ]] && all_installed="none"  
2596    
2597   case ${state} in   while read sign dep
2598   stable) state=${COLGREEN}"[s] ";;   do
2599   testing) state=${COLYELLOW}"[t] ";;   case ${dep} in
2600   unstable) state=${COLRED}"[u] ";;   "") continue;;
2601   old) state=${COLGRAY}"[o] ";;   esac
2602   esac  
2603     deps="${deps} $(basename ${dep%-*})"
2604     done << EOF
2605    ${depsfull}
2606    EOF
2607    
2608     while read sign dep
2609     do
2610     case ${dep} in
2611     "") continue;;
2612     esac
2613    
2614     sdeps="${sdeps} $(basename ${dep%-*})"
2615     done << EOF
2616    ${sdepsfull}
2617    EOF
2618    
2619   echo -e "${state}${pcat}/${pname}"${COLDEFAULT}   echo -e "${state}${pcat}/${pname}"${COLDEFAULT}
2620   echo "      Latest available:   ${pver}-${pbuild}"   echo -e "      Latest available:   ${latest_available}"
2621   echo "      Installed versions: ${all_installed}"   echo "      Installed versions: ${all_installed}"
2622   echo "      Description: ${description}"   echo "      Description: ${description}"
2623   echo "      Homepage: ${homepage}"   echo "      Homepage: ${homepage}"
2624     echo "      Depends: ${deps}"
2625     echo "      SDepends: ${sdeps}"
2626   echo   echo
2627    
2628   unset pcat   unset pcat
# Line 2592  pkgsearch() Line 2636  pkgsearch()
2636   unset all_installed   unset all_installed
2637   unset ipver   unset ipver
2638   unset ipbuild   unset ipbuild
2639     unset depsfull
2640     unset sdepsfull
2641     unset deps
2642     unset sdeps
2643     unset dep
2644     unset sign
2645   done   done
2646  }  }
2647    

Legend:
Removed from v.409  
changed lines
  Added in v.501