Makefile.mirrors revision 282791
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 282791 2015-05-12 00:33:18Z 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(/R/${IMAGE}.xz) 70 cp -p ${RELEASEDIR}/${IMAGE}.xz \ 71 ${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz 72. endif 73. endfor 74.endif 75 76.if defined(SNAPSHOT) && !empty(SNAPSHOT) 77. for IMAGE in ${IMAGES} 78 cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \ 79 ${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 80 cd ${TLD}/ISO-IMAGES/${REVISION} && \ 81 ln -s \ 82 ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} 83. endfor 84. for CHECKSUM in ${CHECKSUM_FILES} 85. if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM}) 86 rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM} 87. endif 88 cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 89 CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 90. endfor 91.else # !snapshot 92 cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \ 93 ../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${IMAGE} . 94 cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 95 CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 96.endif 97.if exists(${RELEASEDIR}/ftp) 98 mkdir -p ${FTP_DIR} 99 cp ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR} 100 cd ${TLD}/${TARGET} && \ 101 ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \ 102 ${REVISION}-${BRANCH} 103.endif 104 105vm-images-stage: 106 @true 107# mkdir -p ${VM_DIR} 108#.if defined(SNAPSHOT) && !empty(SNAPSHOT) 109# mkdir -p ${VM_DIR}/${BUILDDATE} 110#. if exists(${VM_DIR}/Latest) 111# unlink ${VM_DIR}/Latest 112# cd ${VM_DIR} && ln -s ${BUILDDATE} Latest 113#. endif 114#. for VMIMAGE in ${VMIMAGES} 115# cd /R/vmimages && cp -p ${VMIMAGE}.xz \ 116# ${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz 117# cd ${VM_DIR}/Latest && ln -s \ 118# ../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \ 119# ${OSRELEASE}-${VMIMAGE}.xz 120#. endfor 121#. for CHECKSUM in ${CHECKSUM_FILES} 122#. if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}) 123# rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM} 124#. endif 125# cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \ 126# CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX} 127# cd ${VM_DIR}/Latest && ln -s \ 128# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \ 129# CHECKSUM.${CHECKSUM} 130#. endfor 131#.else # !snapshot 132#. for CHECKSUM in ${CHECKSUM_FILES} 133# cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \ 134# ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} 135#.endif 136 137ftp-stage: remove-old-bits ${STAGE_TARGETS} 138 139