--- trunk/mage-buildserver/buildserver-prepare.sh 2014/08/28 09:38:38 2792 +++ trunk/mage-buildserver/buildserver-prepare.sh 2016/02/03 11:58:39 2936 @@ -7,6 +7,8 @@ source ${BUILDSERVER_LIB_DIR}/buildserver-functions.sh +NON_SRC_ARCH_PACKAGES+=( "${BOOTSTRAP_DEVUTILS}" ) + # fallback if [[ -z ${MAGE_PROFILE} ]] then @@ -22,22 +24,30 @@ # create buildroot layout install -d ${BUILDROOT}/.stamps install -d ${BUILDROOT}/ssh -for arch in ${BUILD_ARCH[*]} src +for arch in $(enum-all-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} + install -d ${BUILDROOT}/log/smage/${arch} done # # arch specific # -for arch in src ${BUILD_ARCH[*]} +for arch in $(enum-all-arch-types) do if [ ! -f ${BUILDROOT}/.stamps/${arch}_bootstrap-ok ] then + echo "boostrapping system:" + echo " ARCH='${arch}'" + echo " ROOT='${BUILDROOT}/${arch}'" + echo " MAGERC='${BUILDSERVER_CONFIG_DIR}/profiles/${BUILDROOT_PROFILE}/${arch}/mage.rc'" + echo " PROFILE='${MAGE_PROFILE}'" + echo " BASESYSTEM='${BOOTSTRAP_BASESYSTEM}'" + echo mage-bootstrap \ --root ${BUILDROOT}/${arch} \ --magerc ${BUILDSERVER_CONFIG_DIR}/profiles/${BUILDROOT_PROFILE}/${arch}/mage.rc \ @@ -53,11 +63,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 @@ -65,48 +72,27 @@ [[ -n ${ftp_proxy} ]] && echo "ftp_proxy=\"${ftp_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy [[ -n ${ftps_proxy} ]] && echo "ftps_proxy=\"${ftps_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy [[ -n ${no_proxy} ]] && echo "no_proxy=\"${no_proxy}\"" >> ${BUILDROOT}/${arch}/etc/env.d/01proxy + # honor tmp-pkg-cleanup + [[ -n ${CLEAN_TMP_PACKAGES} ]] && echo "CLEAN_TMP_PACKAGES=\"${CLEAN_TMP_PACKAGES}\"" >> ${BUILDROOT}/${arch}/etc/env.d/99-buildserver-clean-tmp-packages runarch ${arch} env-rebuild || die "${arch} environment rebuild for proxy setup" # always enable bootstrap mode to supress the startups of any services :> ${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 @@ -118,7 +104,10 @@ fi # update-ca-certificates - runarch "${arch}" update-ca-certificates # no die here, cmd may missing + if [ -x ${BUILDROOT}/${arch}/usr/sbin/update-ca-certificates ] + then + runarch "${arch}" update-ca-certificates # no die here, cmd may missing + fi # create list of protected packages echo "BUILDSERVER_CACHE_DIR=\"${BUILDSERVER_CACHE_DIR}\"" > ${BUILDROOT}/${arch}/.runrc