Magellan Linux

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

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

revision 33 by niro, Thu Jan 6 02:57:12 2005 UTC revision 253 by niro, Sun Oct 2 14:23:11 2005 UTC
# Line 4  Line 4 
4  # needs pkgbuild_dir (mage)  # needs pkgbuild_dir (mage)
5    
6  # SMAGE2  # SMAGE2
7  # version: 0.3.6-r9  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.37 2005-10-02 14:23:11 niro Exp $
8    
9  #01.10.2004  #01.10.2004
10  # added ccache support  # added ccache support
11  # added distcc support  # added distcc support
12    
13  ## setup ##  ## setup ##
 SMAGEVERSION=0.3.6-r8  
14  PKGSUFFIX="mpk"  PKGSUFFIX="mpk"
15  SMAGENAME="$1"  SMAGENAME="$1"
16  SMAGESUFFIX="smage2"  SMAGESUFFIX="smage2"
# Line 19  SMAGESUFFIX="smage2" Line 18  SMAGESUFFIX="smage2"
18  #SMAGESCRIPTSDIR="/bootstrap/smage2-install-scripts"  #SMAGESCRIPTSDIR="/bootstrap/smage2-install-scripts"
19  #SMAGE2RSYNC="rsync://192.168.0.2/smage2-scripts"  #SMAGE2RSYNC="rsync://192.168.0.2/smage2-scripts"
20  MLIBDIR=/usr/lib/mage  MLIBDIR=/usr/lib/mage
21    SMAGEVERSION="$( < ${MLIBDIR}/version)"
22    
23    # export default C locale
24    export LC_ALL=C
25    
26  source /etc/mage.rc  source /etc/mage.rc
27    
# Line 84  syncsmage2() { Line 87  syncsmage2() {
87   xtitleclean   xtitleclean
88  }  }
89    
90    # $1 filename
91    get_db_md5_sum() {
92     local DB_FILE
93     local MD5_FILE
94     local i
95    
96     DB_ENTRY="$(basename $1)"
97     MD5_FILE="${MD5DIR}/$(basename ${SMAGENAME} ${SMAGESUFFIX})"
98    
99     i="$(cat ${MD5_FILE}| grep ${DB_ENTRY} | cut -d' ' -f1)"
100    
101     echo "${i}"
102    }
103    
104    download_sources() {
105    
106     [ -z "${SRC_URI}" ] && echo -e "\nNothing declared to download.\n" && return 0
107    
108     local EOA=${#SRC_URI[*]}
109     local my_SRC_URI
110     local my_SRC_URI_DEST
111     local my_SRC_URI_MIRROR
112     local my_SOURCEDIR
113     local DB_MD5_SUM_FILE="${MD5DIR}/$(basename ${SMAGENAME} .${SMAGESUFFIX}).md5"
114     local FETCHING
115     local i mirror
116    
117    
118     #install SRCDIR/PNAME if not exist
119     [ ! -d ${SOURCEDIR}/${PNAME} ] && install -d ${SOURCEDIR}/${PNAME}
120    
121     # check if FETCHING is needed
122     ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null )
123     if [[ $? == 0 ]]
124     then
125     # md5's ok, not fetching needed
126     FETCHING=false
127     else
128     FETCHING=true
129     fi
130    
131     for ((i=0; i < EOA; i++))
132     do
133     # url to file
134     my_SRC_URI="$(echo ${SRC_URI[${i}]} | cut -d' ' -f1)"
135    
136     # subdir in sources dir; the my_SRCI_URI file goes to there
137     my_SRC_URI_DEST="$(echo ${SRC_URI[${i}]} | cut -d' ' -f2)"
138    
139     # if my_src_uri_dest is not equal my_src_uri; than an other dir is used
140     if [[ ${my_SRC_URI_DEST} != ${my_SRC_URI} ]]
141     then
142     my_SOURCEDIR="${SOURCEDIR}/${PNAME}/${my_SRC_URI_DEST}"
143     else
144     my_SOURCEDIR="${SOURCEDIR}/${PNAME}"
145     fi
146    
147     # if an mirrored file than replace first the mirror uri
148     if [ -n "$(echo ${my_SRC_URI} | grep 'mirror://')" ]
149     then
150     for mirror in ${MIRRORS}
151     do
152     my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|mirror:/|${mirror}/sources|g")"
153    
154     #echo "DEBUG: ${MY_SRC_URI}"
155     if [[ ${FETCHING} == true ]]
156     then
157     echo "==> fetching ${my_SRC_URI_MIRROR}"
158     wget \
159     --passive-ftp \
160     --tries 3 \
161     --continue \
162     --progress bar \
163     --directory-prefix="${my_SOURCEDIR}" \
164     "${my_SRC_URI_MIRROR}"
165     if [ "$?" == "0" ]
166     then
167     break
168     else
169     continue
170     fi
171     fi
172     done
173     else
174     #echo "DEBUG: ${SRC_URI[${i}]}"
175     if [[ ${FETCHING} == true ]]
176     then
177     echo "==> fetching ${my_SRC_URI}"
178     wget \
179     --passive-ftp \
180     --tries 3 \
181     --continue \
182     --progress bar \
183     --directory-prefix="${my_SOURCEDIR}" \
184     "${my_SRC_URI}"
185    # only needed to run through a list of mirrors
186    # if [ "$?" == "0" ]
187    # then
188    # break
189    # else
190    # continue
191    # fi
192     fi
193     fi
194    
195     # unset them to be shure
196     unset my_SRC_URI
197     unset my_SRC_URI_DEST
198     unset my_SRC_URI_MIRROR
199     unset my_SOURCEDIR
200     done
201    
202     # recheck md5 sums
203     echo
204     echo ">== Checking MD5 sums:"
205     ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} ) || die "md5 failed"
206     echo
207    
208     # not needed anymore
209     unset SRC_URI
210    }
211    
212  # dummy function, used if that not exist in smage file  # dummy function, used if that not exist in smage file
213  src_prepare() {  src_prepare() {
214   echo "no src_prepare defined"   echo "no src_prepare defined"
# Line 105  src_install() { Line 230  src_install() {
230   return 0   return 0
231  }  }
232    
   
 build_mage_script() {  
  return 0  
 }  
   
