Magellan Linux

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

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

revision 384 by niro, Mon Jul 17 20:44:44 2006 UTC revision 413 by niro, Fri Jan 19 23:15:04 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.43 2006-07-17 20:44:44 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.50 2007-01-19 23:15:04 niro Exp $
8    
9  #01.10.2004  #01.10.2004
10  # added ccache support  # added ccache support
# Line 12  Line 12 
12    
13  ## setup ##  ## setup ##
14  PKGSUFFIX="mpk"  PKGSUFFIX="mpk"
15    SRCPKGSUFFIX="mpks"
16  SMAGENAME="$1"  SMAGENAME="$1"
17  SMAGESUFFIX="smage2"  SMAGESUFFIX="smage2"
18  MLIBDIR=/usr/lib/mage  MLIBDIR=/usr/lib/mage
# Line 63  showversion() Line 64  showversion()
64  die()  die()
65  {  {
66   xtitleclean   xtitleclean
67     echo -e ${COLRED}"Exited ${BASH_SOURCE} at line no ${BASH_LINENO}."${COLDEFAULT}
68   echo "SMAGE failed: $@"   echo "SMAGE failed: $@"
69   exit 1   exit 1
70  }  }
# Line 91  syncsmage2() Line 93  syncsmage2()
93   local i   local i
94   for i in ${SMAGE2RSYNC}   for i in ${SMAGE2RSYNC}
95   do   do
96   rsync \   rsync ${RSYNC_FETCH_OPTIONS} ${i} ${SMAGESCRIPTSDIR}
  --recursive \  
  --links \  
  --perms \  
  --times \  
  --devices \  
  --timeout=600 \  
  --verbose \  
  --compress \  
  --progress \  
  --stats \  
  --delete \  
  --delete-after \  
  ${i} ${SMAGESCRIPTSDIR}  
   
97   if [[ $? = 0 ]]   if [[ $? = 0 ]]
98   then   then
99   break   break
100   else   else
101   continue   continue
102   fi   fi
   
