Magellan Linux

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

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

revision 1589 by niro, Wed Dec 28 15:08:52 2011 UTC revision 1604 by niro, Tue Jan 3 19:11:57 2012 UTC
# Line 177  download_sources() Line 177  download_sources()
177   fi   fi
178    
179   echo -e "${COLBLUE}==>${COLGREEN} fetching ${uri}${COLDEFAULT}"   echo -e "${COLBLUE}==>${COLGREEN} fetching ${uri}${COLDEFAULT}"
180   mdownload --uri "${uri}" --dir "${outputdir}" || die "Could not download '${uri}'"   # do not die here, mchecksum catches download errors
181     mdownload --uri "${uri}" --dir "${outputdir}"
182    
183   # unset them to be sure   # unset them to be sure
184   unset uri   unset uri
# Line 201  download_sources() Line 202  download_sources()
202  # dummy function, used if that does not exist in smage file  # dummy function, used if that does not exist in smage file
203  src_prepare()  src_prepare()
204  {  {
205   echo "no src_prepare defined"   echo "no src_prepare defined; doing nothing ..."
206   return 0   return 0
207  }  }
208    
209  # dummy function, used if that does not exist in smage file  # dummy function, used if that does not exist in smage file
210  src_compile()  src_compile()
211  {  {
212   echo "no src_compile defined"   echo "no src_compile defined; doing nothing ..."
213   return 0   return 0
214  }  }
215    
216  # dummy function, used if that does not exist in smage file  # dummy function, used if that does not exist in smage file
217  src_check()  src_check()
218  {  {
219   echo "no src_check defined"   echo "no src_check defined; doing nothing ..."
220   return 0   return 0
221  }  }
222    
223  # dummy function, used if that does not exist in smage file  # dummy function, used if that does not exist in smage file
224  src_install()  src_install()
225  {  {
226   echo "no src_install defined"   echo "no src_install defined; doing nothing ..."
227   return 0   return 0
228  }  }
229    
# Line 343  munpack() Line 344  munpack()
344   rar)   rar)
345   unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST}  || die ".rar unpack failed."   unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST}  || die ".rar unpack failed."
346   ;;   ;;
347   zip|xpi)   zip|xpi|jar)
348   unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed."   unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed."
349   ;;   ;;
350   rpm)   rpm)
# Line 464  mstriplibtoolarchive() Line 465  mstriplibtoolarchive()
465   local stripdir="$@"   local stripdir="$@"
466    
467   [[ -z ${stripdir} ]] && stripdir="${BINDIR}"   [[ -z ${stripdir} ]] && stripdir="${BINDIR}"
468   find ${stripdir} ! -type d -name \*.la | xargs file | grep "libtool library" | cut -f 1 -d : | xargs --no-run-if-empty rm -f -- 2> /dev/null   find ${stripdir} ! -type d -name \*.la | xargs | grep "libtool library" | cut -f 1 -d : | xargs --no-run-if-empty rm -f -- 2> /dev/null
469  }  }
470    
471  mpurgetargets()  mpurgetargets()
# Line 793  regen_mage_tree() Line 794  regen_mage_tree()
794   unset STATE   unset STATE
795   unset DESCRIPTION   unset DESCRIPTION
796   unset HOMEPAGE   unset HOMEPAGE
797   unset PKGTYPE   # unset PKGTYPE <-- don't do that either; smage needs this var
798   unset INHERITS   unset INHERITS
799   unset DEPEND   unset DEPEND
800   unset SDEPEND   unset SDEPEND
# Line 1440  fi Line 1441  fi
1441  [[ ! -d /var/log/smage ]] && install -d /var/log/smage  [[ ! -d /var/log/smage ]] && install -d /var/log/smage
1442  echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log  echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log
1443    
1444  src_prepare | ${SMAGE_LOG_CMD}  if [[ ${PKGTYPE} = virtual ]]
 die_pipestatus 0 "src_prepare failed"  
 step_by_step $_  
   
 src_compile | ${SMAGE_LOG_CMD}  
 die_pipestatus 0 "src_compile failed"  
 step_by_step $_  
   
 # only run checks if requested  
 if mqueryfeature "!check"  
