Magellan Linux

Diff of /trunk/mage/usr/lib/mage/smage2.sh

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

revision 2159 by niro, Wed Aug 14 07:55:29 2013 UTC revision 2805 by niro, Tue Sep 2 13:53:08 2014 UTC
# Line 18  source ${MAGERC} Line 18  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"
26  SMAGEVERSION="$(< ${MLIBDIR}/version)"  SMAGEVERSION="$(< ${MLIBDIR}/version)"
# Line 154  then Line 157  then
157    
158   regen_mage_tree   regen_mage_tree
159    
  # 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  
   
160   # build several subpackages   # build several subpackages
161   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
162   then   then
163   split_save_variables   split_save_variables
164   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 275  fi Line 263  fi
263  smagesource ${SMAGENAME} || die "source failed"  smagesource ${SMAGENAME} || die "source failed"
264  PKGNAME="${PNAME}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}"  PKGNAME="${PNAME}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}"
265  MD5DIR="$(dirname ${SMAGENAME})/md5"  MD5DIR="$(dirname ${SMAGENAME})/md5"
266  SMAGE_LOG_CMD="tee -a /var/log/smage/${PKGNAME}.log"  SMAGE_LOG_CMD="tee -a ${SMAGELOGDIR}/${PKGNAME}.log"
267    
268  xtitle "Compiling ${PKGNAME}"  xtitle "Compiling ${PKGNAME}"
269  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"
270    
 # auto regen mage tree if requested  
 regen_mage_tree  
   
271  if mqueryfeature "srcpkgbuild"  if mqueryfeature "srcpkgbuild"
272  then  then
273   if [[ -d ${SOURCEDIR}/${PNAME} ]]   if [[ -d ${SOURCEDIR}/${PNAME} ]]
# Line 296  fi Line 281  fi
281  mqueryfeature "srcpkgtarball" || download_sources  mqueryfeature "srcpkgtarball" || download_sources
282    
283  # fixes some issues with these functions  # fixes some issues with these functions
284    export -f pkg_setup || die "pkg_setup export failed"
285  export -f src_prepare || die "src_prepare export failed"  export -f src_prepare || die "src_prepare export failed"
286  export -f src_compile || die "src_compile export failed"  export -f src_compile || die "src_compile export failed"
287  export -f src_check || die "src_check export failed"  export -f src_check || die "src_check export failed"
# Line 320  mqueryfeature "distcc" && setup_distcc_e Line 306  mqueryfeature "distcc" && setup_distcc_e
306    
307  # setup icecc  # setup icecc
308  # setup for icecc goes *before* ccache, so ccache comes before icecc in path  # setup for icecc goes *before* ccache, so ccache comes before icecc in path
309  mqueryfeature "icecream" && setup_icecc_environment  mqueryfeature "icecc" && setup_icecc_environment
310    
311  # setup ccache  # setup ccache
312  mqueryfeature "ccache" && setup_ccache_environment  mqueryfeature "ccache" && setup_ccache_environment
# Line 330  then Line 316  then
316   echo -e "${COLMAGENTA}Resume requested; continuing previous build${COLDEFAULT}"   echo -e "${COLMAGENTA}Resume requested; continuing previous build${COLDEFAULT}"
317    
318   # setup build logging   # setup build logging
319   [[ ! -d /var/log/smage ]] && install -d /var/log/smage   [[ ! -d ${SMAGELOGDIR} ]] && install -d ${SMAGELOGDIR}
320   if [[ -f /var/log/smage/${PKGNAME}.log.bz2 ]]   if [[ -f ${SMAGELOGDIR}/${PKGNAME}.log.bz2 ]]
321   then   then
322   bunzip2 -f /var/log/smage/${PKGNAME}.log.bz2   bunzip2 -f ${SMAGELOGDIR}/${PKGNAME}.log.bz2
323   fi   fi
324   echo -e "### Resume started on $(date) ###\n" >> /var/log/smage/${PKGNAME}.log   echo -e "### Resume started on $(date) ###\n" >> ${SMAGELOGDIR}/${PKGNAME}.log
325    
326  else  else
327   # clean up builddir if a previously one exist   # clean up builddir if a previously one exist
# Line 371  else Line 357  else
357   fi   fi
358    
359   # setup build logging   # setup build logging
360   [[ ! -d /var/log/smage ]] && install -d /var/log/smage   [[ ! -d ${SMAGELOGDIR} ]] && install -d ${SMAGELOGDIR}
361   echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log   echo -e "### Build started on $(date) ###\n" > ${SMAGELOGDIR}/${PKGNAME}.log
362  fi  fi
363    
364  if [[ ${PKGTYPE} = virtual ]]  if [[ ${PKGTYPE} = virtual ]]
# Line 381  then Line 367  then
367   # automatically set !pkgbuild here too   # automatically set !pkgbuild here too
368   msetfeature "!pkgbuild"   msetfeature "!pkgbuild"
369  else  else
370     ( run_resume pkg_setup || pkg_setup ) | ${SMAGE_LOG_CMD}
371     die_pipestatus 0 "pkg_setup failed"
372     resume_stamp pkg_setup
373     step_by_step pkg_setup
374    
375   ( run_resume src_prepare || src_prepare ) | ${SMAGE_LOG_CMD}   ( run_resume src_prepare || src_prepare ) | ${SMAGE_LOG_CMD}
376   die_pipestatus 0 "src_prepare failed"   die_pipestatus 0 "src_prepare failed"
377   resume_stamp src_prepare   resume_stamp src_prepare
# Line 697  if mqueryfeature "!pkgbuild" Line 688  if mqueryfeature "!pkgbuild"
688  then  then
689   echo -e "!pkgbuild detected; Package will not be build ..."   echo -e "!pkgbuild detected; Package will not be build ..."
690  else  else
  # build several targets  
  if [[ -n ${MAGE_TARGETS} ]]  
  then  
  for target in ${MAGE_TARGETS}  
  do  
  # check if a special target_pkgbuild exists  
  if typeset -f ${target}_pkgbuild > /dev/null  
  then  
  # run it  
  run_resume post-${target}_pkgbuild || ${target}_pkgbuild  
  resume_stamp post-${target}_pkgbuild  
  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}  
   
  # build pkg-md5-sum if requested  
  run_resume post-md5sum_${target} || generate_package_md5sum \  
  --pcat "${PCAT}" \  
  --pname "${PNAME}" \  
  --pver "${PVER}" \  
  --pbuild "${PBUILD}" \  
  --parch "${ARCH}" \  
  --target "${target}"  
  resume_stamp post-md5sum_${target}  
   
  echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD} successfully builded.\n${COLDEFAULT}"  
  done  
   
691   # build several subpackages   # build several subpackages
692   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
693   then   then
694   split_save_variables   split_save_variables
695   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 811  else Line 771  else
771   fi   fi
772  fi  fi
773    
774    # auto regen mage tree if requested
775    regen_mage_tree
776    
777  if mqueryfeature "buildlog"  if mqueryfeature "buildlog"
778  then  then
779   bzip2 -9f /var/log/smage/${PKGNAME}.log   bzip2 -9f ${SMAGELOGDIR}/${PKGNAME}.log
780  else  else
781   [[ -f /var/log/smage/${PKGNAME}.log ]] && rm /var/log/smage/${PKGNAME}.log   [[ -f ${SMAGELOGDIR}/${PKGNAME}.log ]] && rm ${SMAGELOGDIR}/${PKGNAME}.log
782  fi  fi
783    
784  xtitleclean  xtitleclean

Legend:
Removed from v.2159  
changed lines
  Added in v.2805