103   done   done
104    
105   # clean up backup files (foo~)   # clean up backup files (foo~)
# Line 325  munpack() Line 312  munpack()
312   DEST=$2   DEST=$2
313   fi   fi
314    
315     [[ ! -d ${DEST} ]] && install -d ${DEST}
316    
317   case "${SRCFILE##*.}" in   case "${SRCFILE##*.}" in
318   bz2)   bz2)
319   IFTAR="$(basename $SRCFILE .bz2)"   IFTAR="$(basename $SRCFILE .bz2)"
# Line 547  build_mage_script() Line 536  build_mage_script()
536   > ${dest}   > ${dest}
537    
538   # header   # header
539   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.43 2006-07-17 20:44:44 niro Exp $' >> ${dest}   echo '# $Header: /home/cvsd/magellan-cvs/magellan-src/mage/usr/lib/mage/smage2.sh,v 1.50 2007-01-19 23:15:04 niro Exp $' >> ${dest}
540   echo  >> ${dest}   echo  >> ${dest}
541    
542   # pgkname and state   # pgkname and state
# Line 769  generate_package_md5sum() Line 758  generate_package_md5sum()
758   fi   fi
759  }  }
760    
761    source_pkg_build()
762    {
763     if [[ ${PKGTYPE} = virtual ]]
764     then
765     echo "Virtual package detected; src-pkg-tarball not necessary ..."
766     return 0
767     fi
768    
769     if [[ ! -d ${SOURCEDIR}/${PNAME} ]]
770     then
771     echo "No SRC_URI defined; src-pkg-tarball not necessary ..."
772     return 0
773     fi
774    
775     [ -z "${SRCPKGDIR}" ] && die "\$SRCPKGDIR not found. Please setup your mage.rc correctly."
776    
777     echo -e "${COLGREEN}Creating source package tarball ... ${COLDEFAULT}"
778    
779     # include the smage2 file
780     cp ${SMAGENAME} ${SOURCEDIR}/${PNAME}
781    
782     ( cd ${SOURCEDIR}; tar cvjf ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${PNAME}; )
783     [[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR}
784     mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX}
785    
786     echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}"
787    }
788    
789    
790  # print out our version  # print out our version
791  showversion  showversion
792  echo  echo
# Line 900  then Line 918  then
918   exit 0   exit 0
919  fi  fi
920    
921    if [ "$1" == "--create-src-tarball" -a -n "$2" ]
922    then
923     # set correct SMAGENAME
924     SMAGENAME="$2"
925     MD5DIR="$(dirname ${SMAGENAME})/md5"
926    
927     echo -e "${COLGREEN}create-src-tarball called for ${COLBLUE}${SMAGENAME}${COLGREEN} ...${COLDEFAULT}"
928    
929     source ${SMAGENAME} || die "regen: smage2 not found"
930    
931     if [[ -d ${SOURCEDIR}/${PNAME} ]]
932     then
933     echo -e "${COLGREEN}Deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"
934     rm -rf ${SOURCEDIR}/${PKGNAME}
935     fi
936    
937     download_sources
938     source_pkg_build ${SMAGENAME}
939     exit 0
940    fi
941    
942    if [ "$1" == "--src-tarball" -a -n "$2" ] || [ "$1" == "-st" -a -n "$2" ]
943    then
944     SRCPKGTARBALL="${2}"
945     USE_SRC_PKG_TARBALL=true
946    
947     # abort if given file is not a source pkg
948     [[ ${SRCPKGTARBALL##*.} != ${SRCPKGSUFFIX} ]] && die "${SRCPKGTARBALL} is not a valid src-pkg file."
949    
950     # set correct SMAGENAME; use the one that the src_pkg provide
951     # /path/to/SOURCEDIR/PNAME/SMAGENAME
952     SMAGENAME="${SOURCEDIR}/$(basename ${SRCPKGTARBALL%-*-*})/$(basename ${SRCPKGTARBALL} .${SRCPKGSUFFIX}).${SMAGESUFFIX}"
953    
954     echo -e "${COLGREEN}Using src-tarball ${COLBLUE}${SRCPKGTARBALL}${COLGREEN} ...${COLDEFAULT}"
955    
956     [[ ! -d ${SOURCEDIR} ]] && install -d ${SOURCEDIR}
957    
958     # unpack srctarball
959     [[ ! -f ${SRCPKGTARBALL} ]] && die "Error: ${SRCPKGTARBALL} does not exist. Aborting."
960    
961     tar xvjf ${SRCPKGTARBALL} -C ${SOURCEDIR} || die  "Error unpackung src-tarball ${SRCPKGTARBALL}"
962    
963     [[ ! -f ${SMAGENAME} ]] && die "Included smage2 file in src-tarball not found: ${SMAGENAME}"
964    fi
965    
966    
967  [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ] && die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting."  [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ] && die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting."
968  [ -z "$(basename ${SMAGENAME} | grep .${SMAGESUFFIX})" ] &&  [ -z "$(basename ${SMAGENAME} | grep .${SMAGESUFFIX})" ] &&
969   die "File '$(basename ${SMAGENAME})' is not a sMage v${SMAGEVERSION} file. Aborting."   die "File '$(basename ${SMAGENAME})' is not a sMage v${SMAGEVERSION} file. Aborting."
# Line 921  echo "Compiling ${PKGNAME}" Line 985  echo "Compiling ${PKGNAME}"
985  # auto regen mage tree if requested  # auto regen mage tree if requested
986  regen_mage_tree  regen_mage_tree
987    
988    if [[ ${CREATE_SRC_PKG_TARBALL} = true ]]
989    then
990     if [[ -d ${SOURCEDIR}/${PNAME} ]]
991     then
992     echo -e "${COLGREEN}Deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"
993     rm -rf ${SOURCEDIR}/${PNAME}
994     fi
995    fi
996    
997  # download sources  # download sources
998  download_sources  [[ ${USE_SRC_PKG_TARBALL} != true ]] && download_sources
999    
1000  # fixes some issues with these functions  # fixes some issues with these functions
1001  export -f src_prepare || die "src_prepare export failed"  export -f src_prepare || die "src_prepare export failed"
# Line 1056  case ${NOPKGBUILD} in Line 1129  case ${NOPKGBUILD} in
1129    
1130   echo -e "\nPackage ${PKGNAME} successfully builded.\n"   echo -e "\nPackage ${PKGNAME} successfully builded.\n"
1131   fi   fi
1132    
1133     # build src-pkg-tarball if requested
1134     [[ ${CREATE_SRC_PKG_TARBALL} = true ]] && source_pkg_build ${SMAGENAME}
1135   ;;   ;;
1136  esac  esac
1137    

Legend:
Removed from v.384  
changed lines
  Added in v.413