--- trunk/mage/usr/lib/mage/smage2.functions.sh 2012/01/13 20:51:18 1648 +++ trunk/mage/usr/lib/mage/smage2.functions.sh 2012/04/11 21:28:27 1796 @@ -7,8 +7,9 @@ smagesource() { local file="$1" - local mystate - local mycodename + local localstate + local distfilestate + local mytag source ${file} @@ -19,6 +20,7 @@ if [[ -n ${PCATEGORIE} ]] then PCAT="${PCATEGORIE}" + unset PCATEGORIE # print a warning echo -e "${COLYELLOW}Warning: 'PCATEGORIE' is deprecated and gets removed in the future.${COLDEFAULT}" echo -e "${COLYELLOW} Please modify this smage2 script to use the 'PCAT' variable.${COLDEFAULT}" @@ -28,21 +30,53 @@ fi fi - [[ -n ${STATE} ]] && mystate="${STATE}" - - # do not overide if local state was broken or disabled! - case ${STATE} in - broken) return ;; - disabled) return ;; - esac + [[ -n ${STATE} ]] && localstate="${STATE}" + [[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" if [ -f ${SMAGESCRIPTSDIR}/distribution ] then source ${SMAGESCRIPTSDIR}/distribution - [[ -n ${STATE} ]] && mystate="${STATE}" + [[ -n ${STATE} ]] && distfilestate="${STATE}" + [[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" + fi + # now switch state and export it but do not overide any local states + if [[ ! -z ${localstate} ]] + then + STATE="${localstate}" + else + STATE="${distfilestate}" + fi + + if mqueryfeature "pkgdistrotag" + then + # if DISTROTAG was not defined globally + # or in distribution file then deactivate this feature! + # at this point $mytag must have the distrotag + if [[ -z ${mytag} ]] + then + FVERBOSE=off msetfeature "!pkgdistrotag" + unset DISTROTAG + echo -e "${COLRED}Requested 'pkgdistrotag' but no \$DISTROTAG found!${COLDEFAULT}" + echo -e "${COLRED}Disabled the feature for pkgbuild sanity!${COLDEFAULT}" + else + # now switch state and export it but do not overide any local states + export DISTROTAG="${mytag}" + fi + else + unset DISTROTAG + fi +} + +print_distrotag() +{ + if FVERBOSE=off mqueryfeature "pkgdistrotag" + then + if [[ ! -z ${DISTROTAG} ]] + then + # add a point as prefix + echo ".${DISTROTAG}" + fi fi - # now switch state and export it - STATE="${mystate}" } showversion() @@ -247,8 +281,9 @@ fi fi - # always enable shared by default - if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] + # always enable shared by default but not for waf configure + if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] && + [[ -z $(./configure --version | grep waf) ]] then myopts+=" --enable-shared" fi @@ -308,6 +343,8 @@ DEST=$2 fi + echo -e "${COLBLUE}>>>${COLGREEN} Unpacking ${SOURCEDIR}/${PNAME}/${SRCFILE}${COLDEFAULT}" + [[ ! -d ${DEST} ]] && install -d ${DEST} case "${SRCFILE##*.}" in @@ -536,6 +573,82 @@ fi } +march() +{ + local retval + + if [[ ! -z ${ARCH} ]] + then + echo "${ARCH}" + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsrcfile() +{ + local retval + local var="$1" + + [[ -z ${var} ]] && var="SRCFILE" + + if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] + then + eval echo \$${var}_${ARCH/i*86/x86} | tr ';' '\n' + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsrcdir() +{ + local retval + if [[ ! -z $(eval echo \$SRCDIR_${ARCH/i*86/x86}) ]] + then + eval echo \$SRCDIR_${ARCH/i*86/x86} | tr ';' '\n' + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchdepend() +{ + local retval + + if [[ ! -z $(eval echo \$DEPEND_${ARCH/i*86/x86}) ]] + then + echo "\$(eval echo \\\$DEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsdepend() +{ + local retval + if [[ ! -z $(eval echo \$SDEPEND_${ARCH/i*86/x86}) ]] + then + echo "\$(eval echo \\\$SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" + retval=0 + else + retval=1 + fi + + return "${retval}" +} + setup_distcc_environment() { if [ -x /usr/bin/distcc ] @@ -678,7 +791,7 @@ > ${dest} # pgkname and state - echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}-${PBUILD}\"" >> ${dest} + echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}$(print_distrotag)-${PBUILD}\"" >> ${dest} echo "STATE=\"${STATE}\"" >> ${dest} # description and homepage @@ -779,6 +892,12 @@ # get the right variables for the split export PNAME="${subpackage}" split_info_${subpackage} + # fix PCATEGORIE -> PCAT + if [[ ! -z ${PCATEGORIE} ]] + then + PCAT="${PCATEGORIE}" + unset PCATEGORIE + fi # get the preinstall etc split_export_inherits ${subpackage} build_mage_script --split-pkg-base "${split_pkg_base}" @@ -1090,7 +1209,7 @@ [ -n "${target}" ] && target="-${target}" # build pkgname - pkgname="${pname}${target}-${pver}-${parch}-${pbuild}" + pkgname="${pname}${target}-${pver}-${parch}$(print_distrotag)-${pbuild}" # build pkg-md5-sum only if requested if mqueryfeature regentree @@ -1143,7 +1262,7 @@ [[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} - 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}\n" } step_by_step()