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 2619 by niro, Tue Mar 4 15:41:15 2014 UTC
# Line 7  Line 7 
7  # TODO: record dynlib, gz | xz database  # TODO: record dynlib, gz | xz database
8    
9    
10  # set default user mage.rc  # set default variables
11  : ${MAGERC="/etc/mage.rc"}  : ${MAGERC="@@SYSCONFDIR@@/mage.rc"}
12    : ${MLIBDIR="@@MAGELIBDIR@@"}
13    
14  # export default C locale  # export default C locale
15  export LC_ALL=C  export LC_ALL=C
16    
17  source /etc/mage.rc.global  # first of all include common functions
18  source ${MAGERC}  source ${MLIBDIR}/common.functions.sh || exit 1
19  source ${MLIBDIR}/mage4.functions.sh  source @@SYSCONFDIR@@/mage.rc.global || die "@@SYSCONFDIR@@/mage.rc.global missing."
20  source ${MLIBDIR}/smage2.functions.sh  source ${MAGERC} || die "${MAGERC} missing."
21    source ${MLIBDIR}/mage4.functions.sh || die "${MLIBDIR}/mage4.functions.sh missing."
22    source ${MLIBDIR}/smage2.functions.sh || die "${MLIBDIR}/smage2.functions.sh missing."
23    
24    # export default path
25    export PATH="${PATH}:${MLIBDIR}"
26    
27  ## setup ##  ## setup ##
28  SMAGENAME="$1"  SMAGENAME="$1"
 SMAGEVERSION="$(< ${MLIBDIR}/version)"  
29    
30  # expand PKGDIR, BUILDDIR and BINDIR with MROOT  # expand PKGDIR, BUILDDIR and BINDIR with MROOT
31  if [[ -n ${MROOT} ]]  if [[ -n ${MROOT} ]]
# Line 154  then Line 159  then
159    
160   regen_mage_tree   regen_mage_tree
161    
  # 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  
   
