Makefile.mirrors revision 283576
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 283576 2015-05-26 17:44:31Z gjb $ 13282785Sgjb# 14282785Sgjb 15282785Sgjb.include "${.CURDIR}/Makefile" 16282785Sgjb 17282787SgjbRELEASEDIR?= /R 18282799SgjbFTPDIR?= ${RELEASEDIR}/ftp-stage 19283574Sgjb.if exists(${RELEASEDIR}) 20282785SgjbSTAGE_TARGETS?= iso-images-stage 21283574Sgjb.endif 22282785Sgjb 23283298Sgjb.if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || (defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD)) 24283272Sgjb. if ${TARGET} == "arm" || ${EMBEDDED_TARGET} == "arm" 25283271SgjbEMBEDDED= 1 26283272Sgjb. endif 27283271Sgjb.endif 28283271Sgjb 29282785Sgjb# snapshot 30282785Sgjb.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 31282785SgjbSNAPSHOT= 1 32282785SgjbTLD?= ${FTPDIR}/snapshots 33282785Sgjb. for _D in /usr/bin /usr/local/bin 34282785Sgjb. for _S in svnversion svnliteversion 35282785Sgjb. if exists(${_D}/${_S}) 36282785SgjbSVNVERSION?= ${_D}/${_S} 37282785Sgjb. endif 38282785Sgjb. endfor 39282785Sgjb. endfor 40283271Sgjb. if exists(${.CURDIR}/${.OBJDIR}/dist/base/bin/sh) 41283271SgjbBUILDDATE!= cd ${.CURDIR} && date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d 42283271Sgjb. else 43283271SgjbBUILDDATE!= date +%Y%m%d 44283271Sgjb. endif 45282785Sgjb. if exists(${SVNVERSION}) && !empty(SVNVERSION) 46282785SgjbSVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile 47283271Sgjb_SNAP_SUFFIX:= -r${SVNREVISION}-${BUILDDATE} 48283271Sgjb. else 49283271Sgjb_SNAP_SUFFIX:= -${BUILDDATE} 50282785Sgjb. endif 51282785Sgjb.else 52282785Sgjb# release 53282785SgjbSNAPSHOT= 54282785SgjbTLD?= ${FTPDIR}/releases 55282785Sgjb.endif 56282785Sgjb 57283271Sgjb.if defined(EMBEDDED) && !empty(EMBEDDED) 58283271Sgjb. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6" 59283271Sgjb. if !defined(BOARDNAME) && empty(BOARDNAME) 60283271SgjbBOARDNAME:= ${KERNCONF} 61283271Sgjb. else 62283271SgjbOLDNAME:= ${KERNCONF} 63283271Sgjb. endif 64283271Sgjb. if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 65283271SgjbSNAPSHOT= 1 66283271Sgjb. endif 67283298SgjbIMAGES:= img 68283271Sgjb. endif # arm/armv6 69283271Sgjb.endif # embedded 70283271Sgjb 71282785Sgjb.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 72282785SgjbSTAGE_TARGETS+= vm-images-stage 73282785SgjbVM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} 74282785Sgjb.endif 75282785Sgjb 76282785SgjbCLEANFILES+= ${STAGE_TARGETS} 77282785SgjbCHECKSUM_FILES?= SHA256 MD5 78282785SgjbSNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' 79282785SgjbISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION} 80282785SgjbFTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH} 81282785Sgjb 82282789Sgjbremove-old-bits: 83282789Sgjb rm -rf ${FTPDIR} 84282789Sgjb 85282785Sgjbiso-images-stage: 86282785Sgjb mkdir -p ${ISO_DIR} 87282785Sgjb mkdir -p ${TLD}/ISO-IMAGES/${REVISION} 88283576Sgjb.if defined(SNAPSHOT) && !empty(SNAPSHOT) 89283298Sgjb cd ${RELEASEDIR} && rm -f CHECKSUM.* 90283576Sgjb. for IMAGE in ${IMAGES} 91283576Sgjb. if defined(EMBEDDED) && !empty(EMBEDDED) 92283576Sgjb. if defined(OLDNAME) && !empty(OLDNAME) 93283271Sgjb @# arm/armv6 IMX6 -> WANDBOARD, for example. 94283298Sgjb cd ${RELEASEDIR} && \ 95283298Sgjb mv ${OSRELEASE}-${OLDNAME}.${IMAGE}.xz \ 96283298Sgjb ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz 97283576Sgjb. endif 98283298Sgjb cd ${RELEASEDIR} && \ 99283298Sgjb mv ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \ 100283298Sgjb ${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz 101283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz \ 102283298Sgjb ${ISO_DIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz 103283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 104283298Sgjb ln -s \ 105283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz 106283576Sgjb. endif # not embedded 107283576Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}) 108283298Sgjb cd ${RELEASEDIR} && \ 109283298Sgjb mv ${OSRELEASE}-${IMAGE} \ 110283573Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 111283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} \ 112283298Sgjb ${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 113282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 114282785Sgjb ln -s \ 115283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 116283576Sgjb. endif 117283576Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz) 118283298Sgjb cd ${RELEASEDIR} && \ 119283298Sgjb mv ${OSRELEASE}-${IMAGE}.xz \ 120283573Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz 121283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz \ 122283298Sgjb ${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz 123283265Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 124283265Sgjb ln -s \ 125283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz 126283576Sgjb. endif 127283576Sgjb. endfor # images loop 128283298Sgjb cd ${RELEASEDIR} && rm -f CHECKSUM.* 129283576Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 130283576Sgjb. if defined(EMBEDDED) && !empty(EMBEDDED) 131283298Sgjb cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 132283271Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} 133283298Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} \ 134283298Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} 135283271Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 136283271Sgjb ln -s \ 137283271Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} 138283576Sgjb. else # not embedded 139283298Sgjb cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 140283265Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} 141283298Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} \ 142283298Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} 143282796Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 144282794Sgjb ln -s \ 145283265Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} 146283576Sgjb. endif # 147283576Sgjb. endfor # checksum files 148283576Sgjb.else # not snapshot 149283576Sgjb. for IMAGE in ${IMAGES} 150283576Sgjb. if defined(EMBEDDED) && !empty(EMBEDDED) 151283576Sgjb. if defined(OLDNAME) && !empty(OLDNAME) 152283298Sgjb @# arm/armv6 IMX6 -> WANDBOARD, for example. 153283298Sgjb cd ${RELEASEDIR} && \ 154283298Sgjb mv ${OSRELEASE}-${OLDNAME}.${IMAGE}.xz \ 155283298Sgjb ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz 156283576Sgjb. endif 157283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \ 158283298Sgjb ${ISO_DIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz 159283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 160283298Sgjb ln -s \ 161283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz 162283576Sgjb. endif # not embedded 163283576Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}) 164283298Sgjb cd ${RELEASEDIR} && \ 165283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \ 166283298Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE} 167283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 168283298Sgjb ln -s \ 169283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE} 170283576Sgjb. endif 171283576Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz) 172283298Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \ 173283298Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 174283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 175283298Sgjb ln -s \ 176283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}.xz 177283576Sgjb. endif 178283576Sgjb. endfor # images loop 179283298Sgjb cd ${RELEASEDIR} && rm -f CHECKSUM.* 180283576Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 181283576Sgjb. if defined(EMBEDDED) && !empty(EMBEDDED) 182283298Sgjb cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 183283298Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} 184283298Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} \ 185283298Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} 186283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 187283298Sgjb ln -s \ 188283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} 189283576Sgjb. else # not embedded 190283298Sgjb cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 191283266Sgjb CHECKSUM.${CHECKSUM}-${OSRELEASE} 192283298Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE} \ 193283298Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE} 194283298Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 195283298Sgjb ln -s \ 196283298Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE} 197283576Sgjb. endif 198283576Sgjb. endfor # checksum files 199283576Sgjb.endif # release 200283576Sgjb.if exists(${RELEASEDIR}/ftp) 201282785Sgjb mkdir -p ${FTP_DIR} 202283298Sgjb cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR} 203282785Sgjb cd ${TLD}/${TARGET} && \ 204282785Sgjb ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 205282785Sgjb ${REVISION}-${BRANCH} 206283576Sgjb.endif 207282785Sgjb 208282785Sgjbvm-images-stage: 209283302Sgjb mkdir -p ${VM_DIR} 210283302Sgjb.if defined(SNAPSHOT) && !empty(SNAPSHOT) 211283302Sgjb. if exists(${VM_DIR}/Latest) 212283302Sgjb rm -rf ${VM_DIR}/Latest 213283302Sgjb. endif 214283302Sgjb mkdir -p ${VM_DIR}/Latest 215283302Sgjb mkdir -p ${VM_DIR}/${BUILDDATE} 216283302Sgjb. for VMFORMAT in ${VMFORMATS} 217283302Sgjb cd ${RELEASEDIR}/vmimages && \ 218283302Sgjb mv ${OSRELEASE}.${VMFORMAT}.xz \ 219283302Sgjb ${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz 220283302Sgjb cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz \ 221283302Sgjb ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz 222283302Sgjb cd ${VM_DIR}/Latest && \ 223283302Sgjb ln -s ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}.${VMFORMAT}.xz \ 224283302Sgjb ${OSRELEASE}.${VMFORMAT}.xz 225283302Sgjb. endfor 226283302Sgjb cd ${RELEASEDIR}/vmimages && rm -f CHECKSUM.* 227283302Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 228283302Sgjb cd ${RELEASEDIR}/vmimages && \ 229283302Sgjb ${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 230283302Sgjb cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 231283302Sgjb ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 232283302Sgjb cd ${VM_DIR}/Latest && \ 233283302Sgjb ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 234283302Sgjb CHECKSUM.${CHECKSUM} 235283302Sgjb. endfor 236283302Sgjb.else # not snapshot 237283302Sgjb. if exists(${VM_DIR}/Latest) 238283302Sgjb rm -rf ${VM_DIR}/Latest 239283302Sgjb. endif 240283302Sgjb mkdir -p ${VM_DIR}/Latest 241283302Sgjb. for VMFORMAT in ${VMFORMATS} 242283302Sgjb cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}.${VMFORMAT}.xz \ 243283302Sgjb ${VM_DIR}/Latest/${OSRELEASE}.${VMFORMAT}.xz 244283302Sgjb. endfor 245283302Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 246283302Sgjb cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM} \ 247283302Sgjb ${VM_DIR}/Latest/CHECKSUM.${CHECKSUM} 248283302Sgjb. endfor 249283302Sgjb.endif 250282785Sgjb 251282789Sgjbftp-stage: remove-old-bits ${STAGE_TARGETS} 252282785Sgjb 253