Makefile.mirrors revision 282792
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# 8282785Sgjb# $FreeBSD: head/release/Makefile.mirrors 282792 2015-05-12 00:39:01Z gjb $ 9282785Sgjb# 10282785Sgjb 11282785Sgjb.include "${.CURDIR}/Makefile" 12282785Sgjb 13282785SgjbFTPDIR?= /ftp 14282787SgjbRELEASEDIR?= /R 15282785SgjbSTAGE_TARGETS?= iso-images-stage 16282785Sgjb 17282785Sgjb# snapshot 18282785Sgjb.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 19282785SgjbSNAPSHOT= 1 20282785SgjbTLD?= ${FTPDIR}/snapshots 21282785SgjbBUILDDATE!= date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d 22282785Sgjb. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6" 23282785Sgjb. if !defined(BOARDNAME) || empty(BOARDNAME) 24282785SgjbBOARDNAME= ${KERNCONF} 25282785Sgjb. endif 26282785Sgjb_SNAP_SUFFIX:= -${BOARDNAME}-${BUILDDATE} 27282785Sgjb. else # not arm/armv6 28282785Sgjb_SNAP_SUFFIX:= -${BUILDDATE} 29282785Sgjb. endif 30282785Sgjb. for _D in /usr/bin /usr/local/bin 31282785Sgjb. for _S in svnversion svnliteversion 32282785Sgjb. if exists(${_D}/${_S}) 33282785SgjbSVNVERSION?= ${_D}/${_S} 34282785Sgjb. endif 35282785Sgjb. endfor 36282785Sgjb. endfor 37282785Sgjb. if exists(${SVNVERSION}) && !empty(SVNVERSION) 38282785SgjbSVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile 39282785Sgjb_SNAP_SUFFIX:= ${_SNAP_SUFFIX}-r${SVNREVISION} 40282785Sgjb. endif 41282785Sgjb.else 42282785Sgjb# release 43282785SgjbSNAPSHOT= 44282785SgjbTLD?= ${FTPDIR}/releases 45282785Sgjb.endif 46282785Sgjb 47282785Sgjb.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 48282785SgjbSTAGE_TARGETS+= vm-images-stage 49282785SgjbVM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} 50282785Sgjb.endif 51282785Sgjb 52282785SgjbCLEANFILES+= ${STAGE_TARGETS} 53282785SgjbCHECKSUM_FILES?= SHA256 MD5 54282785SgjbSNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' 55282785SgjbISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION} 56282785SgjbFTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH} 57282785Sgjb 58282789Sgjbremove-old-bits: 59282789Sgjb rm -rf ${FTPDIR} 60282789Sgjb 61282785Sgjbiso-images-stage: 62282785Sgjb mkdir -p ${ISO_DIR} 63282785Sgjb mkdir -p ${TLD}/ISO-IMAGES/${REVISION} 64282787Sgjb.if exists(${RELEASEDIR}) 65282787Sgjb @# Assume we have images to copy. 66282787Sgjb. for IMAGE in ${IMAGES} 67282787Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \ 68282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE} 69282792Sgjb. if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz) 70282792Sgjb cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \ 71282787Sgjb ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 72282791Sgjb. endif 73282791Sgjb. endfor 74282787Sgjb.endif 75282787Sgjb 76282785Sgjb.if defined(SNAPSHOT) && !empty(SNAPSHOT) 77282785Sgjb. for IMAGE in ${IMAGES} 78282785Sgjb cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \ 79282785Sgjb ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 80282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && \ 81282785Sgjb ln -s \ 82282785Sgjb ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 83282785Sgjb. endfor 84282785Sgjb. for CHECKSUM in ${CHECKSUM_FILES} 85282785Sgjb. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM}) 86282785Sgjb rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM} 87282785Sgjb. endif 88282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 89282785Sgjb CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 90282785Sgjb. endfor 91282785Sgjb.else # !snapshot 92282785Sgjb cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 93282785Sgjb ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${IMAGE} . 94282785Sgjb cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 95282785Sgjb CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 96282785Sgjb.endif 97282787Sgjb.if exists(${RELEASEDIR}/ftp) 98282785Sgjb mkdir -p ${FTP_DIR} 99282787Sgjb cp ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR} 100282785Sgjb cd ${TLD}/${TARGET} && \ 101282785Sgjb ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 102282785Sgjb ${REVISION}-${BRANCH} 103282785Sgjb.endif 104282785Sgjb 105282785Sgjbvm-images-stage: 106282785Sgjb @true 107282785Sgjb# mkdir -p ${VM_DIR} 108282785Sgjb#.if defined(SNAPSHOT) && !empty(SNAPSHOT) 109282785Sgjb# mkdir -p ${VM_DIR}/${BUILDDATE} 110282785Sgjb#. if exists(${VM_DIR}/Latest) 111282785Sgjb# unlink ${VM_DIR}/Latest 112282785Sgjb# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest 113282785Sgjb#. endif 114282785Sgjb#. for VMIMAGE in ${VMIMAGES} 115282785Sgjb# cd /R/vmimages && cp -p ${VMIMAGE}.xz \ 116282785Sgjb# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz 117282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 118282785Sgjb# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \ 119282785Sgjb# ${OSRELEASE}-${VMIMAGE}.xz 120282785Sgjb#. endfor 121282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 122282785Sgjb#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}) 123282785Sgjb# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM} 124282785Sgjb#. endif 125282785Sgjb# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 126282785Sgjb# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 127282785Sgjb# cd ${VM_DIR}/Latest && ln -s \ 128282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 129282785Sgjb# CHECKSUM.${CHECKSUM} 130282785Sgjb#. endfor 131282785Sgjb#.else # !snapshot 132282785Sgjb#. for CHECKSUM in ${CHECKSUM_FILES} 133282785Sgjb# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \ 134282785Sgjb# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 135282785Sgjb#.endif 136282785Sgjb 137282789Sgjbftp-stage: remove-old-bits ${STAGE_TARGETS} 138282785Sgjb 139