Makefile.mirrors revision 282796
11541Srgrimes#
21541Srgrimes# This Makefile helps create the directory structure on ftp-master,
31541Srgrimes# making staging builds a bit more sane.
41541Srgrimes#
51541Srgrimes# You probably do not want to use this.  Really.
61541Srgrimes# You have been warned.
71541Srgrimes#
81541Srgrimes# $FreeBSD: head/release/Makefile.mirrors 282796 2015-05-12 01:04:02Z gjb $
91541Srgrimes#
101541Srgrimes
111541Srgrimes.include "${.CURDIR}/Makefile"
121541Srgrimes
131541SrgrimesFTPDIR?=		/ftp
141541SrgrimesRELEASEDIR?=		/R
151541SrgrimesSTAGE_TARGETS?=		iso-images-stage
161541Srgrimes
171541Srgrimes# snapshot
181541Srgrimes.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT"
191541SrgrimesSNAPSHOT=		1
201541SrgrimesTLD?=			${FTPDIR}/snapshots
211541SrgrimesBUILDDATE!=		date -j -f '%s' $$(stat -f "%c" ${.OBJDIR}/dist/base/bin/sh) +%Y%m%d
221541Srgrimes. if ${TARGET} == "arm" && ${TARGET_ARCH} == "armv6"
231541Srgrimes.  if !defined(BOARDNAME) || empty(BOARDNAME)
241541SrgrimesBOARDNAME=		${KERNCONF}
251541Srgrimes.  endif
261541Srgrimes_SNAP_SUFFIX:=		-${BOARDNAME}-${BUILDDATE}
271541Srgrimes. else		# not arm/armv6
281541Srgrimes_SNAP_SUFFIX:=		-${BUILDDATE}
291541Srgrimes. endif
301541Srgrimes. for _D in /usr/bin /usr/local/bin
311541Srgrimes.  for _S in svnversion svnliteversion
321541Srgrimes.   if exists(${_D}/${_S})
331541SrgrimesSVNVERSION?=		${_D}/${_S}
3450477Speter.   endif
351541Srgrimes.  endfor
361541Srgrimes. endfor
3713203Swollman. if exists(${SVNVERSION}) && !empty(SVNVERSION)
38101123SrwatsonSVNREVISION!=		${SVNVERSION} ${WORLDDIR}/Makefile
391541Srgrimes_SNAP_SUFFIX:=		${_SNAP_SUFFIX}-r${SVNREVISION}
401541Srgrimes. endif
412112Swollman.else
4297993Sjhb# release
4397993SjhbSNAPSHOT=
4497993SjhbTLD?=			${FTPDIR}/releases
4597993Sjhb.endif
4676166Smarkm
4776166Smarkm.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
48101123SrwatsonSTAGE_TARGETS+=		vm-images-stage
4997993SjhbVM_DIR=			${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
5097993Sjhb.endif
511541Srgrimes
5297993SjhbCLEANFILES+=		${STAGE_TARGETS}
531541SrgrimesCHECKSUM_FILES?=	SHA256 MD5
541541SrgrimesSNAP_SUFFIX!=		echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' '
5597993SjhbISO_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}
5674927SjhbFTP_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH}
5797993Sjhb
581541Srgrimesremove-old-bits:
5997993Sjhb	rm -rf ${FTPDIR}
601541Srgrimes
6130354Sphkiso-images-stage:
6230309Sphk	mkdir -p ${ISO_DIR}
6313203Swollman	mkdir -p ${TLD}/ISO-IMAGES/${REVISION}
6412577Sbde.if exists(${RELEASEDIR})
6597993Sjhb	@# Assume we have images to copy.
6697993Sjhb. for IMAGE in ${IMAGES}
6797993Sjhb	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \
6812819Sphk		${ISO_DIR}/${OSRELEASE}-${IMAGE}
6997993Sjhb.  if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
7097993Sjhb	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \
7197993Sjhb		${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz
7297993Sjhb.  endif
7397993Sjhb.  if exists(${RELEASEDIR}/CHECKSUM.${CHECKSUM})
7497993Sjhb	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM} \
7597993Sjhb		${ISO_DIR}/CHECKSUM.${CHECKSUM}
7697993Sjhb.  endif
7797993Sjhb. endfor
7897993Sjhb.endif
7997993Sjhb
8097993Sjhb.if defined(SNAPSHOT) && !empty(SNAPSHOT)
8197993Sjhb. for IMAGE in ${IMAGES}
8297993Sjhb	cd ${ISO_DIR} && mv ${OSRELEASE}-${IMAGE} \
8397993Sjhb		${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
8497993Sjhb	cd ${TLD}/ISO-IMAGES/${REVISION} && \
8597993Sjhb		ln -s \
8697993Sjhb		../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
8797993Sjhb. endfor
8897993Sjhb. for CHECKSUM in ${CHECKSUM_FILES}
8997993Sjhb.  if exists(${ISO_DIR}/CHECKSUM.${CHECKSUM})
9097993Sjhb	rm -f ${ISO_DIR}/CHECKSUM.${CHECKSUM}
9197993Sjhb.  endif
9297993Sjhb	cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
9397993Sjhb		CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
9497993Sjhb	cd ${TLD}/ISO-IMAGES/${REVISION} && \
9597993Sjhb		ln -s \
9697993Sjhb		../../${TARGET}/${TARGET_ARCH}/CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
9797993Sjhb. endfor
9897993Sjhb.else	# !snapshot
9997993Sjhb	cd ${TLD}/ISO-IMAGES/${REVISION} && ln -s \
10097993Sjhb		../../${TARGET}/${TARGET_ARCH}/${OSRELEASE}-${IMAGE} .
10197993Sjhb	cd ${ISO_DIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
10297993Sjhb		CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
10397993Sjhb.endif
10497993Sjhb.if exists(${RELEASEDIR}/ftp)
10597993Sjhb	mkdir -p ${FTP_DIR}
10697993Sjhb	cp ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
10797993Sjhb	cd ${TLD}/${TARGET} && \
10897993Sjhb		ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
10997993Sjhb			${REVISION}-${BRANCH}
11097993Sjhb.endif
11197993Sjhb
11297993Sjhbvm-images-stage:
11397993Sjhb	@true
11497993Sjhb#	mkdir -p ${VM_DIR}
11597993Sjhb#.if defined(SNAPSHOT) && !empty(SNAPSHOT)
11697993Sjhb#	mkdir -p ${VM_DIR}/${BUILDDATE}
11797993Sjhb#. if exists(${VM_DIR}/Latest)
11897993Sjhb#	unlink ${VM_DIR}/Latest
1191541Srgrimes#	cd ${VM_DIR} && ln -s ${BUILDDATE} Latest
12097993Sjhb#. endif
12197993Sjhb#. for VMIMAGE in ${VMIMAGES}
1221541Srgrimes#	cd /R/vmimages && cp -p ${VMIMAGE}.xz \
12397993Sjhb#		${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz
12497993Sjhb#	cd ${VM_DIR}/Latest && ln -s \
12597993Sjhb#		../${BUILDDATE}/${OSRELEASE}-${SNAP_SUFFIX}-${VMIMAGE}.xz \
12697993Sjhb#		${OSRELEASE}-${VMIMAGE}.xz
12797993Sjhb#. endfor
12897993Sjhb#. for CHECKSUM in ${CHECKSUM_FILES}
12997993Sjhb#.  if exists(${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM})
13097993Sjhb#	rm -f ${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}
13197993Sjhb#.  endif
1321541Srgrimes#	cd ${VM_DIR}/${BUILDDATE} && ${CHECKSUM:tl} ${OSRELEASE}* > \
13397993Sjhb#		CHECKSUM.${CHECKSUM}-${REVISION}-${BRANCH}-${SNAP_SUFFIX}
1341541Srgrimes#	cd ${VM_DIR}/Latest && ln -s \
13597993Sjhb#		${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
13697993Sjhb#		CHECKSUM.${CHECKSUM}
13797993Sjhb#. endfor
13897993Sjhb#.else	# !snapshot
13997993Sjhb#. for CHECKSUM in ${CHECKSUM_FILES}
14097993Sjhb#	cd /R/vmimages && cp -p CHECKSUM.${CHECKSUM}* \
14197993Sjhb#		${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
14297993Sjhb#.endif
14397993Sjhb
14497993Sjhbftp-stage:	remove-old-bits ${STAGE_TARGETS}
14597993Sjhb
14697993Sjhb