--- freebsd-update-server.orig/scripts/build.subr Thu Aug 31 11:00:09 2006 +++ freebsd-update-server/scripts/build.subr Sun Oct 1 21:15:17 2006 @@ -300,8 +300,13 @@ log "Starting fetch" # Figure out where the disc1 ISO image is - RELNUM=${REL%-*} - ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + if [ -z ${FOLLOW_BRANCH} ]; then + REAL_REL=${REL} + else + REAL_REL=${BASE_ISO_REL} + fi + RELNUM=${REAL_REL%-*} + ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REAL_REL}-${TARGET}-disc1.iso # Fetch the ISO image. We consider the ISO image to be # the One True Release and don't look at the files used @@ -314,7 +319,7 @@ # Check that the downloaded ISO has the correct hash. if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then - echo "FreeBSD ${REL}-${TARGET}-disc1.iso has incorrect hash." + echo "FreeBSD ${REAL_REL}-${TARGET}-disc1.iso has incorrect hash." rm ${WORKDIR}/iso.img return 1 fi @@ -332,17 +337,17 @@ log "Extracting components" for C in ${WORLDPARTS}; do mkdir -p ${WORKDIR}/release/R/trees/world/${C} - cat ${WORKDIR}/iso/${REL}/${C}/${C}.?? | + cat ${WORKDIR}/iso/${REAL_REL}/${C}/${C}.?? | tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} done for C in ${KERNELPARTS}; do mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} - cat ${WORKDIR}/iso/${REL}/kernels/${C}.?? | + cat ${WORKDIR}/iso/${REAL_REL}/kernels/${C}.?? | tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} done for C in ${SOURCEPARTS}; do mkdir -p ${WORKDIR}/release/R/trees/src/${C} - cat ${WORKDIR}/iso/${REL}/src/s${C}.?? | + cat ${WORKDIR}/iso/${REAL_REL}/src/s${C}.?? | tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} done @@ -356,11 +361,11 @@ # Extract world and source distributions for C in ${WORLDPARTS}; do - cat ${WORKDIR}/iso/${REL}/${C}/${C}.?? | + cat ${WORKDIR}/iso/${REAL_REL}/${C}/${C}.?? | tar -xpzf - -C ${WORKDIR}/world/ done for C in ${SOURCEPARTS}; do - cat ${WORKDIR}/iso/${REL}/src/s${C}.?? | + cat ${WORKDIR}/iso/${REAL_REL}/src/s${C}.?? | tar -xpzf - -C ${WORKDIR}/world/usr/src/ done