diff --git a/tools/ChangeLog b/tools/ChangeLog index 6e117cb0..4fe851a6 100644 --- a/tools/ChangeLog +++ b/tools/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 # $Id$ + 27 Jun 2009; Andrew Gaffney catalyst-auto, + catalyst-auto-amd64.conf, catalyst-auto-x86.conf: + Add concept of build sets to catalyst-auto + 14 May 2009; Andrew Gaffney catalyst-auto: run find specifically in KCONFIG_DIR diff --git a/tools/catalyst-auto b/tools/catalyst-auto index 1037cdff..18c57ed9 100755 --- a/tools/catalyst-auto +++ b/tools/catalyst-auto @@ -138,8 +138,20 @@ fi cd ${SPECS_DIR} -for i in ${SPECS} ${OPTIONAL_SPECS}; do - cp --parents ${i} ${TMPDIR}/specs/ +for a in "" ${SETS}; do + local specs_var, optional_specs_var; + + if [ -z "${a}" ]; then + specs_var="SPECS" + optional_specs_var="OPTIONAL_SPECS" + else + specs_var="SET_${a}_SPECS" + optional_specs_var="SET_${a}_OPTIONAL_SPECS" + fi + + for i in ${!specs_var} ${!optional_specs_var}; do + cp --parents ${i} ${TMPDIR}/specs/ + done done find ${KCONFIG_DIR} -type f -exec cp {} ${TMPDIR}/kconfig \; @@ -187,27 +199,41 @@ if ! run_cmd "catalyst -c ${CATALYST_CONFIG} -s ${DATESTAMP}" "${TMPDIR}/log/sna exit 1 fi -for i in ${SPECS}; do - LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::').log" - run_cmd "catalyst -a -p -c ${CATALYST_CONFIG} -f ${i}" ${LOGFILE} - if [ $? != 0 ]; then - send_email "Catalyst fatal build error - ${i}" "" "${LOGFILE}" - exit 1 - fi -done +for a in "" ${SETS}; do + local specs_var + local optional_specs_var -for i in ${OPTIONAL_SPECS}; do - LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::').log" - run_cmd "catalyst -a -p -c ${CATALYST_CONFIG} -f ${i}" ${LOGFILE} - if [ $? != 0 ]; then - send_email "Catalyst non-fatal build error - ${i}" "" "${LOGFILE}" - break + if [ -z "${a}" ]; then + specs_var="SPECS" + optional_specs_var="OPTIONAL_SPECS" + else + specs_var="SET_${a}_SPECS" + optional_specs_var="SET_${a}_OPTIONAL_SPECS" fi -done -for i in ${SPECS} ${OPTIONAL_SPECS}; do - LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::')_purge.log" - run_cmd "catalyst -P -c ${CATALYST_CONFIG} -f ${i}" "${LOGFILE}" + for i in ${!specs_var}; do + LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::').log" + run_cmd "catalyst -a -p -c ${CATALYST_CONFIG} -f ${i}" ${LOGFILE} + if [ $? != 0 ]; then + send_email "Catalyst fatal build error - ${i}" "" "${LOGFILE}" + continue 2 + fi + done + + for i in ${!optional_specs_var}; do + LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::').log" + run_cmd "catalyst -a -p -c ${CATALYST_CONFIG} -f ${i}" ${LOGFILE} + if [ $? != 0 ]; then + send_email "Catalyst non-fatal build error - ${i}" "" "${LOGFILE}" + break + fi + done + + for i in ${!specs_var} ${!optional_specs_var}; do + LOGFILE="${TMPDIR}/log/$(echo "${i}" | sed -e 's:/:_:' -e 's:\.spec$::')_purge.log" + run_cmd "catalyst -P -c ${CATALYST_CONFIG} -f ${i}" "${LOGFILE}" + done + done if ! run_cmd "post_build" "${TMPDIR}/log/post_build.log"; then diff --git a/tools/catalyst-auto-amd64.conf b/tools/catalyst-auto-amd64.conf index 17e32c13..ef9394a0 100644 --- a/tools/catalyst-auto-amd64.conf +++ b/tools/catalyst-auto-amd64.conf @@ -3,14 +3,14 @@ SPECS_DIR=/release/svn-releng/trunk/releases/weekly/specs/amd64 -SPECS="stage1.spec stage2.spec stage3.spec" -#SPECS="${SPECS} installcd-stage1.spec installcd-stage2-minimal.spec" -#SPECS="${SPECS} stage2-desktop.spec stage3-desktop.spec" -#SPECS="${SPECS} livecd-stage1.spec livecd-stage2.spec" +SETS="multilib hardened_multilib hardened_nomultilib" -OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" -OPTIONAL_SPECS="${OPTIONAL_SPECS} hardened/stage1.spec hardened/stage2.spec hardened/stage3.spec" -OPTIONAL_SPECS="${OPTIONAL_SPECS} hardened/stage1-nomultilib.spec hardened/stage2-nomultilib.spec hardened/stage3-nomultilib.spec" +SET_multilib_SPECS="stage1.spec stage2.spec stage3.spec" +SET_multilib_OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" + +SET_hardened_multilib_SPECS="hardened/stage1.spec hardened/stage2.spec hardened/stage3.spec" + +SET_hardened_nomultilib_SPECS="hardened/stage1-nomultilib.spec hardened/stage2-nomultilib.spec hardened/stage3-nomultilib.spec" KCONFIG_DIR=/release/svn-releng/trunk/releases/weekly/kconfig/amd64 diff --git a/tools/catalyst-auto-x86.conf b/tools/catalyst-auto-x86.conf index 8f4d2271..f44bef02 100644 --- a/tools/catalyst-auto-x86.conf +++ b/tools/catalyst-auto-x86.conf @@ -3,13 +3,14 @@ SPECS_DIR=/release/svn-releng/trunk/releases/weekly/specs/x86 -SPECS="stage1.spec stage2.spec stage3.spec i686/stage1.spec i686/stage2.spec i686/stage3.spec" -#SPECS="${SPECS} installcd-stage1.spec installcd-stage2-minimal.spec" -#SPECS="${SPECS} stage2-desktop.spec stage3-desktop.spec" -#SPECS="${SPECS} livecd-stage1.spec livecd-stage2.spec" +SETS="i486 i686 hardened" -OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" -OPTIONAL_SPECS="${OPTIONAL_SPECS} hardened/stage1.spec hardened/stage2.spec hardened/stage3.spec" +SET_i486_SPECS="stage1.spec stage2.spec stage3.spec" +SET_i486_OPTIONAL_SPECS="installcd-stage1.spec installcd-stage2-minimal.spec" + +SET_i686_SPECS="i686/stage1.spec i686/stage2.spec i686/stage3.spec" + +SET_hardened_SPECS="hardened/stage1.spec hardened/stage2.spec hardened/stage3.spec" KCONFIG_DIR=/release/svn-releng/trunk/releases/weekly/kconfig/x86