Magellan Linux

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

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

revision 427 by niro, Fri Feb 23 14:42:17 2007 UTC revision 600 by niro, Mon Nov 5 17:08:33 2007 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.52 2007-02-23 14:42:17 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.60 2007-11-05 17:08:33 niro Exp $
8    
9  #01.10.2004  #01.10.2004
10  # added ccache support  # added ccache support
# Line 48  fi Line 48  fi
48  # export default C locale  # export default C locale
49  export LC_ALL=C  export LC_ALL=C
50    
51    source /etc/mage.rc.global
52  source ${MAGERC}  source ${MAGERC}
53    
54  # set PKGDIR and BUILDDIR and BINDIR to MROOT  # set PKGDIR and BUILDDIR and BINDIR to MROOT
# Line 148  download_sources() Line 149  download_sources()
149   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null )   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null )
150   if [[ $? = 0 ]]   if [[ $? = 0 ]]
151   then   then
152   # md5's ok, not fetching needed   # md5's ok, no fetching needed
153   FETCHING=false   FETCHING=false
154   else   else
155   FETCHING=true   FETCHING=true
# Line 171  download_sources() Line 172  download_sources()
172   fi   fi
173    
174   # if an mirrored file than replace first the mirror uri   # if an mirrored file than replace first the mirror uri
175   if [ -n "$(echo ${my_SRC_URI} | grep 'mirror://')" ]   if [[ -n $(echo ${my_SRC_URI} | grep 'mirror://') ]]
176   then   then
177   for mirror in ${MIRRORS}   for mirror in ${MIRRORS}
178   do   do
# Line 179  download_sources() Line 180  download_sources()
180    
181   if [[ ${FETCHING} = true ]]   if [[ ${FETCHING} = true ]]
182   then   then
183   echo "==> fetching ${my_SRC_URI_MIRROR}"   echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
184     wget \
185     --passive-ftp \
186     --tries 3 \
187     --continue \
188     --progress bar \
189     --directory-prefix="${my_SOURCEDIR}" \
190     "${my_SRC_URI_MIRROR}"
191     if [[ $? = 0 ]]
192     then
193     break
194     else
195     continue
196     fi
197     fi
198     done
199     elif [[ -n $(echo ${my_SRC_URI} | grep 'sourceforge://') ]]
200     then
201     for mirror in ${SOURCEFORGE_MIRRORS}
202     do
203     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|sourceforge:/|${mirror}|g")"
204    
205     if [[ ${FETCHING} = true ]]
206     then
207     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
208     wget \
209     --passive-ftp \
210     --tries 3 \
211     --continue \
212     --progress bar \
213     --directory-prefix="${my_SOURCEDIR}" \
214     "${my_SRC_URI_MIRROR}"
215     if [[ $? = 0 ]]
216     then
217     break
218     else
219     continue
220     fi
221     fi
222     done
223     elif [[ -n $(echo ${my_SRC_URI} | grep 'gnu://') ]]
224     then
225     for mirror in ${GNU_MIRRORS}
226     do
227     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|gnu:/|${mirror}|g")"
228    
229     if [[ ${FETCHING} = true ]]
230     then
231     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
232     wget \
233     --passive-ftp \
234     --tries 3 \
235     --continue \
236     --progress bar \
237     --directory-prefix="${my_SOURCEDIR}" \
238     "${my_SRC_URI_MIRROR}"
239     if [[ $? = 0 ]]
240     then
241     break
242     else
243     continue
244     fi
245     fi
246     done
247     elif [[ -n $(echo ${my_SRC_URI} | grep 'kde://') ]]
248     then
249     for mirror in ${KDE_MIRRORS}
250     do
251     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|kde:/|${mirror}|g")"
252    
253     if [[ ${FETCHING} = true ]]
254     then
255     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
256     wget \
257     --passive-ftp \
258     --tries 3 \
259     --continue \
260     --progress bar \
261     --directory-prefix="${my_SOURCEDIR}" \
262     "${my_SRC_URI_MIRROR}"
263     if [[ $? = 0 ]]
264     then
265     break
266     else
267     continue
268     fi
269     fi
270     done
271     elif [[ -n $(echo ${my_SRC_URI} | grep 'gnome://') ]]
272     then
273     for mirror in ${GNOME_MIRRORS}
274     do
275     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|gnome:/|${mirror}|g")"
276    
277     if [[ ${FETCHING} = true ]]
278     then
279     echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI_MIRROR}${COLDEFAULT}"
280   wget \   wget \
281   --passive-ftp \   --passive-ftp \
282   --tries 3 \   --tries 3 \
# Line 198  download_sources() Line 295  download_sources()
295   else   else
296   if [[ ${FETCHING} = true ]]   if [[ ${FETCHING} = true ]]
297   then   then
298   echo "==> fetching ${my_SRC_URI}"   echo -e "${COLBLUE}==>${COLGREEN} fetching ${my_SRC_URI}${COLDEFAULT}"
299   wget \   wget \
300   --passive-ftp \   --passive-ftp \
301   --tries 3 \   --tries 3 \
# Line 218  download_sources() Line 315  download_sources()
315    
316   # recheck md5 sums   # recheck md5 sums
317   echo   echo
318   echo ">== Checking MD5 sums:"   echo -e "${COLBLUE}===${COLGREEN} Checking MD5 sums:${COLDEFAULT}"
319   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} ) || die "md5 failed"   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} ) || die "md5 failed"
320   echo   echo
321    
# Line 308  munpack() Line 405  munpack()
405    
406   SRCFILE=$1   SRCFILE=$1
407    
408   if [ -z "$2" ]   if [[ -z $2 ]]
409   then   then
410   DEST=${BUILDDIR}   DEST=${BUILDDIR}
411   else   else
# Line 323  munpack() Line 420  munpack()
420   IFTAR="${IFTAR##*.}"   IFTAR="${IFTAR##*.}"
421   if [[ ${IFTAR} = tar ]]   if [[ ${IFTAR} = tar ]]
422   then   then
423   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."
424     else
425     pushd ${DEST} > /dev/null
426     bzcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .bz2) || die ".bz2 unpack failed."
427     popd > /dev/null
428   fi   fi
429   ;;   ;;
430   gz)   gz)
# Line 331  munpack() Line 432  munpack()
432   IFTAR="${IFTAR##*.}"   IFTAR="${IFTAR##*.}"
433   if [[ ${IFTAR} = tar ]]   if [[ ${IFTAR} = tar ]]
434   then   then
435   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."
436     else
437     pushd ${DEST} > /dev/null
438     zcat ${SOURCEDIR}/${PNAME}/${SRCFILE} > ${DEST}/$(basename ${SRCFILE} .gz) || die ".gz unpack failed."
439     popd > /dev/null
440   fi   fi
441   ;;   ;;
442   tbz2)   tbz2|mpks|mpk)
443   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvjf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tbz2 unpack failed."
444   ;;   ;;
445   tgz)   tgz)
446   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST}   tar --no-same-owner -xvzf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".tgz unpack failed."
447     ;;
448     rar)
449     unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST}  || die ".rar unpack failed."
450     ;;
451     zip|xpi)
452     unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed."
453     ;;
454     rpm)
455     pushd ${BUILDDIR} > /dev/null
456     rpm2targz ${SOURCEDIR}/${PNAME}/${SRCFILE} || die "rpm2targz: .rpm unpack failed."
457     tar --no-same-owner -xvzf ${SRCFILE/.rpm/.tar.gz/} || die "tar: .rpm unpack failed."
458     [[ -f ${BUILDDIR}/${SRCFILE/.rpm/.tar.gz/} ]] && rm ${BUILDDIR}/${SRCFILE/.rpm/.tar.gz/}
459   ;;   ;;
460   *)   *)
461   die "munpack failed"   die "munpack failed"
# Line 350  mpatch() Line 467  mpatch()
467  {  {
468   local PATCHOPTS   local PATCHOPTS
469   local PATCHFILE   local PATCHFILE
470     local i
471    
472   PATCHOPTS=$1   PATCHOPTS=$1
473   PATCHFILE=$2   PATCHFILE=$2
474    
475     if [[ -z $2 ]]
476     then
477     PATCHFILE=$1
478    
479     ## patch level auto-detection, get patch level
480     for ((i=0; i < 10; i++))
481     do
482     patch --dry-run -Np${i} -i ${SOURCEDIR}/${PNAME}/${PATCHFILE} > /dev/null
483     if [[ $? = 0 ]]
484     then
485     PATCHOPTS="-Np${i}"
486     break
487     fi
488     done
489     fi
490    
491   echo -e "${COLBLUE}*** ${COLGREEN}Applying patch '${PATCHFILE}'${COLDEFAULT}"   echo -e "${COLBLUE}*** ${COLGREEN}Applying patch '${PATCHFILE}'${COLDEFAULT}"
492   patch "${PATCHOPTS}" -i ${SOURCEDIR}/${PNAME}/${PATCHFILE}   patch "${PATCHOPTS}" -i ${SOURCEDIR}/${PNAME}/${PATCHFILE}
493  }  }
494    
495    mlibtoolize()
496    {
497     local opts="$@"
498     [[ -z ${opts} ]] && opts="--copy --force"
499    
500     libtoolize ${opts} || die "running: mlibtoolize ${opts}"
501    }
502    
503  minstalldocs()  minstalldocs()
504  {  {
# Line 412  setup_distcc_environment() Line 553  setup_distcc_environment()
553  {  {
554   if [ -x /usr/bin/distcc ]   if [ -x /usr/bin/distcc ]
555   then   then
556   echo "Using DistCC for compilation ..."   echo -e "${COLBLUE}---${COLGREEN} Using DistCC for compilation ...${COLDEFAULT}"
557   export PATH=/usr/$(mlibdir)/distcc/bin:${PATH} || die "distcc: could not export new $PATH"   export PATH=/usr/$(mlibdir)/distcc/bin:${PATH} || die "distcc: could not export new $PATH"
558    
559   export DISTCC_DIR="${DISTCC_DIR}" || die "distcc_dir export failed"   export DISTCC_DIR="${DISTCC_DIR}" || die "distcc_dir export failed"
# Line 427  setup_ccache_environment() Line 568  setup_ccache_environment()
568  {  {
569   if [ -x /usr/bin/ccache ]   if [ -x /usr/bin/ccache ]
570   then   then
571   echo "Using CCache for compilation ..."   echo -e "${COLBLUE}---${COLGREEN} Using CCache for compilation ...${COLDEFAULT}"
572   export PATH=/usr/$(mlibdir)/ccache/bin:${PATH} || die "ccache: could not export new $PATH"   export PATH=/usr/$(mlibdir)/ccache/bin:${PATH} || die "ccache: could not export new $PATH"
573   fi   fi
574  }  }
# Line 534  build_mage_script() Line 675  build_mage_script()
675   dest="${MAGE_TREE_DEST}/${PCATEGORIE}/${PNAME}${target}/${magefile}"   dest="${MAGE_TREE_DEST}/${PCATEGORIE}/${PNAME}${target}/${magefile}"
676    
677   # show what we are doing   # show what we are doing
678   echo "Generating Mage file:"   echo -e "${COLBLUE}===${COLGREEN} generating mage file:${COLDEFAULT}"
679   echo "  ${dest}"   echo "${dest}"
680    
681   install -d "$(dirname ${dest})"   install -d "$(dirname ${dest})"
682   # now build the mage file   # now build the mage file
683   > ${dest}   > ${dest}
684    
685   # header   # header
686   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.52 2007-02-23 14:42:17 niro Exp $' >> ${dest}   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.60 2007-11-05 17:08:33 niro Exp $' >> ${dest}
687   echo  >> ${dest}   echo  >> ${dest}
688    
689   # pgkname and state   # pgkname and state
# Line 650  regen_mage_tree() Line 791  regen_mage_tree()
791   # now unset all uneeded vars to be safe   # now unset all uneeded vars to be safe
792   # unset PKGNAME <-- don't do that; smage needs this var   # unset PKGNAME <-- don't do that; smage needs this var
793   # unset to be safe (quotes needed !)   # unset to be safe (quotes needed !)
794   for i in ${SPECIAL_FUNCTIONS}  # for i in ${SPECIAL_FUNCTIONS}
795   do  # do
796   unset "${i}"  # unset "${i}"
797   done  # done
798   unset SPECIAL_FUNCTIONS   unset SPECIAL_FUNCTIONS
799   for i in ${SPECIAL_VARS}  # for i in ${SPECIAL_VARS}
800   do  # do
801   unset "${i}"  # unset "${i}"
802   done  # done
803   unset SPECIAL_VARS   unset SPECIAL_VARS
804   unset STATE   unset STATE
805   unset DESCRIPTION   unset DESCRIPTION
# Line 741  generate_package_md5sum() Line 882  generate_package_md5sum()
882   # build pkg-md5-sum only if requested   # build pkg-md5-sum only if requested
883   if [[ ${REGEN_MAGE_TREE} = true ]]   if [[ ${REGEN_MAGE_TREE} = true ]]
884   then   then
885   echo -n "Generating a md5sum for ${pkgname}.${PKGSUFFIX} ... "   echo -ne "${COLBLUE}===${COLGREEN} generating md5's for ${pkgname}.${PKGSUFFIX} ... ${COLDEFAULT}"
886    
887   # abort if not exist   # abort if not exist
888   if [ ! -f ${PKGDIR}/${pkgname}.${PKGSUFFIX} ]   if [ ! -f ${PKGDIR}/${pkgname}.${PKGSUFFIX} ]
889   then   then
890   echo "! exists"   echo -e "${COLRED}! exists${COLDEFAULT}"
891   return 0   return 0
892   fi   fi
893    
# Line 760  generate_package_md5sum() Line 901  generate_package_md5sum()
901   # gen md5sum   # gen md5sum
902   ( cd ${PKGDIR}; md5sum "${pkgname}.${PKGSUFFIX}" ) \   ( cd ${PKGDIR}; md5sum "${pkgname}.${PKGSUFFIX}" ) \
903   > ${dest}/${pkgname}.md5   > ${dest}/${pkgname}.md5
904   echo "done"   echo -e "${COLGREEN}done${COLDEFAULT}"
905   fi   fi
906  }  }
907    
# Line 986  PKGNAME="${PNAME}-${PVER}-${ARCH}-${PBUI Line 1127  PKGNAME="${PNAME}-${PVER}-${ARCH}-${PBUI
1127  MD5DIR="$(dirname ${SMAGENAME})/md5"  MD5DIR="$(dirname ${SMAGENAME})/md5"
1128    
1129  xtitle "Compiling ${PKGNAME}"  xtitle "Compiling ${PKGNAME}"
1130  echo "Compiling ${PKGNAME}"  echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"
1131    
1132  # auto regen mage tree if requested  # auto regen mage tree if requested
1133  regen_mage_tree  regen_mage_tree
# Line 995  if [[ ${CREATE_SRC_PKG_TARBALL} = true ] Line 1136  if [[ ${CREATE_SRC_PKG_TARBALL} = true ]
1136  then  then
1137   if [[ -d ${SOURCEDIR}/${PNAME} ]]   if [[ -d ${SOURCEDIR}/${PNAME} ]]
1138   then   then
1139   echo -e "${COLGREEN}Deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"   echo -e "${COLBLUE}===${COLGREEN} deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"
1140   rm -rf ${SOURCEDIR}/${PNAME}   rm -rf ${SOURCEDIR}/${PNAME}
1141   fi   fi
1142  fi  fi
# Line 1064  src_install || die "src_install failed" Line 1205  src_install || die "src_install failed"
1205    
1206    
1207  # compressing doc, info & man files  # compressing doc, info & man files
 echo -e "Compressing man-pages ..."  
1208  if [ -d ${BUILDDIR}/builded/usr/share/man ]  if [ -d ${BUILDDIR}/builded/usr/share/man ]
1209  then  then
1210     echo -e "${COLBLUE}===${COLGREEN} compressing man-pages ...${COLDEFAULT}"
1211   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/man   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/man
1212  fi  fi
1213    
 echo -e "Compressing info-pages ..."  
1214  if [ -d ${BUILDDIR}/builded/usr/share/info ]  if [ -d ${BUILDDIR}/builded/usr/share/info ]
1215  then  then
1216     echo -e "${COLBLUE}===${COLGREEN} compressing info-pages ...${COLDEFAULT}"
1217   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info
1218  fi  fi
1219    
# Line 1082  case ${NOSTRIP} in Line 1223  case ${NOSTRIP} in
1223   echo -e "NOSTRIP=true detected; Package will not be stripped ..."   echo -e "NOSTRIP=true detected; Package will not be stripped ..."
1224   ;;   ;;
1225   *)   *)
1226   echo -e "Stripping binaries ..."   echo -e "${COLBLUE}===${COLGREEN} stripping binaries ...${COLDEFAULT}"
1227   mstripbins ${BINDIR}   mstripbins ${BINDIR}
1228   echo -e "Stripping libraries ..."   echo -e "${COLBLUE}===${COLGREEN} stripping libraries ...${COLDEFAULT}"
1229   mstriplibs ${BINDIR}   mstriplibs ${BINDIR}
1230   ;;   ;;
1231  esac  esac
# Line 1120  case ${NOPKGBUILD} in Line 1261  case ${NOPKGBUILD} in
1261   --parch "${ARCH}" \   --parch "${ARCH}" \
1262   --target "${target}"   --target "${target}"
1263    
1264   echo -e "\nPackage ${PNAME}-${target}-${PVER}-${ARCH}-${PBUILD} successfully builded.\n"   echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}-${PBUILD} successfully builded.\n${COLDEFAULT}"
1265   done   done
1266   else   else
1267   ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed"   ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed"
# Line 1133  case ${NOPKGBUILD} in Line 1274  case ${NOPKGBUILD} in
1274   --pbuild "${PBUILD}" \   --pbuild "${PBUILD}" \
1275   --parch "${ARCH}"   --parch "${ARCH}"
1276    
1277   echo -e "\nPackage ${PKGNAME} successfully builded.\n"   echo -e "${COLGREEN}\nPackage ${PKGNAME} successfully builded.\n${COLDEFAULT}"
1278   fi   fi
1279    
1280   # build src-pkg-tarball if requested   # build src-pkg-tarball if requested

Legend:
Removed from v.427  
changed lines
  Added in v.600