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