Makefile.mirrors revision 282798
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 282798 2015-05-12 01:20:27Z gjb $ 13282785Sgjb# 14282785Sgjb 15282785Sgjb.include "${.CURDIR}/Makefile" 16282785Sgjb 17282785SgjbFTPDIR?= /ftp 18282787SgjbRELEASEDIR?= /R 19282785SgjbSTAGE_TARGETS?= iso-images-stage 20282785Sgjb 21282785Sgjb# snapshot 22282785Sgjb.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 23282785SgjbSNAPSHOT= 1 24282785SgjbTLD?= ${FTPDIR}/snapshots 25282785SgjbBUILDDATE!= date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d 26282785Sgjb. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6" 27282785Sgjb. if !defined(BOARDNAME) || empty(BOARDNAME) 28282785SgjbBOARDNAME= ${KERNCONF} 29282785Sgjb. endif 30282785Sgjb_SNAP_SUFFIX:= -${BOARDNAME}-${BUILDDATE} 31282785Sgjb. else # not arm/armv6 32282785Sgjb_SNAP_SUFFIX:= -${BUILDDATE} 33282785Sgjb. endif 34282785Sgjb. for _D in /usr/bin /usr/local/bin 35282785Sgjb. for _S in svnversion svnliteversion 36282785Sgjb. if exists(${_D}/${_S}) 37282785SgjbSVNVERSION?= ${_D}/${_S} 38282785Sgjb. endif 39282785Sgjb. endfor 40282785Sgjb. endfor 41282785Sgjb. if exists(${SVNVERSION}) && !empty(SVNVERSION) 42282785SgjbSVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile 43282785Sgjb_SNAP_SUFFIX:= ${_SNAP_SUFFIX}-r${SVNREVISION} 44282785Sgjb. endif 45282785Sgjb.else 46282785Sgjb# release 47282785SgjbSNAPSHOT= 48282785SgjbTLD?= ${FTPDIR}/releases 49282785Sgjb.endif 50282785Sgjb 51282785Sgjb.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 52282785SgjbSTAGE_TARGETS+= vm-images-stage 53282785SgjbVM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} 54282785Sgjb.endif 55282785Sgjb 56282785SgjbCLEANFILES+= ${STAGE_TARGETS} 57282785SgjbCHECKSUM_FILES?= SHA256 MD5 58282785SgjbSNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' 59282785SgjbISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION} 60282785SgjbFTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH} 61282785Sgjb 62282789Sgjbremove-old-bits: 63282789Sgjb rm -rf ${FTPDIR} 64282789Sgjb 65282785Sgjbiso-images-stage: 66282785Sgjb mkdir -p ${ISO_DIR} 67282785Sgjb mkdir -p ${TLD}/ISO-IMAGES/${REVISION} 68282787Sgjb.if exists(${RELEASEDIR}) 69282787Sgjb @# Assume we have images to copy. 70282787Sgjb. for IMAGE in ${IMAGES} 71282787Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \ 72282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE} 73282792Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz) 74282792Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \ 75282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 76282791Sgjb. endif 77282793Sgjb. if exists(${RELEASEDIR}/CHECKSUM.${CHECKSUM}) 78282793Sgjb cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM} \ 79282793Sgjb ${ISO_DIR}/CHECKSUM.${CHECKSUM} 80282793Sgjb. endif 81282791Sgjb. endfor 82282787Sgjb.endif 83282787Sgjb 84282785Sgjb.if defined(SNAPSHOT) && !empty(SNAPSHOT) 85282785Sgjb. for IMAGE in ${IMAGES} 86282785Sgjb cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \ 87282785Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 88282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 89282785Sgjb ln -s \ 90282797Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 91282785Sgjb. endfor 92282785Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 93282785Sgjb. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM}) 94282785Sgjb rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM} 95282785Sgjb. endif 96282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 97282785Sgjb CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 98282796Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 99282794Sgjb ln -s \ 100282797Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 101282785Sgjb. endfor 102282785Sgjb.else # !snapshot 103282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 104282797Sgjb ../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE} . 105282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 106282785Sgjb CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 107282785Sgjb.endif 108282787Sgjb.if exists(${RELEASEDIR}/ftp) 109282785Sgjb mkdir -p ${FTP_DIR} 110282787Sgjb cp ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR} 111282785Sgjb cd ${TLD}/${TARGET} && \ 112282785Sgjb ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 113282785Sgjb ${REVISION}-${BRANCH} 114282785Sgjb.endif 115282785Sgjb 116282785Sgjbvm-images-stage: 117282785Sgjb @true 118282785Sgjb# mkdir -p ${VM_DIR} 119282785Sgjb#.if defined(SNAPSHOT) && !empty(SNAPSHOT) 120282785Sgjb# mkdir -p ${VM_DIR}/${BUILDDATE} 121282785Sgjb#. if exists(${VM_DIR}/Latest) 122282785Sgjb# unlink ${VM_DIR}/Latest 123282785Sgjb# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest 124282785Sgjb#. endif 125282785Sgjb#. for VMIMAGE in ${VMIMAGES} 126282785Sgjb# cd /R/vmimages && cp -p ${VMIMAGE}.xz \ 127282785Sgjb# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz 128282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 129282785Sgjb# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \ 130282785Sgjb# ${OSRELEASE}-${VMIMAGE}.xz 131282785Sgjb#. endfor 132282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 133282785Sgjb#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}) 134282785Sgjb# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM} 135282785Sgjb#. endif 136282785Sgjb# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 137282785Sgjb# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 138282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 139282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 140282785Sgjb# CHECKSUM.${CHECKSUM} 141282785Sgjb#. endfor 142282785Sgjb#.else # !snapshot 143282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 144282785Sgjb# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \ 145282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 146282785Sgjb#.endif 147282785Sgjb 148282789Sgjbftp-stage: remove-old-bits ${STAGE_TARGETS} 149282785Sgjb 150