xref: /freebsd/release/Makefile.mirrors (revision 35623ccc375846648f4dcdfc47c7e84fc9db4852)
123454946SGlen Barber#
223454946SGlen Barber# This Makefile helps create the directory structure on ftp-master,
323454946SGlen Barber# making staging builds a bit more sane.
423454946SGlen Barber#
523454946SGlen Barber# You probably do not want to use this.  Really.
623454946SGlen Barber# You have been warned.
723454946SGlen Barber#
81d4b5e16SGlen Barber# Seriously.
91d4b5e16SGlen Barber#
101d4b5e16SGlen Barber# Don't use this unless you know why you're using it.
111d4b5e16SGlen Barber#
1223454946SGlen Barber#
1323454946SGlen Barber
1423454946SGlen Barber.include "${.CURDIR}/Makefile"
1523454946SGlen Barber
16be59bc7aSGlen BarberRELEASEDIR?=		/R
176a1e2e9aSGlen BarberFTPDIR?=		${RELEASEDIR}/ftp-stage
18b4995ae4SGlen Barber.if exists(${RELEASEDIR})
1923454946SGlen BarberSTAGE_TARGETS?=		iso-images-stage
20b4995ae4SGlen Barber.endif
2123454946SGlen Barber
22b7290132SGlen Barber.if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || (defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD))
234708d329SGlen Barber. if ${TARGET:Marm*} != "" || ${EMBEDDED_TARGET:Marm*} != "" || ${TARGET:Mriscv*} != ""
24a254b464SGlen BarberEMBEDDED=		1
25a254b464SGlen Barber. endif
268e2e6ab3SGlen Barber.endif
27a254b464SGlen Barber
2823454946SGlen Barber# snapshot
29279dc9caSGlen Barber.if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == "PRERELEASE" || ${BRANCH:MALPHA*} != ""
3023454946SGlen BarberSNAPSHOT=		1
3123454946SGlen BarberTLD?=			${FTPDIR}/snapshots
320c55af22SGlen Barber.if !defined(BUILDDATE) || empty(BUILDDATE)
33a254b464SGlen BarberBUILDDATE!=		date +%Y%m%d
34a254b464SGlen Barber.endif
35d3df64adSGlen Barber_SNAP_SUFFIX:=		${BUILDDATE}-${GITREV}-${GITCOUNT}
3623454946SGlen Barber.else
3723454946SGlen Barber# release
3823454946SGlen BarberSNAPSHOT=
3923454946SGlen BarberTLD?=			${FTPDIR}/releases
4023454946SGlen Barber.endif
4123454946SGlen Barber
42a254b464SGlen Barber.if defined(EMBEDDED) && !empty(EMBEDDED)
434708d329SGlen Barber. if ${TARGET:Marm*} != "" && (${TARGET_ARCH:Marm*} != "" || ${TARGET_ARCH} == "aarch64") || ${TARGET:Mriscv*} != ""
44279dc9caSGlen Barber.  if ${BRANCH} == "STABLE" || ${BRANCH} == "CURRENT" || ${BRANCH} == "PRERELEASE" || ${BRANCH:MALPHA*} != ""
45a254b464SGlen BarberSNAPSHOT=		1
46a254b464SGlen Barber.  endif
47b7290132SGlen BarberIMAGES:=		img
48a254b464SGlen Barber. endif # arm/armv6
49a254b464SGlen Barber.endif # embedded
50a254b464SGlen Barber
5123454946SGlen Barber.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
5223454946SGlen BarberSTAGE_TARGETS+=		vm-images-stage
5323454946SGlen BarberVM_DIR=			${TLD}/VM-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
5423454946SGlen Barber.endif
5523454946SGlen Barber
564771c2e9SColin Percival.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE)
574771c2e9SColin PercivalSTAGE_TARGETS+=		ci-images-stage
584771c2e9SColin PercivalCI_DIR=			${TLD}/CI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
594771c2e9SColin Percival.endif
604771c2e9SColin Percival
61e95e3e6eSColin Percival.if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES)
62e95e3e6eSColin PercivalSTAGE_TARGETS+=		oci-images-stage
63e95e3e6eSColin PercivalOCI_DIR=		${TLD}/OCI-IMAGES/${REVISION}-${BRANCH}/${TARGET_ARCH}
64e95e3e6eSColin Percival.endif
65e95e3e6eSColin Percival
6623454946SGlen BarberCLEANFILES+=		${STAGE_TARGETS}
6734187a08SGlen BarberCHECKSUM_FILES?=	SHA512 SHA256
6823454946SGlen BarberSNAP_SUFFIX!=		echo ${_SNAP_SUFFIX:S,^-,,1} | tr -d ' '
6923454946SGlen BarberISO_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}
7023454946SGlen BarberFTP_DIR=		${TLD}/${TARGET}/${TARGET_ARCH}/${REVISION}-${BRANCH}
7123454946SGlen Barber
7299f88888SGlen Barberremove-old-bits:
7399f88888SGlen Barber	rm -rf ${FTPDIR}
7499f88888SGlen Barber
7523454946SGlen Barberiso-images-stage:
7623454946SGlen Barber	mkdir -p ${ISO_DIR}
7723454946SGlen Barber	mkdir -p ${TLD}/ISO-IMAGES/${REVISION}
78b7290132SGlen Barber.if defined(SNAPSHOT) && !empty(SNAPSHOT)
79b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
8023454946SGlen Barber. for IMAGE in ${IMAGES}
81b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
82b7290132SGlen Barber	cd ${RELEASEDIR} && \
83b7290132SGlen Barber		mv ${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
84b7290132SGlen Barber		${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
85b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz \
86b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
87b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
88b7290132SGlen Barber		ln -s \
89b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}.${IMAGE}.xz
90b7290132SGlen Barber.  endif # not embedded
91a254b464SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
92b7290132SGlen Barber	cd ${RELEASEDIR} && \
93b7290132SGlen Barber		mv ${OSRELEASE}-${IMAGE} \
94d97ccee1SGlen Barber		${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
95b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE} \
96b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
97b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
98b7290132SGlen Barber		ln -s \
99b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}
100b7290132SGlen Barber.   endif
101b7290132SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
102b7290132SGlen Barber	cd ${RELEASEDIR} && \
103b7290132SGlen Barber		mv ${OSRELEASE}-${IMAGE}.xz \
104d97ccee1SGlen Barber		${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
105b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz \
106b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
107b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
108b7290132SGlen Barber		ln -s \
109b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${SNAP_SUFFIX}-${IMAGE}.xz
110b7290132SGlen Barber.   endif
111b7290132SGlen Barber. endfor # images loop
112b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
113b7290132SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
114b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
115b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
116b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
117b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX} \
118b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
119b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
120b7290132SGlen Barber		ln -s \
121b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}-${SNAP_SUFFIX}
122b7290132SGlen Barber.  else # not embedded
123b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
124b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
125b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX} \
126b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
127b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
128b7290132SGlen Barber		ln -s \
129b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${SNAP_SUFFIX}
130b7290132SGlen Barber.  endif #
131b7290132SGlen Barber. endfor # checksum files
132b7290132SGlen Barber.else # not snapshot
133b7290132SGlen Barber. for IMAGE in ${IMAGES}
134b7290132SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
135b7290132SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz \
136b7290132SGlen Barber		${ISO_DIR}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
137b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
138b7290132SGlen Barber		ln -s \
139b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${BOARDNAME}.${IMAGE}.xz
140b7290132SGlen Barber.  endif # not embedded
141b7290132SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE})
142b7290132SGlen Barber	cd ${RELEASEDIR} && \
143be59bc7aSGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE} \
144be59bc7aSGlen Barber		${ISO_DIR}/${OSRELEASE}-${IMAGE}
145b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
146b7290132SGlen Barber		ln -s \
147b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}
148a254b464SGlen Barber.   endif
149a254b464SGlen Barber.   if exists(${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz)
150a3ba37b4SGlen Barber	cp -p ${RELEASEDIR}/${OSRELEASE}-${IMAGE}.xz \
151be59bc7aSGlen Barber		${ISO_DIR}/${OSRELEASE}-${IMAGE}.xz
15223454946SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
15323454946SGlen Barber		ln -s \
154b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/${OSRELEASE}-${IMAGE}.xz
155b7290132SGlen Barber.   endif
156b7290132SGlen Barber. endfor # images loop
157b7290132SGlen Barber	cd ${RELEASEDIR} && rm -f CHECKSUM.*
15823454946SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
159a254b464SGlen Barber.  if defined(EMBEDDED) && !empty(EMBEDDED)
160b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
161b7290132SGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
162b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME} \
163b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
164a254b464SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
165a254b464SGlen Barber		ln -s \
166b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}-${BOARDNAME}
167b7290132SGlen Barber.  else # not embedded
168b7290132SGlen Barber	cd ${RELEASEDIR} && ${CHECKSUM:tl} ${OSRELEASE}* > \
1697ee01d2bSGlen Barber		CHECKSUM.${CHECKSUM}-${OSRELEASE}
170b7290132SGlen Barber	cp -p ${RELEASEDIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE} \
171b7290132SGlen Barber		${ISO_DIR}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
172b7290132SGlen Barber	cd ${TLD}/ISO-IMAGES/${REVISION} && \
173b7290132SGlen Barber		ln -s \
174b7290132SGlen Barber		../../${TARGET}/${TARGET_ARCH}/ISO-IMAGES/${REVISION}/CHECKSUM.${CHECKSUM}-${OSRELEASE}
17523454946SGlen Barber.  endif
176b7290132SGlen Barber. endfor # checksum files
177b7290132SGlen Barber.endif # release
178be59bc7aSGlen Barber.if exists(${RELEASEDIR}/ftp)
17923454946SGlen Barber	mkdir -p ${FTP_DIR}
180b7290132SGlen Barber	cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
181343a7eabSGlen Barber	echo ${BUILDDATE} > ${FTP_DIR}/BUILDDATE
18229b282f3SGlen Barber	echo ${GITBRANCH} > ${FTP_DIR}/GITBRANCH
18329b282f3SGlen Barber	echo ${GITREV} > ${FTP_DIR}/REVISION
18423454946SGlen Barber	cd ${TLD}/${TARGET} && \
18523454946SGlen Barber		ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
18623454946SGlen Barber			${REVISION}-${BRANCH}
18723454946SGlen Barber.endif
18823454946SGlen Barber
18923454946SGlen Barbervm-images-stage:
19057cb4b93SGlen Barber	mkdir -p ${VM_DIR}
19157cb4b93SGlen Barber.if defined(SNAPSHOT) && !empty(SNAPSHOT)
19257cb4b93SGlen Barber. if exists(${VM_DIR}/Latest)
19357cb4b93SGlen Barber	rm -rf ${VM_DIR}/Latest
19457cb4b93SGlen Barber. endif
19557cb4b93SGlen Barber	mkdir -p ${VM_DIR}/Latest
19657cb4b93SGlen Barber	mkdir -p ${VM_DIR}/${BUILDDATE}
19757cb4b93SGlen Barber. for VMFORMAT in ${VMFORMATS}
198f4b08097SColin Percival.  for FS in ${VMFSLIST}
199f4b08097SColin Percival	cd ${RELEASEDIR}/vmimages && \
200f4b08097SColin Percival		mv ${OSRELEASE}-${FS}.${VMFORMAT}.xz \
201f4b08097SColin Percival		${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz
202f4b08097SColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
203f4b08097SColin Percival		${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz
204f4b08097SColin Percival	cd ${VM_DIR}/Latest && \
205f4b08097SColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${FS}-${SNAP_SUFFIX}.${VMFORMAT}.xz \
206f4b08097SColin Percival		${OSRELEASE}-${FS}.${VMFORMAT}.xz
207f4b08097SColin Percival.  endfor
20857cb4b93SGlen Barber. endfor
209836f00ebSColin Percival. if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE)
2104771c2e9SColin Percival.  for CW in ${CLOUDWARE}
2114771c2e9SColin Percival.   if ${CW} == BASIC-CLOUDINIT
2124771c2e9SColin Percival.    for VMFORMAT in ${${CW}_FORMAT}
2134771c2e9SColin Percival.     for FS in ${${CW}_FSLIST}
2144771c2e9SColin Percival	cd ${RELEASEDIR}/vmimages && \
215*35623cccSColin Percival		mv ${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
216*35623cccSColin Percival		${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
217*35623cccSColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
218*35623cccSColin Percival		${VM_DIR}/${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
2194771c2e9SColin Percival	cd ${VM_DIR}/Latest && \
220*35623cccSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
221*35623cccSColin Percival		${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2224771c2e9SColin Percival.     endfor
2234771c2e9SColin Percival.    endfor
2244771c2e9SColin Percival.   endif
2254771c2e9SColin Percival.  endfor
226836f00ebSColin Percival. endif
22757cb4b93SGlen Barber	cd ${RELEASEDIR}/vmimages && rm -f CHECKSUM.*
22857cb4b93SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
22957cb4b93SGlen Barber	cd ${RELEASEDIR}/vmimages && \
23057cb4b93SGlen Barber		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
23157cb4b93SGlen Barber	cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
23257cb4b93SGlen Barber		${VM_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
23357cb4b93SGlen Barber	cd ${VM_DIR}/Latest && \
23457cb4b93SGlen Barber		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
23557cb4b93SGlen Barber		CHECKSUM.${CHECKSUM}
23657cb4b93SGlen Barber. endfor
23757cb4b93SGlen Barber.else # not snapshot
23857cb4b93SGlen Barber. if exists(${VM_DIR}/Latest)
23957cb4b93SGlen Barber	rm -rf ${VM_DIR}/Latest
24057cb4b93SGlen Barber. endif
24157cb4b93SGlen Barber	mkdir -p ${VM_DIR}/Latest
24257cb4b93SGlen Barber. for VMFORMAT in ${VMFORMATS}
243f4b08097SColin Percival.  for FS in ${VMFSLIST}
244f4b08097SColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${FS}.${VMFORMAT}.xz \
245f4b08097SColin Percival		${VM_DIR}/Latest/${OSRELEASE}-${FS}.${VMFORMAT}.xz
246f4b08097SColin Percival.  endfor
24757cb4b93SGlen Barber. endfor
248836f00ebSColin Percival. if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE)
2494771c2e9SColin Percival.  for CW in ${CLOUDWARE}
2504771c2e9SColin Percival.   if ${CW} == BASIC-CLOUDINIT
2514771c2e9SColin Percival.    for VMFORMAT in ${${CW}_FORMAT}
2524771c2e9SColin Percival.     for FS in ${${CW}_FSLIST}
253*35623cccSColin Percival	cp -p ${RELEASEDIR}/vmimages/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
254*35623cccSColin Percival		${VM_DIR}/Latest/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2554771c2e9SColin Percival.     endfor
2564771c2e9SColin Percival.    endfor
2574771c2e9SColin Percival.   endif
2584771c2e9SColin Percival.  endfor
259836f00ebSColin Percival. endif
26057cb4b93SGlen Barber. for CHECKSUM in ${CHECKSUM_FILES}
26157cb4b93SGlen Barber	cp -p ${RELEASEDIR}/vmimages/CHECKSUM.${CHECKSUM} \
26257cb4b93SGlen Barber		${VM_DIR}/Latest/CHECKSUM.${CHECKSUM}
26357cb4b93SGlen Barber. endfor
26457cb4b93SGlen Barber.endif
26523454946SGlen Barber
2664771c2e9SColin Percivalci-images-stage:
2674771c2e9SColin Percival	mkdir -p ${CI_DIR}
2684771c2e9SColin Percival.if defined(SNAPSHOT) && !empty(SNAPSHOT)
2694771c2e9SColin Percival. if exists(${CI_DIR}/Latest)
2704771c2e9SColin Percival	rm -rf ${CI_DIR}/Latest
2714771c2e9SColin Percival. endif
2724771c2e9SColin Percival	mkdir -p ${CI_DIR}/Latest
2734771c2e9SColin Percival	mkdir -p ${CI_DIR}/${BUILDDATE}
2744771c2e9SColin Percival. for CW in ${CLOUDWARE}
2754771c2e9SColin Percival.  if ${CW} == BASIC-CI
2764771c2e9SColin Percival.   for VMFORMAT in ${${CW}_FORMAT}
2774771c2e9SColin Percival.    for FS in ${${CW}_FSLIST}
2784771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && \
2794771c2e9SColin Percival		mv ${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
280*35623cccSColin Percival		${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
281*35623cccSColin Percival	cp -p ${RELEASEDIR}/ciimages/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
282*35623cccSColin Percival		${CI_DIR}/${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz
2834771c2e9SColin Percival	cd ${CI_DIR}/Latest && \
284*35623cccSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-${CW}-${SNAP_SUFFIX}-${FS}.${VMFORMAT}.xz \
285*35623cccSColin Percival		${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
2864771c2e9SColin Percival.    endfor
2874771c2e9SColin Percival.   endfor
2884771c2e9SColin Percival.  endif
2894771c2e9SColin Percival. endfor
2904771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && rm -f CHECKSUM.*
2914771c2e9SColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
2924771c2e9SColin Percival	cd ${RELEASEDIR}/ciimages && \
2934771c2e9SColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
2944771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
2954771c2e9SColin Percival		${CI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
2964771c2e9SColin Percival	cd ${CI_DIR}/Latest && \
2974771c2e9SColin Percival		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
2984771c2e9SColin Percival		CHECKSUM.${CHECKSUM}
2994771c2e9SColin Percival. endfor
3004771c2e9SColin Percival.else # not snapshot
3014771c2e9SColin Percival. if exists(${CI_DIR}/Latest)
3024771c2e9SColin Percival	rm -rf ${CI_DIR}/Latest
3034771c2e9SColin Percival. endif
3044771c2e9SColin Percival	mkdir -p ${CI_DIR}/Latest
3054771c2e9SColin Percival. for CW in ${CLOUDWARE}
3064771c2e9SColin Percival.  if ${CW} == BASIC-CI
3074771c2e9SColin Percival.   for VMFORMAT in ${${CW}_FORMAT}
3084771c2e9SColin Percival.    for FS in ${${CW}_FSLIST}
3094771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz \
310*35623cccSColin Percival		${CI_DIR}/Latest/${OSRELEASE}-${CW}-${FS}.${VMFORMAT}.xz
3114771c2e9SColin Percival.    endfor
3124771c2e9SColin Percival.   endfor
3134771c2e9SColin Percival.  endif
3144771c2e9SColin Percival. endfor
3154771c2e9SColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
3164771c2e9SColin Percival	cp -p ${RELEASEDIR}/ciimages/CHECKSUM.${CHECKSUM} \
3174771c2e9SColin Percival		${CI_DIR}/Latest/CHECKSUM.${CHECKSUM}
3184771c2e9SColin Percival. endfor
3194771c2e9SColin Percival.endif
3204771c2e9SColin Percival
321e95e3e6eSColin Percivaloci-images-stage:
322e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}
323e95e3e6eSColin Percival.if defined(SNAPSHOT) && !empty(SNAPSHOT)
324e95e3e6eSColin Percival. if exists(${OCI_DIR}/Latest)
325e95e3e6eSColin Percival	rm -rf ${OCI_DIR}/Latest
326e95e3e6eSColin Percival. endif
327e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/Latest
328e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/${BUILDDATE}
329e95e3e6eSColin Percival. for _IMG in ${OCI_IMAGES}
330e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
331e95e3e6eSColin Percival		mv container-image-${_IMG}.txz \
332e95e3e6eSColin Percival		${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz
333e95e3e6eSColin Percival	cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \
334e95e3e6eSColin Percival		${OCI_DIR}/${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz
335e95e3e6eSColin Percival	cd ${OCI_DIR}/Latest && \
336e95e3e6eSColin Percival		ln -s ../${BUILDDATE}/${OSRELEASE}-container-image-${SNAP_SUFFIX}-${_IMG}.txz \
337e95e3e6eSColin Percival		${OSRELEASE}-container-image-${_IMG}.txz
338e95e3e6eSColin Percival. endfor
339e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && rm -f CHECKSUM.*
340e95e3e6eSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
341e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
342e95e3e6eSColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
343e95e3e6eSColin Percival	cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
344e95e3e6eSColin Percival		${OCI_DIR}/${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX}
345e95e3e6eSColin Percival	cd ${OCI_DIR}/Latest && \
346e95e3e6eSColin Percival		ln -s ../${BUILDDATE}/CHECKSUM.${CHECKSUM}-${SNAP_SUFFIX} \
347e95e3e6eSColin Percival		CHECKSUM.${CHECKSUM}
348e95e3e6eSColin Percival. endfor
349e95e3e6eSColin Percival.else # not snapshot
350e95e3e6eSColin Percival. if exists(${OCI_DIR}/Latest)
351e95e3e6eSColin Percival	rm -rf ${OCI_DIR}/Latest
352e95e3e6eSColin Percival. endif
353e95e3e6eSColin Percival	mkdir -p ${OCI_DIR}/Latest
354e95e3e6eSColin Percival. for _IMG in ${OCI_IMAGES}
355e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
356e95e3e6eSColin Percival		mv container-image-${_IMG}.txz \
357e95e3e6eSColin Percival		${OSRELEASE}-container-image-${_IMG}.txz
358e95e3e6eSColin Percival	cp ${RELEASEDIR}/ociimages/${OSRELEASE}-container-image-${_IMG}.txz \
359e95e3e6eSColin Percival		${OCI_DIR}/Latest/${OSRELEASE}-container-image-${_IMG}.txz
360e95e3e6eSColin Percival. endfor
361e95e3e6eSColin Percival. for CHECKSUM in ${CHECKSUM_FILES}
362e95e3e6eSColin Percival	cd ${RELEASEDIR}/ociimages && \
363d54fdd16SColin Percival		${CHECKSUM:tl} ${OSRELEASE}* > CHECKSUM.${CHECKSUM}
364d54fdd16SColin Percival	cp -p ${RELEASEDIR}/ociimages/CHECKSUM.${CHECKSUM} \
365e95e3e6eSColin Percival		${OCI_DIR}/Latest/CHECKSUM.${CHECKSUM}
366e95e3e6eSColin Percival. endfor
367e95e3e6eSColin Percival.endif
368e95e3e6eSColin Percival
36999f88888SGlen Barberftp-stage:	remove-old-bits ${STAGE_TARGETS}
37023454946SGlen Barber
371