Magellan Linux

Diff of /branches/mage-next/src/smage2.in

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

revision 194 by niro, Sat Aug 20 15:32:59 2005 UTC revision 204 by niro, Mon Aug 22 00:07:32 2005 UTC
# Line 4  Line 4 
4  # needs pkgbuild_dir (mage)  # needs pkgbuild_dir (mage)
5    
6  # SMAGE2  # SMAGE2
7  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.25 2005-08-20 15:32:59 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.34 2005-08-22 00:07:32 niro Exp $
8    
9  #01.10.2004  #01.10.2004
10  # added ccache support  # added ccache support
# Line 408  setup_ccache_environment(){ Line 408  setup_ccache_environment(){
408    
409    
410  # fixes given dependencies to match a MAGE_TARGET  # fixes given dependencies to match a MAGE_TARGET
411  # fix_mage_deps -target s/depend # <-- '-' is essential ! (build_mage_script needs this)  # fix_mage_deps -target s/depend # <-- note -target !
412  fix_mage_deps() {  fix_mage_deps() {
413   local target="$1"   local target="$1"
414   local depend="$2"   local depend="$2"
# Line 425  fix_mage_deps() { Line 425  fix_mage_deps() {
425   while read sym dep   while read sym dep
426   do   do
427   cat="$(dirname ${dep})"   cat="$(dirname ${dep})"
428   # abort on virtual   # change if not virtual
429   [[ ${cat} = virtual ]] && continue   if [[ ${cat} = virtual ]]
430     then
431   # fix pver to target-pver   pname="$(basename ${dep})"
432   # to get pname-target-pver   else
433     # fix pver to target-pver
434     # to get pname-target-pver
435    
436   # doing it backwards !   # doing it backwards !
437   pver="${dep##*-}"   pver="${dep##*-}"
438   pname=$(basename ${dep/-${pver}/})   # full pver
439     pname="$(basename ${dep/-${pver}/})${target}-${pver}"
440     fi
441    
442   # do not add empty lines   # do not add empty lines
443   if [ -z "${NDEPEND}" ]   if [ -z "${NDEPEND}" ]
444   then   then
445   NDEPEND="${sym} ${cat}/${pname}${target}-${pver}"   NDEPEND="${sym} ${cat}/${pname}"
446   else   else
447   NDEPEND="${NDEPEND}   NDEPEND="${NDEPEND}
448   ${sym} ${cat}/${pname}${target}-${pver}"   ${sym} ${cat}/${pname}"
449   fi   fi
450    
451   unset cat pname pver   unset cat pname pver
# Line 478  EOF Line 482  EOF
482  #   MAGE_TREE_DEST        target destination of the generated tree  #   MAGE_TREE_DEST        target destination of the generated tree
483  #   REGEN_MAGE_TREE       set to 'true' to enable this  #   REGEN_MAGE_TREE       set to 'true' to enable this
484  #  #
485  # gets called with build_mage_script target # <-- '-' is essential !  # gets called with build_mage_script target
486  build_mage_script()  build_mage_script()
487  {  {
488   local magefile   local magefile
# Line 491  build_mage_script() Line 495  build_mage_script()
495   : ${MAGE_TREE_DEST=${BUILDDIR}/mage-tree}   : ${MAGE_TREE_DEST=${BUILDDIR}/mage-tree}
496    
497   # determinate which suffix this mage file should get, if any   # determinate which suffix this mage file should get, if any
498   target="$1"   [ -n "$1" ] && target="-$1"
499    
500   # name of magefile   # name of magefile
501   magefile="${PNAME}${target}-${PVER}-${PBUILD}.mage"   magefile="${PNAME}${target}-${PVER}-${PBUILD}.mage"
# Line 508  build_mage_script() Line 512  build_mage_script()
512   > ${dest}   > ${dest}
513    
514   # header   # header
515   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.25 2005-08-20 15:32:59 niro Exp $' >> ${dest}   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.34 2005-08-22 00:07:32 niro Exp $' >> ${dest}
516   echo  >> ${dest}   echo  >> ${dest}
517    
518   # pgkname and state   # pgkname and state
# Line 521  build_mage_script() Line 525  build_mage_script()
525   echo "HOMEPAGE=\"${HOMEPAGE}\"" >> ${dest}   echo "HOMEPAGE=\"${HOMEPAGE}\"" >> ${dest}
526   echo >> ${dest}   echo >> ${dest}
527    
528   # special tags   # special tags and vars
529   echo "PKGTYPE=\"${PKGTYPE}\""  >> ${dest}   echo "PKGTYPE=\"${PKGTYPE}\""  >> ${dest}
530     # add special vars
531     if [ -n "${SPECIAL_VARS}" ]
532     then
533     local i
534     for i in ${SPECIAL_VARS}
535     do
536     # being tricky here :)
537     echo "${i}=\"$(eval echo \$${i})\"" >> ${dest}
538     done
539     echo  >> ${dest}
540     fi
541     # add at least all includes
542   if [ -n "${INHERITS}" ]   if [ -n "${INHERITS}" ]
543   then   then
544   echo -n "minclude"  >> ${dest}   echo -n "minclude"  >> ${dest}
# Line 537  build_mage_script() Line 553  build_mage_script()
553    
554   # deps and provides   # deps and provides
555   echo "DEPEND=\"$(fix_mage_deps "${target}" "${DEPEND}")\"" >> ${dest}   echo "DEPEND=\"$(fix_mage_deps "${target}" "${DEPEND}")\"" >> ${dest}
556     echo >> ${dest}
557   echo "SDEPEND=\"$(fix_mage_deps "${target}" "${SDEPEND}")\"" >> ${dest}   echo "SDEPEND=\"$(fix_mage_deps "${target}" "${SDEPEND}")\"" >> ${dest}
558     echo >> ${dest}
559   echo "PROVIDE=\"${PROVIDE}\"" >> ${dest}   echo "PROVIDE=\"${PROVIDE}\"" >> ${dest}
560   echo >> ${dest}   echo >> ${dest}
561    
# Line 552  build_mage_script() Line 570  build_mage_script()
570   # unset to be safe (quotes needed !)   # unset to be safe (quotes needed !)
571   #unset "${i}" <-- later to get every target built   #unset "${i}" <-- later to get every target built
572   done   done
573   fi   echo  >> ${dest}
   
  # add special vars  
  if [ -n "${SPECIAL_VARS}" ]  
  then  
  local i  
  for i in ${SPECIAL_VARS}  
  do  
  # being tricky here :)  
  echo "${i}=\"$(eval echo \$${i})\"" >> ${dest}  
  done  
574   fi   fi
575    
576   # pre|post-install|removes   # pre|post-install|removes
# Line 574  build_mage_script() Line 582  build_mage_script()
582   echo  >> ${dest}   echo  >> ${dest}
583   typeset -f postremove >> ${dest}   typeset -f postremove >> ${dest}
584   echo  >> ${dest}   echo  >> ${dest}
585    
586     # echo MAGE_TARGETS ## note -target is needed !
587     echo "MAGE_TARGETS=\"${targets}\"" >> ${dest}
588  }  }
589    
590  regen_mage_tree()  regen_mage_tree()
# Line 583  regen_mage_tree() Line 594  regen_mage_tree()
594   # build them only if requested   # build them only if requested
595   if [[ ${REGEN_MAGE_TREE} = true ]]   if [[ ${REGEN_MAGE_TREE} = true ]]
596   then   then
597   # build for each target an mage file   # run it without targets
598   for i in ${MAGE_TARGETS}   if [ -z "${MAGE_TARGETS}" ]
599   do   then
600   echo   echo
601   build_mage_script "-${i}"   build_mage_script
602   echo   echo
603   done   else
604    
605     # build for each target an mage file
606     # run it with several targets
607     for i in ${MAGE_TARGETS}
608     do
609     echo
610     build_mage_script "${i}"
611     echo
612     done
613     fi
614   fi   fi
615    
616   # now unset all uneeded vars to be safe   # now unset all uneeded vars to be safe
# Line 728  then Line 749  then
749   exit 0   exit 0
750  fi  fi
751    
752    # regen-mage-tree
753    if [ "$1" == "only-regen-tree" -a -n "$2" ]
754    then
755     # set correct SMAGENAME
756     SMAGENAME="$2"
757     MD5DIR="$(dirname ${SMAGENAME})/md5"
758     source ${SMAGENAME} || die "regen: smage2 not found"
759    
760     regen_mage_tree
761     exit 0
762    fi
763    
764  if [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ]  if [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ]
765  then  then
766   die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting."   die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting."

Legend:
Removed from v.194  
changed lines
  Added in v.204