Makefile.mirrors revision 283271
1282785Sgjb# 2282785Sgjb# This Makefile helps create the directory structure on ftp-master, 3282785Sgjb# making staging builds a bit more sane. 4282785Sgjb# 5282785Sgjb# You probably do not want to use this. Really. 6282785Sgjb# You have been warned. 7282785Sgjb# 8282798Sgjb# Seriously. 9282798Sgjb# 10282798Sgjb# Don't use this unless you know why you're using it. 11282798Sgjb# 12282785Sgjb# $FreeBSD: head/release/Makefile.mirrors 283271 2015-05-21 22:11:57Z gjb $ 13282785Sgjb# 14282785Sgjb 15282785Sgjb.include "${.CURDIR}/Makefile" 16282785Sgjb 17282787SgjbRELEASEDIR?= /R 18282799SgjbFTPDIR?= ${RELEASEDIR}/ftp-stage 19282785SgjbSTAGE_TARGETS?= iso-images-stage 20282785Sgjb 21283271Sgjb.if ${TARGET} == "arm" || ${EMBEDDED_TARGET} == "arm" 22283271SgjbEMBEDDED= 1 23283271Sgjb.endif 24283271Sgjb 25282785Sgjb# snapshot 26282785Sgjb.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 27282785SgjbSNAPSHOT= 1 28282785SgjbTLD?= ${FTPDIR}/snapshots 29282785Sgjb. for _D in /usr/bin /usr/local/bin 30282785Sgjb. for _S in svnversion svnliteversion 31282785Sgjb. if exists(${_D}/${_S}) 32282785SgjbSVNVERSION?= ${_D}/${_S} 33282785Sgjb. endif 34282785Sgjb. endfor 35282785Sgjb. endfor 36283271Sgjb. if exists(${.CURDIR}/${.OBJDIR}/dist/base/bin/sh) 37283271SgjbBUILDDATE!= cd ${.CURDIR} && date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d 38283271Sgjb. else 39283271SgjbBUILDDATE!= date +%Y%m%d 40283271Sgjb. endif 41282785Sgjb. if exists(${SVNVERSION}) && !empty(SVNVERSION) 42282785SgjbSVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile 43283271Sgjb_SNAP_SUFFIX:= -r${SVNREVISION}-${BUILDDATE} 44283271Sgjb. else 45283271Sgjb_SNAP_SUFFIX:= -${BUILDDATE} 46282785Sgjb. endif 47282785Sgjb.else 48282785Sgjb# release 49282785SgjbSNAPSHOT= 50282785SgjbTLD?= ${FTPDIR}/releases 51282785Sgjb.endif 52282785Sgjb 53283271Sgjb.if defined(EMBEDDED) && !empty(EMBEDDED) 54283271Sgjb. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6" 55283271Sgjb. if !defined(BOARDNAME) && empty(BOARDNAME) 56283271SgjbBOARDNAME:= ${KERNCONF} 57283271Sgjb. else 58283271SgjbOLDNAME:= ${KERNCONF} 59283271Sgjb. endif 60283271Sgjb. if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 61283271SgjbSNAPSHOT= 1 62283271Sgjb. endif 63283271SgjbIMAGES:= ${BOARDNAME}.img 64283271Sgjb. endif # arm/armv6 65283271Sgjb.endif # embedded 66283271Sgjb 67282785Sgjb.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 68282785SgjbSTAGE_TARGETS+= vm-images-stage 69282785SgjbVM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} 70282785Sgjb.endif 71282785Sgjb 72282785SgjbCLEANFILES+= ${STAGE_TARGETS} 73282785SgjbCHECKSUM_FILES?= SHA256 MD5 74282785SgjbSNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' 75282785SgjbISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION} 76282785SgjbFTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH} 77282785Sgjb 78282789Sgjbremove-old-bits: 79282789Sgjb rm -rf ${FTPDIR} 80282789Sgjb 81282785Sgjbiso-images-stage: 82282785Sgjb mkdir -p ${ISO_DIR} 83282785Sgjb mkdir -p ${TLD}/ISO-IMAGES/${REVISION} 84282787Sgjb.if exists(${RELEASEDIR}) 85282787Sgjb @# Assume we have images to copy. 86282787Sgjb. for IMAGE in ${IMAGES} 87283271Sgjb @# arm/armv6 IMX6 -> WANDBOARD, for example. 88283271Sgjb. if defined(OLDNAME) && !empty(OLDNAME) 89283271Sgjb cd ${RELEASEDIR} && mv ${OSRELEASE}-${IMAGE:S,${BOARDNAME},${OLDNAME},}.xz \ 90283271Sgjb ${OSRELEASE}-${IMAGE}.xz 91283271Sgjb. endif 92283271Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}) 93282787Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \ 94282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE} 95283271Sgjb. endif 96283271Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz) 97282792Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \ 98282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 99283271Sgjb. endif 100282793Sgjb. if exists(${RELEASEDIR}/CHECKSUM.${CHECKSUM}) 101282793Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM} \ 102282793Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM} 103282793Sgjb. endif 104282791Sgjb. endfor 105282787Sgjb.endif 106282787Sgjb 107282785Sgjb.if defined(SNAPSHOT) && !empty(SNAPSHOT) 108282785Sgjb. for IMAGE in ${IMAGES} 109282785Sgjb cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \ 110283271Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} || true 111283265Sgjb cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE}.xz \ 112283271Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz || true 113282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 114282785Sgjb ln -s \ 115283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} || true 116283265Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 117283265Sgjb ln -s \ 118283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz || true 119283271Sgjb cd ${TLD} && find -L . -type l | xargs rm 120282785Sgjb. endfor 121282785Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 122282785Sgjb. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM}) 123282785Sgjb rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM} 124282785Sgjb. endif 125283271Sgjb. if defined(EMBEDDED) && !empty(EMBEDDED) 126282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 127283271Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} 128283271Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 129283271Sgjb ln -s \ 130283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} 131283271Sgjb. else 132283271Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 133283265Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} 134282796Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 135282794Sgjb ln -s \ 136283265Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} 137283271Sgjb. endif 138282785Sgjb. endfor 139282785Sgjb.else # !snapshot 140282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 141283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE} || true 142283266Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 143283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}.xz || true 144282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 145283266Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE} 146282785Sgjb.endif 147282787Sgjb.if exists(${RELEASEDIR}/ftp) 148282785Sgjb mkdir -p ${FTP_DIR} 149282787Sgjb cp ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR} 150282785Sgjb cd ${TLD}/${TARGET} && \ 151282785Sgjb ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 152282785Sgjb ${REVISION}-${BRANCH} 153282785Sgjb.endif 154282785Sgjb 155282785Sgjbvm-images-stage: 156282785Sgjb @true 157282785Sgjb# mkdir -p ${VM_DIR} 158282785Sgjb#.if defined(SNAPSHOT) && !empty(SNAPSHOT) 159282785Sgjb# mkdir -p ${VM_DIR}/${BUILDDATE} 160282785Sgjb#. if exists(${VM_DIR}/Latest) 161282785Sgjb# unlink ${VM_DIR}/Latest 162282785Sgjb# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest 163282785Sgjb#. endif 164282785Sgjb#. for VMIMAGE in ${VMIMAGES} 165282785Sgjb# cd /R/vmimages && cp -p ${VMIMAGE}.xz \ 166282785Sgjb# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz 167282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 168282785Sgjb# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \ 169282785Sgjb# ${OSRELEASE}-${VMIMAGE}.xz 170282785Sgjb#. endfor 171282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 172282785Sgjb#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}) 173282785Sgjb# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM} 174282785Sgjb#. endif 175282785Sgjb# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 176282785Sgjb# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 177282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 178282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 179282785Sgjb# CHECKSUM.${CHECKSUM} 180282785Sgjb#. endfor 181282785Sgjb#.else # !snapshot 182282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 183282785Sgjb# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \ 184282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 185282785Sgjb#.endif 186282785Sgjb 187282789Sgjbftp-stage: remove-old-bits ${STAGE_TARGETS} 188282785Sgjb 189