233  mconfigure() {  mconfigure() {
234   if [ -x ./configure ]   if [ -x ./configure ]
235   then   then
# Line 218  minstalldocs() { Line 338  minstalldocs() {
338   done   done
339  }  }
340    
341    mstriplibs() {
342     local stripdir="$@"
343    
344     [ -z "${stripdir}" ] && stripdir=${BINDIR}
345     find ${stripdir} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
346    }
347    
348    mstripbins() {
349     local stripdir="$@"
350    
351     [ -z "${stripdir}" ] && stripdir=${BINDIR}
352     find ${stripdir} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
353    }
354    
355    sminclude() {
356     local i
357    
358     if [[ -n "$@" ]]
359     then
360     for i in $@
361     do
362     echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc"
363     source ${SMAGESCRIPTSDIR}/include/${i}.sminc
364     done
365     echo
366     fi
367    }
368    
369  setup_distcc_environment(){  setup_distcc_environment(){
370   if [ -x /usr/bin/distcc ]   if [ -x /usr/bin/distcc ]
371   then   then
# Line 258  setup_ccache_environment(){ Line 406  setup_ccache_environment(){
406   fi   fi
407  }  }
408    
409    
410    # fixes given dependencies to match a MAGE_TARGET
411    # fix_mage_deps -target s/depend # <-- note -target !
412    fix_mage_deps() {
413     local target="$1"
414     local depend="$2"
415     local NDEPEND
416     local sym dep cat pver pname
417    
418     # deps and provides are special
419     # they must be fixed to match the target
420    
421     # run this only if target and depend is not empty
422     if [ -n "${target}" ] && [ -n "${depend}" ]
423     then
424     # fix DEPEND
425     while read sym dep
426     do
427     cat="$(dirname ${dep})"
428     # change if not virtual
429     if [[ ${cat} = virtual ]]
430     then
431     pname="$(basename ${dep})"
432     else
433     # fix pver to target-pver
434     # to get pname-target-pver
435    
436     # doing it backwards !
437     pver="${dep##*-}"
438     # full pver
439     pname="$(basename ${dep/-${pver}/})${target}-${pver}"
440     fi
441    
442     # do not add empty lines
443     if [ -z "${NDEPEND}" ]
444     then
445     NDEPEND="${sym} ${cat}/${pname}"
446     else
447     NDEPEND="${NDEPEND}
448     ${sym} ${cat}/${pname}"
449     fi
450    
451     unset cat pname pver
452     done << EOF
453    ${depend}
454    EOF
455     # set NDEPEND to DEPEND
456     depend="${NDEPEND}"
457     fi
458    
459     echo "${depend}"
460    }
461    
462    # build_mage_script(): helper functions for regen_mage_tree()
463    # generates an mage file with given information in smage file
464    # needs at least:
465    #   PNAME                 name of pkg
466    #   PVER                  version
467    #   PBUILD                revision
468    #   PCATEGORIE            categorie of the pkg
469    #   STATE                 state of pkg stable|unstable|old
470    #   DESCRIPTION           va short description (opt)
471    #   HOMEPAGE              homepage (opt)
472    #   DEPEND                runtime dependencies (opt)
473    #   SDEPEND               add. needed deps to build the pkg (opt)
474    #   PROVIDE               provides a virtual (opt)
475    #
476    # special tags:
477    #   PKGTYPE               type of pkg
478    #   INHERITS              which functions get included
479    #   SPECIAL_FUNCTIONS     special functions wich should also be added
480    #                         warning: they get killed before the build starts !
481    #
482    #   MAGE_TREE_DEST        target destination of the generated tree
483    #   REGEN_MAGE_TREE       set to 'true' to enable this
484    #
485    # gets called with build_mage_script target
486    build_mage_script()
487    {
488     local magefile
489     local dest
490     local target
491     local sym
492     local depname
493    
494     # if MAGE_TREE_DEST not set use BUILDDIR
495     : ${MAGE_TREE_DEST=${BUILDDIR}/mage-tree}
496    
497     # determinate which suffix this mage file should get, if any
498     [ -n "$1" ] && target="-$1"
499    
500     # name of magefile
501     magefile="${PNAME}${target}-${PVER}-${PBUILD}.mage"
502    
503     # destination to magefile
504     dest="${MAGE_TREE_DEST}/${PCATEGORIE}/${PNAME}${target}/${magefile}"
505    
506     # show what we are doing
507     echo "Generating Mage file:"
508     echo "  ${dest}"
509    
510     install -d "$(dirname ${dest})"
511     # now build the mage file
512     > ${dest}
513    
514     # header
515     echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.37 2005-10-02 14:23:11 niro Exp $' >> ${dest}
516     echo  >> ${dest}
517    
518     # pgkname and state
519     echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}-${PBUILD}\"" >> ${dest}
520     echo "STATE=\"${STATE}\"" >> ${dest}
521     echo >> ${dest}
522    
523     # description and homepage
524     echo "DESCRIPTION=\"${DESCRIPTION}\"" >> ${dest}
525     echo "HOMEPAGE=\"${HOMEPAGE}\"" >> ${dest}
526     echo >> ${dest}
527    
528     # special tags and vars
529     echo "PKGTYPE=\"${PKGTYPE}\""  >> ${dest}
530    
531     # echo MAGE_TARGETS ## note -target is needed !
532     echo "MAGE_TARGETS=\"${target}\"" >> ${dest}
533     echo >> ${dest}
534    
535     # add special vars
536     if [ -n "${SPECIAL_VARS}" ]
537     then
538     local i
539     for i in ${SPECIAL_VARS}
540     do
541     # being tricky here :)
542     echo "${i}=\"$(eval echo \$${i})\"" >> ${dest}
543     done
544     echo  >> ${dest}
545     fi
546    
547     # add at least all includes
548     if [ -n "${INHERITS}" ]
549     then
550     echo -n "minclude"  >> ${dest}
551     local i
552     for i in ${INHERITS}
553     do
554     echo -n " ${i}"  >> ${dest}
555     done
556     echo  >> ${dest}
557     fi
558     echo >> ${dest}
559    
560     # deps and provides
561     echo "DEPEND=\"$(fix_mage_deps "${target}" "${DEPEND}")\"" >> ${dest}
562     echo >> ${dest}
563     echo "SDEPEND=\"$(fix_mage_deps "${target}" "${SDEPEND}")\"" >> ${dest}
564     echo >> ${dest}
565     echo "PROVIDE=\"${PROVIDE}\"" >> ${dest}
566     echo >> ${dest}
567    
568     # add special functions
569     if [ -n "${SPECIAL_FUNCTIONS}" ]
570     then
571     local i
572     for i in ${SPECIAL_FUNCTIONS}
573     do
574     # add to mage (quotes needed !)
575     typeset -f "${i}" >> ${dest}
576     echo >> ${dest}
577     # unset to be safe (quotes needed !)
578     #unset "${i}" <-- later to get every target built
579     done
580     echo  >> ${dest}
581     fi
582    
583     # pre|post-install|removes
584     typeset -f preinstall >> ${dest}
585     echo  >> ${dest}
586     typeset -f postinstall >> ${dest}
587     echo  >> ${dest}
588     typeset -f preremove >> ${dest}
589     echo  >> ${dest}
590     typeset -f postremove >> ${dest}
591     echo  >> ${dest}
592    }
593    
594    regen_mage_tree()
595    {
596     local i
597    
598     # build them only if requested
599     if [[ ${REGEN_MAGE_TREE} = true ]]
600     then
601     # run it without targets
602     if [ -z "${MAGE_TARGETS}" ]
603     then
604     echo
605     build_mage_script
606     echo
607     else
608    
609     # build for each target an mage file
610     # run it with several targets
611     for i in ${MAGE_TARGETS}
612     do
613     echo
614     build_mage_script "${i}"
615     echo
616     done
617     fi
618     fi
619    
620     # now unset all uneeded vars to be safe
621     # unset PKGNAME <-- don't do that; smage needs this var
622     # unset to be safe (quotes needed !)
623     for i in ${SPECIAL_FUNCTIONS}
624     do
625     unset "${i}"
626     done
627     unset SPECIAL_FUNCTIONS
628     for i in ${SPECIAL_VARS}
629     do
630     unset "${i}"
631     done
632     unset SPECIAL_VARS
633     unset STATE
634     unset DESCRIPTION
635     unset HOMEPAGE
636     unset PKGTYPE
637     unset INHERITS
638     unset DEPEND
639     unset SDEPEND
640     unset PROVIDE
641     unset preinstall
642     unset postinstall
643     unset preremove
644     unset postremove
645    }
646    
647    export_inherits()
648    {
649     local include="$1"
650     shift
651    
652     while [ "$1" ]
653     do
654     local functions="$1"
655    
656     # sanity checks
657     [ -z "${include}" ] && die "export_inherits(): \$include not given."
658     [ -z "${functions}" ] && die "export_inherits(): \$functions not given."
659    
660     eval "${functions}() { ${include}_${functions} ; }"
661    
662     # debug
663     [[ ${MAGEDEBUG} = on ]] && typeset -f "${functions}"
664    
665     shift
666     done
667    }
668    
669    # print out our version
670    showversion
671    echo
672    
673  if [ -z "$1" ]  if [ -z "$1" ]
674  then  then
  showversion  
  echo  