1445  then  then
1446   echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD}   echo "virtual package detected; nothing will be build ..."
1447   step_by_step src_check   # automatically set !pkgbuild here too
1448     msetfeature "!pkgbuild"
1449  else  else
1450   src_check | ${SMAGE_LOG_CMD}   src_prepare | ${SMAGE_LOG_CMD}
1451   die_pipestatus 0 "src_check failed"   die_pipestatus 0 "src_prepare failed"
1452   step_by_step $_   step_by_step $_
 fi  
   
 # build several subpackages  
 if [[ -n ${SPLIT_PACKAGES} ]]  
 then  
  # save bindir & pname  
  split_save_variables  
  export SAVED_BINDIR="${BINDIR}"  
  for subpackage in ${SPLIT_PACKAGES}  
  do  
  if typeset -f src_install_${subpackage} > /dev/null  
  then  
  # export subpackage bindir  
  export BINDIR="${SAVED_BINDIR}_${subpackage}"  
  # export PNAME, several internal function and include  
  # rely on this variable  
  export PNAME="${subpackage}"  
1453    
1454   echo   src_compile | ${SMAGE_LOG_CMD}
1455   echo -en "${COLBLUE}*** ${COLDEFAULT}"   die_pipestatus 0 "src_compile failed"
  echo -en "  Running ${COLGREEN}split src_install()${COLDEFAULT}"  
  echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}"  
  echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..."  
   
  src_install_${subpackage} | ${SMAGE_LOG_CMD}  
  die_pipestatus 0 "src_install_${subpackage} failed"  
  step_by_step $_  
  fi  
  done  
  # restore bindir & pname  
  split_restore_variables  
  # unset all saved smage variables  
  split_unset_variables  
 else  
  src_install | ${SMAGE_LOG_CMD}  
  die_pipestatus 0 "src_install failed"  
