Makefile.mirrors revision 282785
1# 2# This Makefile helps create the directory structure on ftp-master, 3# making staging builds a bit more sane. 4# 5# You probably do not want to use this. Really. 6# You have been warned. 7# 8# $FreeBSD: head/release/Makefile.mirrors 282785 2015-05-11 22:14:03Z gjb $ 9# 10 11.include "${.CURDIR}/Makefile" 12 13FTPDIR?= /ftp 14STAGE_TARGETS?= iso-images-stage 15 16# snapshot 17.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" 18SNAPSHOT= 1 19TLD?= ${FTPDIR}/snapshots 20BUILDDATE!= date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d 21. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6" 22. if !defined(BOARDNAME) || empty(BOARDNAME) 23BOARDNAME= ${KERNCONF} 24. endif 25_SNAP_SUFFIX:= -${BOARDNAME}-${BUILDDATE} 26. else # not arm/armv6 27_SNAP_SUFFIX:= -${BUILDDATE} 28. endif 29. for _D in /usr/bin /usr/local/bin 30. for _S in svnversion svnliteversion 31. if exists(${_D}/${_S}) 32SVNVERSION?= ${_D}/${_S} 33. endif 34. endfor 35. endfor 36. if exists(${SVNVERSION}) && !empty(SVNVERSION) 37SVNREVISION!= ${SVNVERSION} ${WORLDDIR}/Makefile 38_SNAP_SUFFIX:= ${_SNAP_SUFFIX}-r${SVNREVISION} 39. endif 40.else 41# release 42SNAPSHOT= 43TLD?= ${FTPDIR}/releases 44.endif 45 46.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 47STAGE_TARGETS+= vm-images-stage 48VM_DIR= ${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH} 49.endif 50 51CLEANFILES+= ${STAGE_TARGETS} 52CHECKSUM_FILES?= SHA256 MD5 53SNAP_SUFFIX!= echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' ' 54ISO_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION} 55FTP_DIR= ${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH} 56 57iso-images-stage: 58 mkdir -p ${ISO_DIR} 59 mkdir -p ${TLD}/ISO-IMAGES/${REVISION} 60.for IMAGE in ${IMAGES} 61 cp -p ${.OBJDIR}/${IMAGE} ${ISO_DIR}/${OSRELEASE}-${IMAGE} 62. if exists(/R/${IMAGE}.xz) 63 cp -p ${.OBJDIR}/${IMAGE}.xz ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 64. endif 65.endfor 66.if defined(SNAPSHOT) && !empty(SNAPSHOT) 67. for IMAGE in ${IMAGES} 68 cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \ 69 ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 70 cd ${TLD}/ISO-IMAGES/${REVISION} && \ 71 ln -s \ 72 ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 73. endfor 74. for CHECKSUM in ${CHECKSUM_FILES} 75. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM}) 76 rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM} 77. endif 78 cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 79 CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 80. endfor 81.else # !snapshot 82 cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 83 ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${IMAGE} . 84 cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 85 CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 86.endif 87.if exists(${.OBJDIR}/ftp) 88 mkdir -p ${FTP_DIR} 89 cp ${.OBJDIR}/ftp/*.txz ${.OBJDIR}/ftp/MANIFEST ${FTP_DIR} 90 cd ${TLD}/${TARGET} && \ 91 ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 92 ${REVISION}-${BRANCH} 93.endif 94 95vm-images-stage: 96 @true 97# mkdir -p ${VM_DIR} 98#.if defined(SNAPSHOT) && !empty(SNAPSHOT) 99# mkdir -p ${VM_DIR}/${BUILDDATE} 100#. if exists(${VM_DIR}/Latest) 101# unlink ${VM_DIR}/Latest 102# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest 103#. endif 104#. for VMIMAGE in ${VMIMAGES} 105# cd /R/vmimages && cp -p ${VMIMAGE}.xz \ 106# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz 107# cd ${VM_DIR}/Latest && ln -s \ 108# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \ 109# ${OSRELEASE}-${VMIMAGE}.xz 110#. endfor 111#. for CHECKSUM in ${CHECKSUM_FILES} 112#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}) 113# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM} 114#. endif 115# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 116# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 117# cd ${VM_DIR}/Latest && ln -s \ 118# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 119# CHECKSUM.${CHECKSUM} 120#. endfor 121#.else # !snapshot 122#. for CHECKSUM in ${CHECKSUM_FILES} 123# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \ 124# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 125#.endif 126 127ftp-stage: ${STAGE_TARGETS} 128 129