Magellan Linux

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

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

trunk/mage/usr/lib/mage/smage2.sh revision 2042 by niro, Fri Feb 1 09:50:07 2013 UTC branches/mage-next/src/smage2.in revision 2615 by niro, Tue Mar 4 15:28:42 2014 UTC
# Line 8  Line 8 
8    
9    
10  # set default user mage.rc  # set default user mage.rc
11  : ${MAGERC="/etc/mage.rc"}  : ${MAGERC="@@SYSCONFDIR@@/mage.rc"}
12    
13  # export default C locale  # export default C locale
14  export LC_ALL=C  export LC_ALL=C
15    
16  source /etc/mage.rc.global  source @@SYSCONFDIR@@/mage.rc.global
17  source ${MAGERC}  source ${MAGERC}
18  source ${MLIBDIR}/mage4.functions.sh  source ${MLIBDIR}/mage4.functions.sh
19  source ${MLIBDIR}/smage2.functions.sh  source ${MLIBDIR}/smage2.functions.sh
20    
21    # export default path
22    export PATH="${PATH}:${MLIBDIR}"
23    
24  ## setup ##  ## setup ##
25  SMAGENAME="$1"  SMAGENAME="$1"
 SMAGEVERSION="$(< ${MLIBDIR}/version)"  
26    
27  # expand PKGDIR, BUILDDIR and BINDIR with MROOT  # expand PKGDIR, BUILDDIR and BINDIR with MROOT
28  if [[ -n ${MROOT} ]]  if [[ -n ${MROOT} ]]
# Line 154  then Line 156  then
156    
157   regen_mage_tree   regen_mage_tree
158    
  # build several targets  
  if [[ -n ${MAGE_TARGETS} ]]  
  then  
  for target in ${MAGE_TARGETS}  
  do  
  # build md5sum for existing packages  
  generate_package_md5sum \  
  --pcat "${PCAT}" \  
  --pname "${PNAME}" \  
  --pver "${PVER}" \  
  --pbuild "${PBUILD}" \  
  --parch "${ARCH}" \  
  --target "${target}"  
  done  
   