675   echo "No .smage2 file given. Exiting."   echo "No .smage2 file given. Exiting."
676   echo   echo
677   exit 1   exit 1
678  fi  fi
679    
680  #updating smage2-scripts  # updating smage2-scripts
681  if [ "$1" == "update" ]  if [ "$1" == "update" ]
682  then  then
683   showversion   if [ ! -d ${SOURCEDIR} ]
684     then
685     install -d ${SOURCEDIR}
686     fi
687     syncsmage2
688     exit 0
689    fi
690    
691    # creates md5sums for smages to given dir
692    if [ "$1" == "calcmd5" ]
693    then
694     if [ $# -ge 3 ]
695     then
696     SMAGENAME="$2"
697     MD5DIR="$3"
698     source ${SMAGENAME} || die "download source failed"
699    
700     # overridable sourcedir; must be declared after source of the smage2
701     CALC_SOURCEDIR="${CALC_SOURCEDIR:="${SOURCEDIR}/${PNAME}"}"
702    
703     [ -z "${SRC_URI}" ] && die "Nothing declared to calculate."
704    
705     # end of array
706     EOA=${#SRC_URI[*]}
707    
708     [ ! -d ${MD5DIR} ] && install -d ${MD5DIR}
709    
710     # clear md5sum file
711     MY_MD5_FILE="${MD5DIR}/$(basename ${SMAGENAME} .${SMAGESUFFIX}).md5"
712     echo -n > ${MY_MD5_FILE}
713    
714     for ((i=0; i < EOA; i++))
715     do
716     # url to file
717     my_SRC_URI="$(echo ${SRC_URI[${i}]} | cut -d' ' -f1)"
718    
719     # subdir in sources dir; the my_SRCI_URI file goes to there
720     my_SRC_URI_DEST="$(echo ${SRC_URI[${i}]} | cut -d' ' -f2)"
721    
722     # if my_src_uri_dest is not equal my_src_uri; than an other dir is used
723     if [[ ${my_SRC_URI_DEST} != ${my_SRC_URI} ]]
724     then
725     MY_SRC_FILE="${my_SRC_URI_DEST}/$(basename ${SRC_URI[${i}]})"
726     else
727     MY_SRC_FILE="$(basename ${SRC_URI[${i}]})"
728     fi
729    
730     if [ -e "${CALC_SOURCEDIR}/${MY_SRC_FILE}" ]
731     then
732     echo "calculating $(basename ${MY_SRC_FILE}) ..."
733     ( cd ${CALC_SOURCEDIR}; md5sum "${MY_SRC_FILE}" ) >> ${MY_MD5_FILE}
734     else
735     echo "WARNING: File '$(basename ${MY_SRC_FILE}) not found in ${CALC_SOURCEDIR}."
736     fi
737    
738     # unset them to be shure
739     unset my_SRC_URI
740     unset my_SRC_URI_DEST
741     unset my_SRC_URI_MIRROR
742     unset my_SOURCEDIR
743     done
744    
745     echo
746     echo "Calculating of md5 sums for '$(basename ${SMAGENAME} .${SMAGESUFFIX})' done."
747     echo
748     else
749     echo "Usage: Calculating MD5 Sums:"
750     echo "    $(basename $0) calcmd5 /path/to/SMAGENAME /path/to/MD5DIR"
751     echo
752     echo
753     echo "Export the CALC_SOURCEDIR variable to override current SOURCEDIRs."
754     echo
755     exit 1
756     fi
757    
758     exit 0
759    fi
760    
761    # download sources
762    if [ "$1" == "download" -a -n "$2" ]
763    then
764   if [ ! -d ${SMAGESCRIPTSDIR} ]   if [ ! -d ${SMAGESCRIPTSDIR} ]
765   then   then
766   install -d ${SMAGESCRIPTSDIR}   install -d ${SMAGESCRIPTSDIR}
767   fi   fi
768   syncsmage2  
769     # get smage
770     SMAGENAME="$2"
771     MD5DIR="$(dirname ${SMAGENAME})/md5"
772     source ${SMAGENAME} || die "download source failed"
773    
774     download_sources
775   exit 0   exit 0
776  fi  fi
777    
778    # regen-mage-tree
779    if [ "$1" == "only-regen-tree" -a -n "$2" ]
780    then
781     # set correct SMAGENAME
782     SMAGENAME="$2"
783     MD5DIR="$(dirname ${SMAGENAME})/md5"
784     source ${SMAGENAME} || die "regen: smage2 not found"
785    
786     regen_mage_tree
787     exit 0
788    fi
789    
790  if [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ]  if [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ]
791  then  then
# Line 329  fi Line 836  fi
836    
837  source ${SMAGENAME} || die "source failed"  source ${SMAGENAME} || die "source failed"
838  PKGNAME="${PNAME}-${PVER}-${CHOST%%-*}-${PBUILD}"  PKGNAME="${PNAME}-${PVER}-${CHOST%%-*}-${PBUILD}"
839    MD5DIR="$(dirname ${SMAGENAME})/md5"
840    
841  xtitle "Compiling ${PKGNAME}"  xtitle "Compiling ${PKGNAME}"
842  #fixes some issues with these functions  echo "Compiling ${PKGNAME}"
843    
844    # auto regen mage tree if requested
845    regen_mage_tree
846    
847    # download sources
848    download_sources
849    
850    # fixes some issues with these functions
851  export -f src_prepare || die "src_prepare export failed"  export -f src_prepare || die "src_prepare export failed"
852  export -f src_compile || die "src_compile export failed"  export -f src_compile || die "src_compile export failed"
853  export -f src_install || die "src_install export failed"  export -f src_install || die "src_install export failed"
854    
855  #fixes some compile issues  # fixes some compile issues
856  export CHOST="${CHOST}" || die "CHOST export failed"  export CHOST="${CHOST}" || die "CHOST export failed"
857  export CFLAGS="${CFLAGS}" || die "CFLAGS export failed"  export CFLAGS="${CFLAGS}" || die "CFLAGS export failed"
858  export CXXFLAGS="${CFLAGS}" || die "CXXFLAGS export failed"  export CXXFLAGS="${CFLAGS}" || die "CXXFLAGS export failed"
# Line 344  export BINDIR="${BINDIR}" || die "BINDIR Line 860  export BINDIR="${BINDIR}" || die "BINDIR
860  export MAKEOPTS="${MAKEOPTS}" || die "MAKEOPTS export failed"  export MAKEOPTS="${MAKEOPTS}" || die "MAKEOPTS export failed"
861    
862    
863  #setup distcc  # setup distcc
864  #distcc mus be setup *before* ccache, as ccache need to be before distcc in path  # distcc mus be setup *before* ccache, as ccache need to be before distcc in path
865  if [ "${SMAGE_USE_DISTCC}" == "true" ]  if [ "${SMAGE_USE_DISTCC}" == "true" ]
866  then  then
867   setup_distcc_environment   setup_distcc_environment
868  fi  fi
869    
870  #setup ccache  # setup ccache
871  if [ "${SMAGE_USE_CCACHE}" == "true" ]  if [ "${SMAGE_USE_CCACHE}" == "true" ]
872  then  then
873   setup_ccache_environment   setup_ccache_environment
# Line 372  sleep 1 Line 888  sleep 1
888  #read  #read
889  #debug end  #debug end
890    
891  #cleans up build if a previously one exists  # cleans up build if a previously one exists
892  if [ -d ${BUILDDIR} ]  if [ -d ${BUILDDIR} ]
893  then  then
894   rm -rf ${BUILDDIR}/* || die "couldn't cleanup \$BUILDDIR."   rm -rf ${BUILDDIR}/* || die "couldn't cleanup \$BUILDDIR."
895  fi  fi
896  install -d ${BUILDDIR} || die "couldn't create \$BUILDDIR."  install -d ${BUILDDIR} || die "couldn't create \$BUILDDIR."
897    
898  #cleans up srcdir if a previously unpacked one exists  # cleans up srcdir if a previously unpacked one exists
899  if [ -d ${SRCDIR} ]  if [ -d ${SRCDIR} ]
900  then  then
901   rm -rf ${SRCDIR}   rm -rf ${SRCDIR}
902  fi  fi
903    
904  #cleans up bindir if a previous build exists or creates a new one  # cleans up bindir if a previous build exists or creates a new one
905  if [ -d ${BINDIR} ]  if [ -d ${BINDIR} ]
906  then  then
907   rm -rf ${BINDIR}   rm -rf ${BINDIR}
908  fi  fi
909  install -d ${BINDIR} || die "couldn't create \$BINDIR."  install -d ${BINDIR} || die "couldn't create \$BINDIR."
910    
911  #cleans up package temp dir if a previous build exists  # cleans up package temp dir if a previous build exists
912  if [ -d ${BUILDDIR}/${PKGNAME} ]  if [ -d ${BUILDDIR}/${PKGNAME} ]
913  then  then
914   rm -rf ${BUILDDIR}/${PKGNAME}   rm -rf ${BUILDDIR}/${PKGNAME}
915  fi  fi
916    
917  #cleans up timestamp if one exists  # cleans up timestamp if one exists
918  if [ -f /var/tmp/timestamp ]  if [ -f /var/tmp/timestamp ]
919  then  then
920   mage rmstamp   mage rmstamp
# Line 409  src_compile || die "src_compile failed" Line 925  src_compile || die "src_compile failed"
925  src_install || die "src_install failed"  src_install || die "src_install failed"
926    
927    
928  #compressing doc, info & man files  # compressing doc, info & man files
929  echo -e "Compressing man-pages ..."  echo -e "Compressing man-pages ..."
930  if [ -d ${BUILDDIR}/builded/usr/share/man ]  if [ -d ${BUILDDIR}/builded/usr/share/man ]
931  then  then
# Line 422  then Line 938  then
938   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info
939  fi  fi
940    
941  #the new buildpkg command  # stripping all bins and libs
942    case ${NOSTRIP} in
943     true|TRUE|yes|y)
944     echo -e "NOSTRIP=true detected; Package will not be stripped ..."
945     ;;
946     *)
947     echo -e "Stripping binaries ..."
948     mstripbins ${BINDIR}
949     echo -e "Stripping libraries ..."
950     mstriplibs ${BINDIR}
951     ;;
952    esac
953    
954    # the new buildpkg command
955  case ${NOPKGBUILD} in  case ${NOPKGBUILD} in
956   true|TRUE|yes|y)   true|TRUE|yes|y)
957   echo -e "NOPGKBUILD=true detected; Package will not be build ..."   echo -e "NOPGKBUILD=true detected; Package will not be build ..."
958   ;;   ;;
959   *)   *)
960   ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed"   # build serveral targets
961   echo -e "\nPackage ${PKGNAME} successfully builded.\n"   if [ -n "${MAGE_TARGETS}" ]
962     then
963     for target in ${MAGE_TARGETS}
964     do
965     # check if an special target_pkgbuild exists
966     if typeset -f ${target}_pkgbuild > /dev/null
967     then
968     # run it
969     ${target}_pkgbuild
970     fi
971     # now create the target package
972     ${MLIBDIR}/pkgbuild_dir.sh \
973     "${PNAME}-${target}-${PVER}-${CHOST%%-*}-${PBUILD}" \
974     ${BINDIR} || die "target: ${target} package-build failed"
975     echo -e "\nPackage ${PNAME}-${target}-${PVER}-${CHOST%%-*}-${PBUILD} successfully builded.\n"
976     done
977     else
978     ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed"
979     echo -e "\nPackage ${PKGNAME} successfully builded.\n"
980     fi
981   ;;   ;;
982  esac  esac
983    
984  #for sure  # for sure
985  unset NOPKGBUILD  unset NOPKGBUILD
986    unset NOSTRIP
987    
988  xtitleclean  xtitleclean
989  #echo -e "\nPackage ${PKGNAME} successfully builded.\n"  #echo -e "\nPackage ${PKGNAME} successfully builded.\n"

Legend:
Removed from v.33  
changed lines
  Added in v.253