--- trunk/mage-buildserver/buildserver-prepare.sh 2014/08/28 09:34:01 2789 +++ trunk/mage-buildserver/buildserver-prepare.sh 2014/08/28 09:44:47 2795 @@ -7,6 +7,16 @@ source ${BUILDSERVER_LIB_DIR}/buildserver-functions.sh +ALL_ARCH_PACKAGES=( subversion openssh ) +NON_SRC_ARCH_PACKAGES=( "${BOOTSTRAP_DEVUTILS}" ccache python scanelf ) + +# fallback +if [[ -z ${MAGE_PROFILE} ]] +then + echo "Warning: using '${BUILDROOT_PROFILE}' as MAGE_PROFILE. You should define MAGE_PROFILE in the profile.conf." + MAGE_PROFILE="${BUILDROOT_PROFILE}" +fi + if [ ! -f ${BUILDROOT}/.stamps/mage_svn-checkout-ok ] then die "svn checkout of mage required. run buildserver-svn first." @@ -14,11 +24,11 @@ # create buildroot layout install -d ${BUILDROOT}/.stamps -install -d ${BUILDROOT}/tmp/mage-tree install -d ${BUILDROOT}/ssh -for arch in ${BUILD_ARCH[*]} src +for arch in $(enum-build-arch-types) do install -d ${BUILDROOT}/${arch} + install -d ${BUILDROOT}/mage-tree/${arch} install -d ${BUILDROOT}/packages/${arch} install -d ${BUILDROOT}/meta/${arch} install -d ${BUILDROOT}/build-info/${arch} @@ -27,14 +37,14 @@ # # arch specific # -for arch in src ${BUILD_ARCH[*]} +for arch in $(enum-all-arch-types) do if [ ! -f ${BUILDROOT}/.stamps/${arch}_bootstrap-ok ] then mage-bootstrap \ --root ${BUILDROOT}/${arch} \ --magerc ${BUILDSERVER_CONFIG_DIR}/profiles/${BUILDROOT_PROFILE}/${arch}/mage.rc \ - --profile "${BUILDROOT_PROFILE}" \ + --profile "${MAGE_PROFILE}" \ --basesystem "${BOOTSTRAP_BASESYSTEM}" \ || die "'${arch}' bootstrap" touch ${BUILDROOT}/.stamps/${arch}_bootstrap-ok @@ -46,11 +56,8 @@ # create initial mage-tree for all arches ${BUILDSERVER_LIB_DIR}/buildserver-setup-mage-tree.sh -for arch in src ${BUILD_ARCH[*]} +for arch in $(enum-all-arch-types) do - - echo "DEBUG: arch='${arch}' BUILD_ARCH[*]='${BUILD_ARCH[*]}'" - # honor any proxy settings :> ${BUILDROOT}/${arch}/etc/env.d/01proxy [[ -n ${http_proxy} ]] && echo "http_proxy=\"${http_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy @@ -64,42 +71,19 @@ :> ${BUILDROOT}/${arch}/etc/env.d/00mage-buildserver echo "MAGE_BOOTSTRAP=\"true\"" >> ${BUILDROOT}/${arch}/etc/env.d/00mage-buildserver - # install subversion - if [ ! -f ${BUILDROOT}/.stamps/${arch}_subversion-ok ] - then - runarch "${arch}" mage install subversion || die "${arch} install subversion" - touch ${BUILDROOT}/.stamps/${arch}_subversion-ok - else - echo "Warning: subversion already installed for arch '${arch}'" - fi - - # install openssh - if [ ! -f ${BUILDROOT}/.stamps/${arch}_openssh-ok ] - then - runarch "${arch}" mage install openssh || die "${arch} install openssh" - touch ${BUILDROOT}/.stamps/${arch}_openssh-ok - else - echo "Warning: openssh already installed for arch '${arch}'" - fi + for pkg in ${ALL_ARCH_PACKAGES[*]} + do + runarch-pkg-install "${arch}" "${pkg}" + done + # exclude these pkg from src chroot if [[ ${arch} != src ]] then - if [ ! -f ${BUILDROOT}/.stamps/${arch}_common-devutils-ok ] - then - runarch "${arch}" mage install "${BOOTSTRAP_DEVUTILS}" || die "${arch} install '${BOOTSTRAP_DEVUTILS}'" - touch ${BUILDROOT}/.stamps/${arch}_common-devutils-ok - else - echo "Warning: '${BOOTSTRAP_DEVUTILS}' already installed for arch '${arch}'" - fi + for pkg in ${NON_SRC_ARCH_PACKAGES[*]} + do + runarch-pkg-install "${arch}" "${pkg}" + done - # install ccache - if [ ! -f ${BUILDROOT}/.stamps/${arch}_ccache-ok ] - then - runarch "${arch}" mage install ccache || die "${arch} install ccache" - touch ${BUILDROOT}/.stamps/${arch}_ccache-ok - else - echo "Warning: ccache already installed for arch '${arch}'" - fi # setup ccache if [ ! -f ${BUILDROOT}/.stamps/${arch}_setup-ccache-ok ] then