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