162   # build several subpackages   # build several subpackages
163   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
164   then   then
165   split_save_variables   split_save_variables
166   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 280  SMAGE_LOG_CMD="tee -a /var/log/smage/${P Line 270  SMAGE_LOG_CMD="tee -a /var/log/smage/${P
270  xtitle "Compiling ${PKGNAME}"  xtitle "Compiling ${PKGNAME}"
271  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"
272    
 # auto regen mage tree if requested  
 regen_mage_tree  
   
273  if mqueryfeature "srcpkgbuild"  if mqueryfeature "srcpkgbuild"
274  then  then
275   if [[ -d ${SOURCEDIR}/${PNAME} ]]   if [[ -d ${SOURCEDIR}/${PNAME} ]]
# Line 318  export MAKEOPTS="${MAKEOPTS}" || die "MA Line 305  export MAKEOPTS="${MAKEOPTS}" || die "MA
305  # 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
306  mqueryfeature "distcc" && setup_distcc_environment  mqueryfeature "distcc" && setup_distcc_environment
307    
308    # setup icecc
309    # setup for icecc goes *before* ccache, so ccache comes before icecc in path
310    mqueryfeature "icecc" && setup_icecc_environment
311    
312  # setup ccache  # setup ccache
313  mqueryfeature "ccache" && setup_ccache_environment  mqueryfeature "ccache" && setup_ccache_environment
314    
# Line 471  else Line 462  else
462   do   do
463   # honor split_info   # honor split_info
464   split_info_${subpackage}   split_info_${subpackage}
465     if [[ ${PKGTYPE} = virtual ]]
466     then
467     # automatically set !pkgbuild here too
468     msetfeature "!pkgbuild"
469     fi
470    
471   if mqueryfeature "!compressdoc"   if mqueryfeature "!compressdoc"
472   then   then
# Line 507  then Line 503  then
503   do   do
504   # honor split_info   # honor split_info
505   split_info_${subpackage}   split_info_${subpackage}
506     if [[ ${PKGTYPE} = virtual ]]
507     then
508     # automatically set !pkgbuild here too
509     msetfeature "!pkgbuild"
510     fi
511    
512   if mqueryfeature "!libtool"   if mqueryfeature "!libtool"
513   then   then
# Line 547  then Line 548  then
548   do   do
549   # honor split_info   # honor split_info
550   split_info_${subpackage}   split_info_${subpackage}
551     if [[ ${PKGTYPE} = virtual ]]
552     then
553     # automatically set !pkgbuild here too
554     msetfeature "!pkgbuild"
555     fi
556    
557   if mqueryfeature "purge"   if mqueryfeature "purge"
558   then   then
# Line 589  else Line 595  else
595   do   do
596   # honor split_info   # honor split_info
597   split_info_${subpackage}   split_info_${subpackage}
598     if [[ ${PKGTYPE} = virtual ]]
599     then
600     # automatically set !pkgbuild here too
601     msetfeature "!pkgbuild"
602     fi
603    
604   if mqueryfeature "!strip"   if mqueryfeature "!strip"
605   then   then
# Line 626  else Line 637  else
637   fi   fi
638  fi  fi
639    
640  if mqueryfeature "!pkgbuild"  if mqueryfeature "qalint"
641  then  then
642   echo -e "!pkgbuild detected; Package will not be build ..."   if mqueryfeature "!pkgbuild"
643  else   then
644   # build several targets   echo "!pkgbuild detected; skipping QA lint checks ..."
645   if [[ -n ${MAGE_TARGETS} ]]   else
646     if [[ -n ${SPLIT_PACKAGES} ]]
647   then   then
648   for target in ${MAGE_TARGETS}   # save smage environment
649     split_save_variables
650     for subpackage in ${SPLIT_PACKAGES}
651   do   do
652   # check if a special target_pkgbuild exists   # honor split_info
653   if typeset -f ${target}_pkgbuild > /dev/null   split_info_${subpackage}
654     if [[ ${PKGTYPE} = virtual ]]
655   then   then
656   # run it   # automatically set !pkgbuild here too
657   run_resume post-${target}_pkgbuild || ${target}_pkgbuild   msetfeature "!pkgbuild"
  resume_stamp post-${target}_pkgbuild  
658   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}  
659    
660   # build pkg-md5-sum if requested   if mqueryfeature "qalint"
661   run_resume post-md5sum_${target} || generate_package_md5sum \   then
662   --pcat "${PCAT}" \   if mqueryfeature "!pkgbuild"
663   --pname "${PNAME}" \   then
664   --pver "${PVER}" \   echo "!pkgbuild detected; skipping QA lint checks for '${subpackage}' ..."
665   --pbuild "${PBUILD}" \   else
666   --parch "${ARCH}" \   echo -e "${COLBLUE}===${COLGREEN} running QA lint checks for '${subpackage}' ...${COLDEFAULT}"
667   --target "${target}"   mqalint ${BINDIR}_${subpackage}
668   resume_stamp post-md5sum_${target}   fi
669     fi
670    
671   echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD} successfully builded.\n${COLDEFAULT}"   # restore smage environment
672     split_restore_variables
673   done   done
674     # unset saved variables
675     split_unset_variables
676     else
677     echo -e "${COLBLUE}===${COLGREEN} running QA lint checks ...${COLDEFAULT}"
678     mqalint ${BINDIR}
679     fi
680     fi
681    fi
682    
683    if mqueryfeature "!pkgbuild"
684    then
685     echo -e "!pkgbuild detected; Package will not be build ..."
686    else
687   # build several subpackages   # build several subpackages
688   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
689   then   then
690   split_save_variables   split_save_variables
691   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 676  else Line 699  else
699   PCAT="${PCATEGORIE}"   PCAT="${PCATEGORIE}"
700   unset PCATEGORIE   unset PCATEGORIE
701   fi   fi
702     if [[ ${PKGTYPE} = virtual ]]
703     then
704     # automatically set !pkgbuild here too
705     msetfeature "!pkgbuild"
706     fi
707    
708   # jump to next one if !pkgbuild is set in split_info   # jump to next one if !pkgbuild is set in split_info
709   if mqueryfeature "!pkgbuild"   if mqueryfeature "!pkgbuild"
# Line 739  else Line 767  else
767   fi   fi
768  fi  fi
769    
770    # auto regen mage tree if requested
771    regen_mage_tree
772    
773  if mqueryfeature "buildlog"  if mqueryfeature "buildlog"
774  then  then
775   bzip2 -9f /var/log/smage/${PKGNAME}.log   bzip2 -9f /var/log/smage/${PKGNAME}.log

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