Magellan Linux

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

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

revision 445 by niro, Mon Mar 19 20:00:35 2007 UTC revision 676 by niro, Tue Feb 26 19:49:20 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.28 2007-03-19 20:00:35 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/mage4.functions.sh,v 1.36 2008-02-26 19:49:20 niro Exp $
4    
5  mage_setup()  mage_setup()
6  {  {
# Line 1315  get_highest_magefile() Line 1315  get_highest_magefile()
1315   local PNAME="$2"   local PNAME="$2"
1316   local magefile   local magefile
1317    
1318   for magefile in $(ls --format=single-column -v ${MAGEDIR}/${PCAT}/${PNAME}/*)   # do not list the content of a directory, only the name (-d)
1319     for magefile in $(ls --format=single-column -v -d ${MAGEDIR}/${PCAT}/${PNAME}/*)
1320   do   do
1321     [[ -z ${magefile} ]] && continue
1322   # we exclude subdirs (for stuff like a md5sum dir)   # we exclude subdirs (for stuff like a md5sum dir)
1323   [ -d ${magefile} ] && continue   [[ -d ${magefile} ]] && continue
1324   if check_stable_package ${magefile}   if check_stable_package ${magefile}
1325   then   then
1326   HIGHEST_MAGEFILE=${magefile}   HIGHEST_MAGEFILE=${magefile}
# Line 1375  is_config_protected() Line 1377  is_config_protected()
1377   EXPFILE="${MROOT}$1"   EXPFILE="${MROOT}$1"
1378    
1379   # file does not exist; it can be written   # file does not exist; it can be written
1380   [ ! -e ${EXPFILE} ] && return 0   [[ ! -e ${EXPFILE} ]] && return 0
1381    
1382   # to be safe; it may be '§'   # to be safe; it may be '§'
1383   IFS=' '   IFS=' '
# Line 1385  is_config_protected() Line 1387  is_config_protected()
1387   do   do
1388   # ersetzen von $i nur wenn am anfang der variable   # ersetzen von $i nur wenn am anfang der variable
1389   TEST="${EXPFILE/#${MROOT}${i}/Protected}"   TEST="${EXPFILE/#${MROOT}${i}/Protected}"
1390   if [ "${TEST}" != "${EXPFILE}" ]   if [[ ${TEST} != ${EXPFILE} ]]
1391   then   then
1392   # setzen das es protected ist   # setzen das es protected ist
1393   PROTECTED=TRUE   PROTECTED=TRUE
# Line 1394  is_config_protected() Line 1396  is_config_protected()
1396   for x in ${CONFIG_PROTECT_MASK}   for x in ${CONFIG_PROTECT_MASK}
1397   do   do
1398   TEST="${EXPFILE/#${MROOT}${x}/Protect_Masked}"   TEST="${EXPFILE/#${MROOT}${x}/Protect_Masked}"
1399   if [ "${TEST}" != "${EXPFILE}" ]   if [[ ${TEST} != ${EXPFILE} ]]
1400   then   then
1401   PROTECTED=MASKED   PROTECTED=MASKED
1402   fi   fi
# Line 1430  is_config_protected() Line 1432  is_config_protected()
1432  ###################################################  ###################################################
1433  count_protected_files()  count_protected_files()
1434  {  {
1435   ${MLIBDIR}/writeprotected "$1"   local file="$1"
1436     local dirname="${file%/*}"
1437     local filename="${file##*/}"
1438     local count
1439     local output
1440     local i
1441    
1442     declare -i count=0
1443    
1444     # check if there are already protected files
1445     for oldpretected in $(find ${dirname} -iname "._cfg????_${filename}" |
1446     sed -e "s:\(^.*/\)\(._cfg*_\)\(/.*$\):\1\2\3\%\2\%\3:" |
1447     sort -t'%' -k3 -k2 | cut -f1 -d'%')
1448     do
1449     count=$(echo ${oldpretected} | cut -d_ -f2 | sed -e "s:cfg::")
1450     done
1451     (( count ++ ))
1452    
1453     # fill output up with zeros
1454     for (( i=${#count}; i < 4; i++ )); do output="${output}0"; done
1455     output="${output}${count}"
1456    
1457     echo "${output}"
1458  }  }
1459    
1460  # call with  # call with
# Line 1447  get_uninstall_candidates() Line 1471  get_uninstall_candidates()
1471   local list   local list
1472   local pcatdir   local pcatdir
1473   local protected   local protected
1474     local i
1475    
1476   # very basic getops   # very basic getops
1477   for i in $*   for i in $*
# Line 2154  mage_install() Line 2179  mage_install()
2179   echo B:${pbuild}   echo B:${pbuild}
2180   fi   fi
2181    
2182   smage2file=${SMAGESCRIPTSDIR}/${pname}/${pname}-${pver}-${pbuild}.smage2   if [[ -z ${MAGE_TARGETS} ]]
2183     then
2184     smage2file=${SMAGESCRIPTSDIR}/${pname}/${pname}-${pver}-${pbuild}.smage2
2185     else
2186     smage2file=${SMAGESCRIPTSDIR}/${pname/${MAGE_TARGETS}/}/${pname/${MAGE_TARGETS}/}-${pver}-${pbuild}.smage2
2187     fi
2188   if [ -f "${smage2file}" ]   if [ -f "${smage2file}" ]
2189   then   then
2190   echo -e " ${COLBLUE}***${COLDEFAULT} building package from source ... "   echo -e " ${COLBLUE}***${COLDEFAULT} building package from source ... "
# Line 2430  mage_uninstall() Line 2460  mage_uninstall()
2460   echo -ne "${COLBLUE}${pcat}/${COLDEFAULT}"   echo -ne "${COLBLUE}${pcat}/${COLDEFAULT}"
2461   echo -e "${COLRED}${pname}-${pver}-${pbuild}${COLDEFAULT}"   echo -e "${COLRED}${pname}-${pver}-${pbuild}${COLDEFAULT}"
2462    
2463   magefile="${INSTALLDB}/${pcat}/${pname}-${pver}-${pbuild}/${pname}-${pver}-${pbuild}.mage"   magefile="${MROOT}${INSTALLDB}/${pcat}/${pname}-${pver}-${pbuild}/${pname}-${pver}-${pbuild}.mage"
2464   source ${magefile}   source ${magefile}
2465    
2466   ## preremove scripts   ## preremove scripts
# Line 2529  pkgsearch() Line 2559  pkgsearch()
2559   local ipver   local ipver
2560   local ipbuild   local ipbuild
2561   local latest_available   local latest_available
2562     local depsfull
2563     local sdepsfull
2564     local deps
2565     local sdeps
2566     local dep
2567     local sign
2568    
2569   # only names no versions   # only names no versions
2570   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 2584  pkgsearch() Line 2620  pkgsearch()
2620   latest_available="${COLRED}masked for this distribution.${COLDEFAULT}"   latest_available="${COLRED}masked for this distribution.${COLDEFAULT}"
2621   fi   fi
2622    
2623     depsfull="$(get_value_from_magefile DEPEND ${magefile})"
2624     sdepsfull="$(get_value_from_magefile SDEPEND ${magefile})"
2625    
2626     while read sign dep
2627     do
2628     case ${dep} in
2629     "") continue;;
2630     esac
2631    
2632     deps="${deps} $(basename ${dep%-*})"
2633     done << EOF
2634    ${depsfull}
2635    EOF
2636    
2637     while read sign dep
2638     do
2639     case ${dep} in
2640     "") continue;;
2641     esac
2642    
2643     sdeps="${sdeps} $(basename ${dep%-*})"
2644     done << EOF
2645    ${sdepsfull}
2646    EOF
2647    
2648   echo -e "${state}${pcat}/${pname}"${COLDEFAULT}   echo -e "${state}${pcat}/${pname}"${COLDEFAULT}
2649   echo -e "      Latest available:   ${latest_available}"   echo -e "      Latest available:   ${latest_available}"
2650   echo "      Installed versions: ${all_installed}"   echo "      Installed versions: ${all_installed}"
2651   echo "      Description: ${description}"   echo "      Description: ${description}"
2652   echo "      Homepage: ${homepage}"   echo "      Homepage: ${homepage}"
2653     echo "      Depends: ${deps}"
2654     echo "      SDepends: ${sdeps}"
2655   echo   echo
2656    
2657   unset pcat   unset pcat
# Line 2602  pkgsearch() Line 2665  pkgsearch()
2665   unset all_installed   unset all_installed
2666   unset ipver   unset ipver
2667   unset ipbuild   unset ipbuild
2668     unset depsfull
2669     unset sdepsfull
2670     unset deps
2671     unset sdeps
2672     unset dep
2673     unset sign
2674   done   done
2675  }  }
2676    

Legend:
Removed from v.445  
changed lines
  Added in v.676