1456   step_by_step $_   step_by_step $_
1457    
1458     # only run checks if requested
1459     if mqueryfeature "!check"
1460     then
1461     echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD}
1462     step_by_step src_check
1463     else
1464     src_check | ${SMAGE_LOG_CMD}
1465     die_pipestatus 0 "src_check failed"
1466     step_by_step $_
1467     fi
1468    
1469     # build several subpackages
1470     if [[ -n ${SPLIT_PACKAGES} ]]
1471     then
1472     # save bindir & pname
1473     split_save_variables
1474     export SAVED_BINDIR="${BINDIR}"
1475     for subpackage in ${SPLIT_PACKAGES}
1476     do
1477     if typeset -f src_install_${subpackage} > /dev/null
1478     then
1479     # export subpackage bindir
1480     export BINDIR="${SAVED_BINDIR}_${subpackage}"
1481     # export PNAME, several internal function and include
1482     # rely on this variable
1483     export PNAME="${subpackage}"
1484    
1485     echo
1486     echo -en "${COLBLUE}*** ${COLDEFAULT}"
1487     echo -en "  Running ${COLGREEN}split src_install()${COLDEFAULT}"
1488     echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}"
1489     echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..."
1490    
1491     src_install_${subpackage} | ${SMAGE_LOG_CMD}
1492     die_pipestatus 0 "src_install_${subpackage} failed"
1493     step_by_step $_
1494     fi
1495     done
1496     # restore bindir & pname
1497     split_restore_variables
1498     # unset all saved smage variables
1499     split_unset_variables
1500     else
1501     src_install | ${SMAGE_LOG_CMD}
1502     die_pipestatus 0 "src_install failed"
1503     step_by_step $_
1504     fi
1505  fi  fi
1506    
1507    # echo for sake of good-looking
1508    echo
1509    
1510  if mqueryfeature "!compressdoc"  if mqueryfeature "!compressdoc"
1511  then  then
1512   echo -e "!compressdoc detected; documentation will not be compressed ..."   echo -e "!compressdoc detected; documentation will not be compressed ..."
1513    elif mqueryfeature "!pkgbuild"
1514    then
1515     echo "!pkgbuild detected; skipping documentation compression..."
1516  else  else
1517   # compressing doc, info & man files   # compressing doc, info & man files
1518   if [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
# Line 1514  fi Line 1528  fi
1528    
1529  if mqueryfeature "!libtool"  if mqueryfeature "!libtool"
1530  then  then
1531     if mqueryfeature "!pkgbuild"
1532     then
1533     echo "!pkgbuild detected; skipping libtool archive stripping ..."
1534     else
1535   if [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
1536   then   then
1537   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 1525  then Line 1543  then
1543   echo -e "${COLBLUE}===${COLGREEN} stripping libtool archives ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping libtool archives ...${COLDEFAULT}"
1544   mstriplibtoolarchive ${BINDIR}   mstriplibtoolarchive ${BINDIR}
1545   fi   fi
1546     fi
1547  fi  fi
1548    
1549  if mqueryfeature "purge"  if mqueryfeature "purge"
1550  then  then
1551     if mqueryfeature "!pkgbuild"
1552     then
1553     echo "!pkgbuild detected; skipping file purgation..."
1554     else
1555   if [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
1556   then   then
1557   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
# Line 1540  then Line 1563  then
1563   echo -e "${COLBLUE}===${COLGREEN} purging all purge targets ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} purging all purge targets ...${COLDEFAULT}"
1564   mpurgetargets ${BINDIR}   mpurgetargets ${BINDIR}
1565   fi   fi
1566     fi
1567  fi  fi
1568    
1569  # stripping all bins and libs  # stripping all bins and libs
1570  if mqueryfeature "!strip"  if mqueryfeature "!strip"
1571  then  then
1572   echo -e "!strip detected; Package will not be stripped ..."   echo -e "!strip detected; Package will not be stripped ..."
1573    elif mqueryfeature "!pkgbuild"
1574    then
1575     echo "!pkgbuild detected; skipping stripping of the package ..."
1576  else  else
1577   if [[ -n ${SPLIT_PACKAGES} ]]   if [[ -n ${SPLIT_PACKAGES} ]]
1578   then   then
1579   for subpackage in ${SPLIT_PACKAGES}   for subpackage in ${SPLIT_PACKAGES}
1580   do   do
1581   echo -e "${COLBLUE}===${COLGREEN} stripping binaries for '${subpackage}' ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping binaries for '${subpackage}' ...${COLDEFAULT}"
1582   mstripbins ${BINDIR}_${subpackage}   mstripbins ${BINDIR}_${subpackage}
1583   echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries for '${subpackage}' ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries for '${subpackage}' ...${COLDEFAULT}"
1584   mstriplibs ${BINDIR}_${subpackage}   mstriplibs ${BINDIR}_${subpackage}
1585   echo -e "${COLBLUE}===${COLGREEN} stripping static libraries for '${subpackage}' ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping static libraries for '${subpackage}' ...${COLDEFAULT}"
1586   mstripstatic ${BINDIR}_${subpackage}   mstripstatic ${BINDIR}_${subpackage}
1587   done   done
1588   else   else
1589   echo -e "${COLBLUE}===${COLGREEN} stripping binaries ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping binaries ...${COLDEFAULT}"
1590   mstripbins ${BINDIR}   mstripbins ${BINDIR}
1591   echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries ...${COLDEFAULT}"
1592   mstriplibs ${BINDIR}   mstriplibs ${BINDIR}
1593   echo -e "${COLBLUE}===${COLGREEN} stripping static libraries ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} stripping static libraries ...${COLDEFAULT}"
1594   mstripstatic ${BINDIR}   mstripstatic ${BINDIR}
1595   fi   fi
1596  fi  fi
1597    
1598  if mqueryfeature "!buildpkg"  if mqueryfeature "!pkgbuild"
1599  then  then
1600   echo -e "!buildpkg detected; Package will not be build ..."   echo -e "!pkgbuild detected; Package will not be build ..."
1601  else  else
1602   # build several targets   # build several targets
1603   if [[ -n ${MAGE_TARGETS} ]]   if [[ -n ${MAGE_TARGETS} ]]
# Line 1610  else Line 1637  else
1637   export PNAME="${subpackage}"   export PNAME="${subpackage}"
1638   split_info_${PNAME}   split_info_${PNAME}
1639    
1640   # jump to next one if !buildpkg is set in split_info   # jump to next one if !pkgbuild is set in split_info
1641   mqueryfeature "!buildpkg" && continue   mqueryfeature "!pkgbuild" && continue
1642    
1643   # check if an special subpackage_pkgbuild exists   # check if an special subpackage_pkgbuild exists
1644   if typeset -f ${PNAME}_pkgbuild > /dev/null   if typeset -f ${PNAME}_pkgbuild > /dev/null

Legend:
Removed from v.1589  
changed lines
  Added in v.1604