Magellan Linux

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

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

revision 2157 by niro, Wed Aug 14 07:38:37 2013 UTC revision 3034 by niro, Fri Jun 30 12:09:53 2017 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 303  export -f src_install || die "src_instal Line 289  export -f src_install || die "src_instal
289    
290  # fixes some compile issues  # fixes some compile issues
291  export CHOST="${CHOST}" || die "CHOST export failed"  export CHOST="${CHOST}" || die "CHOST export failed"
292    export CPPFLAGS="${CPPFLAGS}" || die "CPPFLAGS export failed"
293  export CFLAGS="${CFLAGS}" || die "CFLAGS export failed"  export CFLAGS="${CFLAGS}" || die "CFLAGS export failed"
294  if [[ -z ${CXXFLAGS} ]]  if [[ -z ${CXXFLAGS} ]]
295  then  then
# 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 326  then Line 317  then
317   echo -e "${COLMAGENTA}Resume requested; continuing previous build${COLDEFAULT}"   echo -e "${COLMAGENTA}Resume requested; continuing previous build${COLDEFAULT}"
318    
319   # setup build logging   # setup build logging
320   [[ ! -d /var/log/smage ]] && install -d /var/log/smage   [[ ! -d ${SMAGELOGDIR} ]] && install -d ${SMAGELOGDIR}
321   if [[ -f /var/log/smage/${PKGNAME}.log.bz2 ]]   if [[ -f ${SMAGELOGDIR}/${PKGNAME}.log.bz2 ]]
322   then   then
323   bunzip2 -f /var/log/smage/${PKGNAME}.log.bz2   bunzip2 -f ${SMAGELOGDIR}/${PKGNAME}.log.bz2
324   fi   fi
325   echo -e "### Resume started on $(date) ###\n" >> /var/log/smage/${PKGNAME}.log   echo -e "### Resume started on $(date) ###\n" >> ${SMAGELOGDIR}/${PKGNAME}.log
326    
327  else  else
328   # clean up builddir if a previously one exist   # clean up builddir if a previously one exist
# Line 367  else Line 358  else
358   fi   fi
359    
360   # setup build logging   # setup build logging
361   [[ ! -d /var/log/smage ]] && install -d /var/log/smage   [[ ! -d ${SMAGELOGDIR} ]] && install -d ${SMAGELOGDIR}
362   echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log   echo -e "### Build started on $(date) ###\n" > ${SMAGELOGDIR}/${PKGNAME}.log
363  fi  fi
364    
365  if [[ ${PKGTYPE} = virtual ]]  if [[ ${PKGTYPE} = virtual ]]
# Line 377  then Line 368  then
368   # automatically set !pkgbuild here too   # automatically set !pkgbuild here too
369   msetfeature "!pkgbuild"   msetfeature "!pkgbuild"
370  else  else
371   ( run_resume src_prepare || src_prepare ) | ${SMAGE_LOG_CMD}   ( run_resume pkg_setup || pkg_setup ) |& ${SMAGE_LOG_CMD}
372     die_pipestatus 0 "pkg_setup failed"
373     resume_stamp pkg_setup
374     step_by_step pkg_setup
375    
376     ( run_resume src_prepare || src_prepare ) |& ${SMAGE_LOG_CMD}
377   die_pipestatus 0 "src_prepare failed"   die_pipestatus 0 "src_prepare failed"
378   resume_stamp src_prepare   resume_stamp src_prepare
379   step_by_step src_prepare   step_by_step src_prepare
380    
381   ( run_resume src_compile || src_compile ) | ${SMAGE_LOG_CMD}   ( run_resume src_compile || src_compile ) |& ${SMAGE_LOG_CMD}
382   die_pipestatus 0 "src_compile failed"   die_pipestatus 0 "src_compile failed"
383   resume_stamp src_compile   resume_stamp src_compile
384   step_by_step src_compile   step_by_step src_compile
# Line 390  else Line 386  else
386   # only run checks if requested   # only run checks if requested
387   if mqueryfeature "!check"   if mqueryfeature "!check"
388   then   then
389   echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD}   echo "!check detected; src_check() will not be run!" |& ${SMAGE_LOG_CMD}
390   else   else
391   ( run_resume src_check || src_check ) | ${SMAGE_LOG_CMD}   ( run_resume src_check || src_check ) |& ${SMAGE_LOG_CMD}
392   die_pipestatus 0 "src_check failed"   die_pipestatus 0 "src_check failed"
393   resume_stamp src_check   resume_stamp src_check
394   fi   fi
# Line 433  else Line 429  else
429   echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}"   echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}"
430   echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..."   echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..."
431    
432   ( run_resume src_install_${subpackage} || src_install_${subpackage} ) | ${SMAGE_LOG_CMD}   ( run_resume src_install_${subpackage} || src_install_${subpackage} ) |& ${SMAGE_LOG_CMD}
433   die_pipestatus 0 "src_install_${subpackage} failed"   die_pipestatus 0 "src_install_${subpackage} failed"
434   resume_stamp src_install_${subpackage}   resume_stamp src_install_${subpackage}
435   step_by_step src_install_${subpackage}   step_by_step src_install_${subpackage}
# Line 445  else Line 441  else
441   # unset all saved smage variables   # unset all saved smage variables
442   split_unset_variables   split_unset_variables
443   else   else
444   ( run_resume src_install || src_install ) | ${SMAGE_LOG_CMD}   ( run_resume src_install || src_install ) |& ${SMAGE_LOG_CMD}
445   die_pipestatus 0 "src_install failed"   die_pipestatus 0 "src_install failed"
446   resume_stamp src_install   resume_stamp src_install
447   step_by_step src_install   step_by_step src_install
# Line 693  if mqueryfeature "!pkgbuild" Line 689  if mqueryfeature "!pkgbuild"
689  then  then
690   echo -e "!pkgbuild detected; Package will not be build ..."   echo -e "!pkgbuild detected; Package will not be build ..."
691  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  
   
692   # build several subpackages   # build several subpackages
693   elif [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
694   then   then
695   split_save_variables   split_save_variables
696   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 807  else Line 772  else
772   fi   fi
773  fi  fi
774    
775    # auto regen mage tree if requested
776    regen_mage_tree
777    
778  if mqueryfeature "buildlog"  if mqueryfeature "buildlog"
779  then  then
780   bzip2 -9f /var/log/smage/${PKGNAME}.log   bzip2 -9f ${SMAGELOGDIR}/${PKGNAME}.log
781  else  else
782   [[ -f /var/log/smage/${PKGNAME}.log ]] && rm /var/log/smage/${PKGNAME}.log   [[ -f ${SMAGELOGDIR}/${PKGNAME}.log ]] && rm ${SMAGELOGDIR}/${PKGNAME}.log
783  fi  fi
784    
785  xtitleclean  xtitleclean

Legend:
Removed from v.2157  
changed lines
  Added in v.3034