159   # build several subpackages   # build several subpackages
160   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
161   then   then
162   split_save_variables   split_save_variables
163   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 280  SMAGE_LOG_CMD="tee -a /var/log/smage/${P Line 267  SMAGE_LOG_CMD="tee -a /var/log/smage/${P
267  xtitle "Compiling ${PKGNAME}"  xtitle "Compiling ${PKGNAME}"
268  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"
269    
 # auto regen mage tree if requested  
 regen_mage_tree  
   
270  if mqueryfeature "srcpkgbuild"  if mqueryfeature "srcpkgbuild"
271  then  then
272   if [[ -d ${SOURCEDIR}/${PNAME} ]]   if [[ -d ${SOURCEDIR}/${PNAME} ]]
# Line 318  export MAKEOPTS="${MAKEOPTS}" || die "MA Line 302  export MAKEOPTS="${MAKEOPTS}" || die "MA
302  # setup for distcc goes *before* ccache, so ccache comes before distcc in path  # setup for distcc goes *before* ccache, so ccache comes before distcc in path
303  mqueryfeature "distcc" && setup_distcc_environment  mqueryfeature "distcc" && setup_distcc_environment
304    
305    # setup icecc
306    # setup for icecc goes *before* ccache, so ccache comes before icecc in path
307    mqueryfeature "icecc" && setup_icecc_environment
308    
309  # setup ccache  # setup ccache
310  mqueryfeature "ccache" && setup_ccache_environment  mqueryfeature "ccache" && setup_ccache_environment
311    
# Line 471  else Line 459  else
459   do   do
460   # honor split_info   # honor split_info
461   split_info_${subpackage}   split_info_${subpackage}
462     if [[ ${PKGTYPE} = virtual ]]
463     then
464     # automatically set !pkgbuild here too
465     msetfeature "!pkgbuild"
466     fi
467    
468   if mqueryfeature "!compressdoc"   if mqueryfeature "!compressdoc"
469   then   then
# Line 507  then Line 500  then
500   do   do
501   # honor split_info   # honor split_info
502   split_info_${subpackage}   split_info_${subpackage}
503     if [[ ${PKGTYPE} = virtual ]]
504     then
505     # automatically set !pkgbuild here too
506     msetfeature "!pkgbuild"
507     fi
508    
509   if mqueryfeature "!libtool"   if mqueryfeature "!libtool"
510   then   then
# Line 547  then Line 545  then
545   do   do
546   # honor split_info   # honor split_info
547   split_info_${subpackage}   split_info_${subpackage}
548     if [[ ${PKGTYPE} = virtual ]]
549     then
550     # automatically set !pkgbuild here too
551     msetfeature "!pkgbuild"
552     fi
553    
554   if mqueryfeature "purge"   if mqueryfeature "purge"
555   then   then
# Line 589  else Line 592  else
592   do   do
593   # honor split_info   # honor split_info
594   split_info_${subpackage}   split_info_${subpackage}
595     if [[ ${PKGTYPE} = virtual ]]
596     then
597     # automatically set !pkgbuild here too
598     msetfeature "!pkgbuild"
599     fi
600    
601   if mqueryfeature "!strip"   if mqueryfeature "!strip"
602   then   then
# Line 626  else Line 634  else
634   fi   fi
635  fi  fi
636    
637  if mqueryfeature "!pkgbuild"  if mqueryfeature "qalint"
638  then  then
639   echo -e "!pkgbuild detected; Package will not be build ..."   if mqueryfeature "!pkgbuild"
640  else   then
641   # build several targets   echo "!pkgbuild detected; skipping QA lint checks ..."
642   if [[ -n ${MAGE_TARGETS} ]]   else
643     if [[ -n ${SPLIT_PACKAGES} ]]
644   then   then
645   for target in ${MAGE_TARGETS}   # save smage environment
646     split_save_variables
647     for subpackage in ${SPLIT_PACKAGES}
648   do   do
649   # check if a special target_pkgbuild exists   # honor split_info
650   if typeset -f ${target}_pkgbuild > /dev/null   split_info_${subpackage}
651     if [[ ${PKGTYPE} = virtual ]]
652   then   then
653   # run it   # automatically set !pkgbuild here too
654   run_resume post-${target}_pkgbuild || ${target}_pkgbuild   msetfeature "!pkgbuild"
  resume_stamp post-${target}_pkgbuild  
655   fi   fi
  # now create the target package  
  run_resume post-pkg_builddir_${target} || ${MLIBDIR}/pkgbuild_dir.sh \  
  "${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}" \  
  ${BINDIR} || die "target: ${target} package-build failed"  
  resume_stamp post-pkg_builddir_${target}  
656    
657   # build pkg-md5-sum if requested   if mqueryfeature "qalint"
658   run_resume post-md5sum_${target} || generate_package_md5sum \   then
659   --pcat "${PCAT}" \   if mqueryfeature "!pkgbuild"
660   --pname "${PNAME}" \   then
661   --pver "${PVER}" \   echo "!pkgbuild detected; skipping QA lint checks for '${subpackage}' ..."
662   --pbuild "${PBUILD}" \   else
663   --parch "${ARCH}" \   echo -e "${COLBLUE}===${COLGREEN} running QA lint checks for '${subpackage}' ...${COLDEFAULT}"
664   --target "${target}"   mqalint ${BINDIR}_${subpackage}
665   resume_stamp post-md5sum_${target}   fi
666     fi
667    
668   echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD} successfully builded.\n${COLDEFAULT}"   # restore smage environment
669     split_restore_variables
670   done   done
671     # unset saved variables
672     split_unset_variables
673     else
674     echo -e "${COLBLUE}===${COLGREEN} running QA lint checks ...${COLDEFAULT}"
675     mqalint ${BINDIR}
676     fi
677     fi
678    fi
679    
680    if mqueryfeature "!pkgbuild"
681    then
682     echo -e "!pkgbuild detected; Package will not be build ..."
683    else
684   # build several subpackages   # build several subpackages
685   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
686   then   then
687   split_save_variables   split_save_variables
688   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 676  else Line 696  else
696   PCAT="${PCATEGORIE}"   PCAT="${PCATEGORIE}"
697   unset PCATEGORIE   unset PCATEGORIE
698   fi   fi
699     if [[ ${PKGTYPE} = virtual ]]
700     then
701     # automatically set !pkgbuild here too
702     msetfeature "!pkgbuild"
703     fi
704    
705   # jump to next one if !pkgbuild is set in split_info   # jump to next one if !pkgbuild is set in split_info
706   if mqueryfeature "!pkgbuild"   if mqueryfeature "!pkgbuild"
# Line 739  else Line 764  else
764   fi   fi
765  fi  fi
766    
767    # auto regen mage tree if requested
768    regen_mage_tree
769    
770  if mqueryfeature "buildlog"  if mqueryfeature "buildlog"
771  then  then
772   bzip2 -9f /var/log/smage/${PKGNAME}.log   bzip2 -9f /var/log/smage/${PKGNAME}.log

Legend:
Removed from v.2042  
changed lines
  Added in v.2615