Magellan Linux

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

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

revision 441 by niro, Mon Mar 19 19:21:40 2007 UTC revision 881 by niro, Mon Jun 29 18:56:32 2009 UTC
# Line 4  Line 4 
4  # needs pkgbuild_dir (mage)  # needs pkgbuild_dir (mage)
5    
6  # SMAGE2  # SMAGE2
7  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.54 2007-03-19 19:21:40 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.62 2007-11-28 10:47:50 niro Exp $
8    
9  #01.10.2004  #01.10.2004
10  # added ccache support  # added ccache support
# Line 20  SMAGENAME="$1" Line 20  SMAGENAME="$1"
20  SMAGESUFFIX="smage2"  SMAGESUFFIX="smage2"
21  MLIBDIR=/usr/lib/mage  MLIBDIR=/usr/lib/mage
22  SMAGEVERSION="$( < ${MLIBDIR}/version)"  SMAGEVERSION="$( < ${MLIBDIR}/version)"
23    SMAGE_LOG_CMD="tee -a /var/log/smage/${PKGNAME}.log"
24    
25    
26  ## only for tests -> normally in /etc/rc.d/init.d/functions  ## only for tests -> normally in /etc/rc.d/init.d/functions
27  COLRED="\033[1;6m\033[31m"  COLRED="\033[1;6m\033[31m"
# Line 187  download_sources() Line 189  download_sources()
189   --continue \   --continue \
190   --progress bar \   --progress bar \
191   --directory-prefix="${my_SOURCEDIR}" \   --directory-prefix="${my_SOURCEDIR}" \
192     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
193   "${my_SRC_URI_MIRROR}"   "${my_SRC_URI_MIRROR}"
194   if [[ $? = 0 ]]   if [[ $? = 0 ]]
195   then   then
# Line 211  download_sources() Line 214  download_sources()
214   --continue \   --continue \
215   --progress bar \   --progress bar \
216   --directory-prefix="${my_SOURCEDIR}" \   --directory-prefix="${my_SOURCEDIR}" \
217     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
218   "${my_SRC_URI_MIRROR}"   "${my_SRC_URI_MIRROR}"
219   if [[ $? = 0 ]]   if [[ $? = 0 ]]
220   then   then
# Line 235  download_sources() Line 239  download_sources()
239   --continue \   --continue \
240   --progress bar \   --progress bar \
241   --directory-prefix="${my_SOURCEDIR}" \   --directory-prefix="${my_SOURCEDIR}" \
242     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
243     "${my_SRC_URI_MIRROR}"
244     if [[ $? = 0 ]]
245     then
246     break
247     else
248     continue
249     fi
250     fi
251     done
252     elif [[ -n $(echo ${my_SRC_URI} | grep 'kde://') ]]
253     then
254     for mirror in ${KDE_MIRRORS}
255     do
256     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|kde:/|${mirror}|g")"
257    
258     if [[ ${FETCHING} = true ]]
259     then
260     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
261     wget \
262     --passive-ftp \
263     --tries 3 \
264     --continue \
265     --progress bar \
266     --directory-prefix="${my_SOURCEDIR}" \
267     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
268     "${my_SRC_URI_MIRROR}"
269     if [[ $? = 0 ]]
270     then
271     break
272     else
273     continue
274     fi
275     fi
276     done
277     elif [[ -n $(echo ${my_SRC_URI} | grep 'gnome://') ]]
278     then
279     for mirror in ${GNOME_MIRRORS}
280     do
281     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|gnome:/|${mirror}|g")"
282    
283     if [[ ${FETCHING} = true ]]
284     then
285     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
286     wget \
287     --passive-ftp \
288     --tries 3 \
289     --continue \
290     --progress bar \
291     --directory-prefix="${my_SOURCEDIR}" \
292     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
293   "${my_SRC_URI_MIRROR}"   "${my_SRC_URI_MIRROR}"
294   if [[ $? = 0 ]]   if [[ $? = 0 ]]
295   then   then
# Line 254  download_sources() Line 309  download_sources()
309   --continue \   --continue \
310   --progress bar \   --progress bar \
311   --directory-prefix="${my_SOURCEDIR}" \   --directory-prefix="${my_SOURCEDIR}" \
312     --output-document="$(basename ${my_SRC_URI_MIRROR})" \
313   "${my_SRC_URI}"   "${my_SRC_URI}"
314   fi   fi
315   fi   fi
# Line 314  mconfigure() Line 370  mconfigure()
370   ./configure \   ./configure \
371   --prefix=/usr \   --prefix=/usr \
372   --host=${CHOST} \   --host=${CHOST} \
373     --build=${CHOST} \
374   --mandir=/usr/share/man \   --mandir=/usr/share/man \
375   --infodir=/usr/share/info \   --infodir=/usr/share/info \
376   --datadir=/usr/share \   --datadir=/usr/share \
# Line 357  munpack() Line 414  munpack()
414    
415   SRCFILE=$1   SRCFILE=$1
416    
417   if [ -z "$2" ]   if [[ -z $2 ]]
418   then   then
419   DEST=${BUILDDIR}   DEST=${BUILDDIR}
420   else   else
# Line 372  munpack() Line 429  munpack()
429   IFTAR="${IFTAR##*.}"   IFTAR="${IFTAR##*.}"
430   if [[ ${IFTAR} = tar ]]   if [[ ${IFTAR} = tar ]]
431   then   then
432   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tar.bz2 unpack failed."
433     else
434     pushd ${DEST} > /dev/null
435     bzcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .bz2) || die ".bz2 unpack failed."
436     popd > /dev/null
437   fi   fi
438   ;;   ;;
439   gz)   gz)
# Line 380  munpack() Line 441  munpack()
441   IFTAR="${IFTAR##*.}"   IFTAR="${IFTAR##*.}"
442   if [[ ${IFTAR} = tar ]]   if [[ ${IFTAR} = tar ]]
443   then   then
444   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tar.gz unpack failed."
445     else
446     pushd ${DEST} > /dev/null
447     zcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .gz) || die ".gz unpack failed."
448     popd > /dev/null
449   fi   fi
450   ;;   ;;
451   tbz2)   tbz2|mpks|mpk)
452   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tbz2 unpack failed."
453   ;;   ;;
454   tgz)   tgz)
455   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tgz unpack failed."
456     ;;
457     rar)
458     unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST}  || die ".rar unpack failed."
459     ;;
460     zip|xpi)
461     unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed."
462     ;;
463     rpm)
464     pushd ${DEST} > /dev/null
465     rpm2targz ${SOURCEDIR}/${PNAME}/${SRCFILE} || die "rpm2targz: .rpm unpack failed."
466     tar --no-same-owner -xvzf ${SRCFILE/.rpm/.tar.gz} || die "tar: .rpm unpack failed."
467     if [[ -f ${DEST}/${SRCFILE/.rpm/.tar.gz} ]]
468     then
469     rm ${DEST}/${SRCFILE/.rpm/.tar.gz}
470     fi
471   ;;   ;;
472   *)   *)
473   die "munpack failed"   die "munpack failed"
# Line 399  mpatch() Line 479  mpatch()
479  {  {
480   local PATCHOPTS   local PATCHOPTS
481   local PATCHFILE   local PATCHFILE
482     local i
483    
484   PATCHOPTS=$1   PATCHOPTS=$1
485   PATCHFILE=$2   PATCHFILE=$2
486    
487     if [[ -z $2 ]]
488     then
489     PATCHFILE=$1
490    
491     ## patch level auto-detection, get patch level
492     for ((i=0; i < 10; i++))
493     do
494     patch --dry-run -Np${i} -i ${SOURCEDIR}/${PNAME}/${PATCHFILE} > /dev/null
495     if [[ $? = 0 ]]
496     then
497     PATCHOPTS="-Np${i}"
498     break
499     fi
500     done
501     fi
502    
503   echo -e "${COLBLUE}*** ${COLGREEN}Applying patch '${PATCHFILE}'${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}Applying patch '${PATCHFILE}'${COLDEFAULT}"
504   patch "${PATCHOPTS}" -i ${SOURCEDIR}/${PNAME}/${PATCHFILE}   patch "${PATCHOPTS}" -i ${SOURCEDIR}/${PNAME}/${PATCHFILE}
505  }  }
506    
507    mlibtoolize()
508    {
509     local opts="$@"
510     [[ -z ${opts} ]] && opts="--copy --force"
511    
512     libtoolize ${opts} || die "running: mlibtoolize ${opts}"
513    }
514    
515  minstalldocs()  minstalldocs()
516  {  {
# Line 555  EOF Line 659  EOF
659  # special tags:  # special tags:
660  #   PKGTYPE               type of pkg  #   PKGTYPE               type of pkg
661  #   INHERITS              which functions get included  #   INHERITS              which functions get included
662  #   SPECIAL_FUNCTIONS     special functions wich should also be added  #   SPECIAL_FUNCTIONS     special functions which should also be added
663  #                         warning: they get killed before the build starts !  #                         warning: they get killed before the build starts !
664  #  #
665  #   MAGE_TREE_DEST        target destination of the generated tree  #   MAGE_TREE_DEST        target destination of the generated tree
# Line 591  build_mage_script() Line 695  build_mage_script()
695   > ${dest}   > ${dest}
696    
697   # header   # header
698   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.54 2007-03-19 19:21:40 niro Exp $' >> ${dest}   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.62 2007-11-28 10:47:50 niro Exp $' >> ${dest}
699   echo  >> ${dest}   echo  >> ${dest}
700    
701   # pgkname and state   # pgkname and state
# Line 699  regen_mage_tree() Line 803  regen_mage_tree()
803   # now unset all uneeded vars to be safe   # now unset all uneeded vars to be safe
804   # unset PKGNAME <-- don't do that; smage needs this var   # unset PKGNAME <-- don't do that; smage needs this var
805   # unset to be safe (quotes needed !)   # unset to be safe (quotes needed !)
806   for i in ${SPECIAL_FUNCTIONS}  # for i in ${SPECIAL_FUNCTIONS}
807   do  # do
808   unset "${i}"  # unset "${i}"
809   done  # done
810   unset SPECIAL_FUNCTIONS   unset SPECIAL_FUNCTIONS
811   for i in ${SPECIAL_VARS}  # for i in ${SPECIAL_VARS}
812   do  # do
813   unset "${i}"  # unset "${i}"
814   done  # done
815   unset SPECIAL_VARS   unset SPECIAL_VARS
816   unset STATE   unset STATE
817   unset DESCRIPTION   unset DESCRIPTION
# Line 841  source_pkg_build() Line 945  source_pkg_build()
945   echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}"   echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}"
946  }  }
947    
948    step_by_step()
949    {
950     if [[ ${STEP_BY_STEP} = true ]]
951     then
952     echo "${COLRED}Step-by-step enabled! Paused after $1.${COLDEFAULT}"
953     echo "Press [enter] to continue"
954     read
955     fi
956    }
957    
958    
959  # print out our version  # print out our version
960  showversion  showversion
# Line 1107  then Line 1221  then
1221   mage rmstamp   mage rmstamp
1222  fi  fi
1223    
1224  src_prepare || die "src_prepare failed"  # setup build loggins
1225  src_compile || die "src_compile failed"  [[ ! -d /var/log/smage ]] && install -d /var/log/smage
1226  src_install || die "src_install failed"  echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log
1227    
1228    src_prepare || die "src_prepare failed" | ${SMAGE_LOG_CMD}
1229    step_by_step $_
1230    src_compile || die "src_compile failed" | ${SMAGE_LOG_CMD}
1231    step_by_step $_
1232    src_install || die "src_install failed" | ${SMAGE_LOG_CMD}
1233    step_by_step $_
1234    
1235    
1236  # compressing doc, info & man files  # compressing doc, info & man files
# Line 1190  case ${NOPKGBUILD} in Line 1311  case ${NOPKGBUILD} in
1311   ;;   ;;
1312  esac  esac
1313    
1314    if [[ ${SMAGE_BUILD_LOGGING} != false ]]
1315    then
1316     bzip2 -9f /var/log/smage/${PKGNAME}.log
1317    else
1318     [[ -f /var/log/smage/${PKGNAME}.log ]] && rm /var/log/smage/${PKGNAME}.log
1319    fi
1320    
1321  # for sure  # for sure
1322  unset NOPKGBUILD  unset NOPKGBUILD
1323  unset NOSTRIP  unset NOSTRIP

Legend:
Removed from v.441  
changed lines
  Added in v.881