Magellan Linux

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

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

revision 59 by niro, Tue Feb 15 22:58:43 2005 UTC revision 183 by niro, Tue Aug 9 14:17:15 2005 UTC
# Line 4  Line 4 
4  # needs pkgbuild_dir (mage)  # needs pkgbuild_dir (mage)
5    
6  # SMAGE2  # SMAGE2
7  # version: 0.3.6-r13  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.20 2005-08-09 14:17:15 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 ##
14  SMAGEVERSION=0.3.6-r13  SMAGEVERSION=0.3.7-r1
15  PKGSUFFIX="mpk"  PKGSUFFIX="mpk"
16  SMAGENAME="$1"  SMAGENAME="$1"
17  SMAGESUFFIX="smage2"  SMAGESUFFIX="smage2"
# Line 20  SMAGESUFFIX="smage2" Line 20  SMAGESUFFIX="smage2"
20  #SMAGE2RSYNC="rsync://192.168.0.2/smage2-scripts"  #SMAGE2RSYNC="rsync://192.168.0.2/smage2-scripts"
21  MLIBDIR=/usr/lib/mage  MLIBDIR=/usr/lib/mage
22    
23    # export default C locale
24    export LC_ALL=C
25    
26  source /etc/mage.rc  source /etc/mage.rc
27    
28  showversion() {  showversion() {
# Line 100  get_db_md5_sum() { Line 103  get_db_md5_sum() {
103    
104  download_sources() {  download_sources() {
105    
106   [ -z "${SRC_URI}" ] && echo "Nothing declared to download." && return 0   [ -z "${SRC_URI}" ] && echo -e "\nNothing declared to download.\n" && return 0
107    
108   local EOA=${#SRC_URI[*]}   local EOA=${#SRC_URI[*]}
109   local MY_SRC_URI   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"   local DB_MD5_SUM_FILE="${MD5DIR}/$(basename ${SMAGENAME} .${SMAGESUFFIX}).md5"
114   local FETCHING   local FETCHING
115   local i mirror   local i mirror
# Line 113  download_sources() { Line 119  download_sources() {
119   [ ! -d ${SOURCEDIR}/${PNAME} ] && install -d ${SOURCEDIR}/${PNAME}   [ ! -d ${SOURCEDIR}/${PNAME} ] && install -d ${SOURCEDIR}/${PNAME}
120    
121   # check if FETCHING is needed   # check if FETCHING is needed
122   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} > /dev/null )   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} &> /dev/null )
123   if [[ $? == 0 ]]   if [[ $? == 0 ]]
124   then   then
125   # md5's ok, not fetching needed   # md5's ok, not fetching needed
# Line 124  download_sources() { Line 130  download_sources() {
130    
131   for ((i=0; i < EOA; i++))   for ((i=0; i < EOA; i++))
132   do   do
133   # get MD5 sum from database   # 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   # if an mirrored file than replace first the mirror uri
148   if [ -n "$(echo ${SRC_URI[${i}]} | grep 'mirror://')" ]   if [ -n "$(echo ${my_SRC_URI} | grep 'mirror://')" ]
149   then   then
150   for mirror in ${MIRRORS}   for mirror in ${MIRRORS}
151   do   do
152   MY_SRC_URI="$(echo ${SRC_URI[${i}]} | sed "s|mirror:/|${mirror}/sources|g")"   my_SRC_URI_MIRROR="$(echo ${my_SRC_URI} | sed "s|mirror:/|${mirror}/sources|g")"
153    
154   #echo "DEBUG: ${MY_SRC_URI}"   #echo "DEBUG: ${MY_SRC_URI}"
155   if [[ ${FETCHING} == true ]]   if [[ ${FETCHING} == true ]]
156   then   then
157   echo "==> fetching ${MY_SRC_URI}"   echo "==> fetching ${my_SRC_URI_MIRROR}"
158   wget \   wget \
159   --passive-ftp \   --passive-ftp \
160   --tries 3 \   --tries 3 \
161   --continue \   --continue \
162   --progress bar \   --progress bar \
163   --directory-prefix="${SOURCEDIR}/${PNAME}" \   --directory-prefix="${my_SOURCEDIR}" \
164   "${MY_SRC_URI}"   "${my_SRC_URI_MIRROR}"
165   if [ "$?" == "0" ]   if [ "$?" == "0" ]
166   then   then
167   break   break
# Line 157  download_sources() { Line 174  download_sources() {
174   #echo "DEBUG: ${SRC_URI[${i}]}"   #echo "DEBUG: ${SRC_URI[${i}]}"
175   if [[ ${FETCHING} == true ]]   if [[ ${FETCHING} == true ]]
176   then   then
177   echo "==> fetching ${SRC_URI[${i}]}"   echo "==> fetching ${my_SRC_URI}"
178   wget \   wget \
179   --passive-ftp \   --passive-ftp \
180   --tries 3 \   --tries 3 \
181   --continue \   --continue \
182   --progress bar \   --progress bar \
183   --directory-prefix="${SOURCEDIR}/${PNAME}" \   --directory-prefix="${my_SOURCEDIR}" \
184   "${MY_SRC_URI}"   "${my_SRC_URI}"
185   if [ "$?" == "0" ]  # only needed to run through a list of mirrors
186   then  # if [ "$?" == "0" ]
187   break  # then
188   else  # break
189   continue  # else
190   fi  # continue
191    # fi
192   fi   fi
193   fi   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   done
201    
202   # recheck md5 sums   # recheck md5 sums
203   echo   echo
204   echo ">== Checking MD5 sums:"   echo ">== Checking MD5 sums:"
205   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} || die "md5 failed")   ( cd ${SOURCEDIR}/${PNAME}; md5sum --check ${DB_MD5_SUM_FILE} ) || die "md5 failed"
206   echo   echo
207    
208   # not needed anymore   # not needed anymore
# Line 320  minstalldocs() { Line 343  minstalldocs() {
343   done   done
344  }  }
345    
346    mstriplibs() {
347     local stripdir="$@"
348    
349     [ -z "${stripdir}" ] && stripdir=${BINDIR}
350     find ${stripdir} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
351    }
352    
353    mstripbins() {
354     local stripdir="$@"
355    
356     [ -z "${stripdir}" ] && stripdir=${BINDIR}
357     find ${stripdir} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
358    }
359    
360    sminclude() {
361     local i
362    
363     if [[ -n "$@" ]]
364     then
365     for i in $@
366     do
367     echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc"
368     source ${SMAGESCRIPTSDIR}/include/${i}.sminc
369     done
370     echo
371     fi
372    }
373    
374  setup_distcc_environment(){  setup_distcc_environment(){
375   if [ -x /usr/bin/distcc ]   if [ -x /usr/bin/distcc ]
376   then   then
# Line 387  if [ "$1" == "calcmd5" ] Line 438  if [ "$1" == "calcmd5" ]
438  then  then
439   if [ $# -ge 3 ]   if [ $# -ge 3 ]
440   then   then
  # overridable sourcedir  
  CALC_SOURCEDIR="${CALC_SOURCEDIR:="${SOURCEDIR}/${PNAME}"}"  
   
441   SMAGENAME="$2"   SMAGENAME="$2"
442   MD5DIR="$3"   MD5DIR="$3"
443   source ${SMAGENAME} || die "download source failed"   source ${SMAGENAME} || die "download source failed"
444    
445     # overridable sourcedir; must be declared after source of the smage2
446     CALC_SOURCEDIR="${CALC_SOURCEDIR:="${SOURCEDIR}/${PNAME}"}"
447    
448   [ -z "${SRC_URI}" ] && die "Nothing declared to calculate."   [ -z "${SRC_URI}" ] && die "Nothing declared to calculate."
449    
450   # end of array   # end of array
# Line 407  then Line 458  then
458    
459   for ((i=0; i < EOA; i++))   for ((i=0; i < EOA; i++))
460   do   do
461   MY_SRC_FILE="$(basename ${SRC_URI[${i}]})"   # url to file
462     my_SRC_URI="$(echo ${SRC_URI[${i}]} | cut -d' ' -f1)"
463    
464     # subdir in sources dir; the my_SRCI_URI file goes to there
465     my_SRC_URI_DEST="$(echo ${SRC_URI[${i}]} | cut -d' ' -f2)"
466    
467     # if my_src_uri_dest is not equal my_src_uri; than an other dir is used
468     if [[ ${my_SRC_URI_DEST} != ${my_SRC_URI} ]]
469     then
470     MY_SRC_FILE="${my_SRC_URI_DEST}/$(basename ${SRC_URI[${i}]})"
471     else
472     MY_SRC_FILE="$(basename ${SRC_URI[${i}]})"
473     fi
474    
475   if [ -e "${CALC_SOURCEDIR}/${MY_SRC_FILE}" ]   if [ -e "${CALC_SOURCEDIR}/${MY_SRC_FILE}" ]
476   then   then
477   echo "calculating $(basename ${MY_SRC_FILE}) ..."   echo "calculating $(basename ${MY_SRC_FILE}) ..."
# Line 415  then Line 479  then
479   else   else
480   echo "WARNING: File '$(basename ${MY_SRC_FILE}) not found in ${CALC_SOURCEDIR}."   echo "WARNING: File '$(basename ${MY_SRC_FILE}) not found in ${CALC_SOURCEDIR}."
481   fi   fi
482    
483     # unset them to be shure
484     unset my_SRC_URI
485     unset my_SRC_URI_DEST
486     unset my_SRC_URI_MIRROR
487     unset my_SOURCEDIR
488   done   done
489    
490   echo   echo
# Line 436  fi Line 506  fi
506  #download sources  #download sources
507  if [ "$1" == "download" -a -n "$2" ]  if [ "$1" == "download" -a -n "$2" ]
508  then  then
  showversion  
509   if [ ! -d ${SMAGESCRIPTSDIR} ]   if [ ! -d ${SMAGESCRIPTSDIR} ]
510   then   then
511   install -d ${SMAGESCRIPTSDIR}   install -d ${SMAGESCRIPTSDIR}
# Line 599  then Line 668  then
668   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info   ${MLIBDIR}/compressdoc -g -9 ${BUILDDIR}/builded/usr/share/info
669  fi  fi
670    
671    # stripping all bins and libs
672    case ${NOSTRIP} in
673     true|TRUE|yes|y)
674     echo -e "NOSTRIP=true detected; Package will not be stripped ..."
675     ;;
676     *)
677     echo -e "Stripping binaries ..."
678     mstripbins ${BINDIR}
679     echo -e "Stripping libraries ..."
680     mstriplibs ${BINDIR}
681     ;;
682    esac
683    
684  #the new buildpkg command  #the new buildpkg command
685  case ${NOPKGBUILD} in  case ${NOPKGBUILD} in
686   true|TRUE|yes|y)   true|TRUE|yes|y)
# Line 612  esac Line 694  esac
694    
695  #for sure  #for sure
696  unset NOPKGBUILD  unset NOPKGBUILD
697    unset NOSTRIP
698    
699  xtitleclean  xtitleclean
700  #echo -e "\nPackage ${PKGNAME} successfully builded.\n"  #echo -e "\nPackage ${PKGNAME} successfully builded.\n"

Legend:
Removed from v.59  
changed lines
  Added in v.183